summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/pokedex.s28
-rwxr-xr-xasm/pokemon_icon.s18
-rwxr-xr-xasm/pokemon_storage_system.s4
-rwxr-xr-xasm/rayquaza_scene.s6
-rw-r--r--data/graphics.s177
-rw-r--r--data/graphics/pokemon/icon_palette_indices.inc442
-rw-r--r--data/graphics/pokemon/icon_palette_table.inc11
-rw-r--r--data/graphics/pokemon/icon_table.inc442
-rw-r--r--data/party_menu.s65
-rw-r--r--data/pokedex.s209
-rw-r--r--data/pokemon_icon.s27
-rw-r--r--data/pokemon_storage_system.s141
-rw-r--r--data/pokenav.s499
-rw-r--r--data/rayquaza_scene.s160
-rw-r--r--data/script_pokemon_util_80F87D8.s2
-rw-r--r--data/start_menu.s29
-rw-r--r--data/starter_choose.s8
-rw-r--r--data/strings.s60
-rw-r--r--data/text_window.s161
-rw-r--r--data/trainer_card.s73
-rw-r--r--data/unk_sprite_file.s30
-rw-r--r--data/use_pokeblock.s7
-rw-r--r--include/data/pokedex_orders.h1199
-rw-r--r--include/graphics.h2437
-rw-r--r--include/sprite.h4
-rw-r--r--include/strings.h33
-rw-r--r--ld_script.txt11
-rw-r--r--src/pokedex.c542
-rw-r--r--src/pokemon_icon.c1014
-rw-r--r--src/pokemon_storage_system.c67
-rw-r--r--src/rayquaza_scene.c1164
-rw-r--r--src/start_menu.c102
32 files changed, 7798 insertions, 1374 deletions
diff --git a/asm/pokedex.s b/asm/pokedex.s
index a0edbab0e..ac35c3f7b 100644
--- a/asm/pokedex.s
+++ b/asm/pokedex.s
@@ -2028,7 +2028,7 @@ _080BC56E:
bl SetGpuReg
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0855D298
+ ldr r1, =gBgTemplates_0855D298
movs r0, 0
movs r2, 0x4
bl InitBgsFromTemplates
@@ -2119,7 +2119,7 @@ _080BC682:
lsls r0, 31
lsrs r0, 31
bl sub_80BC844
- ldr r0, =gUnknown_0855D2A8
+ ldr r0, =sWindowTemplates_0855D2A8
bl InitWindows
bl DeactivateAllTextPrinters
movs r0, 0
@@ -2141,9 +2141,9 @@ _080BC6CC:
ldr r1, =gReservedSpritePaletteCount
movs r0, 0x8
strb r0, [r1]
- ldr r0, =gUnknown_0855D26C
+ ldr r0, =gSpriteSheets_0855D26C
bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0855D27C
+ ldr r0, =gSpritePalettes_0855D26C
bl LoadSpritePalettes
adds r0, r5, 0
bl sub_80BDB7C
@@ -2298,7 +2298,7 @@ _080BC858:
bl IsNationalPokedexEnabled
cmp r0, 0
bne _080BC870
- ldr r0, =gUnknown_08DC16F6
+ ldr r0, =gUnknown_08DC16F4 + 2
_080BC862:
movs r1, 0x1
movs r2, 0xBE
@@ -2609,7 +2609,7 @@ _080BCACC:
movs r7, 0x1
mov r9, r7
_080BCADA:
- ldr r1, =gUnknown_0855C6A4
+ ldr r1, =gPokedexOrder_Alphabetical
lsls r4, 16
asrs r0, r4, 15
adds r0, r1
@@ -2687,7 +2687,7 @@ _080BCB78:
ldr r7, =gUnknown_02039B4C
ldr r6, =0x0000060c
_080BCB82:
- ldr r1, =gUnknown_0855C9DA
+ ldr r1, =gPokedexOrder_Weight
asrs r0, 15
adds r0, r1
ldrh r0, [r0]
@@ -2752,7 +2752,7 @@ _080BCC08:
ldr r0, =0x00000181
mov r9, r0
_080BCC16:
- ldr r1, =gUnknown_0855C9DA
+ ldr r1, =gPokedexOrder_Weight
lsls r4, 16
asrs r0, r4, 15
adds r0, r1
@@ -2819,7 +2819,7 @@ _080BCCA0:
ldr r7, =gUnknown_02039B4C
ldr r6, =0x0000060c
_080BCCAA:
- ldr r1, =gUnknown_0855CCDE
+ ldr r1, =gPokedexOrder_Height
asrs r0, 15
adds r0, r1
ldrh r0, [r0]
@@ -2884,7 +2884,7 @@ _080BCD30:
ldr r0, =0x00000181
mov r9, r0
_080BCD3E:
- ldr r1, =gUnknown_0855CCDE
+ ldr r1, =gPokedexOrder_Height
lsls r4, 16
asrs r0, r4, 15
adds r0, r1
@@ -3517,7 +3517,7 @@ sub_80BD23C: @ 80BD23C
b _080BD266
.pool
_080BD264:
- ldr r4, =gUnknown_0855D2FE
+ ldr r4, =sText_TenDashes
_080BD266:
str r5, [sp]
movs r0, 0
@@ -8751,7 +8751,7 @@ _080C00E8:
ands r1, r0
cmp r1, 0
beq _080C0114
- ldr r0, =gUnknown_08DC16F6
+ ldr r0, =gUnknown_08DC16F4 + 2
movs r1, 0x31
movs r2, 0xE
bl LoadPalette
@@ -11172,9 +11172,9 @@ _080C13F0:
b _080C1516
.pool
_080C1414:
- ldr r0, =gUnknown_0855D26C
+ ldr r0, =gSpriteSheets_0855D26C
bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0855D27C
+ ldr r0, =gSpritePalettes_0855D26C
bl LoadSpritePalettes
adds r0, r4, 0
bl sub_80C2594
diff --git a/asm/pokemon_icon.s b/asm/pokemon_icon.s
index 79838f6f9..9157059db 100755
--- a/asm/pokemon_icon.s
+++ b/asm/pokemon_icon.s
@@ -28,15 +28,15 @@ sub_80D2CC4: @ 80D2CC4
lsls r0, 24
lsrs r0, 24
mov r9, r0
- ldr r0, =gUnknown_0857C570
+ ldr r0, =sMonIconOamData
str r0, [sp, 0x18]
adds r0, r4, 0
adds r2, r5, 0
bl GetMonIconPtr
str r0, [sp, 0x1C]
- ldr r0, =gUnknown_0857C5B4
+ ldr r0, =sMonIconAnims
str r0, [sp, 0x20]
- ldr r0, =gUnknown_0857C5E8
+ ldr r0, =sMonIconAffineAnims
str r0, [sp, 0x24]
str r6, [sp, 0x28]
ldr r0, =gMonIconPaletteIndices
@@ -102,13 +102,13 @@ sub_80D2D78: @ 80D2D78
lsls r6, 24
lsrs r6, 24
mov r3, sp
- ldr r2, =gUnknown_0857C570
+ ldr r2, =sMonIconOamData
str r2, [sp]
movs r2, 0
str r2, [sp, 0x4]
- ldr r2, =gUnknown_0857C5B4
+ ldr r2, =sMonIconAnims
str r2, [sp, 0x8]
- ldr r2, =gUnknown_0857C5E8
+ ldr r2, =sMonIconAffineAnims
str r2, [sp, 0xC]
str r1, [sp, 0x10]
ldr r2, =gMonIconPaletteIndices
@@ -601,7 +601,7 @@ _080D3126:
strb r7, [r5]
b _080D31A4
_080D312A:
- ldr r2, =gUnknown_0857C5F0
+ ldr r2, =sSpriteImageSizes
ldrb r1, [r4, 0x3]
lsrs r1, 6
lsls r1, 1
@@ -689,7 +689,7 @@ sub_80D31B4: @ 80D31B4
mov r8, r0
movs r0, 0
str r0, [sp, 0x30]
- ldr r2, =gUnknown_0857C5F0
+ ldr r2, =sSpriteImageSizes
mov r0, r9
ldr r6, [r0]
ldrb r1, [r6, 0x3]
@@ -776,7 +776,7 @@ sub_80D328C: @ 80D328C
sub sp, 0x8
movs r1, 0
str r1, [sp]
- ldr r3, =gUnknown_0857C5F0
+ ldr r3, =sSpriteImageSizes
ldrb r2, [r0, 0x3]
lsrs r2, 6
lsls r2, 1
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index 1b93496a7..45d56160a 100755
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -1106,7 +1106,7 @@ sub_80C7958: @ 80C7958
ldrh r0, [r3]
adds r0, 0x1
strh r0, [r1]
- ldr r0, =gUnknown_08571710
+ ldr r0, =sSpriteAnimTable_8571710
str r0, [sp, 0xC]
movs r4, 0
_080C7A10:
@@ -9124,7 +9124,7 @@ _080CBF80:
adds r1, r3
ldr r0, [r1]
ldr r2, [r0]
- ldr r0, =gUnknown_0857291C
+ ldr r0, =gSpriteAffineAnimTable_857291C
str r0, [r2, 0x10]
ldr r0, [r1]
ldr r0, [r0]
diff --git a/asm/rayquaza_scene.s b/asm/rayquaza_scene.s
index 58380a354..e6147333c 100755
--- a/asm/rayquaza_scene.s
+++ b/asm/rayquaza_scene.s
@@ -1172,8 +1172,8 @@ _081D7082:
.pool
thumb_func_end sub_81D706C
- thumb_func_start task_add_00_WIN0V_open_close_above_and_more
-task_add_00_WIN0V_open_close_above_and_more: @ 81D7134
+ thumb_func_start sub_81D7134
+sub_81D7134: @ 81D7134
push {r4-r7,lr}
sub sp, 0x8
lsls r0, 24
@@ -1264,7 +1264,7 @@ _081D71EE:
pop {r0}
bx r0
.pool
- thumb_func_end task_add_00_WIN0V_open_close_above_and_more
+ thumb_func_end sub_81D7134
thumb_func_start sub_81D7228
sub_81D7228: @ 81D7228
diff --git a/data/graphics.s b/data/graphics.s
index aebe35093..c0d0719e4 100644
--- a/data/graphics.s
+++ b/data/graphics.s
@@ -821,10 +821,25 @@ gUnknown_08D96AB4:: @ 8D96AB4
.incbin "baserom.gba", 0xd96ab4, 0xec
gUnknown_08D96BA0:: @ 8D96BA0
- .incbin "baserom.gba", 0xd96ba0, 0xfe4
+ .incbin "baserom.gba", 0xd96ba0, 0x138
+
+gUnknown_08D96CD8:: @ 8D96CD8
+ .incbin "baserom.gba", 0xd96cd8, 0x294
+
+gUnknown_08D96F6C:: @ 8D96F6C
+ .incbin "baserom.gba", 0xd96f6c, 0x24
+
+gUnknown_08D96F90:: @ 8D96F90
+ .incbin "baserom.gba", 0xd96f90, 0x1F8
+
+gUnknown_08D97188:: @ 8D97188
+ .incbin "baserom.gba", 0xd97188, 0x28
+
+gUnknown_08D971B0:: @ 8D971B0
+ .incbin "baserom.gba", 0xd971b0, 0x9D4
gUnknown_08D97B84:: @ 8D97B84
- .incbin "baserom.gba", 0xd97b84, 0x188
+ .incbin "baserom.gba", 0xd97b84, 0x188
gUnknown_08D97D0C:: @ 8D97D0C
.incbin "baserom.gba", 0xd97d0c, 0x830
@@ -973,8 +988,29 @@ gUnknown_08D9C13C:: @ 8D9C13C
@ 8D9C3A8
.include "data/graphics/berries/berry_graphics.inc"
-@ 8DA1E78
- .incbin "baserom.gba", 0xda1e78, 0x1548
+gUnknown_08DA1E78:: @ 8DA1E78
+ .incbin "baserom.gba", 0xda1e78, 0xBE4
+
+gUnknown_08DA2A5C:: @ 8DA2A5C
+ .incbin "baserom.gba", 0xDA2A5C, 0xCC
+
+gUnknown_08DA2B28:: @ 8DA2B28
+ .incbin "baserom.gba", 0xDA2B28, 0x1F4
+
+gUnknown_08DA2D1C:: @ 8DA2D1C
+ .incbin "baserom.gba", 0xDA2D1C, 0x534
+
+gUnknown_08DA3250:: @ 8DA3250
+ .incbin "baserom.gba", 0xDA3250, 0x54
+
+gUnknown_08DA32A4:: @ 8DA32A4
+ .incbin "baserom.gba", 0xDA32A4, 0xCC
+
+gUnknown_08DA3370:: @ 8DA3370
+ .incbin "baserom.gba", 0xDA3370, 0x28
+
+gUnknown_08DA3398:: @ 8DA3398
+ .incbin "baserom.gba", 0xDA3398, 0x28
gUnknown_08DA33C0:: @ 8DA33C0
.incbin "baserom.gba", 0xda33c0, 0x428
@@ -989,7 +1025,13 @@ gUnknown_08DA3988:: @ 8DA3988
.incbin "baserom.gba", 0xda3988, 0x100
gUnknown_08DA3A88:: @ 8DA3A88
- .incbin "baserom.gba", 0xda3a88, 0x20c
+ .incbin "baserom.gba", 0xda3a88, 0x138
+
+gUnknown_08DA3BC0:: @ 8DA3BC0
+ .incbin "baserom.gba", 0xDA3BC0, 0xBC
+
+gUnknown_08DA3C7C:: @ 8DA3C7C
+ .incbin "baserom.gba", 0xDA3C7C, 0x18
gUnknown_08DA3C94:: @ 8DA3C94
.incbin "baserom.gba", 0xda3c94, 0x1114
@@ -1004,7 +1046,13 @@ gUnknown_08DA4F70:: @ 8DA4F70
.incbin "baserom.gba", 0xda4f70, 0x1148
gUnknown_08DA60B8:: @ 8DA60B8
- .incbin "baserom.gba", 0xda60b8, 0x904
+ .incbin "baserom.gba", 0xda60b8, 0x388
+
+gUnknown_08DA6440:: @ 8DA6440
+ .incbin "baserom.gba", 0xDA6440, 0x46C
+
+gUnknown_08DA68AC:: @ 8DA68AC
+ .incbin "baserom.gba", 0xDA68AC, 0x110
gUnknown_08DA69BC:: @ 8DA69BC
.incbin "baserom.gba", 0xda69bc, 0xb6c
@@ -1043,7 +1091,37 @@ gUnknown_08DA8D6C:: @ 8DA8D6C
.incbin "baserom.gba", 0xda8d6c, 0x118
gUnknown_08DA8E84:: @ 8DA8E84
- .incbin "baserom.gba", 0xda8e84, 0x1a30
+ .incbin "baserom.gba", 0xda8e84, 0x54
+
+gUnknown_08DA8ED8:: @ 8DA8ED8
+ .incbin "baserom.gba", 0xDA8ED8, 0x798
+
+gUnknown_08DA9670:: @ 8DA9670
+ .incbin "baserom.gba", 0xDA9670, 0x44
+
+gUnknown_08DA96B4:: @ 8DA96B4
+ .incbin "baserom.gba", 0xDA96B4, 0x248
+
+gUnknown_08DA98FC:: @ 8DA98FC
+ .incbin "baserom.gba", 0xDA98FC, 0xCA8
+
+gUnknown_08DAA5A4:: @ 8DAA5A4
+ .incbin "baserom.gba", 0xDAA5A4, 0x1F0
+
+gUnknown_08DAA794:: @ 8DAA794
+ .incbin "baserom.gba", 0xDAA794, 0x98
+
+gUnknown_08DAA82C:: @ 8DAA82C
+ .incbin "baserom.gba", 0xDAA82C, 0x28
+
+gUnknown_08DAA854:: @ 8DAA854
+ .incbin "baserom.gba", 0xDAA854, 0x28
+
+gUnknown_08DAA87C:: @ 8DAA87C
+ .incbin "baserom.gba", 0xDAA87C, 0x28
+
+gUnknown_08DAA8A4:: @ 8DAA8A4
+ .incbin "baserom.gba", 0xDAA8A4, 0x10
gUnknown_08DAA8B4:: @ 8DAA8B4
.incbin "baserom.gba", 0xdaa8b4, 0x270
@@ -1217,10 +1295,10 @@ gUnknown_08DC0754:: @ 8DC0754
.incbin "baserom.gba", 0xdc0754, 0x440
gUnknown_08DC0B94:: @ 8DC0B94
- .incbin "baserom.gba", 0xdc0b94, 0xb62
+ .incbin "baserom.gba", 0xdc0b94, 0xb60
-gUnknown_08DC16F6:: @ 8DC16F6
- .incbin "baserom.gba", 0xdc16f6, 0x60
+gUnknown_08DC16F4:: @ 8DC16F4
+ .incbin "baserom.gba", 0xdc16f4, 0x62
gUnknown_08DC1756:: @ 8DC1756
.incbin "baserom.gba", 0xdc1756, 0x60
@@ -1232,7 +1310,10 @@ gUnknown_08DC1876:: @ 8DC1876
.incbin "baserom.gba", 0xdc1876, 0xbe
gUnknown_08DC1934:: @ 8DC1934
- .incbin "baserom.gba", 0xdc1934, 0x10d4
+ .incbin "baserom.gba", 0xdc1934, 0xA18
+
+gUnknown_08DC234C:: @ 8DC234C
+ .incbin "baserom.gba", 0xDC234C, 0x6BC
gUnknown_08DC2A08:: @ 8DC2A08
.incbin "baserom.gba", 0xdc2a08, 0x114
@@ -1365,7 +1446,43 @@ gUnknown_08DC7D84:: @ 8DC7D84
.incbin "baserom.gba", 0xdc7d84, 0x17c
gUnknown_08DC7F00:: @ 8DC7F00
- .incbin "baserom.gba", 0xdc7f00, 0x11c0
+ .incbin "baserom.gba", 0xdc7f00, 0xA0
+
+gUnknown_08DC7FA0:: @ 8DC7FA0
+ .incbin "baserom.gba", 0xdc7fa0, 0x13C
+
+gUnknown_08DC80DC:: @ 8DC80DC
+ .incbin "baserom.gba", 0xdc80dc, 0x12C
+
+gUnknown_08DC8208:: @ 8DC8208
+ .incbin "baserom.gba", 0xdc8208, 0x184
+
+gUnknown_08DC838C:: @ 8DC838C
+ .incbin "baserom.gba", 0xdc838c, 0x120
+
+gUnknown_08DC84AC:: @ 8DC84AC
+ .incbin "baserom.gba", 0xdc84ac, 0x1A0
+
+gUnknown_08DC864C:: @ 8DC864C
+ .incbin "baserom.gba", 0xdc864c, 0x1AC
+
+gUnknown_08DC87F8:: @ 8DC87F8
+ .incbin "baserom.gba", 0xdc87f8, 0x2AC
+
+gUnknown_08DC8AA4:: @ 8DC8AA4
+ .incbin "baserom.gba", 0xdc8aa4, 0x170
+
+gUnknown_08DC8C14:: @ 8DC8C14
+ .incbin "baserom.gba", 0xdc8c14, 0x13C
+
+gUnknown_08DC8D50:: @ 8DC8D50
+ .incbin "baserom.gba", 0xdc8d50, 0x114
+
+gUnknown_08DC8E64:: @ 8DC8E64
+ .incbin "baserom.gba", 0xdc8e64, 0x100
+
+gUnknown_08DC8F64:: @ 8DC8F64
+ .incbin "baserom.gba", 0xdc8f64, 0x15C
gUnknown_08DC90C0:: @ 8DC90C0
.incbin "baserom.gba", 0xdc90c0, 0x20
@@ -1377,7 +1494,10 @@ gUnknown_08DC9130:: @ 8DC9130
.incbin "baserom.gba", 0xdc9130, 0xb8
gUnknown_08DC91E8:: @ 8DC91E8
- .incbin "baserom.gba", 0xdc91e8, 0x420
+ .incbin "baserom.gba", 0xdc91e8, 0x20
+
+gUnknown_08DC9208:: @ 8DC9208
+ .incbin "baserom.gba", 0xdc9208, 0x400
gUnknown_08DC9608:: @ 8DC9608
.incbin "baserom.gba", 0xdc9608, 0x20
@@ -1443,10 +1563,19 @@ gUnknown_08DCC648:: @ 8DCC648
.incbin "baserom.gba", 0xdcc648, 0x2c0
gUnknown_08DCC908:: @ 8DCC908
- .incbin "baserom.gba", 0xdcc908, 0x2b0
+ .incbin "baserom.gba", 0xdcc908, 0x290
+
+gUnknown_08DCCB98:: @ 8DCCB98
+ .incbin "baserom.gba", 0xdccb98, 0x20
gUnknown_08DCCBB8:: @ 8DCCBB8
- .incbin "baserom.gba", 0xdccbb8, 0x3a4
+ .incbin "baserom.gba", 0xdccbb8, 0x184
+
+gUnknown_08DCCD3C:: @ 8DCCD3C
+ .incbin "baserom.gba", 0xdccd3c, 0x20
+
+gUnknown_08DCCD5C:: @ 8DCCD5C
+ .incbin "baserom.gba", 0xdccd5c, 0x200
gUnknown_08DCCF5C:: @ 8DCCF5C
.incbin "baserom.gba", 0xdccf5c, 0x20
@@ -1473,22 +1602,28 @@ gUnknown_08DCEC70:: @ 8DCEC70
.incbin "baserom.gba", 0xdcec70, 0x13e0
gUnknown_08DD0050:: @ 8DD0050
- .incbin "baserom.gba", 0xdd0050, 0x1a68
+ .incbin "baserom.gba", 0xdd0050, 0x1A08
+
+gUnknown_08DD1A58:: @ 8DD1A58
+ .incbin "baserom.gba", 0xdd1a58, 0x60
gUnknown_08DD1AB8:: @ 8DD1AB8
- .incbin "baserom.gba", 0xdd1ab8, 0x4c0
+ .incbin "baserom.gba", 0xdd1ab8, 0x4C0
gUnknown_08DD1F78:: @ 8DD1F78
- .incbin "baserom.gba", 0xdd1f78, 0x98
+ .incbin "baserom.gba", 0xdd1f78, 0x98
gUnknown_08DD2010:: @ 8DD2010
- .incbin "baserom.gba", 0xdd2010, 0x1a0
+ .incbin "baserom.gba", 0xdd2010, 0x1A0
gUnknown_08DD21B0:: @ 8DD21B0
- .incbin "baserom.gba", 0xdd21b0, 0xdc
+ .incbin "baserom.gba", 0xdd21b0, 0xDC
gUnknown_08DD228C:: @ 8DD228C
- .incbin "baserom.gba", 0xdd228c, 0x1e0
+ .incbin "baserom.gba", 0xdd228c, 0x180
+
+gUnknown_08DD240C:: @ 8DD240C
+ .incbin "baserom.gba", 0xdd240c, 0x60
gUnknown_08DD246C:: @ 8DD246C
.incbin "baserom.gba", 0xdd246c, 0x674
diff --git a/data/graphics/pokemon/icon_palette_indices.inc b/data/graphics/pokemon/icon_palette_indices.inc
deleted file mode 100644
index f1d57466c..000000000
--- a/data/graphics/pokemon/icon_palette_indices.inc
+++ /dev/null
@@ -1,442 +0,0 @@
- .align 2
-gMonIconPaletteIndices:: @ 857C388
- .byte 0 @ ??????????
- .byte 1 @ Bulbasaur
- .byte 1 @ Ivysaur
- .byte 1 @ Venusaur
- .byte 0 @ Charmander
- .byte 0 @ Charmeleon
- .byte 0 @ Charizard
- .byte 0 @ Squirtle
- .byte 2 @ Wartortle
- .byte 2 @ Blastoise
- .byte 1 @ Caterpie
- .byte 1 @ Metapod
- .byte 0 @ Butterfree
- .byte 1 @ Weedle
- .byte 2 @ Kakuna
- .byte 2 @ Beedrill
- .byte 0 @ Pidgey
- .byte 0 @ Pidgeotto
- .byte 0 @ Pidgeot
- .byte 2 @ Rattata
- .byte 1 @ Raticate
- .byte 0 @ Spearow
- .byte 0 @ Fearow
- .byte 2 @ Ekans
- .byte 2 @ Arbok
- .byte 2 @ Pikachu
- .byte 0 @ Raichu
- .byte 2 @ Sandshrew
- .byte 2 @ Sandslash
- .byte 2 @ Nidoran♀
- .byte 2 @ Nidorina
- .byte 2 @ Nidoqueen
- .byte 2 @ Nidoran♂
- .byte 2 @ Nidorino
- .byte 2 @ Nidoking
- .byte 0 @ Clefairy
- .byte 0 @ Clefable
- .byte 2 @ Vulpix
- .byte 1 @ Ninetales
- .byte 0 @ Jigglypuff
- .byte 0 @ Wigglytuff
- .byte 2 @ Zubat
- .byte 2 @ Golbat
- .byte 1 @ Oddish
- .byte 0 @ Gloom
- .byte 0 @ Vileplume
- .byte 0 @ Paras
- .byte 0 @ Parasect
- .byte 0 @ Venonat
- .byte 2 @ Venomoth
- .byte 2 @ Diglett
- .byte 2 @ Dugtrio
- .byte 1 @ Meowth
- .byte 1 @ Persian
- .byte 1 @ Psyduck
- .byte 2 @ Golduck
- .byte 1 @ Mankey
- .byte 2 @ Primeape
- .byte 0 @ Growlithe
- .byte 0 @ Arcanine
- .byte 0 @ Poliwag
- .byte 0 @ Poliwhirl
- .byte 0 @ Poliwrath
- .byte 2 @ Abra
- .byte 2 @ Kadabra
- .byte 2 @ Alakazam
- .byte 0 @ Machop
- .byte 2 @ Machoke
- .byte 0 @ Machamp
- .byte 1 @ Bellsprout
- .byte 1 @ Weepinbell
- .byte 1 @ Victreebel
- .byte 2 @ Tentacool
- .byte 2 @ Tentacruel
- .byte 1 @ Geodude
- .byte 1 @ Graveler
- .byte 1 @ Golem
- .byte 0 @ Ponyta
- .byte 0 @ Rapidash
- .byte 0 @ Slowpoke
- .byte 0 @ Slowbro
- .byte 0 @ Magnemite
- .byte 0 @ Magneton
- .byte 1 @ Farfetch'd
- .byte 2 @ Doduo
- .byte 2 @ Dodrio
- .byte 2 @ Seel
- .byte 2 @ Dewgong
- .byte 2 @ Grimer
- .byte 2 @ Muk
- .byte 2 @ Shellder
- .byte 2 @ Cloyster
- .byte 2 @ Gastly
- .byte 2 @ Haunter
- .byte 2 @ Gengar
- .byte 2 @ Onix
- .byte 2 @ Drowzee
- .byte 1 @ Hypno
- .byte 2 @ Krabby
- .byte 2 @ Kingler
- .byte 0 @ Voltorb
- .byte 0 @ Electrode
- .byte 0 @ Exeggcute
- .byte 1 @ Exeggutor
- .byte 1 @ Cubone
- .byte 1 @ Marowak
- .byte 2 @ Hitmonlee
- .byte 2 @ Hitmonchan
- .byte 1 @ Lickitung
- .byte 2 @ Koffing
- .byte 2 @ Weezing
- .byte 1 @ Rhyhorn
- .byte 1 @ Rhydon
- .byte 0 @ Chansey
- .byte 0 @ Tangela
- .byte 1 @ Kangaskhan
- .byte 0 @ Horsea
- .byte 0 @ Seadra
- .byte 0 @ Goldeen
- .byte 0 @ Seaking
- .byte 2 @ Staryu
- .byte 2 @ Starmie
- .byte 0 @ Mr. mime
- .byte 1 @ Scyther
- .byte 2 @ Jynx
- .byte 1 @ Electabuzz
- .byte 0 @ Magmar
- .byte 2 @ Pinsir
- .byte 2 @ Tauros
- .byte 0 @ Magikarp
- .byte 0 @ Gyarados
- .byte 2 @ Lapras
- .byte 2 @ Ditto
- .byte 2 @ Eevee
- .byte 0 @ Vaporeon
- .byte 0 @ Jolteon
- .byte 0 @ Flareon
- .byte 0 @ Porygon
- .byte 0 @ Omanyte
- .byte 0 @ Omastar
- .byte 2 @ Kabuto
- .byte 2 @ Kabutops
- .byte 0 @ Aerodactyl
- .byte 1 @ Snorlax
- .byte 0 @ Articuno
- .byte 0 @ Zapdos
- .byte 0 @ Moltres
- .byte 0 @ Dratini
- .byte 0 @ Dragonair
- .byte 2 @ Dragonite
- .byte 2 @ Mewtwo
- .byte 0 @ Mew
- .byte 1 @ Chikorita
- .byte 1 @ Bayleef
- .byte 1 @ Meganium
- .byte 1 @ Cyndaquil
- .byte 1 @ Quilava
- .byte 1 @ Typhlosion
- .byte 2 @ Totodile
- .byte 2 @ Croconaw
- .byte 2 @ Feraligatr
- .byte 2 @ Sentret
- .byte 2 @ Furret
- .byte 2 @ Hoothoot
- .byte 2 @ Noctowl
- .byte 0 @ Ledyba
- .byte 0 @ Ledian
- .byte 1 @ Spinarak
- .byte 0 @ Ariados
- .byte 2 @ Crobat
- .byte 2 @ Chinchou
- .byte 0 @ Lanturn
- .byte 0 @ Pichu
- .byte 0 @ Cleffa
- .byte 1 @ Igglybuff
- .byte 2 @ Togepi
- .byte 2 @ Togetic
- .byte 0 @ Natu
- .byte 0 @ Xatu
- .byte 2 @ Mareep
- .byte 0 @ Flaaffy
- .byte 0 @ Ampharos
- .byte 1 @ Bellossom
- .byte 2 @ Marill
- .byte 2 @ Azumarill
- .byte 1 @ Sudowoodo
- .byte 1 @ Politoed
- .byte 1 @ Hoppip
- .byte 1 @ Skiploom
- .byte 2 @ Jumpluff
- .byte 2 @ Aipom
- .byte 1 @ Sunkern
- .byte 1 @ Sunflora
- .byte 1 @ Yanma
- .byte 0 @ Wooper
- .byte 0 @ Quagsire
- .byte 2 @ Espeon
- .byte 2 @ Umbreon
- .byte 2 @ Murkrow
- .byte 0 @ Slowking
- .byte 0 @ Misdreavus
- .byte 0 @ Unown A
- .byte 0 @ Wobbuffet
- .byte 1 @ Girafarig
- .byte 0 @ Pineco
- .byte 2 @ Forretress
- .byte 2 @ Dunsparce
- .byte 2 @ Gligar
- .byte 0 @ Steelix
- .byte 0 @ Snubbull
- .byte 2 @ Granbull
- .byte 0 @ Qwilfish
- .byte 0 @ Scizor
- .byte 1 @ Shuckle
- .byte 2 @ Heracross
- .byte 0 @ Sneasel
- .byte 0 @ Teddiursa
- .byte 2 @ Ursaring
- .byte 0 @ Slugma
- .byte 0 @ Magcargo
- .byte 2 @ Swinub
- .byte 2 @ Piloswine
- .byte 0 @ Corsola
- .byte 0 @ Remoraid
- .byte 0 @ Octillery
- .byte 0 @ Delibird
- .byte 2 @ Mantine
- .byte 0 @ Skarmory
- .byte 0 @ Houndour
- .byte 0 @ Houndoom
- .byte 0 @ Kingdra
- .byte 0 @ Phanpy
- .byte 0 @ Donphan
- .byte 0 @ Porygon2
- .byte 2 @ Stantler
- .byte 1 @ Smeargle
- .byte 2 @ Tyrogue
- .byte 2 @ Hitmontop
- .byte 1 @ Smoochum
- .byte 1 @ Elekid
- .byte 1 @ Magby
- .byte 1 @ Miltank
- .byte 1 @ Blissey
- .byte 0 @ Raikou
- .byte 2 @ Entei
- .byte 0 @ Suicune
- .byte 1 @ Larvitar
- .byte 0 @ Pupitar
- .byte 1 @ Tyranitar
- .byte 0 @ Lugia
- .byte 1 @ Ho-Oh
- .byte 1 @ Celebi
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 0 @ ?
- .byte 1 @ Treecko
- .byte 0 @ Grovyle
- .byte 1 @ Sceptile
- .byte 0 @ Torchic
- .byte 0 @ Combusken
- .byte 0 @ Blaziken
- .byte 0 @ Mudkip
- .byte 0 @ Marshtomp
- .byte 0 @ Swampert
- .byte 2 @ Poochyena
- .byte 2 @ Mightyena
- .byte 2 @ Zigzagoon
- .byte 2 @ Linoone
- .byte 0 @ Wurmple
- .byte 2 @ Silcoon
- .byte 0 @ Beautifly
- .byte 2 @ Cascoon
- .byte 1 @ Dustox
- .byte 1 @ Lotad
- .byte 1 @ Lombre
- .byte 1 @ Ludicolo
- .byte 1 @ Seedot
- .byte 1 @ Nuzleaf
- .byte 0 @ Shiftry
- .byte 1 @ Nincada
- .byte 1 @ Ninjask
- .byte 1 @ Shedinja
- .byte 2 @ Taillow
- .byte 2 @ Swellow
- .byte 1 @ Shroomish
- .byte 1 @ Breloom
- .byte 1 @ Spinda
- .byte 0 @ Wingull
- .byte 0 @ Pelipper
- .byte 2 @ Surskit
- .byte 0 @ Masquerain
- .byte 2 @ Wailmer
- .byte 0 @ Wailord
- .byte 0 @ Skitty
- .byte 2 @ Delcatty
- .byte 1 @ Kecleon
- .byte 1 @ Baltoy
- .byte 0 @ Claydol
- .byte 0 @ Nosepass
- .byte 1 @ Torkoal
- .byte 2 @ Sableye
- .byte 0 @ Barboach
- .byte 0 @ Whiscash
- .byte 0 @ Luvdisc
- .byte 0 @ Corphish
- .byte 0 @ Crawdaunt
- .byte 2 @ Feebas
- .byte 0 @ Milotic
- .byte 0 @ Carvanha
- .byte 0 @ Sharpedo
- .byte 1 @ Trapinch
- .byte 1 @ Vibrava
- .byte 1 @ Flygon
- .byte 2 @ Makuhita
- .byte 1 @ Hariyama
- .byte 1 @ Electrike
- .byte 0 @ Manectric
- .byte 1 @ Numel
- .byte 0 @ Camerupt
- .byte 2 @ Spheal
- .byte 2 @ Sealeo
- .byte 0 @ Walrein
- .byte 1 @ Cacnea
- .byte 1 @ Cacturne
- .byte 2 @ Snorunt
- .byte 0 @ Glalie
- .byte 1 @ Lunatone
- .byte 0 @ Solrock
- .byte 2 @ Azurill
- .byte 0 @ Spoink
- .byte 2 @ Grumpig
- .byte 0 @ Plusle
- .byte 0 @ Minun
- .byte 2 @ Mawile
- .byte 0 @ Meditite
- .byte 0 @ Medicham
- .byte 0 @ Swablu
- .byte 0 @ Altaria
- .byte 0 @ Wynaut
- .byte 0 @ Duskull
- .byte 0 @ Dusclops
- .byte 0 @ Roselia
- .byte 2 @ Slakoth
- .byte 2 @ Vigoroth
- .byte 1 @ Slaking
- .byte 1 @ Gulpin
- .byte 2 @ Swalot
- .byte 1 @ Tropius
- .byte 0 @ Whismur
- .byte 2 @ Loudred
- .byte 2 @ Exploud
- .byte 0 @ Clamperl
- .byte 0 @ Huntail
- .byte 0 @ Gorebyss
- .byte 0 @ Absol
- .byte 0 @ Shuppet
- .byte 0 @ Banette
- .byte 2 @ Seviper
- .byte 0 @ Zangoose
- .byte 1 @ Relicanth
- .byte 2 @ Aron
- .byte 2 @ Lairon
- .byte 2 @ Aggron
- .byte 0 @ Castform
- .byte 0 @ Volbeat
- .byte 2 @ Illumise
- .byte 2 @ Lileep
- .byte 0 @ Cradily
- .byte 0 @ Anorith
- .byte 0 @ Armaldo
- .byte 1 @ Ralts
- .byte 1 @ Kirlia
- .byte 1 @ Gardevoir
- .byte 2 @ Bagon
- .byte 2 @ Shelgon
- .byte 0 @ Salamence
- .byte 0 @ Beldum
- .byte 0 @ Metang
- .byte 0 @ Metagross
- .byte 2 @ Regirock
- .byte 2 @ Regice
- .byte 2 @ Registeel
- .byte 2 @ Kyogre
- .byte 0 @ Groudon
- .byte 1 @ Rayquaza
- .byte 0 @ Latias
- .byte 2 @ Latios
- .byte 0 @ Jirachi
- .byte 0 @ Deoxys
- .byte 0 @ Chimecho
- .byte 1 @ Egg
- .byte 0 @ Unown B
- .byte 0 @ Unown C
- .byte 0 @ Unown D
- .byte 0 @ Unown E
- .byte 0 @ Unown F
- .byte 0 @ Unown G
- .byte 0 @ Unown H
- .byte 0 @ Unown I
- .byte 0 @ Unown J
- .byte 0 @ Unown K
- .byte 0 @ Unown L
- .byte 0 @ Unown M
- .byte 0 @ Unown N
- .byte 0 @ Unown O
- .byte 0 @ Unown P
- .byte 0 @ Unown Q
- .byte 0 @ Unown R
- .byte 0 @ Unown S
- .byte 0 @ Unown T
- .byte 0 @ Unown U
- .byte 0 @ Unown V
- .byte 0 @ Unown W
- .byte 0 @ Unown X
- .byte 0 @ Unown Y
- .byte 0 @ Unown Z
- .byte 0 @ Unown Exclamation Mark
- .byte 0 @ Unown Question Mark
diff --git a/data/graphics/pokemon/icon_palette_table.inc b/data/graphics/pokemon/icon_palette_table.inc
deleted file mode 100644
index eb7919423..000000000
--- a/data/graphics/pokemon/icon_palette_table.inc
+++ /dev/null
@@ -1,11 +0,0 @@
- .align 2
-gMonIconPaletteTable:: @ 857C540
- obj_pal gMonIconPalettes + 0 * 32, 56000
- obj_pal gMonIconPalettes + 1 * 32, 56001
- obj_pal gMonIconPalettes + 2 * 32, 56002
-
-@ These palettes are actually part of the title screen BG palette and are not
-@ used for Pokémon icons.
- obj_pal gMonIconPalettes + 3 * 32, 56003
- obj_pal gMonIconPalettes + 4 * 32, 56004
- obj_pal gMonIconPalettes + 5 * 32, 56005
diff --git a/data/graphics/pokemon/icon_table.inc b/data/graphics/pokemon/icon_table.inc
deleted file mode 100644
index 06a86de43..000000000
--- a/data/graphics/pokemon/icon_table.inc
+++ /dev/null
@@ -1,442 +0,0 @@
- .align 2
-gMonIconTable:: @ 857BCA8
- .4byte gMonIcon_Bulbasaur
- .4byte gMonIcon_Bulbasaur
- .4byte gMonIcon_Ivysaur
- .4byte gMonIcon_Venusaur
- .4byte gMonIcon_Charmander
- .4byte gMonIcon_Charmeleon
- .4byte gMonIcon_Charizard
- .4byte gMonIcon_Squirtle
- .4byte gMonIcon_Wartortle
- .4byte gMonIcon_Blastoise
- .4byte gMonIcon_Caterpie
- .4byte gMonIcon_Metapod
- .4byte gMonIcon_Butterfree
- .4byte gMonIcon_Weedle
- .4byte gMonIcon_Kakuna
- .4byte gMonIcon_Beedrill
- .4byte gMonIcon_Pidgey
- .4byte gMonIcon_Pidgeotto
- .4byte gMonIcon_Pidgeot
- .4byte gMonIcon_Rattata
- .4byte gMonIcon_Raticate
- .4byte gMonIcon_Spearow
- .4byte gMonIcon_Fearow
- .4byte gMonIcon_Ekans
- .4byte gMonIcon_Arbok
- .4byte gMonIcon_Pikachu
- .4byte gMonIcon_Raichu
- .4byte gMonIcon_Sandshrew
- .4byte gMonIcon_Sandslash
- .4byte gMonIcon_NidoranF
- .4byte gMonIcon_Nidorina
- .4byte gMonIcon_Nidoqueen
- .4byte gMonIcon_NidoranM
- .4byte gMonIcon_Nidorino
- .4byte gMonIcon_Nidoking
- .4byte gMonIcon_Clefairy
- .4byte gMonIcon_Clefable
- .4byte gMonIcon_Vulpix
- .4byte gMonIcon_Ninetales
- .4byte gMonIcon_Jigglypuff
- .4byte gMonIcon_Wigglytuff
- .4byte gMonIcon_Zubat
- .4byte gMonIcon_Golbat
- .4byte gMonIcon_Oddish
- .4byte gMonIcon_Gloom
- .4byte gMonIcon_Vileplume
- .4byte gMonIcon_Paras
- .4byte gMonIcon_Parasect
- .4byte gMonIcon_Venonat
- .4byte gMonIcon_Venomoth
- .4byte gMonIcon_Diglett
- .4byte gMonIcon_Dugtrio
- .4byte gMonIcon_Meowth
- .4byte gMonIcon_Persian
- .4byte gMonIcon_Psyduck
- .4byte gMonIcon_Golduck
- .4byte gMonIcon_Mankey
- .4byte gMonIcon_Primeape
- .4byte gMonIcon_Growlithe
- .4byte gMonIcon_Arcanine
- .4byte gMonIcon_Poliwag
- .4byte gMonIcon_Poliwhirl
- .4byte gMonIcon_Poliwrath
- .4byte gMonIcon_Abra
- .4byte gMonIcon_Kadabra
- .4byte gMonIcon_Alakazam
- .4byte gMonIcon_Machop
- .4byte gMonIcon_Machoke
- .4byte gMonIcon_Machamp
- .4byte gMonIcon_Bellsprout
- .4byte gMonIcon_Weepinbell
- .4byte gMonIcon_Victreebel
- .4byte gMonIcon_Tentacool
- .4byte gMonIcon_Tentacruel
- .4byte gMonIcon_Geodude
- .4byte gMonIcon_Graveler
- .4byte gMonIcon_Golem
- .4byte gMonIcon_Ponyta
- .4byte gMonIcon_Rapidash
- .4byte gMonIcon_Slowpoke
- .4byte gMonIcon_Slowbro
- .4byte gMonIcon_Magnemite
- .4byte gMonIcon_Magneton
- .4byte gMonIcon_Farfetchd
- .4byte gMonIcon_Doduo
- .4byte gMonIcon_Dodrio
- .4byte gMonIcon_Seel
- .4byte gMonIcon_Dewgong
- .4byte gMonIcon_Grimer
- .4byte gMonIcon_Muk
- .4byte gMonIcon_Shellder
- .4byte gMonIcon_Cloyster
- .4byte gMonIcon_Gastly
- .4byte gMonIcon_Haunter
- .4byte gMonIcon_Gengar
- .4byte gMonIcon_Onix
- .4byte gMonIcon_Drowzee
- .4byte gMonIcon_Hypno
- .4byte gMonIcon_Krabby
- .4byte gMonIcon_Kingler
- .4byte gMonIcon_Voltorb
- .4byte gMonIcon_Electrode
- .4byte gMonIcon_Exeggcute
- .4byte gMonIcon_Exeggutor
- .4byte gMonIcon_Cubone
- .4byte gMonIcon_Marowak
- .4byte gMonIcon_Hitmonlee
- .4byte gMonIcon_Hitmonchan
- .4byte gMonIcon_Lickitung
- .4byte gMonIcon_Koffing
- .4byte gMonIcon_Weezing
- .4byte gMonIcon_Rhyhorn
- .4byte gMonIcon_Rhydon
- .4byte gMonIcon_Chansey
- .4byte gMonIcon_Tangela
- .4byte gMonIcon_Kangaskhan
- .4byte gMonIcon_Horsea
- .4byte gMonIcon_Seadra
- .4byte gMonIcon_Goldeen
- .4byte gMonIcon_Seaking
- .4byte gMonIcon_Staryu
- .4byte gMonIcon_Starmie
- .4byte gMonIcon_Mrmime
- .4byte gMonIcon_Scyther
- .4byte gMonIcon_Jynx
- .4byte gMonIcon_Electabuzz
- .4byte gMonIcon_Magmar
- .4byte gMonIcon_Pinsir
- .4byte gMonIcon_Tauros
- .4byte gMonIcon_Magikarp
- .4byte gMonIcon_Gyarados
- .4byte gMonIcon_Lapras
- .4byte gMonIcon_Ditto
- .4byte gMonIcon_Eevee
- .4byte gMonIcon_Vaporeon
- .4byte gMonIcon_Jolteon
- .4byte gMonIcon_Flareon
- .4byte gMonIcon_Porygon
- .4byte gMonIcon_Omanyte
- .4byte gMonIcon_Omastar
- .4byte gMonIcon_Kabuto
- .4byte gMonIcon_Kabutops
- .4byte gMonIcon_Aerodactyl
- .4byte gMonIcon_Snorlax
- .4byte gMonIcon_Articuno
- .4byte gMonIcon_Zapdos
- .4byte gMonIcon_Moltres
- .4byte gMonIcon_Dratini
- .4byte gMonIcon_Dragonair
- .4byte gMonIcon_Dragonite
- .4byte gMonIcon_Mewtwo
- .4byte gMonIcon_Mew
- .4byte gMonIcon_Chikorita
- .4byte gMonIcon_Bayleef
- .4byte gMonIcon_Meganium
- .4byte gMonIcon_Cyndaquil
- .4byte gMonIcon_Quilava
- .4byte gMonIcon_Typhlosion
- .4byte gMonIcon_Totodile
- .4byte gMonIcon_Croconaw
- .4byte gMonIcon_Feraligatr
- .4byte gMonIcon_Sentret
- .4byte gMonIcon_Furret
- .4byte gMonIcon_Hoothoot
- .4byte gMonIcon_Noctowl
- .4byte gMonIcon_Ledyba
- .4byte gMonIcon_Ledian
- .4byte gMonIcon_Spinarak
- .4byte gMonIcon_Ariados
- .4byte gMonIcon_Crobat
- .4byte gMonIcon_Chinchou
- .4byte gMonIcon_Lanturn
- .4byte gMonIcon_Pichu
- .4byte gMonIcon_Cleffa
- .4byte gMonIcon_Igglybuff
- .4byte gMonIcon_Togepi
- .4byte gMonIcon_Togetic
- .4byte gMonIcon_Natu
- .4byte gMonIcon_Xatu
- .4byte gMonIcon_Mareep
- .4byte gMonIcon_Flaaffy
- .4byte gMonIcon_Ampharos
- .4byte gMonIcon_Bellossom
- .4byte gMonIcon_Marill
- .4byte gMonIcon_Azumarill
- .4byte gMonIcon_Sudowoodo
- .4byte gMonIcon_Politoed
- .4byte gMonIcon_Hoppip
- .4byte gMonIcon_Skiploom
- .4byte gMonIcon_Jumpluff
- .4byte gMonIcon_Aipom
- .4byte gMonIcon_Sunkern
- .4byte gMonIcon_Sunflora
- .4byte gMonIcon_Yanma
- .4byte gMonIcon_Wooper
- .4byte gMonIcon_Quagsire
- .4byte gMonIcon_Espeon
- .4byte gMonIcon_Umbreon
- .4byte gMonIcon_Murkrow
- .4byte gMonIcon_Slowking
- .4byte gMonIcon_Misdreavus
- .4byte gMonIcon_UnownA
- .4byte gMonIcon_Wobbuffet
- .4byte gMonIcon_Girafarig
- .4byte gMonIcon_Pineco
- .4byte gMonIcon_Forretress
- .4byte gMonIcon_Dunsparce
- .4byte gMonIcon_Gligar
- .4byte gMonIcon_Steelix
- .4byte gMonIcon_Snubbull
- .4byte gMonIcon_Granbull
- .4byte gMonIcon_Qwilfish
- .4byte gMonIcon_Scizor
- .4byte gMonIcon_Shuckle
- .4byte gMonIcon_Heracross
- .4byte gMonIcon_Sneasel
- .4byte gMonIcon_Teddiursa
- .4byte gMonIcon_Ursaring
- .4byte gMonIcon_Slugma
- .4byte gMonIcon_Magcargo
- .4byte gMonIcon_Swinub
- .4byte gMonIcon_Piloswine
- .4byte gMonIcon_Corsola
- .4byte gMonIcon_Remoraid
- .4byte gMonIcon_Octillery
- .4byte gMonIcon_Delibird
- .4byte gMonIcon_Mantine
- .4byte gMonIcon_Skarmory
- .4byte gMonIcon_Houndour
- .4byte gMonIcon_Houndoom
- .4byte gMonIcon_Kingdra
- .4byte gMonIcon_Phanpy
- .4byte gMonIcon_Donphan
- .4byte gMonIcon_Porygon2
- .4byte gMonIcon_Stantler
- .4byte gMonIcon_Smeargle
- .4byte gMonIcon_Tyrogue
- .4byte gMonIcon_Hitmontop
- .4byte gMonIcon_Smoochum
- .4byte gMonIcon_Elekid
- .4byte gMonIcon_Magby
- .4byte gMonIcon_Miltank
- .4byte gMonIcon_Blissey
- .4byte gMonIcon_Raikou
- .4byte gMonIcon_Entei
- .4byte gMonIcon_Suicune
- .4byte gMonIcon_Larvitar
- .4byte gMonIcon_Pupitar
- .4byte gMonIcon_Tyranitar
- .4byte gMonIcon_Lugia
- .4byte gMonIcon_HoOh
- .4byte gMonIcon_Celebi
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_QuestionMark
- .4byte gMonIcon_Treecko
- .4byte gMonIcon_Grovyle
- .4byte gMonIcon_Sceptile
- .4byte gMonIcon_Torchic
- .4byte gMonIcon_Combusken
- .4byte gMonIcon_Blaziken
- .4byte gMonIcon_Mudkip
- .4byte gMonIcon_Marshtomp
- .4byte gMonIcon_Swampert
- .4byte gMonIcon_Poochyena
- .4byte gMonIcon_Mightyena
- .4byte gMonIcon_Zigzagoon
- .4byte gMonIcon_Linoone
- .4byte gMonIcon_Wurmple
- .4byte gMonIcon_Silcoon
- .4byte gMonIcon_Beautifly
- .4byte gMonIcon_Cascoon
- .4byte gMonIcon_Dustox
- .4byte gMonIcon_Lotad
- .4byte gMonIcon_Lombre
- .4byte gMonIcon_Ludicolo
- .4byte gMonIcon_Seedot
- .4byte gMonIcon_Nuzleaf
- .4byte gMonIcon_Shiftry
- .4byte gMonIcon_Nincada
- .4byte gMonIcon_Ninjask
- .4byte gMonIcon_Shedinja
- .4byte gMonIcon_Taillow
- .4byte gMonIcon_Swellow
- .4byte gMonIcon_Shroomish
- .4byte gMonIcon_Breloom
- .4byte gMonIcon_Spinda
- .4byte gMonIcon_Wingull
- .4byte gMonIcon_Pelipper
- .4byte gMonIcon_Surskit
- .4byte gMonIcon_Masquerain
- .4byte gMonIcon_Wailmer
- .4byte gMonIcon_Wailord
- .4byte gMonIcon_Skitty
- .4byte gMonIcon_Delcatty
- .4byte gMonIcon_Kecleon
- .4byte gMonIcon_Baltoy
- .4byte gMonIcon_Claydol
- .4byte gMonIcon_Nosepass
- .4byte gMonIcon_Torkoal
- .4byte gMonIcon_Sableye
- .4byte gMonIcon_Barboach
- .4byte gMonIcon_Whiscash
- .4byte gMonIcon_Luvdisc
- .4byte gMonIcon_Corphish
- .4byte gMonIcon_Crawdaunt
- .4byte gMonIcon_Feebas
- .4byte gMonIcon_Milotic
- .4byte gMonIcon_Carvanha
- .4byte gMonIcon_Sharpedo
- .4byte gMonIcon_Trapinch
- .4byte gMonIcon_Vibrava
- .4byte gMonIcon_Flygon
- .4byte gMonIcon_Makuhita
- .4byte gMonIcon_Hariyama
- .4byte gMonIcon_Electrike
- .4byte gMonIcon_Manectric
- .4byte gMonIcon_Numel
- .4byte gMonIcon_Camerupt
- .4byte gMonIcon_Spheal
- .4byte gMonIcon_Sealeo
- .4byte gMonIcon_Walrein
- .4byte gMonIcon_Cacnea
- .4byte gMonIcon_Cacturne
- .4byte gMonIcon_Snorunt
- .4byte gMonIcon_Glalie
- .4byte gMonIcon_Lunatone
- .4byte gMonIcon_Solrock
- .4byte gMonIcon_Azurill
- .4byte gMonIcon_Spoink
- .4byte gMonIcon_Grumpig
- .4byte gMonIcon_Plusle
- .4byte gMonIcon_Minun
- .4byte gMonIcon_Mawile
- .4byte gMonIcon_Meditite
- .4byte gMonIcon_Medicham
- .4byte gMonIcon_Swablu
- .4byte gMonIcon_Altaria
- .4byte gMonIcon_Wynaut
- .4byte gMonIcon_Duskull
- .4byte gMonIcon_Dusclops
- .4byte gMonIcon_Roselia
- .4byte gMonIcon_Slakoth
- .4byte gMonIcon_Vigoroth
- .4byte gMonIcon_Slaking
- .4byte gMonIcon_Gulpin
- .4byte gMonIcon_Swalot
- .4byte gMonIcon_Tropius
- .4byte gMonIcon_Whismur
- .4byte gMonIcon_Loudred
- .4byte gMonIcon_Exploud
- .4byte gMonIcon_Clamperl
- .4byte gMonIcon_Huntail
- .4byte gMonIcon_Gorebyss
- .4byte gMonIcon_Absol
- .4byte gMonIcon_Shuppet
- .4byte gMonIcon_Banette
- .4byte gMonIcon_Seviper
- .4byte gMonIcon_Zangoose
- .4byte gMonIcon_Relicanth
- .4byte gMonIcon_Aron
- .4byte gMonIcon_Lairon
- .4byte gMonIcon_Aggron
- .4byte gMonIcon_Castform
- .4byte gMonIcon_Volbeat
- .4byte gMonIcon_Illumise
- .4byte gMonIcon_Lileep
- .4byte gMonIcon_Cradily
- .4byte gMonIcon_Anorith
- .4byte gMonIcon_Armaldo
- .4byte gMonIcon_Ralts
- .4byte gMonIcon_Kirlia
- .4byte gMonIcon_Gardevoir
- .4byte gMonIcon_Bagon
- .4byte gMonIcon_Shelgon
- .4byte gMonIcon_Salamence
- .4byte gMonIcon_Beldum
- .4byte gMonIcon_Metang
- .4byte gMonIcon_Metagross
- .4byte gMonIcon_Regirock
- .4byte gMonIcon_Regice
- .4byte gMonIcon_Registeel
- .4byte gMonIcon_Kyogre
- .4byte gMonIcon_Groudon
- .4byte gMonIcon_Rayquaza
- .4byte gMonIcon_Latias
- .4byte gMonIcon_Latios
- .4byte gMonIcon_Jirachi
- .4byte gMonIcon_Deoxys
- .4byte gMonIcon_Chimecho
- .4byte gMonIcon_Egg
- .4byte gMonIcon_UnownB
- .4byte gMonIcon_UnownC
- .4byte gMonIcon_UnownD
- .4byte gMonIcon_UnownE
- .4byte gMonIcon_UnownF
- .4byte gMonIcon_UnownG
- .4byte gMonIcon_UnownH
- .4byte gMonIcon_UnownI
- .4byte gMonIcon_UnownJ
- .4byte gMonIcon_UnownK
- .4byte gMonIcon_UnownL
- .4byte gMonIcon_UnownM
- .4byte gMonIcon_UnownN
- .4byte gMonIcon_UnownO
- .4byte gMonIcon_UnownP
- .4byte gMonIcon_UnownQ
- .4byte gMonIcon_UnownR
- .4byte gMonIcon_UnownS
- .4byte gMonIcon_UnownT
- .4byte gMonIcon_UnownU
- .4byte gMonIcon_UnownV
- .4byte gMonIcon_UnownW
- .4byte gMonIcon_UnownX
- .4byte gMonIcon_UnownY
- .4byte gMonIcon_UnownZ
- .4byte gMonIcon_UnownExclamationMark
- .4byte gMonIcon_UnownQuestionMark
diff --git a/data/party_menu.s b/data/party_menu.s
index 36ee4f960..a21b985c1 100644
--- a/data/party_menu.s
+++ b/data/party_menu.s
@@ -166,10 +166,51 @@ gUnknown_08615AF1:: @ 8615AF1
.incbin "baserom.gba", 0x615af1, 0x3
gUnknown_08615AF4:: @ 8615AF4
- .incbin "baserom.gba", 0x615af4, 0x6c
+ .4byte gUnknown_085E9E43
+ .4byte gUnknown_085EA010
+ .4byte gUnknown_085EA02A
+ .4byte gUnknown_085E9E55
+ .4byte gUnknown_085E9E64
+ .4byte gUnknown_085E9E79
+ .4byte gUnknown_085E9E8F
+ .4byte gUnknown_085E9EBC
+ .4byte gUnknown_085E9ED4
+ .4byte gUnknown_085E9EE9
+ .4byte gUnknown_085E9FDB
+ .4byte gUnknown_085EA046
+ .4byte gUnknown_085EA05B
+ .4byte gUnknown_085E9F01
+ .4byte gUnknown_085E9F58
+ .4byte gUnknown_085E9F6F
+ .4byte gUnknown_085E9F81
+ .4byte gUnknown_085E9F90
+ .4byte gUnknown_085E9FA7
+ .4byte gUnknown_085E9FC2
+ .4byte gText_EmptyString2
+ .4byte gUnknown_085E9EA6
+ .4byte gUnknown_085E9F16
+ .4byte gUnknown_085E9F2A
+ .4byte gUnknown_085E9F42
+ .4byte gUnknown_085E9FF9
+ .4byte gUnknown_085EA073
gUnknown_08615B60:: @ 8615B60
- .incbin "baserom.gba", 0x615b60, 0xa8
+ .4byte gUnknown_085EA091
+ .4byte gUnknown_085EA099
+ .4byte gUnknown_085EA09E
+ .4byte gUnknown_085EA0A4
+ .4byte gUnknown_085EA0AB
+ .4byte gUnknown_085EA0E7
+ .4byte gUnknown_085EA0B1
+ .4byte gUnknown_085EA0B6
+ .4byte gUnknown_085EA0BF
+ .4byte gUnknown_085EA0C5
+ .4byte gUnknown_085EA0CF
+ .4byte gUnknown_085EA0D7
+ .4byte gUnknown_085EA0DC
+
+gUnknown_08615B94:: @ 8615B94
+ .incbin "baserom.gba", 0x615b94, 0x74
gUnknown_08615C08:: @ 8615C08
.incbin "baserom.gba", 0x615c08, 0x130
@@ -187,22 +228,28 @@ gUnknown_08615D9C:: @ 8615D9C
.incbin "baserom.gba", 0x615d9c, 0x70
gUnknown_08615E0C:: @ 8615E0C
- .incbin "baserom.gba", 0x615e0c, 0xa4
+ .incbin "baserom.gba", 0x615e0c, 0x24
+
+gUnknown_08615E30:: @ 8615E30
+ .incbin "baserom.gba", 0x615e30, 0x40
+
+gUnknown_08615E70:: @ 8615E70
+ .incbin "baserom.gba", 0x615e70, 0x40
gUnknown_08615EB0:: @ 8615EB0
- .incbin "baserom.gba", 0x615eb0, 0x8
+ obj_tiles gUnknown_08615E30, 0x40, 55120
gUnknown_08615EB8:: @ 8615EB8
- .incbin "baserom.gba", 0x615eb8, 0x8
+ obj_pal gUnknown_08615E70, 55120
gUnknown_08615EC0:: @ 8615EC0
.incbin "baserom.gba", 0x615ec0, 0x38
gUnknown_08615EF8:: @ 8615EF8
- .incbin "baserom.gba", 0x615ef8, 0x8
+ obj_tiles gUnknown_08D96CD8, 0x400, 1200
gUnknown_08615F00:: @ 8615F00
- .incbin "baserom.gba", 0x615f00, 0x8
+ obj_pal gUnknown_08D96F6C, 1200
gUnknown_08615F08:: @ 8615F08
.incbin "baserom.gba", 0x615f08, 0x68
@@ -214,10 +261,10 @@ gUnknown_08615F78:: @ 8615F78
.incbin "baserom.gba", 0x615f78, 0x80
gUnknown_08615FF8:: @ 8615FF8
- .incbin "baserom.gba", 0x615ff8, 0x8
+ obj_tiles gUnknown_08D96F90, 0x400, 1202
gUnknown_08616000:: @ 8616000
- .incbin "baserom.gba", 0x616000, 0x8
+ obj_pal gUnknown_08D97188, 1202
gUnknown_08616008:: @ 8616008
.incbin "baserom.gba", 0x616008, 0x18
diff --git a/data/pokedex.s b/data/pokedex.s
index 3ba94dbc5..d0c286ab6 100644
--- a/data/pokedex.s
+++ b/data/pokedex.s
@@ -3,60 +3,24 @@
.section .rodata
.align 2, 0
-
-gUnknown_0855C6A4:: @ 855C6A4
- .incbin "baserom.gba", 0x55c6a4, 0x336
-
-gUnknown_0855C9DA:: @ 855C9DA
- .incbin "baserom.gba", 0x55c9da, 0x304
-
-gUnknown_0855CCDE:: @ 855CCDE
- .incbin "baserom.gba", 0x55ccde, 0x4b6
-
-gUnknown_0855D194:: @ 855D194
- .incbin "baserom.gba", 0x55d194, 0x18
-
-gUnknown_0855D1AC:: @ 855D1AC
- .incbin "baserom.gba", 0x55d1ac, 0x18
-
-gUnknown_0855D1C4:: @ 855D1C4
- .incbin "baserom.gba", 0x55d1c4, 0x18
-
-gUnknown_0855D1DC:: @ 855D1DC
- .incbin "baserom.gba", 0x55d1dc, 0x18
-
-gUnknown_0855D1F4:: @ 855D1F4
- .incbin "baserom.gba", 0x55d1f4, 0x18
-
-gUnknown_0855D20C:: @ 855D20C
- .incbin "baserom.gba", 0x55d20c, 0x18
-
-gUnknown_0855D224:: @ 855D224
- .incbin "baserom.gba", 0x55d224, 0x18
-
-gUnknown_0855D23C:: @ 855D23C
- .incbin "baserom.gba", 0x55d23c, 0x18
-
-gUnknown_0855D254:: @ 855D254
- .incbin "baserom.gba", 0x55d254, 0x18
-
-gUnknown_0855D26C:: @ 855D26C
- .incbin "baserom.gba", 0x55d26c, 0x10
-
-gUnknown_0855D27C:: @ 855D27C
- .incbin "baserom.gba", 0x55d27c, 0x10
-
-gUnknown_0855D28C:: @ 855D28C
- .incbin "baserom.gba", 0x55d28c, 0x5
-
-gUnknown_0855D291:: @ 855D291
- .incbin "baserom.gba", 0x55d291, 0x7
-
-gUnknown_0855D298:: @ 855D298
- .incbin "baserom.gba", 0x55d298, 0x10
-
-gUnknown_0855D2A8:: @ 855D2A8
- .incbin "baserom.gba", 0x55d2a8, 0x10
+
+.macro unk_dex_struct texts, a2, a3, a4
+ .4byte \texts
+ .byte \a2, \a3, \a4
+ .byte 0 @padding
+.endm
+
+.macro unk_dex_struct_2 text, a2, a3, a4, a5, a6, a7
+ .4byte \text
+ .byte \a2, \a3, \a4, \a5, \a6, \a7
+ .2byte 0 @padding
+.endm
+
+.macro unk_dex_struct_3 text, a2, a3, a4
+ .4byte \text
+ .byte \a2, \a3, \a4
+ .byte 0 @padding
+.endm
gUnknown_0855D2B8:: @ 855D2B8
.incbin "baserom.gba", 0x55d2b8, 0x6
@@ -64,8 +28,10 @@ gUnknown_0855D2B8:: @ 855D2B8
gUnknown_0855D2BE:: @ 855D2BE
.incbin "baserom.gba", 0x55d2be, 0x40
-gUnknown_0855D2FE:: @ 855D2FE
- .incbin "baserom.gba", 0x55d2fe, 0xe
+sText_TenDashes:: @ 855D2FE
+ .string "----------$"
+
+.align 2
gUnknown_0855D30C:: @ 855D30C
.string "$"
@@ -101,10 +67,18 @@ gUnknown_0856ED08:: @ 856ED08
.incbin "baserom.gba", 0x56ed08, 0x28
gUnknown_0856ED30:: @ 856ED30
- .incbin "baserom.gba", 0x56ed30, 0x18
+ unk_dex_struct_3 gUnknown_085E87A5, 0, 0, 5
+ unk_dex_struct_3 gUnknown_085E87D6, 6, 0, 5
+ unk_dex_struct_3 gUnknown_085E87EF, 12, 0, 5
gUnknown_0856ED48:: @ 856ED48
- .incbin "baserom.gba", 0x56ed48, 0x54
+ unk_dex_struct_2 gUnknown_085E8840, 0, 2, 5, 5, 2, 12
+ unk_dex_struct_2 gUnknown_085E887C, 0, 4, 5, 5, 4, 12
+ unk_dex_struct_2 gUnknown_085E88A6, 0, 6, 5, 5, 6, 6
+ unk_dex_struct_2 gUnknown_085E88A6, 0, 6, 5, 11, 6, 6
+ unk_dex_struct_2 gUnknown_085E881F, 0, 8, 5, 5, 8, 12
+ unk_dex_struct_2 gUnknown_085E8806, 0, 10, 5, 5, 10, 12
+ unk_dex_struct_2 gUnknown_085E88C8, 0, 12, 5, 0, 0, 0
gUnknown_0856ED9C:: @ 856ED9C
.incbin "baserom.gba", 0x56ed9c, 0x1c
@@ -119,19 +93,119 @@ gUnknown_0856EDF0:: @ 856EDF0
.incbin "baserom.gba", 0x56edf0, 0x1c
gUnknown_0856EE0C:: @ 856EE0C
- .incbin "baserom.gba", 0x56ee0c, 0x18
+ .4byte gUnknown_085E89A4
+ .4byte gUnknown_085E88DF
+ .4byte gUnknown_085E89BB
+ .4byte gUnknown_085E88E9
+ .4byte NULL
+ .4byte NULL
gUnknown_0856EE24:: @ 856EE24
- .incbin "baserom.gba", 0x56ee24, 0x38
+ .4byte gUnknown_085E89D4
+ .4byte gUnknown_085E88F6
+ .4byte gUnknown_085E8A02
+ .4byte gUnknown_085E8905
+ .4byte gUnknown_085E8A37
+ .4byte gUnknown_085E8911
+ .4byte gUnknown_085E8A73
+ .4byte gUnknown_085E891F
+ .4byte gUnknown_085E8AAF
+ .4byte gUnknown_085E892D
+ .4byte gUnknown_085E8AEA
+ .4byte gUnknown_085E893A
+ .4byte 0
+ .4byte 0
gUnknown_0856EE5C:: @ 856EE5C
- .incbin "baserom.gba", 0x56ee5c, 0x58
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E8B26
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E8948
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E894C
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E8950
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E8954
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E8958
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E895C
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E8960
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E8964
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E8968
+ .4byte 0
+ .4byte 0
gUnknown_0856EEB4:: @ 856EEB4
- .incbin "baserom.gba", 0x56eeb4, 0x60
-
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E8B26
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E896B
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E896F
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E8974
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E897B
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E8981
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E8987
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E898D
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E8994
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E8999
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E899F
+ .4byte 0
+ .4byte 0
+
+@ read from type table for each type except ???, entry is 7 byte of length
gUnknown_0856EF14:: @ 856EF14
- .incbin "baserom.gba", 0x56ef14, 0x98
+ .4byte gUnknown_085E8B25
+ .4byte gUnknown_085E8B35
+ .4byte gUnknown_085E8B25
+ .4byte gTypeNames + 0
+ .4byte gUnknown_085E8B25
+ .4byte gTypeNames + 7
+ .4byte gUnknown_085E8B25
+ .4byte gTypeNames + 14
+ .4byte gUnknown_085E8B25
+ .4byte gTypeNames + 21
+ .4byte gUnknown_085E8B25
+ .4byte gTypeNames + 28
+ .4byte gUnknown_085E8B25
+ .4byte gTypeNames + 35
+ .4byte gUnknown_085E8B25
+ .4byte gTypeNames + 42
+ .4byte gUnknown_085E8B25
+ .4byte gTypeNames + 49
+ .4byte gUnknown_085E8B25
+ .4byte gTypeNames + 56
+ .4byte gUnknown_085E8B25
+ .4byte gTypeNames + 70
+ .4byte gUnknown_085E8B25
+ .4byte gTypeNames + 77
+ .4byte gUnknown_085E8B25
+ .4byte gTypeNames + 84
+ .4byte gUnknown_085E8B25
+ .4byte gTypeNames + 91
+ .4byte gUnknown_085E8B25
+ .4byte gTypeNames + 98
+ .4byte gUnknown_085E8B25
+ .4byte gTypeNames + 105
+ .4byte gUnknown_085E8B25
+ .4byte gTypeNames + 112
+ .4byte gUnknown_085E8B25
+ .4byte gTypeNames + 119
+ .4byte 0
+ .4byte 0
gUnknown_0856EFAC:: @ 856EFAC
.incbin "baserom.gba", 0x56efac, 0x2
@@ -143,7 +217,12 @@ gUnknown_0856EFB4:: @ 856EFB4
.incbin "baserom.gba", 0x56efb4, 0x14
gUnknown_0856EFC8:: @ 856EFC8
- .incbin "baserom.gba", 0x56efc8, 0x30
+ unk_dex_struct gUnknown_0856EE5C, 6, 7, 10
+ unk_dex_struct gUnknown_0856EEB4, 8, 9, 11
+ unk_dex_struct gUnknown_0856EF14, 10,11, 18
+ unk_dex_struct gUnknown_0856EF14, 12, 13, 18
+ unk_dex_struct gUnknown_0856EE24, 4, 5, 6
+ unk_dex_struct gUnknown_0856EE0C, 2, 3, 2
gUnknown_0856EFF8:: @ 856EFF8
.incbin "baserom.gba", 0x56eff8, 0x10
diff --git a/data/pokemon_icon.s b/data/pokemon_icon.s
deleted file mode 100644
index 9d6c7ac2e..000000000
--- a/data/pokemon_icon.s
+++ /dev/null
@@ -1,27 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2, 0
-
-@ 857BCA8
- .include "data/graphics/pokemon/icon_table.inc"
-
-@ 857C388
- .include "data/graphics/pokemon/icon_palette_indices.inc"
-
-@ 857C540
- .include "data/graphics/pokemon/icon_palette_table.inc"
-
-gUnknown_0857C570:: @ 857C570
- .incbin "baserom.gba", 0x57c570, 0x44
-
-gUnknown_0857C5B4:: @ 857C5B4
- .incbin "baserom.gba", 0x57c5b4, 0x14
- .incbin "baserom.gba", 0x57c5c8, 0x20
-
-gUnknown_0857C5E8:: @ 857C5E8
- .incbin "baserom.gba", 0x57c5e8, 0x8
-
-gUnknown_0857C5F0:: @ 857C5F0
- .incbin "baserom.gba", 0x57c5f0, 0x18
diff --git a/data/pokemon_storage_system.s b/data/pokemon_storage_system.s
index 4f2815713..4c630c923 100644
--- a/data/pokemon_storage_system.s
+++ b/data/pokemon_storage_system.s
@@ -4,21 +4,6 @@
.section .rodata
.align 2, 0
-gUnknown_085716C0:: @ 85716C0
- .incbin "baserom.gba", 0x5716c0, 0x28
-
-gUnknown_085716E8:: @ 85716E8
- .incbin "baserom.gba", 0x5716e8, 0x28
-
-gUnknown_08571710:: @ 8571710
- .incbin "baserom.gba", 0x571710, 0x24
-
-gUnknown_08571734:: @ 8571734
- .incbin "baserom.gba", 0x571734, 0x3
-
-gUnknown_08571737:: @ 8571737
- .incbin "baserom.gba", 0x571737, 0x5
-
gUnknown_0857173C:: @ 857173C
.incbin "baserom.gba", 0x57173c, 0x20
@@ -59,7 +44,13 @@ gUnknown_085724A4:: @ 85724A4
.incbin "baserom.gba", 0x5724a4, 0x18
gUnknown_085724BC:: @ 85724BC
- .incbin "baserom.gba", 0x5724bc, 0x238
+ .incbin "baserom.gba", 0x5724bc, 0x18
+
+gUnknown_085724D4:: @ 85724D4
+ .incbin "baserom.gba", 0x5724d4, 0x20
+
+gUnknown_085724F4:: @ 85724F4
+ .incbin "baserom.gba", 0x5724f4, 0x200
gUnknown_085726F4:: @ 85726F4
.incbin "baserom.gba", 0x5726f4, 0x20
@@ -71,28 +62,126 @@ gUnknown_08572734:: @ 8572734
.incbin "baserom.gba", 0x572734, 0x10
gUnknown_08572744:: @ 8572744
- .incbin "baserom.gba", 0x572744, 0x8
+ obj_pal gUnknown_085724D4, 0xDACA
gUnknown_0857274C:: @ 857274C
- .incbin "baserom.gba", 0x57274c, 0x8
+ obj_tiles gUnknown_085724F4, 0x1C0, 5
gUnknown_08572754:: @ 8572754
- .incbin "baserom.gba", 0x572754, 0x18
+ spr_template 2, 0xDAC6, gOamData_857286C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
gUnknown_0857276C:: @ 857276C
- .incbin "baserom.gba", 0x57276c, 0xf8
+ .4byte gUnknown_085EB7EF, 0
+ .4byte gUnknown_085EB802, 0
+ .4byte gUnknown_085EB81A, 0
+ .4byte gUnknown_085EB82F, 0
+ .4byte gUnknown_085EB843, 1
+ .4byte gUnknown_085EB853, 0
+ .4byte gUnknown_085EB866, 0
+ .4byte gUnknown_085EB87C, 1
+ .4byte gUnknown_085EB88E, 0
+ .4byte gUnknown_085EB89F, 0
+ .4byte gUnknown_085EB8B5, 4
+ .4byte gUnknown_085EB8C6, 6
+ .4byte gUnknown_085EB8D3, 0
+ .4byte gUnknown_085EB8E6, 0
+ .4byte gUnknown_085EB900, 0
+ .4byte gUnknown_085EB913, 0
+ .4byte gUnknown_085EB92D, 0
+ .4byte gUnknown_085EB946, 0
+ .4byte gUnknown_085EB960, 0
+ .4byte gUnknown_085EB979, 1
+ .4byte gUnknown_085EB987, 0
+ .4byte gUnknown_085EB9A1, 0
+ .4byte gUnknown_085EB9AB, 0
+ .4byte gUnknown_085EB843, 7
+ .4byte gUnknown_085EB9C3, 0
+ .4byte gUnknown_085EB9D6, 7
+ .4byte gUnknown_085EB9EE, 0
+ .4byte gUnknown_085EB9FF, 0
+ .4byte gUnknown_085EBA19, 7
+ .4byte gUnknown_085EBA29, 7
+ .4byte gUnknown_085EBA38, 0
+
+ .align 2
gUnknown_08572864:: @ 8572864
- .incbin "baserom.gba", 0x572864, 0x58
+ window_template 0, 0x18, 0xB, 5, 4, 0xF, 0x5C
+
+ .align 2
+gOamData_857286C:: @ 857286C
+ .2byte 0x0000
+ .2byte 0xC000
+ .2byte 0x0000
+
+ .align 2
+gOamData_8572874:: @ 8572874
+ .2byte 0x4000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAnim_857287C:: @ 857287C
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_8572884:: @ 8572884
+ obj_image_anim_frame 2, 8
+ obj_image_anim_frame 4, 8
+ obj_image_anim_frame 6, 8
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_8572894:: @ 8572894
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_857289C:: @ 857289C
+ obj_image_anim_frame 10, 8
+ obj_image_anim_frame 4, 8
+ obj_image_anim_frame 12, 8
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_85728AC:: @ 85728AC
+ .4byte gSpriteAnim_857287C
+ .4byte gSpriteAnim_8572884
+ .4byte gSpriteAnim_8572894
+ .4byte gSpriteAnim_857289C
gUnknown_085728BC:: @ 85728BC
- .incbin "baserom.gba", 0x5728bc, 0x18
+ spr_template 5, 0xDACA, gOamData_8572874, gSpriteAnimTable_85728AC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ .align 2
gUnknown_085728D4:: @ 85728D4
- .incbin "baserom.gba", 0x5728d4, 0x48
-
-gUnknown_0857291C:: @ 857291C
- .incbin "baserom.gba", 0x57291c, 0x4c58
+ spr_template 0x12, 0xDAC0, gOamData_85728EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gOamData_85728EC:: @ 85728EC
+ .2byte 0x0000
+ .2byte 0x8000
+ .2byte 0x0000
+
+ .align 2
+gSpriteAffineAnim_85728F4:: @ 85728F4
+ obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 0, 120
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnim_8572904:: @ 8572904
+ obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
+ obj_rot_scal_anim_frame 0x10, 0x10, 0, 15
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_857291C:: @ 857291C
+ .4byte gSpriteAffineAnim_85728F4
+ .4byte gSpriteAffineAnim_8572904
+
+gUnknown_08572924:: @ 8572924
+ .incbin "baserom.gba", 0x572924, 0x4c50
gUnknown_08577574:: @ 8577574
.incbin "baserom.gba", 0x577574, 0x44
diff --git a/data/pokenav.s b/data/pokenav.s
index 8e8e24b65..3f07eb0d5 100644
--- a/data/pokenav.s
+++ b/data/pokenav.s
@@ -4,7 +4,117 @@
.section .rodata
gUnknown_0861F3EC:: @ 861F3EC
- .incbin "baserom.gba", 0x61f3ec, 0x618
+ .4byte sub_81C9298
+ .4byte sub_81C941C
+ .4byte sub_81C9924
+ .4byte sub_81C9990
+ .4byte sub_81C99C0
+ .4byte sub_81C9430
+ .4byte sub_81C99D4
+ .4byte sub_81C9298
+ .4byte sub_81C941C
+ .4byte sub_81C9940
+ .4byte sub_81C9990
+ .4byte sub_81C99C0
+ .4byte sub_81C9430
+ .4byte sub_81C99D4
+ .4byte sub_81C9338
+ .4byte sub_81C941C
+ .4byte sub_81C9940
+ .4byte sub_81C9990
+ .4byte sub_81C99C0
+ .4byte sub_81C9430
+ .4byte sub_81C99D4
+ .4byte sub_81C9368
+ .4byte sub_81C941C
+ .4byte sub_81C9940
+ .4byte sub_81C9990
+ .4byte sub_81C99C0
+ .4byte sub_81C9430
+ .4byte sub_81C99D4
+ .4byte sub_81C92CC
+ .4byte sub_81C941C
+ .4byte sub_81C9940
+ .4byte sub_81C9990
+ .4byte sub_81C99C0
+ .4byte sub_81C9430
+ .4byte sub_81C99D4
+ .4byte sub_81C9304
+ .4byte sub_81C941C
+ .4byte sub_81C9940
+ .4byte sub_81C9990
+ .4byte sub_81C99C0
+ .4byte sub_81C9430
+ .4byte sub_81C99D4
+ .4byte sub_81CC4D4
+ .4byte sub_81CC554
+ .4byte sub_81CC5F4
+ .4byte sub_81CC62C
+ .4byte sub_81CC65C
+ .4byte sub_81CC524
+ .4byte sub_81CC670
+ .4byte sub_81CCFD8
+ .4byte sub_81CD070
+ .4byte sub_81CDDD4
+ .4byte sub_81CDE2C
+ .4byte sub_81CDE64
+ .4byte sub_81CD1C0
+ .4byte sub_81CECA0
+ .4byte sub_81CEF3C
+ .4byte sub_81CEFDC
+ .4byte sub_81CF330
+ .4byte sub_81CF3A0
+ .4byte sub_81CF3D0
+ .4byte sub_81CEFF0
+ .4byte sub_81CF3F8
+ .4byte sub_81CD024
+ .4byte sub_81CD070
+ .4byte sub_81CDDD4
+ .4byte sub_81CDE2C
+ .4byte sub_81CDE64
+ .4byte sub_81CD1C0
+ .4byte sub_81CECA0
+ .4byte sub_81CEF98
+ .4byte sub_81CEFDC
+ .4byte sub_81CF368
+ .4byte sub_81CF3A0
+ .4byte sub_81CF3D0
+ .4byte sub_81CEFF0
+ .4byte sub_81CF3F8
+ .4byte sub_81CAAE8
+ .4byte sub_81CAB24
+ .4byte sub_81CB260
+ .4byte sub_81CB29C
+ .4byte sub_81CB2CC
+ .4byte sub_81CAB38
+ .4byte sub_81CB2E0
+ .4byte sub_81CF9BC
+ .4byte sub_81CFA34
+ .4byte sub_81CFDD0
+ .4byte sub_81CFE40
+ .4byte sub_81CFE70
+ .4byte sub_81CFA48
+ .4byte sub_81CFE98
+ .4byte sub_81D0450
+ .4byte sub_81D04A0
+ .4byte sub_81D0978
+ .4byte sub_81D09B0
+ .4byte sub_81D09E0
+ .4byte sub_81D04B8
+ .4byte sub_81D09F4
+ .4byte sub_81CFA04
+ .4byte sub_81CFA34
+ .4byte sub_81CFE08
+ .4byte sub_81CFE40
+ .4byte sub_81CFE70
+ .4byte sub_81CFA48
+ .4byte sub_81CFE98
+
+gUnknown_0861F590:: @ 861F590
+ .incbin "baserom.gba", 0x61F590, 0x20
+
+gUnknown_0861F5B0:: @ 861F5B0
+ .incbin "baserom.gba", 0x61f5b0, 0x454
gUnknown_0861FA04:: @ 861FA04
.incbin "baserom.gba", 0x61fa04, 0x4
@@ -13,31 +123,86 @@ gUnknown_0861FA08:: @ 861FA08
.incbin "baserom.gba", 0x61fa08, 0x10
gUnknown_0861FA18:: @ 861FA18
- .incbin "baserom.gba", 0x61fa18, 0x30
+ .4byte gUnknown_085EBED5
+ .4byte gUnknown_085EBED9
+ .4byte gUnknown_085EBEE9
+ .4byte gUnknown_085EBEF9
+ .4byte gUnknown_085EBF0E
+ .4byte gUnknown_085EBF22
+ .4byte gUnknown_085EBF39
+ .4byte gUnknown_085EBF49
+ .4byte gUnknown_085EBF57
+ .4byte gUnknown_085EBF60
+ .4byte gUnknown_085EBF73
+ .4byte gUnknown_085EBF84
gUnknown_0861FA48:: @ 861FA48
.incbin "baserom.gba", 0x61fa48, 0x4
gUnknown_0861FA4C:: @ 861FA4C
- .incbin "baserom.gba", 0x61fa4c, 0x8
+ obj_tiles gUnknown_0861F5B0, 0x1000, 0
gUnknown_0861FA54:: @ 861FA54
- .incbin "baserom.gba", 0x61fa54, 0x10
+ obj_pal gUnknown_0861F590, 0
+ obj_pal NULL, 0
gUnknown_0861FA64:: @ 861FA64
- .incbin "baserom.gba", 0x61fa64, 0x8
+ obj_tiles gUnknown_08DC87F8, 0xC00, 2
gUnknown_0861FA6C:: @ 861FA6C
- .incbin "baserom.gba", 0x61fa6c, 0x30
+ obj_tiles gUnknown_08DC864C, 0x20, 3
+ obj_tiles gUnknown_08DC8208, 0x20, 1
+ obj_tiles gUnknown_08DC8AA4, 0x20, 2
+ obj_tiles gUnknown_08DC84AC, 0x20, 4
+ obj_tiles gUnknown_08DC87F8, 0x20, 0
+ obj_tiles gUnknown_08DC87F8, 0x40, 0
gUnknown_0861FA9C:: @ 861FA9C
- .incbin "baserom.gba", 0x61fa9c, 0x68
+ .4byte gUnknown_08DC8F64, 1
+ .4byte gUnknown_08DC8C14, 1
+ .4byte gUnknown_08DC8E64, 4
+ .4byte gUnknown_08DC7FA0, 1
+ .4byte gUnknown_08DC838C, 2
+ .4byte gUnknown_08DC80DC, 0
+ .4byte gUnknown_08DC8D50, 0
+
+gUnknown_0861FAD4:: @ 861FAD4
+ .2byte 0x0
+ .2byte 0x8000
+ .2byte 0x0
+ .2byte 0x0
+
+gUnknown_0861FADC::
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 16, 8
+ obj_image_anim_frame 32, 8
+ obj_image_anim_frame 48, 8
+ obj_image_anim_frame 64, 8
+ obj_image_anim_frame 80, 8
+ obj_image_anim_frame 96, 8
+ obj_image_anim_frame 112, 8
+ obj_image_anim_jump 0
+
+gUnknown_0861FB00::
+ .4byte gUnknown_0861FADC
gUnknown_0861FB04:: @ 861FB04
- .incbin "baserom.gba", 0x61fb04, 0x28
-
+ spr_template 0, 0, gUnknown_0861FAD4, gUnknown_0861FB00, NULL, gDummySpriteAffineAnimTable, sub_81C7CB4
+
+gUnknown_0861FB1C::
+ .2byte 0x4000
+ .2byte 0xC000
+ .2byte 0x400
+ .2byte 0x0
+
+gUnknown_0861FB24::
+ .2byte 0x4000
+ .2byte 0x8000
+ .2byte 0x400
+ .2byte 0x0
+
gUnknown_0861FB2C:: @ 861FB2C
- .incbin "baserom.gba", 0x61fb2c, 0x18
+ spr_template 2, 1, gUnknown_0861FB1C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
gUnknown_0861FB44:: @ 861FB44
.incbin "baserom.gba", 0x61fb44, 0xa0
@@ -172,7 +337,22 @@ gUnknown_08622794:: @ 8622794
.incbin "baserom.gba", 0x622794, 0x4
gUnknown_08622798:: @ 8622798
- .incbin "baserom.gba", 0x622798, 0x40
+ .4byte NULL
+ .4byte sub_81CB510
+ .4byte sub_81CB588
+ .4byte sub_81CB600
+ .4byte sub_81CB678
+ .4byte sub_81CB6F0
+ .4byte sub_81CB734
+ .4byte sub_81CB75C
+ .4byte sub_81CB7A0
+ .4byte sub_81CB824
+ .4byte sub_81CB888
+ .4byte sub_81CB93C
+ .4byte sub_81CBAD4
+ .4byte sub_81CB9C8
+ .4byte sub_81CBA68
+ .4byte sub_81CBB74
gUnknown_086227D8:: @ 86227D8
.incbin "baserom.gba", 0x6227d8, 0x8
@@ -205,28 +385,126 @@ gUnknown_08622868:: @ 8622868
.incbin "baserom.gba", 0x622868, 0x20
gUnknown_08622888:: @ 8622888
- .incbin "baserom.gba", 0x622888, 0x850
+ .incbin "baserom.gba", 0x622888, 0x1F4
+
+gUnknown_08622A7C:: @ 8622A7C
+ .incbin "baserom.gba", 0x622a7c, 0x44
+
+gUnknown_08622AC0:: @ 8622AC0
+ .incbin "baserom.gba", 0x622ac0, 0x48
+
+gUnknown_08622B08:: @ 8622B08
+ .incbin "baserom.gba", 0x622b08, 0x50
+
+gUnknown_08622B58:: @ 8622B58
+ .incbin "baserom.gba", 0x622b58, 0x60
+
+gUnknown_08622BB8:: @ 8622BB8
+ .incbin "baserom.gba", 0x622bb8, 0x4C
+
+gUnknown_08622C04:: @ 8622C04
+ .incbin "baserom.gba", 0x622c04, 0x54
+
+gUnknown_08622C58:: @ 8622C58
+ .incbin "baserom.gba", 0x622c58, 0x54
+
+gUnknown_08622CAC:: @ 8622CAC
+ .incbin "baserom.gba", 0x622cac, 0x40
+
+gUnknown_08622CEC:: @ 8622CEC
+ .incbin "baserom.gba", 0x622cec, 0x58
+
+gUnknown_08622D44:: @ 8622D44
+ .incbin "baserom.gba", 0x622d44, 0x54
+
+gUnknown_08622D98:: @ 8622D98
+ .incbin "baserom.gba", 0x622d98, 0x30
+
+gUnknown_08622DC8:: @ 8622DC8
+ .incbin "baserom.gba", 0x622dc8, 0x4C
+
+gUnknown_08622E14:: @ 8622E14
+ .incbin "baserom.gba", 0x622e14, 0x58
+
+gUnknown_08622E6C:: @ 8622E6C
+ .incbin "baserom.gba", 0x622e6c, 0x30
+
+gUnknown_08622E9C:: @ 8622E9C
+ .incbin "baserom.gba", 0x622e9c, 0x38
+
+gUnknown_08622ED4:: @ 8622ED4
+ .incbin "baserom.gba", 0x622ed4, 0x40
+
+gUnknown_08622F14:: @ 8622F14
+ .incbin "baserom.gba", 0x622f14, 0x48
+
+gUnknown_08622F5C:: @ 8622F5C
+ .incbin "baserom.gba", 0x622f5c, 0x44
+
+gUnknown_08622FA0:: @ 8622FA0
+ .incbin "baserom.gba", 0x622fa0, 0x38
+
+gUnknown_08622FD8:: @ 8622FD8
+ .incbin "baserom.gba", 0x622fd8, 0x48
+
+gUnknown_08623020:: @ 8623020
+ .incbin "baserom.gba", 0x623020, 0x5C
+
+gUnknown_0862307C:: @ 862307C
+ .incbin "baserom.gba", 0x62307c, 0x5C
gUnknown_086230D8:: @ 86230D8
.incbin "baserom.gba", 0x6230d8, 0xc
gUnknown_086230E4:: @ 86230E4
- .incbin "baserom.gba", 0x6230e4, 0x14
+ .4byte NULL
+ .4byte sub_81CC848
+ .4byte sub_81CC878
+ .4byte sub_81CC8D8
+ .4byte sub_81CC95C
gUnknown_086230F8:: @ 86230F8
- .incbin "baserom.gba", 0x6230f8, 0x8
+ obj_tiles gUnknown_08DC9208, 0x800, 6
gUnknown_08623100:: @ 8623100
- .incbin "baserom.gba", 0x623100, 0x10
+ obj_pal gUnknown_08DC91E8, 11
+ obj_pal NULL, 0
gUnknown_08623110:: @ 8623110
.incbin "baserom.gba", 0x623110, 0x8
gUnknown_08623118:: @ 8623118
- .incbin "baserom.gba", 0x623118, 0xb8
+ .4byte 0, gUnknown_08622E6C
+ .4byte 1, gUnknown_08622D98
+ .4byte 2, gUnknown_08622E9C
+ .4byte 3, gUnknown_08622A7C
+ .4byte 4, gUnknown_08622AC0
+ .4byte 5, gUnknown_08622FA0
+ .4byte 6, gUnknown_08622CAC
+ .4byte 7, gUnknown_0862307C
+ .4byte 8, gUnknown_08622B58
+ .4byte 0x10008, gUnknown_08622BB8
+ .4byte 9, gUnknown_08622D44
+ .4byte 0x10009, gUnknown_08622CEC
+ .4byte 0xA, gUnknown_08622C04
+ .4byte 0x1000A, gUnknown_08622C58
+ .4byte 0xB, gUnknown_08622B08
+ .4byte 0xC, gUnknown_08622E14
+ .4byte 0x1000C, gUnknown_08622DC8
+ .4byte 0xD, gUnknown_08623020
+ .4byte 0x1000D, gUnknown_08622FD8
+ .4byte 0xE, gUnknown_08622ED4
+ .4byte 0xF, gUnknown_08622F14
+ .4byte 0x1000F, gUnknown_08622F5C
+
+gUnknown_086231C8:: @ 86231C8
+ .2byte 0x4000
+ .2byte 0x4000
+ .2byte 0x400
+ .2byte 0x0
gUnknown_086231D0:: @ 86231D0
- .incbin "baserom.gba", 0x6231d0, 0x18
+ spr_template 6, 11, gUnknown_086231C8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81CCEF4
gUnknown_086231E8:: @ 86231E8
.incbin "baserom.gba", 0x6231e8, 0x20
@@ -259,7 +537,13 @@ gUnknown_0862337C:: @ 862337C
.incbin "baserom.gba", 0x62337c, 0x8
gUnknown_08623384:: @ 8623384
- .incbin "baserom.gba", 0x623384, 0x1c
+ .4byte NULL
+ .4byte sub_81CE37C
+ .4byte sub_81CE2D0
+ .4byte sub_81CE4D8
+ .4byte sub_81CE5E4
+ .4byte sub_81CE6BC
+ .4byte sub_81CE700
gUnknown_086233A0:: @ 86233A0
.incbin "baserom.gba", 0x6233a0, 0x14
@@ -286,7 +570,13 @@ gUnknown_08623594:: @ 8623594
.incbin "baserom.gba", 0x623594, 0x4
gUnknown_08623598:: @ 8623598
- .incbin "baserom.gba", 0x623598, 0x1c
+ .4byte NULL
+ .4byte sub_81CF578
+ .4byte sub_81CF5F0
+ .4byte sub_81CF668
+ .4byte sub_81CF6E0
+ .4byte sub_81CF758
+ .4byte sub_81CF798
gUnknown_086235B4:: @ 86235B4
.incbin "baserom.gba", 0x6235b4, 0x8
@@ -346,13 +636,28 @@ gUnknown_086237F8:: @ 86237F8
.include "data/text/gift_ribbon_descriptions.inc"
gUnknown_08623FF8:: @ 8623FF8
- .incbin "baserom.gba", 0x623ff8, 0xa0
+ .incbin "baserom.gba", 0x623ff8, 0x20
+
+gUnknown_08624018:: @ 8624018
+ .incbin "baserom.gba", 0x624018, 0x20
+
+gUnknown_08624038:: @ 8624038
+ .incbin "baserom.gba", 0x624038, 0x20
+
+gUnknown_08624058:: @ 8624058
+ .incbin "baserom.gba", 0x624058, 0x20
+
+gUnknown_08624078:: @ 8624078
+ .incbin "baserom.gba", 0x624078, 0x20
gUnknown_08624098:: @ 8624098
- .incbin "baserom.gba", 0x624098, 0x20
+ .incbin "baserom.gba", 0x624098, 0x20
gUnknown_086240B8:: @ 86240B8
- .incbin "baserom.gba", 0x6240b8, 0xae0
+ .incbin "baserom.gba", 0x6240b8, 0x1C8
+
+gUnknown_08624280:: @ 8624280
+ .incbin "baserom.gba", 0x624280, 0x918
gUnknown_08624B98:: @ 8624B98
.incbin "baserom.gba", 0x624b98, 0x8
@@ -385,25 +690,128 @@ gUnknown_08624BF8:: @ 8624BF8
.incbin "baserom.gba", 0x624bf8, 0x80
gUnknown_08624C78:: @ 8624C78
- .incbin "baserom.gba", 0x624c78, 0x8
+ obj_tiles gUnknown_08624280, 0x1800, 9
gUnknown_08624C80:: @ 8624C80
- .incbin "baserom.gba", 0x624c80, 0x84
-
+ obj_pal gUnknown_08623FF8, 15
+ obj_pal gUnknown_08624018, 16
+ obj_pal gUnknown_08624038, 17
+ obj_pal gUnknown_08624058, 18
+ obj_pal gUnknown_08624078, 19
+ obj_pal NULL, 0
+
+gUnknown_08624CB0:: @ 8624CB0
+ .incbin "baserom.gba", 0x624cb0, 0x54
+
gUnknown_08624D04:: @ 8624D04
- .incbin "baserom.gba", 0x624d04, 0x5a4
+ .incbin "baserom.gba", 0x624d04, 0x78
+
+gUnknown_08624D7C:: @ 8624D7C
+ .incbin "baserom.gba", 0x624d7c, 0x60
+
+gUnknown_08624DDC:: @ 8624DDC
+ .incbin "baserom.gba", 0x624ddc, 0x14
+
+gUnknown_08624DF0:: @ 8624DF0
+ .incbin "baserom.gba", 0x624df0, 0x2C
+
+gUnknown_08624E1C:: @ 8624E1C
+ .incbin "baserom.gba", 0x624e1c, 0x50
+
+gUnknown_08624E6C:: @ 8624E6C
+ .incbin "baserom.gba", 0x624e6c, 0x90
+
+gUnknown_08624EFC:: @ 8624EFC
+ .incbin "baserom.gba", 0x624efc, 0x90
+
+gUnknown_08624F8C:: @ 8624F8C
+ .incbin "baserom.gba", 0x624f8c, 0x60
+
+gUnknown_08624FEC:: @ 8624FEC
+ .incbin "baserom.gba", 0x624fec, 0x54
+
+gUnknown_08625040:: @ 8625040
+ .incbin "baserom.gba", 0x625040, 0x38
+
+gUnknown_08625078:: @ 8625078
+ .incbin "baserom.gba", 0x625078, 0x3C
+
+gUnknown_086250B4:: @ 86250B4
+ .incbin "baserom.gba", 0x6250b4, 0x3C
+
+gUnknown_086250F0:: @ 86250F0
+ .incbin "baserom.gba", 0x6250f0, 0x3C
+
+gUnknown_0862512C:: @ 862512C
+ .incbin "baserom.gba", 0x62512c, 0x3C
+
+gUnknown_08625168:: @ 8625168
+ .incbin "baserom.gba", 0x625168, 0x3C
+
+gUnknown_086251A4:: @ 86251A4
+ .incbin "baserom.gba", 0x6251a4, 0x3C
+
+gUnknown_086251E0:: @ 86251E0
+ .incbin "baserom.gba", 0x6251e0, 0x24
+
+gUnknown_08625204:: @ 8625204
+ .incbin "baserom.gba", 0x625204, 0x24
+
+gUnknown_08625228:: @ 8625228
+ .incbin "baserom.gba", 0x625228, 0x24
+
+gUnknown_0862524C:: @ 862524C
+ .incbin "baserom.gba", 0x62524c, 0x24
+
+gUnknown_08625270:: @ 8625270
+ .incbin "baserom.gba", 0x625270, 0x24
+
+gUnknown_08625294:: @ 8625294
+ .incbin "baserom.gba", 0x625294, 0x14
gUnknown_086252A8:: @ 86252A8
- .incbin "baserom.gba", 0x6252a8, 0x54
+ .4byte gUnknown_08624D7C
+ .4byte gUnknown_08624DF0
+ .4byte gUnknown_08624F8C
+ .4byte gUnknown_08624EFC
+ .4byte gUnknown_08624FEC
+ .4byte gUnknown_08624DDC
+ .4byte gUnknown_08624E1C
+ .4byte gUnknown_08624E6C
+ .4byte gUnknown_08625040
+ .4byte gUnknown_08625078
+ .4byte gUnknown_086250B4
+ .4byte gUnknown_086250F0
+ .4byte gUnknown_0862512C
+ .4byte gUnknown_08625168
+ .4byte gUnknown_086251A4
+ .4byte gUnknown_086251E0
+ .4byte gUnknown_08625204
+ .4byte gUnknown_08625228
+ .4byte gUnknown_0862524C
+ .4byte gUnknown_08625270
+ .4byte gUnknown_08625294
gUnknown_086252FC:: @ 86252FC
- .incbin "baserom.gba", 0x6252fc, 0x14
+ .4byte sub_81D1628
+ .4byte sub_81D164C
+ .4byte sub_81D1670
+ .4byte sub_81D1694
+ .4byte sub_81D16CC
gUnknown_08625310:: @ 8625310
- .incbin "baserom.gba", 0x625310, 0x14
+ .4byte sub_81D1714
+ .4byte sub_81D1718
+ .4byte sub_81D171C
+ .4byte sub_81D1750
+ .4byte sub_81D1754
gUnknown_08625324:: @ 8625324
- .incbin "baserom.gba", 0x625324, 0x14
+ .4byte sub_81D178C
+ .4byte sub_81D1790
+ .4byte sub_81D17C0
+ .4byte sub_81D17E0
+ .4byte sub_81D17E4
gUnknown_08625338:: @ 8625338
.incbin "baserom.gba", 0x625338, 0x14
@@ -475,7 +883,12 @@ gUnknown_08625B2C:: @ 8625B2C
.incbin "baserom.gba", 0x625b2c, 0x28
gUnknown_08625B54:: @ 8625B54
- .incbin "baserom.gba", 0x625b54, 0x18
+ .4byte gUnknown_085EEA46
+ .4byte gUnknown_085EEA4E
+ .4byte gUnknown_085EEA55
+ .4byte gUnknown_085EEA63
+ .4byte gUnknown_085EEA6B
+ .4byte gUnknown_085EEA5D
gUnknown_08625B6C:: @ 8625B6C
.incbin "baserom.gba", 0x625b6c, 0x520
@@ -502,10 +915,30 @@ gUnknown_0862A5F8:: @ 862A5F8
.incbin "baserom.gba", 0x62a5f8, 0x20
gUnknown_0862A618:: @ 862A618
- .incbin "baserom.gba", 0x62a618, 0x48
+ .4byte sub_81D581C
+ .4byte sub_81D58D8
+ .4byte sub_81D5924
+ .4byte sub_81D59D0
+ .4byte sub_81D5A70
+ .4byte sub_81D5AB4
+ .4byte sub_81D5AD0
+ .4byte sub_81D5B2C
+ .4byte sub_81D5BBC
+ .4byte sub_81D5C00
+ .4byte sub_81D5C5C
+ .4byte sub_81D62B4
+ .4byte sub_81D64AC
+ .4byte sub_81D64DC
+ .4byte sub_81D64FC
+ .4byte sub_81D6518
+ .4byte sub_81D6568
+ .4byte sub_81D65A0
gUnknown_0862A660:: @ 862A660
- .incbin "baserom.gba", 0x62a660, 0x10
+ .4byte gUnknown_085EB32D
+ .4byte gUnknown_085EB33E
+ .4byte gUnknown_085EB350
+ .4byte gUnknown_085EB361
gUnknown_0862A670:: @ 862A670
.incbin "baserom.gba", 0x62a670, 0x18
diff --git a/data/rayquaza_scene.s b/data/rayquaza_scene.s
deleted file mode 100644
index 51a285285..000000000
--- a/data/rayquaza_scene.s
+++ /dev/null
@@ -1,160 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
-gUnknown_0862A6A0:: @ 862A6A0
- .incbin "baserom.gba", 0x62a6a0, 0x8c
-
-gUnknown_0862A72C:: @ 862A72C
- .incbin "baserom.gba", 0x62a72c, 0x24
-
-gUnknown_0862A750:: @ 862A750
- .incbin "baserom.gba", 0x62a750, 0x24
-
-gUnknown_0862A774:: @ 862A774
- .incbin "baserom.gba", 0x62a774, 0xa8
-
-gUnknown_0862A81C:: @ 862A81C
- .incbin "baserom.gba", 0x62a81c, 0x30
-
-gUnknown_0862A84C:: @ 862A84C
- .incbin "baserom.gba", 0x62a84c, 0x18
-
-gUnknown_0862A864:: @ 862A864
- .incbin "baserom.gba", 0x62a864, 0x18
-
-gUnknown_0862A87C:: @ 862A87C
- .incbin "baserom.gba", 0x62a87c, 0xc
-
-gUnknown_0862A888:: @ 862A888
- .incbin "baserom.gba", 0x62a888, 0x3c
-
-gUnknown_0862A8C4:: @ 862A8C4
- .incbin "baserom.gba", 0x62a8c4, 0x8
-
-gUnknown_0862A8CC:: @ 862A8CC
- .incbin "baserom.gba", 0x62a8cc, 0x8
-
-gUnknown_0862A8D4:: @ 862A8D4
- .incbin "baserom.gba", 0x62a8d4, 0x24
-
-gUnknown_0862A8F8:: @ 862A8F8
- .incbin "baserom.gba", 0x62a8f8, 0x8
-
-gUnknown_0862A900:: @ 862A900
- .incbin "baserom.gba", 0x62a900, 0x24
-
-gUnknown_0862A924:: @ 862A924
- .incbin "baserom.gba", 0x62a924, 0x8
-
-gUnknown_0862A92C:: @ 862A92C
- .incbin "baserom.gba", 0x62a92c, 0xa8
-
-gUnknown_0862A9D4:: @ 862A9D4
- .incbin "baserom.gba", 0x62a9d4, 0x8
-
-gUnknown_0862A9DC:: @ 862A9DC
- .incbin "baserom.gba", 0x62a9dc, 0x8
-
-gUnknown_0862A9E4:: @ 862A9E4
- .incbin "baserom.gba", 0x62a9e4, 0x30
-
-gUnknown_0862AA14:: @ 862AA14
- .incbin "baserom.gba", 0x62aa14, 0x8
-
-gUnknown_0862AA1C:: @ 862AA1C
- .incbin "baserom.gba", 0x62aa1c, 0x18
-
-gUnknown_0862AA34:: @ 862AA34
- .incbin "baserom.gba", 0x62aa34, 0x8
-
-gUnknown_0862AA3C:: @ 862AA3C
- .incbin "baserom.gba", 0x62aa3c, 0x18
-
-gUnknown_0862AA54:: @ 862AA54
- .incbin "baserom.gba", 0x62aa54, 0x3c
-
-gUnknown_0862AA90:: @ 862AA90
- .incbin "baserom.gba", 0x62aa90, 0x8
-
-gUnknown_0862AA98:: @ 862AA98
- .incbin "baserom.gba", 0x62aa98, 0x8
-
-gUnknown_0862AAA0:: @ 862AAA0
- .incbin "baserom.gba", 0x62aaa0, 0x18
-
-gUnknown_0862AAB8:: @ 862AAB8
- .incbin "baserom.gba", 0x62aab8, 0x14
-
-gUnknown_0862AACC:: @ 862AACC
- .incbin "baserom.gba", 0x62aacc, 0x30
-
-gUnknown_0862AAFC:: @ 862AAFC
- .incbin "baserom.gba", 0x62aafc, 0x8
-
-gUnknown_0862AB04:: @ 862AB04
- .incbin "baserom.gba", 0x62ab04, 0x8
-
-gUnknown_0862AB0C:: @ 862AB0C
- .incbin "baserom.gba", 0x62ab0c, 0x8
-
-gUnknown_0862AB14:: @ 862AB14
- .incbin "baserom.gba", 0x62ab14, 0x18
-
-gUnknown_0862AB2C:: @ 862AB2C
- .incbin "baserom.gba", 0x62ab2c, 0x18
-
-gUnknown_0862AB44:: @ 862AB44
- .incbin "baserom.gba", 0x62ab44, 0xe4
-
-gUnknown_0862AC28:: @ 862AC28
- .incbin "baserom.gba", 0x62ac28, 0x8
-
-gUnknown_0862AC30:: @ 862AC30
- .incbin "baserom.gba", 0x62ac30, 0x8
-
-gUnknown_0862AC38:: @ 862AC38
- .incbin "baserom.gba", 0x62ac38, 0x8
-
-gUnknown_0862AC40:: @ 862AC40
- .incbin "baserom.gba", 0x62ac40, 0x8
-
-gUnknown_0862AC48:: @ 862AC48
- .incbin "baserom.gba", 0x62ac48, 0x8
-
-gUnknown_0862AC50:: @ 862AC50
- .incbin "baserom.gba", 0x62ac50, 0x8
-
-gUnknown_0862AC58:: @ 862AC58
- .incbin "baserom.gba", 0x62ac58, 0x8
-
-gUnknown_0862AC60:: @ 862AC60
- .incbin "baserom.gba", 0x62ac60, 0x8
-
-gUnknown_0862AC68:: @ 862AC68
- .incbin "baserom.gba", 0x62ac68, 0x8
-
-gUnknown_0862AC70:: @ 862AC70
- .incbin "baserom.gba", 0x62ac70, 0x8
-
-gUnknown_0862AC78:: @ 862AC78
- .incbin "baserom.gba", 0x62ac78, 0x18
-
-gUnknown_0862AC90:: @ 862AC90
- .incbin "baserom.gba", 0x62ac90, 0x18
-
-gUnknown_0862ACA8:: @ 862ACA8
- .incbin "baserom.gba", 0x62aca8, 0x18
-
-gUnknown_0862ACC0:: @ 862ACC0
- .incbin "baserom.gba", 0x62acc0, 0x18
-
-gUnknown_0862ACD8:: @ 862ACD8
- .incbin "baserom.gba", 0x62acd8, 0x18
-
-gUnknown_0862ACF0:: @ 862ACF0
- .incbin "baserom.gba", 0x62acf0, 0x18
-
-gUnknown_0862AD08:: @ 862AD08
- .incbin "baserom.gba", 0x62ad08, 0xc
diff --git a/data/script_pokemon_util_80F87D8.s b/data/script_pokemon_util_80F87D8.s
index beda525c8..360a6f50a 100644
--- a/data/script_pokemon_util_80F87D8.s
+++ b/data/script_pokemon_util_80F87D8.s
@@ -4,4 +4,4 @@
.section .rodata
.align 2, 0
gUnknown_0858D8EC:: @ 858D8EC
- .incbin "baserom.gba", 0x58d8ec, 0x4
+ .byte 3, 4, 5, 14
diff --git a/data/start_menu.s b/data/start_menu.s
deleted file mode 100644
index 07e428d0d..000000000
--- a/data/start_menu.s
+++ /dev/null
@@ -1,29 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2, 0
-
-gSafariBallsWindowTemplate:: @ 8510508
- .incbin "baserom.gba", 0x510508, 0x8
-
-gUnknown_08510510:: @ 8510510
- .incbin "baserom.gba", 0x510510, 0x20
-
-gPyramidFloorWindowTemplate_2:: @ 8510530
- .incbin "baserom.gba", 0x510530, 0x8
-
-gPyramidFloorWindowTemplate_1:: @ 8510538
- .incbin "baserom.gba", 0x510538, 0x8
-
-sStartMenuItems:: @ 8510540
- .incbin "baserom.gba", 0x510540, 0x68
-
-gUnknown_085105A8:: @ 85105A8
- .incbin "baserom.gba", 0x5105a8, 0x4
-
-gUnknown_085105AC:: @ 85105AC
- .incbin "baserom.gba", 0x5105ac, 0x10
-
-gUnknown_085105BC:: @ 85105BC
- .incbin "baserom.gba", 0x5105bc, 0x8
diff --git a/data/starter_choose.s b/data/starter_choose.s
index a951a8987..d20b4f99a 100644
--- a/data/starter_choose.s
+++ b/data/starter_choose.s
@@ -1,7 +1,6 @@
-@ the fourth big chunk of data
-
.include "asm/macros.inc"
.include "constants/constants.inc"
+ .include "include/constants/species.h"
.section .rodata
@@ -33,8 +32,11 @@ gStarterChoose_LabelCoords:: @ 85B1DF2
.incbin "baserom.gba", 0x5b1df2, 0x6
sStarterMon:: @ 85B1DF8
- .incbin "baserom.gba", 0x5b1df8, 0x8
+ .2byte SPECIES_TREECKO
+ .2byte SPECIES_TORCHIC
+ .2byte SPECIES_MUDKIP
+.align 2
gUnknown_085B1E00:: @ 85B1E00
.incbin "baserom.gba", 0x5b1e00, 0xc
diff --git a/data/strings.s b/data/strings.s
index e217a81e0..1d6444cd8 100644
--- a/data/strings.s
+++ b/data/strings.s
@@ -2705,34 +2705,34 @@ gUnknown_085EBB4F:: @ 85EBB4F
gUnknown_085EBB56:: @ 85EBB56
.string "What would you like to do?$"
-gUnknown_085EBB71:: @ 85EBB71
+gText_WithdrawPokemon:: @ 85EBB71
.string "WITHDRAW POKéMON$"
-gUnknown_085EBB82:: @ 85EBB82
+gText_DepositPokemon:: @ 85EBB82
.string "DEPOSIT POKéMON$"
-gUnknown_085EBB92:: @ 85EBB92
+gText_MovePokemon:: @ 85EBB92
.string "MOVE POKéMON$"
-gUnknown_085EBB9F:: @ 85EBB9F
+gText_MoveItems:: @ 85EBB9F
.string "MOVE ITEMS$"
-gUnknown_085EBBAA:: @ 85EBBAA
+gText_SeeYa:: @ 85EBBAA
.string "SEE YA!$"
-gUnknown_085EBBB2:: @ 85EBBB2
+gText_WithdrawMonDescription:: @ 85EBBB2
.string "Move POKéMON stored in BOXES to\nyour party.$"
-gUnknown_085EBBDE:: @ 85EBBDE
+gText_DepositMonDescription:: @ 85EBBDE
.string "Store POKéMON in your party in BOXES.$"
-gUnknown_085EBC04:: @ 85EBC04
+gText_MoveMonDescription:: @ 85EBC04
.string "Organize the POKéMON in BOXES and\nin your party.$"
-gUnknown_085EBC35:: @ 85EBC35
+gText_MoveItemsDescription:: @ 85EBC35
.string "Move items held by any POKéMON\nin a BOX or your party.$"
-gUnknown_085EBC6C:: @ 85EBC6C
+gText_SeeYaDescription:: @ 85EBC6C
.string "Return to the previous menu.$"
gText_JustOnePkmn:: @ 85EBC89
@@ -3521,10 +3521,10 @@ gText_Var1sTrainerCard:: @ 85ECFA6
gText_HallOfFameDebut:: @ 85ECFB8
.string "HALL OF FAME DEBUT $"
-gUnknown_085ECFCD:: @ 85ECFCD
+gText_LinkBattles:: @ 85ECFCD
.string "LINK BATTLES$"
-gUnknown_085ECFDA:: @ 85ECFDA
+gText_LinkCableBattles:: @ 85ECFDA
.string "LINK CABLE BATTLES$"
gText_WinsLosses:: @ 85ECFED
@@ -4488,34 +4488,34 @@ gUnknown_085EE6AD:: @ 85EE6AD
gUnknown_085EE6B6:: @ 85EE6B6
.string "Updated time$"
-gUnknown_085EE6C3:: @ 85EE6C3
+gText_MenuPokedex:: @ 85EE6C3
.string "POKéDEX$"
-gUnknown_085EE6CB:: @ 85EE6CB
+gText_MenuPokemon:: @ 85EE6CB
.string "POKéMON$"
-gUnknown_085EE6D3:: @ 85EE6D3
+gText_MenuBag:: @ 85EE6D3
.string "BAG$"
-gUnknown_085EE6D7:: @ 85EE6D7
+gText_MenuPokenav:: @ 85EE6D7
.string "POKéNAV$"
-gUnknown_085EE6DF:: @ 85EE6DF
+gText_MenuPlayer:: @ 85EE6DF
.string "{PLAYER}$"
-gUnknown_085EE6E2:: @ 85EE6E2
+gText_MenuSave:: @ 85EE6E2
.string "SAVE$"
-gUnknown_085EE6E7:: @ 85EE6E7
+gText_MenuOption:: @ 85EE6E7
.string "OPTION$"
-gUnknown_085EE6EE:: @ 85EE6EE
+gText_MenuExit:: @ 85EE6EE
.string "EXIT$"
-gUnknown_085EE6F3:: @ 85EE6F3
+gText_MenuRetire:: @ 85EE6F3
.string "RETIRE$"
-gUnknown_085EE6FA:: @ 85EE6FA
+gText_MenuRest:: @ 85EE6FA
.string "REST$"
gText_SafariBallStock:: @ 85EE6FF
@@ -4524,28 +4524,28 @@ gText_SafariBallStock:: @ 85EE6FF
gText_BattlePyramidFloor:: @ 85EE716
.string "Battle Pyramid\n{STR_VAR_1}$"
-gUnknown_085EE728:: @ 85EE728
+gText_Floor1:: @ 85EE728
.string "Floor 1$"
-gUnknown_085EE730:: @ 85EE730
+gText_Floor2:: @ 85EE730
.string "Floor 2$"
-gUnknown_085EE738:: @ 85EE738
+gText_Floor3:: @ 85EE738
.string "Floor 3$"
-gUnknown_085EE740:: @ 85EE740
+gText_Floor4:: @ 85EE740
.string "Floor 4$"
-gUnknown_085EE748:: @ 85EE748
+gText_Floor5:: @ 85EE748
.string "Floor 5$"
-gUnknown_085EE750:: @ 85EE750
+gText_Floor6:: @ 85EE750
.string "Floor 6$"
-gUnknown_085EE758:: @ 85EE758
+gText_Floor7:: @ 85EE758
.string "Floor 7$"
-gUnknown_085EE760:: @ 85EE760
+gText_Peak:: @ 85EE760
.string "Peak$"
gText_LinkStandby2:: @ 85EE765
diff --git a/data/text_window.s b/data/text_window.s
index a7389572b..26c231f90 100644
--- a/data/text_window.s
+++ b/data/text_window.s
@@ -5,13 +5,166 @@
.align 2, 0
gUnknown_0850E87C:: @ 850E87C
- .incbin "baserom.gba", 0x50e87c, 0x1680
+ .incbin "baserom.gba", 0x50e87c, 0x120
+
+gUnknown_0850E99C:: @ 850E99C
+ .incbin "baserom.gba", 0x50e99c, 0x120
+
+gUnknown_0850EABC:: @ 850EABC
+ .incbin "baserom.gba", 0x50eabc, 0x120
+
+gUnknown_0850EBDC:: @ 850EBDC
+ .incbin "baserom.gba", 0x50ebdc, 0x120
+
+gUnknown_0850ECFC:: @ 850ECFC
+ .incbin "baserom.gba", 0x50ecfc, 0x120
+
+gUnknown_0850EE1C:: @ 850EE1C
+ .incbin "baserom.gba", 0x50ee1c, 0x120
+
+gUnknown_0850EF3C:: @ 850EF3C
+ .incbin "baserom.gba", 0x50ef3c, 0x120
+
+gUnknown_0850F05C:: @ 850F05C
+ .incbin "baserom.gba", 0x50f05c, 0x120
+
+gUnknown_0850F17C:: @ 850F17C
+ .incbin "baserom.gba", 0x50f17c, 0x120
+
+gUnknown_0850F29C:: @ 850F29C
+ .incbin "baserom.gba", 0x50f29c, 0x120
+
+gUnknown_0850F3BC:: @ 850F3BC
+ .incbin "baserom.gba", 0x50f3bc, 0x120
+
+gUnknown_0850F4DC:: @ 850F4DC
+ .incbin "baserom.gba", 0x50f4dc, 0x120
+
+gUnknown_0850F5FC:: @ 850F5FC
+ .incbin "baserom.gba", 0x50f5fc, 0x120
+
+gUnknown_0850F71C:: @ 850F71C
+ .incbin "baserom.gba", 0x50f71c, 0x120
+
+gUnknown_0850F83C:: @ 850F83C
+ .incbin "baserom.gba", 0x50f83c, 0x120
+
+gUnknown_0850F95C:: @ 850F95C
+ .incbin "baserom.gba", 0x50f95c, 0x120
+
+gUnknown_0850FA7C:: @ 850FA7C
+ .incbin "baserom.gba", 0x50fa7c, 0x120
+
+gUnknown_0850FB9C:: @ 850FB9C
+ .incbin "baserom.gba", 0x50fb9c, 0x120
+
+gUnknown_0850FCBC:: @ 850FCBC
+ .incbin "baserom.gba", 0x50fcbc, 0x120
+
+gUnknown_0850FDDC:: @ 850FDDC
+ .incbin "baserom.gba", 0x50fddc, 0x120
gUnknown_0850FEFC:: @ 850FEFC
- .incbin "baserom.gba", 0x50fefc, 0x280
+ .incbin "baserom.gba", 0x50fefc, 0x20
+
+gUnknown_0850FF1C:: @ 850FF1C
+ .incbin "baserom.gba", 0x50ff1c, 0x20
+
+gUnknown_0850FF3C:: @ 850FF3C
+ .incbin "baserom.gba", 0x50ff3c, 0x20
+
+gUnknown_0850FF5C:: @ 850FF5C
+ .incbin "baserom.gba", 0x50ff5c, 0x20
+
+gUnknown_0850FF7C:: @ 850FF7C
+ .incbin "baserom.gba", 0x50ff7c, 0x20
+
+gUnknown_0850FF9C:: @ 850FF9C
+ .incbin "baserom.gba", 0x50ff9c, 0x20
+
+gUnknown_0850FFBC:: @ 850FFBC
+ .incbin "baserom.gba", 0x50ffbc, 0x20
+
+gUnknown_0850FFDC:: @ 850FFDC
+ .incbin "baserom.gba", 0x50ffdc, 0x20
+
+gUnknown_0850FFFC:: @ 850FFFC
+ .incbin "baserom.gba", 0x50fffc, 0x20
+
+gUnknown_0851001C:: @ 851001C
+ .incbin "baserom.gba", 0x51001c, 0x20
+
+gUnknown_0851003C:: @ 851003C
+ .incbin "baserom.gba", 0x51003c, 0x20
+
+gUnknown_0851005C:: @ 851005C
+ .incbin "baserom.gba", 0x51005c, 0x20
+
+gUnknown_0851007C:: @ 851007C
+ .incbin "baserom.gba", 0x51007c, 0x20
+
+gUnknown_0851009C:: @ 851009C
+ .incbin "baserom.gba", 0x51009c, 0x20
+
+gUnknown_085100BC:: @ 85100BC
+ .incbin "baserom.gba", 0x5100bc, 0x20
+
+gUnknown_085100DC:: @ 85100DC
+ .incbin "baserom.gba", 0x5100dc, 0x20
+
+gUnknown_085100FC:: @ 85100FC
+ .incbin "baserom.gba", 0x5100fc, 0x20
+
+gUnknown_0851011C:: @ 851011C
+ .incbin "baserom.gba", 0x51011c, 0x20
+
+gUnknown_0851013C:: @ 851013C
+ .incbin "baserom.gba", 0x51013c, 0x20
+
+gUnknown_0851015C:: @ 851015C
+ .incbin "baserom.gba", 0x51015c, 0x20
gUnknown_0851017C:: @ 851017C
- .incbin "baserom.gba", 0x51017c, 0xa0
+ .incbin "baserom.gba", 0x51017c, 0xA0
gUnknown_0851021C:: @ 851021C
- .incbin "baserom.gba", 0x51021c, 0xa0
+ .4byte gUnknown_0850E87C
+ .4byte gUnknown_0850FEFC
+ .4byte gUnknown_0850E99C
+ .4byte gUnknown_0850FF1C
+ .4byte gUnknown_0850EABC
+ .4byte gUnknown_0850FF3C
+ .4byte gUnknown_0850EBDC
+ .4byte gUnknown_0850FF5C
+ .4byte gUnknown_0850ECFC
+ .4byte gUnknown_0850FF7C
+ .4byte gUnknown_0850EE1C
+ .4byte gUnknown_0850FF9C
+ .4byte gUnknown_0850EF3C
+ .4byte gUnknown_0850FFBC
+ .4byte gUnknown_0850F05C
+ .4byte gUnknown_0850FFDC
+ .4byte gUnknown_0850F17C
+ .4byte gUnknown_0850FFFC
+ .4byte gUnknown_0850F29C
+ .4byte gUnknown_0851001C
+ .4byte gUnknown_0850F3BC
+ .4byte gUnknown_0851003C
+ .4byte gUnknown_0850F4DC
+ .4byte gUnknown_0851005C
+ .4byte gUnknown_0850F5FC
+ .4byte gUnknown_0851007C
+ .4byte gUnknown_0850F71C
+ .4byte gUnknown_0851009C
+ .4byte gUnknown_0850F83C
+ .4byte gUnknown_085100BC
+ .4byte gUnknown_0850F95C
+ .4byte gUnknown_085100DC
+ .4byte gUnknown_0850FA7C
+ .4byte gUnknown_085100FC
+ .4byte gUnknown_0850FB9C
+ .4byte gUnknown_0851011C
+ .4byte gUnknown_0850FCBC
+ .4byte gUnknown_0851013C
+ .4byte gUnknown_0850FDDC
+ .4byte gUnknown_0851015C
diff --git a/data/trainer_card.s b/data/trainer_card.s
index 0d48cd0b6..d97e3f254 100644
--- a/data/trainer_card.s
+++ b/data/trainer_card.s
@@ -5,7 +5,31 @@
.align 2, 0
gUnknown_0856F018:: @ 856F018
- .incbin "baserom.gba", 0x56f018, 0x494
+ .incbin "baserom.gba", 0x56f018, 0x194
+
+gUnknown_0856F1AC:: @ 856F1AC
+ .incbin "baserom.gba", 0x56f1ac, 0x60
+
+gUnknown_0856F20C:: @ 856F20C
+ .incbin "baserom.gba", 0x56f20c, 0x60
+
+gUnknown_0856F26C:: @ 856F26C
+ .incbin "baserom.gba", 0x56f26c, 0x60
+
+gUnknown_0856F2CC:: @ 856F2CC
+ .incbin "baserom.gba", 0x56f2cc, 0x60
+
+gUnknown_0856F32C:: @ 856F32C
+ .incbin "baserom.gba", 0x56f32c, 0x60
+
+gUnknown_0856F38C:: @ 856F38C
+ .incbin "baserom.gba", 0x56f38c, 0x60
+
+gUnknown_0856F3EC:: @ 856F3EC
+ .incbin "baserom.gba", 0x56f3ec, 0x60
+
+gUnknown_0856F44C:: @ 856F44C
+ .incbin "baserom.gba", 0x56f44c, 0x60
gUnknown_0856F4AC:: @ 856F4AC
.incbin "baserom.gba", 0x56f4ac, 0x20
@@ -47,16 +71,27 @@ gUnknown_0856FAC4:: @ 856FAC4
.incbin "baserom.gba", 0x56fac4, 0x20
gUnknown_0856FAE4:: @ 856FAE4
- .incbin "baserom.gba", 0x56fae4, 0x14
+ .4byte gUnknown_08DD1A58
+ .4byte gUnknown_0856F1AC
+ .4byte gUnknown_0856F26C
+ .4byte gUnknown_0856F32C
+ .4byte gUnknown_0856F3EC
gUnknown_0856FAF8:: @ 856FAF8
- .incbin "baserom.gba", 0x56faf8, 0x14
+ .4byte gUnknown_08DD240C
+ .4byte gUnknown_0856F20C
+ .4byte gUnknown_0856F2CC
+ .4byte gUnknown_0856F38C
+ .4byte gUnknown_0856F44C
gUnknown_0856FB0C:: @ 856FB0C
.incbin "baserom.gba", 0x56fb0c, 0x3
gUnknown_0856FB0F:: @ 856FB0F
- .incbin "baserom.gba", 0x56fb0f, 0x9
+ .incbin "baserom.gba", 0x56fb0f, 0x3
+
+gUnknown_0856FB12:: @ 856FB12
+ .incbin "baserom.gba", 0x56fb12, 0x6
gUnknown_0856FB18:: @ 856FB18
.incbin "baserom.gba", 0x56fb18, 0x8
@@ -65,10 +100,16 @@ gUnknown_0856FB20:: @ 856FB20
.incbin "baserom.gba", 0x56fb20, 0x8
gUnknown_0856FB28:: @ 856FB28
- .incbin "baserom.gba", 0x56fb28, 0x18
+ .4byte sub_80C4998
+ .4byte sub_80C49D8
+ .4byte sub_80C4B08
+ .4byte sub_80C4C1C
+ .4byte sub_80C4C84
+ .4byte sub_80C4DB0
gUnknown_0856FB40:: @ 856FB40
- .incbin "baserom.gba", 0x56fb40, 0x8
+ .4byte gUnknown_0856FB0C
+ .4byte gUnknown_0856FB12
gUnknown_0856FB48:: @ 856FB48
.incbin "baserom.gba", 0x56fb48, 0x2
@@ -86,7 +127,9 @@ gUnknown_0856FB57:: @ 856FB57
.incbin "baserom.gba", 0x56fb57, 0x5
gUnknown_0856FB5C:: @ 856FB5C
- .incbin "baserom.gba", 0x56fb5c, 0xc
+ .4byte gText_LinkBattles
+ .4byte gText_LinkCableBattles
+ .4byte gText_LinkBattles
gUnknown_0856FB68:: @ 856FB68
.incbin "baserom.gba", 0x56fb68, 0x6
@@ -161,7 +204,21 @@ gUnknown_085715FC:: @ 85715FC
.incbin "baserom.gba", 0x5715fc, 0x18
gUnknown_08571614:: @ 8571614
- .incbin "baserom.gba", 0x571614, 0x3c
+ .4byte gUnknown_085EDA96
+ .4byte gUnknown_085ED932
+ .4byte gUnknown_085ED94D
+ .4byte gUnknown_085ED961
+ .4byte gUnknown_085ED977
+ .4byte gUnknown_085ED993
+ .4byte gUnknown_085ED9AF
+ .4byte gUnknown_085ED9C7
+ .4byte gUnknown_085ED9E5
+ .4byte gUnknown_085EDA02
+ .4byte gUnknown_085EDA21
+ .4byte gUnknown_085EDA3C
+ .4byte gUnknown_085EDA5E
+ .4byte gUnknown_085EDA78
+ .4byte gUnknown_085ED931
gUnknown_08571650:: @ 8571650
.incbin "baserom.gba", 0x571650, 0x70
diff --git a/data/unk_sprite_file.s b/data/unk_sprite_file.s
index 837e87c3f..d4e53df1e 100644
--- a/data/unk_sprite_file.s
+++ b/data/unk_sprite_file.s
@@ -7,16 +7,36 @@ gUnknown_0862AD54:: @ 862AD54
.incbin "baserom.gba", 0x62ad54, 0x1dc
gUnknown_0862AF30:: @ 862AF30
- .incbin "baserom.gba", 0x62af30, 0x60c
+ .incbin "baserom.gba", 0x62af30, 0x1AC
+
+gUnknown_0862B0DC:: @ 862B0DC
+ .incbin "baserom.gba", 0x62b0dc, 0x460
gUnknown_0862B53C:: @ 862B53C
- .incbin "baserom.gba", 0x62b53c, 0x1e8
+ .incbin "baserom.gba", 0x62b53c, 0x1E0
+
+gUnknown_0862B71C:: @ 862B71C
+ .incbin "baserom.gba", 0x62b71c, 0x8
gUnknown_0862B724:: @ 862B724
- .incbin "baserom.gba", 0x62b724, 0x8
+ obj_tiles gUnknown_0862B0DC, 0x1800, 11920
gUnknown_0862B72C:: @ 862B72C
- .incbin "baserom.gba", 0x62b72c, 0x2c
+ obj_pal gUnknown_0862B53C, 11920
+
+gUnknown_0862B734:: @ 862B734
+ .incbin "baserom.gba", 0x62b734, 0x8
+
+gUnknown_0862B73C:: @ 862B73C
+ .incbin "baserom.gba", 0x62b73c, 0x8
+
+gUnknown_0862B744:: @ 862B744
+ .incbin "baserom.gba", 0x62b744, 0x8
+
+gUnknown_0862B74C:: @ 862B74C
+ .4byte gUnknown_0862B734
+ .4byte gUnknown_0862B73C
+ .4byte gUnknown_0862B744
gUnknown_0862B758:: @ 862B758
- .incbin "baserom.gba", 0x62b758, 0x18
+ spr_template 11920, 11920, gUnknown_0862B71C, gUnknown_0862B74C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
diff --git a/data/use_pokeblock.s b/data/use_pokeblock.s
index a45ea27e1..ed9a6c29a 100644
--- a/data/use_pokeblock.s
+++ b/data/use_pokeblock.s
@@ -47,10 +47,10 @@ sContestStatNames:: @ 85DFD04
.4byte gText_Beauty3
gUnknown_085DFD18:: @ 85DFD18
- .incbin "baserom.gba", 0x5dfd18, 0x8
+ obj_tiles gUnknown_08DCCD5C, 0x200, 0
gUnknown_085DFD20:: @ 85DFD20
- .incbin "baserom.gba", 0x5dfd20, 0x8
+ obj_pal gUnknown_08DCCD3C, 0
gUnknown_085DFD28:: @ 85DFD28
.incbin "baserom.gba", 0x5dfd28, 0x34
@@ -62,4 +62,5 @@ gUnknown_085DFDA0:: @ 85DFDA0
.incbin "baserom.gba", 0x5dfda0, 0x18
gUnknown_085DFDB8:: @ 85DFDB8
- .incbin "baserom.gba", 0x5dfdb8, 0x8
+ .4byte gUnknown_08DCCB98
+ .4byte 1
diff --git a/include/data/pokedex_orders.h b/include/data/pokedex_orders.h
new file mode 100644
index 000000000..61fbd289c
--- /dev/null
+++ b/include/data/pokedex_orders.h
@@ -0,0 +1,1199 @@
+#ifndef GUARD_DATA_POKEDEX_ORDERS
+#define GUARD_DATA_POKEDEX_ORDERS
+
+const u16 gPokedexOrder_Alphabetical[] =
+{
+ 387,
+ 388,
+ 389,
+ 390,
+ 391,
+ 392,
+ 393,
+ 394,
+ 395,
+ 396,
+ 397,
+ 398,
+ 399,
+ 400,
+ 401,
+ 402,
+ 403,
+ 404,
+ 405,
+ 406,
+ 407,
+ 408,
+ 409,
+ 410,
+ 411,
+ 63, // Abra
+ 359, // Absol
+ 142, // Aerodactyl
+ 306, // Aggron
+ 190, // Aipom
+ 65, // Alakazam
+ 334, // Altaria
+ 181, // Ampharos
+ 347, // Anorith
+ 24, // Arbok
+ 59, // Arcanine
+ 168, // Ariados
+ 348, // Armaldo
+ 304, // Aron
+ 144, // Articuno
+ 184, // Azumarill
+ 298, // Azurill
+ 371, // Bagon
+ 343, // Baltoy
+ 354, // Banette
+ 339, // Barboach
+ 153, // Bayleef
+ 267, // Beautifly
+ 15, // Beedrill
+ 374, // Beldum
+ 182, // Bellossom
+ 69, // Bellsprout
+ 9, // Blastoise
+ 257, // Blaziken
+ 242, // Blissey
+ 286, // Breloom
+ 1, // Bulbasaur
+ 12, // Butterfree
+ 331, // Cacnea
+ 332, // Cacturne
+ 323, // Camerupt
+ 318, // Carvanha
+ 268, // Cascoon
+ 351, // Castform
+ 10, // Caterpie
+ 251, // Celebi
+ 113, // Chansey
+ 6, // Charizard
+ 4, // Charmander
+ 5, // Charmeleon
+ 152, // Chikorita
+ 358, // Chimecho
+ 170, // Chinchou
+ 366, // Clamperl
+ 344, // Claydol
+ 36, // Clefable
+ 35, // Clefairy
+ 173, // Cleffa
+ 91, // Cloyster
+ 256, // Combusken
+ 341, // Corphish
+ 222, // Corsola
+ 346, // Cradily
+ 342, // Crawdaunt
+ 169, // Crobat
+ 159, // Croconaw
+ 104, // Cubone
+ 155, // Cyndaquil
+ 301, // Delcatty
+ 225, // Delibird
+ 386, // Deoxys
+ 87, // Dewgong
+ 50, // Diglett
+ 132, // Ditto
+ 85, // Dodrio
+ 84, // Doduo
+ 232, // Donphan
+ 148, // Dragonair
+ 149, // Dragonite
+ 147, // Dratini
+ 96, // Drowzee
+ 51, // Dugtrio
+ 206, // Dunsparce
+ 356, // Dusclops
+ 355, // Duskull
+ 269, // Dustox
+ 133, // Eevee
+ 23, // Ekans
+ 125, // Electabuzz
+ 309, // Electrike
+ 101, // Electrode
+ 239, // Elekid
+ 244, // Entei
+ 196, // Espeon
+ 102, // Exeggcute
+ 103, // Exeggutor
+ 295, // Exploud
+ 83, // Farfetch'd
+ 22, // Fearow
+ 349, // Feebas
+ 160, // Feraligatr
+ 180, // Flaaffy
+ 136, // Flareon
+ 330, // Flygon
+ 205, // Forretress
+ 162, // Furret
+ 282, // Gardevoir
+ 92, // Gastly
+ 94, // Gengar
+ 74, // Geodude
+ 203, // Girafarig
+ 362, // Glalie
+ 207, // Gligar
+ 44, // Gloom
+ 42, // Golbat
+ 118, // Goldeen
+ 55, // Golduck
+ 76, // Golem
+ 368, // Gorebyss
+ 210, // Granbull
+ 75, // Graveler
+ 88, // Grimer
+ 383, // Groudon
+ 253, // Grovyle
+ 58, // Growlithe
+ 326, // Grumpig
+ 316, // Gulpin
+ 130, // Gyarados
+ 297, // Hariyama
+ 93, // Haunter
+ 214, // Heracross
+ 107, // Hitmonchan
+ 106, // Hitmonlee
+ 237, // Hitmontop
+ 250, // Ho-Oh
+ 163, // Hoothoot
+ 187, // Hoppip
+ 116, // Horsea
+ 229, // Houndoom
+ 228, // Houndour
+ 367, // Huntail
+ 97, // Hypno
+ 174, // Igglybuff
+ 314, // Illumise
+ 2, // Ivysaur
+ 39, // Jigglypuff
+ 385, // Jirachi
+ 135, // Jolteon
+ 189, // Jumpluff
+ 124, // Jynx
+ 140, // Kabuto
+ 141, // Kabutops
+ 64, // Kadabra
+ 14, // Kakuna
+ 115, // Kangaskhan
+ 352, // Kecleon
+ 230, // Kingdra
+ 99, // Kingler
+ 281, // Kirlia
+ 109, // Koffing
+ 98, // Krabby
+ 382, // Kyogre
+ 305, // Lairon
+ 171, // Lanturn
+ 131, // Lapras
+ 246, // Larvitar
+ 380, // Latias
+ 381, // Latios
+ 166, // Ledian
+ 165, // Ledyba
+ 108, // Lickitung
+ 345, // Lileep
+ 264, // Linoone
+ 271, // Lombre
+ 270, // Lotad
+ 294, // Loudred
+ 272, // Ludicolo
+ 249, // Lugia
+ 337, // Lunatone
+ 370, // Luvdisc
+ 68, // Machamp
+ 67, // Machoke
+ 66, // Machop
+ 240, // Magby
+ 219, // Magcargo
+ 129, // Magikarp
+ 126, // Magmar
+ 81, // Magnemite
+ 82, // Magneton
+ 296, // Makuhita
+ 310, // Manectric
+ 56, // Mankey
+ 226, // Mantine
+ 179, // Mareep
+ 183, // Marill
+ 105, // Marowak
+ 259, // Marshtomp
+ 284, // Masquerain
+ 303, // Mawile
+ 308, // Medicham
+ 307, // Meditite
+ 154, // Meganium
+ 52, // Meowth
+ 376, // Metagross
+ 375, // Metang
+ 11, // Metapod
+ 151, // Mew
+ 150, // Mewtwo
+ 262, // Mightyena
+ 350, // Milotic
+ 241, // Miltank
+ 312, // Minun
+ 200, // Misdreavus
+ 146, // Moltres
+ 122, // Mr. mime
+ 258, // Mudkip
+ 89, // Muk
+ 198, // Murkrow
+ 177, // Natu
+ 34, // Nidoking
+ 31, // Nidoqueen
+ 29, // Nidoran?
+ 32, // Nidoran?
+ 30, // Nidorina
+ 33, // Nidorino
+ 290, // Nincada
+ 38, // Ninetales
+ 291, // Ninjask
+ 164, // Noctowl
+ 299, // Nosepass
+ 322, // Numel
+ 274, // Nuzleaf
+ 224, // Octillery
+ 43, // Oddish
+ 138, // Omanyte
+ 139, // Omastar
+ 95, // Onix
+ 46, // Paras
+ 47, // Parasect
+ 279, // Pelipper
+ 53, // Persian
+ 231, // Phanpy
+ 172, // Pichu
+ 18, // Pidgeot
+ 17, // Pidgeotto
+ 16, // Pidgey
+ 25, // Pikachu
+ 221, // Piloswine
+ 204, // Pineco
+ 127, // Pinsir
+ 311, // Plusle
+ 186, // Politoed
+ 60, // Poliwag
+ 61, // Poliwhirl
+ 62, // Poliwrath
+ 77, // Ponyta
+ 261, // Poochyena
+ 137, // Porygon
+ 233, // Porygon2
+ 57, // Primeape
+ 54, // Psyduck
+ 247, // Pupitar
+ 195, // Quagsire
+ 156, // Quilava
+ 211, // Qwilfish
+ 26, // Raichu
+ 243, // Raikou
+ 280, // Ralts
+ 78, // Rapidash
+ 20, // Raticate
+ 19, // Rattata
+ 384, // Rayquaza
+ 378, // Regice
+ 377, // Regirock
+ 379, // Registeel
+ 369, // Relicanth
+ 223, // Remoraid
+ 112, // Rhydon
+ 111, // Rhyhorn
+ 315, // Roselia
+ 302, // Sableye
+ 373, // Salamence
+ 27, // Sandshrew
+ 28, // Sandslash
+ 254, // Sceptile
+ 212, // Scizor
+ 123, // Scyther
+ 117, // Seadra
+ 119, // Seaking
+ 364, // Sealeo
+ 273, // Seedot
+ 86, // Seel
+ 161, // Sentret
+ 336, // Seviper
+ 319, // Sharpedo
+ 292, // Shedinja
+ 372, // Shelgon
+ 90, // Shellder
+ 275, // Shiftry
+ 285, // Shroomish
+ 213, // Shuckle
+ 353, // Shuppet
+ 266, // Silcoon
+ 227, // Skarmory
+ 188, // Skiploom
+ 300, // Skitty
+ 289, // Slaking
+ 287, // Slakoth
+ 80, // Slowbro
+ 199, // Slowking
+ 79, // Slowpoke
+ 218, // Slugma
+ 235, // Smeargle
+ 238, // Smoochum
+ 215, // Sneasel
+ 143, // Snorlax
+ 361, // Snorunt
+ 209, // Snubbull
+ 338, // Solrock
+ 21, // Spearow
+ 363, // Spheal
+ 167, // Spinarak
+ 327, // Spinda
+ 325, // Spoink
+ 7, // Squirtle
+ 234, // Stantler
+ 121, // Starmie
+ 120, // Staryu
+ 208, // Steelix
+ 185, // Sudowoodo
+ 245, // Suicune
+ 192, // Sunflora
+ 191, // Sunkern
+ 283, // Surskit
+ 333, // Swablu
+ 317, // Swalot
+ 260, // Swampert
+ 277, // Swellow
+ 220, // Swinub
+ 276, // Taillow
+ 114, // Tangela
+ 128, // Tauros
+ 216, // Teddiursa
+ 72, // Tentacool
+ 73, // Tentacruel
+ 175, // Togepi
+ 176, // Togetic
+ 255, // Torchic
+ 324, // Torkoal
+ 158, // Totodile
+ 328, // Trapinch
+ 252, // Treecko
+ 357, // Tropius
+ 157, // Typhlosion
+ 248, // Tyranitar
+ 236, // Tyrogue
+ 197, // Umbreon
+ 201, // Unown
+ 217, // Ursaring
+ 134, // Vaporeon
+ 49, // Venomoth
+ 48, // Venonat
+ 3, // Venusaur
+ 329, // Vibrava
+ 71, // Victreebel
+ 288, // Vigoroth
+ 45, // Vileplume
+ 313, // Volbeat
+ 100, // Voltorb
+ 37, // Vulpix
+ 320, // Wailmer
+ 321, // Wailord
+ 365, // Walrein
+ 8, // Wartortle
+ 13, // Weedle
+ 70, // Weepinbell
+ 110, // Weezing
+ 340, // Whiscash
+ 293, // Whismur
+ 40, // Wigglytuff
+ 278, // Wingull
+ 202, // Wobbuffet
+ 194, // Wooper
+ 265, // Wurmple
+ 360, // Wynaut
+ 178, // Xatu
+ 193, // Yanma
+ 335, // Zangoose
+ 145, // Zapdos
+ 263, // Zigzagoon
+ 41, // Zubat
+};
+
+const u16 gPokedexOrder_Weight[] =
+{
+ 92, // Gastly
+ 93, // Haunter
+ 187, // Hoppip
+ 50, // Diglett
+ 351, // Castform
+ 109, // Koffing
+ 174, // Igglybuff
+ 200, // Misdreavus
+ 358, // Chimecho
+ 188, // Skiploom
+ 385, // Jirachi
+ 333, // Swablu
+ 292, // Shedinja
+ 175, // Togepi
+ 283, // Surskit
+ 16, // Pidgey
+ 191, // Sunkern
+ 339, // Barboach
+ 172, // Pichu
+ 298, // Azurill
+ 315, // Roselia
+ 177, // Natu
+ 21, // Spearow
+ 198, // Murkrow
+ 353, // Shuppet
+ 276, // Taillow
+ 102, // Exeggcute
+ 255, // Torchic
+ 270, // Lotad
+ 10, // Caterpie
+ 189, // Jumpluff
+ 173, // Cleffa
+ 13, // Weedle
+ 176, // Togetic
+ 147, // Dratini
+ 19, // Rattata
+ 284, // Masquerain
+ 265, // Wurmple
+ 211, // Qwilfish
+ 151, // Mew
+ 90, // Shellder
+ 273, // Seedot
+ 132, // Ditto
+ 69, // Bellsprout
+ 311, // Plusle
+ 52, // Meowth
+ 312, // Minun
+ 285, // Shroomish
+ 251, // Celebi
+ 222, // Corsola
+ 252, // Treecko
+ 327, // Spinda
+ 201, // Unown
+ 46, // Paras
+ 43, // Oddish
+ 39, // Jigglypuff
+ 290, // Nincada
+ 182, // Bellossom
+ 81, // Magnemite
+ 25, // Pikachu
+ 238, // Smoochum
+ 161, // Sentret
+ 70, // Weepinbell
+ 152, // Chikorita
+ 220, // Swinub
+ 133, // Eevee
+ 98, // Krabby
+ 104, // Cubone
+ 280, // Ralts
+ 1, // Bulbasaur
+ 23, // Ekans
+ 29, // Nidoran?
+ 204, // Pineco
+ 349, // Feebas
+ 138, // Omanyte
+ 41, // Zubat
+ 35, // Clefairy
+ 258, // Mudkip
+ 209, // Snubbull
+ 179, // Mareep
+ 155, // Cyndaquil
+ 116, // Horsea
+ 4, // Charmander
+ 192, // Sunflora
+ 183, // Marill
+ 194, // Wooper
+ 167, // Spinarak
+ 44, // Gloom
+ 370, // Luvdisc
+ 216, // Teddiursa
+ 32, // Nidoran?
+ 7, // Squirtle
+ 278, // Wingull
+ 158, // Totodile
+ 110, // Weezing
+ 37, // Vulpix
+ 11, // Metapod
+ 266, // Silcoon
+ 129, // Magikarp
+ 14, // Kakuna
+ 316, // Gulpin
+ 100, // Voltorb
+ 165, // Ledyba
+ 228, // Houndour
+ 300, // Skitty
+ 302, // Sableye
+ 307, // Meditite
+ 341, // Corphish
+ 190, // Aipom
+ 268, // Cascoon
+ 303, // Mawile
+ 140, // Kabuto
+ 40, // Wigglytuff
+ 27, // Sandshrew
+ 223, // Remoraid
+ 291, // Ninjask
+ 170, // Chinchou
+ 60, // Poliwag
+ 347, // Anorith
+ 49, // Venomoth
+ 354, // Banette
+ 2, // Ivysaur
+ 180, // Flaaffy
+ 261, // Poochyena
+ 360, // Wynaut
+ 206, // Dunsparce
+ 178, // Xatu
+ 355, // Duskull
+ 83, // Farfetch'd
+ 328, // Trapinch
+ 118, // Goldeen
+ 309, // Electrike
+ 329, // Vibrava
+ 71, // Victreebel
+ 153, // Bayleef
+ 225, // Delibird
+ 293, // Whismur
+ 148, // Dragonair
+ 361, // Snorunt
+ 263, // Zigzagoon
+ 314, // Illumise
+ 313, // Volbeat
+ 20, // Raticate
+ 45, // Vileplume
+ 156, // Quilava
+ 5, // Charmeleon
+ 58, // Growlithe
+ 256, // Combusken
+ 66, // Machop
+ 63, // Abra
+ 33, // Nidorino
+ 54, // Psyduck
+ 277, // Swellow
+ 38, // Ninetales
+ 30, // Nidorina
+ 61, // Poliwhirl
+ 74, // Geodude
+ 281, // Kirlia
+ 213, // Shuckle
+ 334, // Altaria
+ 318, // Carvanha
+ 236, // Tyrogue
+ 163, // Hoothoot
+ 240, // Magby
+ 343, // Baltoy
+ 253, // Grovyle
+ 352, // Kecleon
+ 171, // Lanturn
+ 8, // Wartortle
+ 368, // Gorebyss
+ 369, // Relicanth
+ 239, // Elekid
+ 340, // Whiscash
+ 345, // Lileep
+ 322, // Numel
+ 287, // Slakoth
+ 135, // Jolteon
+ 159, // Croconaw
+ 136, // Flareon
+ 117, // Seadra
+ 196, // Espeon
+ 367, // Huntail
+ 197, // Umbreon
+ 259, // Marshtomp
+ 274, // Nuzleaf
+ 215, // Sneasel
+ 56, // Mankey
+ 279, // Pelipper
+ 267, // Beautifly
+ 224, // Octillery
+ 184, // Azumarill
+ 202, // Wobbuffet
+ 134, // Vaporeon
+ 28, // Sandslash
+ 47, // Parasect
+ 15, // Beedrill
+ 89, // Muk
+ 17, // Pidgeotto
+ 88, // Grimer
+ 26, // Raichu
+ 77, // Ponyta
+ 125, // Electabuzz
+ 48, // Venonat
+ 325, // Spoink
+ 356, // Dusclops
+ 308, // Medicham
+ 269, // Dustox
+ 53, // Persian
+ 12, // Butterfree
+ 57, // Primeape
+ 96, // Drowzee
+ 162, // Furret
+ 233, // Porygon2
+ 271, // Lombre
+ 264, // Linoone
+ 301, // Delcatty
+ 342, // Crawdaunt
+ 51, // Dugtrio
+ 168, // Ariados
+ 231, // Phanpy
+ 186, // Politoed
+ 120, // Staryu
+ 113, // Chansey
+ 139, // Omastar
+ 114, // Tangela
+ 218, // Slugma
+ 229, // Houndoom
+ 166, // Ledian
+ 79, // Slowpoke
+ 137, // Porygon
+ 262, // Mightyena
+ 193, // Yanma
+ 22, // Fearow
+ 185, // Sudowoodo
+ 119, // Seaking
+ 286, // Breloom
+ 84, // Doduo
+ 18, // Pidgeot
+ 363, // Spheal
+ 36, // Clefable
+ 380, // Latias
+ 310, // Manectric
+ 335, // Zangoose
+ 141, // Kabutops
+ 94, // Gengar
+ 294, // Loudred
+ 124, // Jynx
+ 164, // Noctowl
+ 203, // Girafarig
+ 371, // Bagon
+ 126, // Magmar
+ 105, // Marowak
+ 72, // Tentacool
+ 288, // Vigoroth
+ 242, // Blissey
+ 359, // Absol
+ 65, // Alakazam
+ 237, // Hitmontop
+ 282, // Gardevoir
+ 210, // Granbull
+ 106, // Hitmonlee
+ 107, // Hitmonchan
+ 227, // Skarmory
+ 331, // Cacnea
+ 257, // Blaziken
+ 254, // Sceptile
+ 336, // Seviper
+ 366, // Clamperl
+ 145, // Zapdos
+ 214, // Heracross
+ 62, // Poliwrath
+ 122, // Mr. mime
+ 127, // Pinsir
+ 272, // Ludicolo
+ 73, // Tentacruel
+ 42, // Golbat
+ 219, // Magcargo
+ 144, // Articuno
+ 221, // Piloswine
+ 123, // Scyther
+ 64, // Kadabra
+ 235, // Smeargle
+ 142, // Aerodactyl
+ 275, // Shiftry
+ 99, // Kingler
+ 31, // Nidoqueen
+ 82, // Magneton
+ 304, // Aron
+ 381, // Latios
+ 146, // Moltres
+ 346, // Cradily
+ 386, // Deoxys
+ 181, // Ampharos
+ 34, // Nidoking
+ 207, // Gligar
+ 24, // Arbok
+ 108, // Lickitung
+ 101, // Electrode
+ 348, // Armaldo
+ 67, // Machoke
+ 234, // Stantler
+ 326, // Grumpig
+ 246, // Larvitar
+ 169, // Crobat
+ 195, // Quagsire
+ 241, // Miltank
+ 97, // Hypno
+ 55, // Golduck
+ 332, // Cacturne
+ 80, // Slowbro
+ 157, // Typhlosion
+ 199, // Slowking
+ 115, // Kangaskhan
+ 121, // Starmie
+ 317, // Swalot
+ 324, // Torkoal
+ 260, // Swampert
+ 330, // Flygon
+ 295, // Exploud
+ 85, // Dodrio
+ 9, // Blastoise
+ 296, // Makuhita
+ 364, // Sealeo
+ 128, // Tauros
+ 319, // Sharpedo
+ 160, // Feraligatr
+ 86, // Seel
+ 6, // Charizard
+ 78, // Rapidash
+ 374, // Beldum
+ 299, // Nosepass
+ 3, // Venusaur
+ 357, // Tropius
+ 154, // Meganium
+ 373, // Salamence
+ 75, // Graveler
+ 344, // Claydol
+ 372, // Shelgon
+ 111, // Rhyhorn
+ 212, // Scizor
+ 87, // Dewgong
+ 112, // Rhydon
+ 232, // Donphan
+ 103, // Exeggutor
+ 305, // Lairon
+ 150, // Mewtwo
+ 217, // Ursaring
+ 205, // Forretress
+ 68, // Machamp
+ 320, // Wailmer
+ 289, // Slaking
+ 91, // Cloyster
+ 365, // Walrein
+ 247, // Pupitar
+ 230, // Kingdra
+ 338, // Solrock
+ 59, // Arcanine
+ 350, // Milotic
+ 337, // Lunatone
+ 378, // Regice
+ 243, // Raikou
+ 245, // Suicune
+ 244, // Entei
+ 250, // Ho-Oh
+ 248, // Tyranitar
+ 375, // Metang
+ 379, // Registeel
+ 384, // Rayquaza
+ 95, // Onix
+ 149, // Dragonite
+ 249, // Lugia
+ 131, // Lapras
+ 323, // Camerupt
+ 226, // Mantine
+ 377, // Regirock
+ 130, // Gyarados
+ 297, // Hariyama
+ 362, // Glalie
+ 76, // Golem
+ 382, // Kyogre
+ 306, // Aggron
+ 321, // Wailord
+ 208, // Steelix
+ 143, // Snorlax
+ 376, // Metagross
+ 383, // Groudon
+};
+
+const u16 gPokedexOrder_Height[] =
+{
+ 50, // Diglett
+ 298, // Azurill
+ 177, // Natu
+ 13, // Weedle
+ 172, // Pichu
+ 173, // Cleffa
+ 175, // Togepi
+ 351, // Castform
+ 174, // Igglybuff
+ 10, // Caterpie
+ 276, // Taillow
+ 132, // Ditto
+ 133, // Eevee
+ 315, // Roselia
+ 21, // Spearow
+ 16, // Pidgey
+ 191, // Sunkern
+ 90, // Shellder
+ 19, // Rattata
+ 81, // Magnemite
+ 46, // Paras
+ 265, // Wurmple
+ 385, // Jirachi
+ 104, // Cubone
+ 258, // Mudkip
+ 194, // Wooper
+ 116, // Horsea
+ 52, // Meowth
+ 29, // Nidoran?
+ 220, // Swinub
+ 151, // Mew
+ 333, // Swablu
+ 304, // Aron
+ 311, // Plusle
+ 312, // Minun
+ 102, // Exeggcute
+ 25, // Pikachu
+ 182, // Bellossom
+ 316, // Gulpin
+ 263, // Zigzagoon
+ 285, // Shroomish
+ 138, // Omanyte
+ 331, // Cacnea
+ 98, // Krabby
+ 280, // Ralts
+ 187, // Hoppip
+ 255, // Torchic
+ 366, // Clamperl
+ 74, // Geodude
+ 183, // Marill
+ 339, // Barboach
+ 238, // Smoochum
+ 100, // Voltorb
+ 290, // Nincada
+ 302, // Sableye
+ 198, // Murkrow
+ 211, // Qwilfish
+ 7, // Squirtle
+ 252, // Treecko
+ 343, // Baltoy
+ 43, // Oddish
+ 270, // Lotad
+ 39, // Jigglypuff
+ 283, // Surskit
+ 155, // Cyndaquil
+ 140, // Kabuto
+ 264, // Linoone
+ 324, // Torkoal
+ 32, // Nidoran?
+ 167, // Spinarak
+ 56, // Mankey
+ 273, // Seedot
+ 261, // Poochyena
+ 231, // Phanpy
+ 201, // Unown
+ 170, // Chinchou
+ 233, // Porygon2
+ 60, // Poliwag
+ 371, // Bagon
+ 349, // Feebas
+ 353, // Shuppet
+ 158, // Totodile
+ 251, // Celebi
+ 360, // Wynaut
+ 27, // Sandshrew
+ 358, // Chimecho
+ 370, // Luvdisc
+ 228, // Houndour
+ 266, // Silcoon
+ 309, // Electrike
+ 4, // Charmander
+ 307, // Meditite
+ 278, // Wingull
+ 223, // Remoraid
+ 341, // Corphish
+ 222, // Corsola
+ 314, // Illumise
+ 209, // Snubbull
+ 37, // Vulpix
+ 246, // Larvitar
+ 374, // Beldum
+ 293, // Whismur
+ 204, // Pineco
+ 239, // Elekid
+ 35, // Clefairy
+ 213, // Shuckle
+ 216, // Teddiursa
+ 14, // Kakuna
+ 300, // Skitty
+ 176, // Togetic
+ 118, // Goldeen
+ 303, // Mawile
+ 179, // Mareep
+ 188, // Skiploom
+ 109, // Koffing
+ 51, // Dugtrio
+ 268, // Cascoon
+ 322, // Numel
+ 347, // Anorith
+ 313, // Volbeat
+ 163, // Hoothoot
+ 328, // Trapinch
+ 325, // Spoink
+ 11, // Metapod
+ 69, // Bellsprout
+ 361, // Snorunt
+ 20, // Raticate
+ 259, // Marshtomp
+ 277, // Swellow
+ 240, // Magby
+ 58, // Growlithe
+ 200, // Misdreavus
+ 1, // Bulbasaur
+ 236, // Tyrogue
+ 218, // Slugma
+ 287, // Slakoth
+ 281, // Kirlia
+ 190, // Aipom
+ 135, // Jolteon
+ 30, // Nidorina
+ 184, // Azumarill
+ 292, // Shedinja
+ 66, // Machop
+ 291, // Ninjask
+ 284, // Masquerain
+ 355, // Duskull
+ 192, // Sunflora
+ 189, // Jumpluff
+ 120, // Staryu
+ 180, // Flaaffy
+ 363, // Spheal
+ 54, // Psyduck
+ 219, // Magcargo
+ 83, // Farfetch'd
+ 41, // Zubat
+ 137, // Porygon
+ 161, // Sentret
+ 318, // Carvanha
+ 44, // Gloom
+ 26, // Raichu
+ 129, // Magikarp
+ 215, // Sneasel
+ 305, // Lairon
+ 256, // Combusken
+ 224, // Octillery
+ 33, // Nidorino
+ 136, // Flareon
+ 225, // Delibird
+ 72, // Tentacool
+ 63, // Abra
+ 253, // Grovyle
+ 340, // Whiscash
+ 156, // Quilava
+ 196, // Espeon
+ 88, // Grimer
+ 152, // Chikorita
+ 326, // Grumpig
+ 299, // Nosepass
+ 53, // Persian
+ 262, // Mightyena
+ 48, // Venonat
+ 82, // Magneton
+ 77, // Ponyta
+ 296, // Makuhita
+ 337, // Lunatone
+ 28, // Sandslash
+ 96, // Drowzee
+ 114, // Tangela
+ 57, // Primeape
+ 165, // Ledyba
+ 40, // Wigglytuff
+ 47, // Parasect
+ 139, // Omastar
+ 294, // Loudred
+ 8, // Wartortle
+ 75, // Graveler
+ 197, // Umbreon
+ 345, // Lileep
+ 61, // Poliwhirl
+ 134, // Vaporeon
+ 15, // Beedrill
+ 105, // Marowak
+ 70, // Weepinbell
+ 369, // Relicanth
+ 111, // Rhyhorn
+ 2, // Ivysaur
+ 352, // Kecleon
+ 274, // Nuzleaf
+ 267, // Beautifly
+ 17, // Pidgeotto
+ 168, // Ariados
+ 86, // Seel
+ 186, // Politoed
+ 159, // Croconaw
+ 113, // Chansey
+ 354, // Banette
+ 232, // Donphan
+ 121, // Starmie
+ 5, // Charmeleon
+ 221, // Piloswine
+ 12, // Butterfree
+ 329, // Vibrava
+ 125, // Electabuzz
+ 342, // Crawdaunt
+ 301, // Delcatty
+ 334, // Altaria
+ 372, // Shelgon
+ 38, // Ninetales
+ 207, // Gligar
+ 364, // Sealeo
+ 327, // Spinda
+ 247, // Pupitar
+ 79, // Slowpoke
+ 338, // Solrock
+ 241, // Miltank
+ 22, // Fearow
+ 45, // Vileplume
+ 89, // Muk
+ 205, // Forretress
+ 185, // Sudowoodo
+ 359, // Absol
+ 193, // Yanma
+ 269, // Dustox
+ 108, // Lickitung
+ 235, // Smeargle
+ 171, // Lanturn
+ 101, // Electrode
+ 271, // Lombre
+ 286, // Breloom
+ 153, // Bayleef
+ 117, // Seadra
+ 110, // Weezing
+ 279, // Pelipper
+ 375, // Metang
+ 31, // Nidoqueen
+ 332, // Cacturne
+ 275, // Shiftry
+ 308, // Medicham
+ 335, // Zangoose
+ 141, // Kabutops
+ 99, // Kingler
+ 64, // Kadabra
+ 119, // Seaking
+ 36, // Clefable
+ 126, // Magmar
+ 202, // Wobbuffet
+ 92, // Gastly
+ 122, // Mr. mime
+ 62, // Poliwrath
+ 128, // Tauros
+ 380, // Latias
+ 181, // Ampharos
+ 288, // Vigoroth
+ 166, // Ledian
+ 76, // Golem
+ 365, // Walrein
+ 84, // Doduo
+ 229, // Houndoom
+ 34, // Nidoking
+ 124, // Jynx
+ 107, // Hitmonchan
+ 234, // Stantler
+ 210, // Granbull
+ 237, // Hitmontop
+ 195, // Quagsire
+ 344, // Claydol
+ 260, // Swampert
+ 242, // Blissey
+ 272, // Ludicolo
+ 295, // Exploud
+ 206, // Dunsparce
+ 127, // Pinsir
+ 91, // Cloyster
+ 67, // Machoke
+ 203, // Girafarig
+ 18, // Pidgeot
+ 178, // Xatu
+ 346, // Cradily
+ 106, // Hitmonlee
+ 49, // Venomoth
+ 94, // Gengar
+ 214, // Heracross
+ 362, // Glalie
+ 123, // Scyther
+ 373, // Salamence
+ 310, // Manectric
+ 348, // Armaldo
+ 65, // Alakazam
+ 97, // Hypno
+ 164, // Noctowl
+ 73, // Tentacruel
+ 356, // Dusclops
+ 145, // Zapdos
+ 42, // Golbat
+ 376, // Metagross
+ 282, // Gardevoir
+ 9, // Blastoise
+ 80, // Slowbro
+ 93, // Haunter
+ 68, // Machamp
+ 377, // Regirock
+ 317, // Swalot
+ 254, // Sceptile
+ 227, // Skarmory
+ 55, // Golduck
+ 386, // Deoxys
+ 71, // Victreebel
+ 78, // Rapidash
+ 6, // Charizard
+ 367, // Huntail
+ 87, // Dewgong
+ 144, // Articuno
+ 157, // Typhlosion
+ 142, // Aerodactyl
+ 368, // Gorebyss
+ 217, // Ursaring
+ 154, // Meganium
+ 378, // Regice
+ 212, // Scizor
+ 230, // Kingdra
+ 147, // Dratini
+ 85, // Dodrio
+ 319, // Sharpedo
+ 169, // Crobat
+ 162, // Furret
+ 59, // Arcanine
+ 243, // Raikou
+ 257, // Blaziken
+ 323, // Camerupt
+ 112, // Rhydon
+ 379, // Registeel
+ 23, // Ekans
+ 330, // Flygon
+ 357, // Tropius
+ 381, // Latios
+ 245, // Suicune
+ 146, // Moltres
+ 3, // Venusaur
+ 103, // Exeggutor
+ 199, // Slowking
+ 248, // Tyranitar
+ 289, // Slaking
+ 320, // Wailmer
+ 150, // Mewtwo
+ 306, // Aggron
+ 143, // Snorlax
+ 226, // Mantine
+ 244, // Entei
+ 149, // Dragonite
+ 115, // Kangaskhan
+ 297, // Hariyama
+ 160, // Feraligatr
+ 131, // Lapras
+ 336, // Seviper
+ 24, // Arbok
+ 383, // Groudon
+ 250, // Ho-Oh
+ 148, // Dragonair
+ 382, // Kyogre
+ 249, // Lugia
+ 350, // Milotic
+ 130, // Gyarados
+ 384, // Rayquaza
+ 95, // Onix
+ 208, // Steelix
+ 321, // Wailord
+};
+
+#endif // GUARD_DATA_POKEDEX_ORDERS
diff --git a/include/graphics.h b/include/graphics.h
index 0a38c9b82..8f58a5f7e 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -28,6 +28,2415 @@ extern const u8 gInterfaceGfx_PremierBall[];
extern const u8 gInterfacePal_PremierBall[];
extern const u8 gOpenPokeballGfx[];
+// pokemon gfx
+extern const u8 gMonFrontPic_Bulbasaur[];
+extern const u8 gMonPalette_Bulbasaur[];
+extern const u8 gMonBackPic_Bulbasaur[];
+extern const u8 gMonShinyPalette_Bulbasaur[];
+extern const u8 gMonIcon_Bulbasaur[];
+extern const u8 gMonFootprint_Bulbasaur[];
+extern const u8 gMonFrontPic_Ivysaur[];
+extern const u8 gMonPalette_Ivysaur[];
+extern const u8 gMonBackPic_Ivysaur[];
+extern const u8 gMonShinyPalette_Ivysaur[];
+extern const u8 gMonIcon_Ivysaur[];
+extern const u8 gMonFootprint_Ivysaur[];
+extern const u8 gMonFrontPic_Venusaur[];
+extern const u8 gMonPalette_Venusaur[];
+extern const u8 gMonBackPic_Venusaur[];
+extern const u8 gMonShinyPalette_Venusaur[];
+extern const u8 gMonIcon_Venusaur[];
+extern const u8 gMonFootprint_Venusaur[];
+extern const u8 gMonFrontPic_Charmander[];
+extern const u8 gMonPalette_Charmander[];
+extern const u8 gMonBackPic_Charmander[];
+extern const u8 gMonShinyPalette_Charmander[];
+extern const u8 gMonIcon_Charmander[];
+extern const u8 gMonFootprint_Charmander[];
+extern const u8 gMonFrontPic_Charmeleon[];
+extern const u8 gMonPalette_Charmeleon[];
+extern const u8 gMonBackPic_Charmeleon[];
+extern const u8 gMonShinyPalette_Charmeleon[];
+extern const u8 gMonIcon_Charmeleon[];
+extern const u8 gMonFootprint_Charmeleon[];
+extern const u8 gMonFrontPic_Charizard[];
+extern const u8 gMonPalette_Charizard[];
+extern const u8 gMonBackPic_Charizard[];
+extern const u8 gMonShinyPalette_Charizard[];
+extern const u8 gMonIcon_Charizard[];
+extern const u8 gMonFootprint_Charizard[];
+extern const u8 gMonFrontPic_Squirtle[];
+extern const u8 gMonPalette_Squirtle[];
+extern const u8 gMonBackPic_Squirtle[];
+extern const u8 gMonShinyPalette_Squirtle[];
+extern const u8 gMonIcon_Squirtle[];
+extern const u8 gMonFootprint_Squirtle[];
+extern const u8 gMonFrontPic_Wartortle[];
+extern const u8 gMonPalette_Wartortle[];
+extern const u8 gMonBackPic_Wartortle[];
+extern const u8 gMonShinyPalette_Wartortle[];
+extern const u8 gMonIcon_Wartortle[];
+extern const u8 gMonFootprint_Wartortle[];
+extern const u8 gMonFrontPic_Blastoise[];
+extern const u8 gMonPalette_Blastoise[];
+extern const u8 gMonBackPic_Blastoise[];
+extern const u8 gMonShinyPalette_Blastoise[];
+extern const u8 gMonIcon_Blastoise[];
+extern const u8 gMonFootprint_Blastoise[];
+extern const u8 gMonFrontPic_Caterpie[];
+extern const u8 gMonPalette_Caterpie[];
+extern const u8 gMonBackPic_Caterpie[];
+extern const u8 gMonShinyPalette_Caterpie[];
+extern const u8 gMonIcon_Caterpie[];
+extern const u8 gMonFootprint_Caterpie[];
+extern const u8 gMonFrontPic_Metapod[];
+extern const u8 gMonPalette_Metapod[];
+extern const u8 gMonBackPic_Metapod[];
+extern const u8 gMonShinyPalette_Metapod[];
+extern const u8 gMonIcon_Metapod[];
+extern const u8 gMonFootprint_Metapod[];
+extern const u8 gMonFrontPic_Butterfree[];
+extern const u8 gMonPalette_Butterfree[];
+extern const u8 gMonBackPic_Butterfree[];
+extern const u8 gMonShinyPalette_Butterfree[];
+extern const u8 gMonIcon_Butterfree[];
+extern const u8 gMonFootprint_Butterfree[];
+extern const u8 gMonFrontPic_Weedle[];
+extern const u8 gMonPalette_Weedle[];
+extern const u8 gMonBackPic_Weedle[];
+extern const u8 gMonShinyPalette_Weedle[];
+extern const u8 gMonIcon_Weedle[];
+extern const u8 gMonFootprint_Weedle[];
+extern const u8 gMonFrontPic_Kakuna[];
+extern const u8 gMonPalette_Kakuna[];
+extern const u8 gMonBackPic_Kakuna[];
+extern const u8 gMonShinyPalette_Kakuna[];
+extern const u8 gMonIcon_Kakuna[];
+extern const u8 gMonFootprint_Kakuna[];
+extern const u8 gMonFrontPic_Beedrill[];
+extern const u8 gMonPalette_Beedrill[];
+extern const u8 gMonBackPic_Beedrill[];
+extern const u8 gMonShinyPalette_Beedrill[];
+extern const u8 gMonIcon_Beedrill[];
+extern const u8 gMonFootprint_Beedrill[];
+extern const u8 gMonFrontPic_Pidgey[];
+extern const u8 gMonPalette_Pidgey[];
+extern const u8 gMonBackPic_Pidgey[];
+extern const u8 gMonShinyPalette_Pidgey[];
+extern const u8 gMonIcon_Pidgey[];
+extern const u8 gMonFootprint_Pidgey[];
+extern const u8 gMonFrontPic_Pidgeotto[];
+extern const u8 gMonPalette_Pidgeotto[];
+extern const u8 gMonBackPic_Pidgeotto[];
+extern const u8 gMonShinyPalette_Pidgeotto[];
+extern const u8 gMonIcon_Pidgeotto[];
+extern const u8 gMonFootprint_Pidgeotto[];
+extern const u8 gMonFrontPic_Pidgeot[];
+extern const u8 gMonPalette_Pidgeot[];
+extern const u8 gMonBackPic_Pidgeot[];
+extern const u8 gMonShinyPalette_Pidgeot[];
+extern const u8 gMonIcon_Pidgeot[];
+extern const u8 gMonFootprint_Pidgeot[];
+extern const u8 gMonFrontPic_Rattata[];
+extern const u8 gMonPalette_Rattata[];
+extern const u8 gMonBackPic_Rattata[];
+extern const u8 gMonShinyPalette_Rattata[];
+extern const u8 gMonIcon_Rattata[];
+extern const u8 gMonFootprint_Rattata[];
+extern const u8 gMonFrontPic_Raticate[];
+extern const u8 gMonPalette_Raticate[];
+extern const u8 gMonBackPic_Raticate[];
+extern const u8 gMonShinyPalette_Raticate[];
+extern const u8 gMonIcon_Raticate[];
+extern const u8 gMonFootprint_Raticate[];
+extern const u8 gMonFrontPic_Spearow[];
+extern const u8 gMonPalette_Spearow[];
+extern const u8 gMonBackPic_Spearow[];
+extern const u8 gMonShinyPalette_Spearow[];
+extern const u8 gMonIcon_Spearow[];
+extern const u8 gMonFootprint_Spearow[];
+extern const u8 gMonFrontPic_Fearow[];
+extern const u8 gMonPalette_Fearow[];
+extern const u8 gMonBackPic_Fearow[];
+extern const u8 gMonShinyPalette_Fearow[];
+extern const u8 gMonIcon_Fearow[];
+extern const u8 gMonFootprint_Fearow[];
+extern const u8 gMonFrontPic_Ekans[];
+extern const u8 gMonPalette_Ekans[];
+extern const u8 gMonBackPic_Ekans[];
+extern const u8 gMonShinyPalette_Ekans[];
+extern const u8 gMonIcon_Ekans[];
+extern const u8 gMonFootprint_Ekans[];
+extern const u8 gMonFrontPic_Arbok[];
+extern const u8 gMonPalette_Arbok[];
+extern const u8 gMonBackPic_Arbok[];
+extern const u8 gMonShinyPalette_Arbok[];
+extern const u8 gMonIcon_Arbok[];
+extern const u8 gMonFootprint_Arbok[];
+extern const u8 gMonFrontPic_Pikachu[];
+extern const u8 gMonPalette_Pikachu[];
+extern const u8 gMonBackPic_Pikachu[];
+extern const u8 gMonShinyPalette_Pikachu[];
+extern const u8 gMonIcon_Pikachu[];
+extern const u8 gMonFootprint_Pikachu[];
+extern const u8 gMonFrontPic_Raichu[];
+extern const u8 gMonPalette_Raichu[];
+extern const u8 gMonBackPic_Raichu[];
+extern const u8 gMonShinyPalette_Raichu[];
+extern const u8 gMonIcon_Raichu[];
+extern const u8 gMonFootprint_Raichu[];
+extern const u8 gMonFrontPic_Sandshrew[];
+extern const u8 gMonPalette_Sandshrew[];
+extern const u8 gMonBackPic_Sandshrew[];
+extern const u8 gMonShinyPalette_Sandshrew[];
+extern const u8 gMonIcon_Sandshrew[];
+extern const u8 gMonFootprint_Sandshrew[];
+extern const u8 gMonFrontPic_Sandslash[];
+extern const u8 gMonPalette_Sandslash[];
+extern const u8 gMonBackPic_Sandslash[];
+extern const u8 gMonShinyPalette_Sandslash[];
+extern const u8 gMonIcon_Sandslash[];
+extern const u8 gMonFootprint_Sandslash[];
+extern const u8 gMonFrontPic_NidoranF[];
+extern const u8 gMonPalette_NidoranF[];
+extern const u8 gMonBackPic_NidoranF[];
+extern const u8 gMonShinyPalette_NidoranF[];
+extern const u8 gMonIcon_NidoranF[];
+extern const u8 gMonFootprint_NidoranF[];
+extern const u8 gMonFrontPic_Nidorina[];
+extern const u8 gMonPalette_Nidorina[];
+extern const u8 gMonBackPic_Nidorina[];
+extern const u8 gMonShinyPalette_Nidorina[];
+extern const u8 gMonIcon_Nidorina[];
+extern const u8 gMonFootprint_Nidorina[];
+extern const u8 gMonFrontPic_Nidoqueen[];
+extern const u8 gMonPalette_Nidoqueen[];
+extern const u8 gMonBackPic_Nidoqueen[];
+extern const u8 gMonShinyPalette_Nidoqueen[];
+extern const u8 gMonIcon_Nidoqueen[];
+extern const u8 gMonFootprint_Nidoqueen[];
+extern const u8 gMonFrontPic_NidoranM[];
+extern const u8 gMonPalette_NidoranM[];
+extern const u8 gMonBackPic_NidoranM[];
+extern const u8 gMonShinyPalette_NidoranM[];
+extern const u8 gMonIcon_NidoranM[];
+extern const u8 gMonFootprint_NidoranM[];
+extern const u8 gMonFrontPic_Nidorino[];
+extern const u8 gMonPalette_Nidorino[];
+extern const u8 gMonBackPic_Nidorino[];
+extern const u8 gMonShinyPalette_Nidorino[];
+extern const u8 gMonIcon_Nidorino[];
+extern const u8 gMonFootprint_Nidorino[];
+extern const u8 gMonFrontPic_Nidoking[];
+extern const u8 gMonPalette_Nidoking[];
+extern const u8 gMonBackPic_Nidoking[];
+extern const u8 gMonShinyPalette_Nidoking[];
+extern const u8 gMonIcon_Nidoking[];
+extern const u8 gMonFootprint_Nidoking[];
+extern const u8 gMonFrontPic_Clefairy[];
+extern const u8 gMonPalette_Clefairy[];
+extern const u8 gMonBackPic_Clefairy[];
+extern const u8 gMonShinyPalette_Clefairy[];
+extern const u8 gMonIcon_Clefairy[];
+extern const u8 gMonFootprint_Clefairy[];
+extern const u8 gMonFrontPic_Clefable[];
+extern const u8 gMonPalette_Clefable[];
+extern const u8 gMonBackPic_Clefable[];
+extern const u8 gMonShinyPalette_Clefable[];
+extern const u8 gMonIcon_Clefable[];
+extern const u8 gMonFootprint_Clefable[];
+extern const u8 gMonFrontPic_Vulpix[];
+extern const u8 gMonPalette_Vulpix[];
+extern const u8 gMonBackPic_Vulpix[];
+extern const u8 gMonShinyPalette_Vulpix[];
+extern const u8 gMonIcon_Vulpix[];
+extern const u8 gMonFootprint_Vulpix[];
+extern const u8 gMonFrontPic_Ninetales[];
+extern const u8 gMonPalette_Ninetales[];
+extern const u8 gMonBackPic_Ninetales[];
+extern const u8 gMonShinyPalette_Ninetales[];
+extern const u8 gMonIcon_Ninetales[];
+extern const u8 gMonFootprint_Ninetales[];
+extern const u8 gMonFrontPic_Jigglypuff[];
+extern const u8 gMonPalette_Jigglypuff[];
+extern const u8 gMonBackPic_Jigglypuff[];
+extern const u8 gMonShinyPalette_Jigglypuff[];
+extern const u8 gMonIcon_Jigglypuff[];
+extern const u8 gMonFootprint_Jigglypuff[];
+extern const u8 gMonFrontPic_Wigglytuff[];
+extern const u8 gMonPalette_Wigglytuff[];
+extern const u8 gMonBackPic_Wigglytuff[];
+extern const u8 gMonShinyPalette_Wigglytuff[];
+extern const u8 gMonIcon_Wigglytuff[];
+extern const u8 gMonFootprint_Wigglytuff[];
+extern const u8 gMonFrontPic_Zubat[];
+extern const u8 gMonPalette_Zubat[];
+extern const u8 gMonBackPic_Zubat[];
+extern const u8 gMonShinyPalette_Zubat[];
+extern const u8 gMonIcon_Zubat[];
+extern const u8 gMonFootprint_Zubat[];
+extern const u8 gMonFrontPic_Golbat[];
+extern const u8 gMonPalette_Golbat[];
+extern const u8 gMonBackPic_Golbat[];
+extern const u8 gMonShinyPalette_Golbat[];
+extern const u8 gMonIcon_Golbat[];
+extern const u8 gMonFootprint_Golbat[];
+extern const u8 gMonFrontPic_Oddish[];
+extern const u8 gMonPalette_Oddish[];
+extern const u8 gMonBackPic_Oddish[];
+extern const u8 gMonShinyPalette_Oddish[];
+extern const u8 gMonIcon_Oddish[];
+extern const u8 gMonFootprint_Oddish[];
+extern const u8 gMonFrontPic_Gloom[];
+extern const u8 gMonPalette_Gloom[];
+extern const u8 gMonBackPic_Gloom[];
+extern const u8 gMonShinyPalette_Gloom[];
+extern const u8 gMonIcon_Gloom[];
+extern const u8 gMonFootprint_Gloom[];
+extern const u8 gMonFrontPic_Vileplume[];
+extern const u8 gMonPalette_Vileplume[];
+extern const u8 gMonBackPic_Vileplume[];
+extern const u8 gMonShinyPalette_Vileplume[];
+extern const u8 gMonIcon_Vileplume[];
+extern const u8 gMonFootprint_Vileplume[];
+extern const u8 gMonFrontPic_Paras[];
+extern const u8 gMonPalette_Paras[];
+extern const u8 gMonBackPic_Paras[];
+extern const u8 gMonShinyPalette_Paras[];
+extern const u8 gMonIcon_Paras[];
+extern const u8 gMonFootprint_Paras[];
+extern const u8 gMonFrontPic_Parasect[];
+extern const u8 gMonPalette_Parasect[];
+extern const u8 gMonBackPic_Parasect[];
+extern const u8 gMonShinyPalette_Parasect[];
+extern const u8 gMonIcon_Parasect[];
+extern const u8 gMonFootprint_Parasect[];
+extern const u8 gMonFrontPic_Venonat[];
+extern const u8 gMonPalette_Venonat[];
+extern const u8 gMonBackPic_Venonat[];
+extern const u8 gMonShinyPalette_Venonat[];
+extern const u8 gMonIcon_Venonat[];
+extern const u8 gMonFootprint_Venonat[];
+extern const u8 gMonFrontPic_Venomoth[];
+extern const u8 gMonPalette_Venomoth[];
+extern const u8 gMonBackPic_Venomoth[];
+extern const u8 gMonShinyPalette_Venomoth[];
+extern const u8 gMonIcon_Venomoth[];
+extern const u8 gMonFootprint_Venomoth[];
+extern const u8 gMonFrontPic_Diglett[];
+extern const u8 gMonPalette_Diglett[];
+extern const u8 gMonBackPic_Diglett[];
+extern const u8 gMonShinyPalette_Diglett[];
+extern const u8 gMonIcon_Diglett[];
+extern const u8 gMonFootprint_Diglett[];
+extern const u8 gMonFrontPic_Dugtrio[];
+extern const u8 gMonPalette_Dugtrio[];
+extern const u8 gMonBackPic_Dugtrio[];
+extern const u8 gMonShinyPalette_Dugtrio[];
+extern const u8 gMonIcon_Dugtrio[];
+extern const u8 gMonFootprint_Dugtrio[];
+extern const u8 gMonFrontPic_Meowth[];
+extern const u8 gMonPalette_Meowth[];
+extern const u8 gMonBackPic_Meowth[];
+extern const u8 gMonShinyPalette_Meowth[];
+extern const u8 gMonIcon_Meowth[];
+extern const u8 gMonFootprint_Meowth[];
+extern const u8 gMonFrontPic_Persian[];
+extern const u8 gMonPalette_Persian[];
+extern const u8 gMonBackPic_Persian[];
+extern const u8 gMonShinyPalette_Persian[];
+extern const u8 gMonIcon_Persian[];
+extern const u8 gMonFootprint_Persian[];
+extern const u8 gMonFrontPic_Psyduck[];
+extern const u8 gMonPalette_Psyduck[];
+extern const u8 gMonBackPic_Psyduck[];
+extern const u8 gMonShinyPalette_Psyduck[];
+extern const u8 gMonIcon_Psyduck[];
+extern const u8 gMonFootprint_Psyduck[];
+extern const u8 gMonFrontPic_Golduck[];
+extern const u8 gMonPalette_Golduck[];
+extern const u8 gMonBackPic_Golduck[];
+extern const u8 gMonShinyPalette_Golduck[];
+extern const u8 gMonIcon_Golduck[];
+extern const u8 gMonFootprint_Golduck[];
+extern const u8 gMonFrontPic_Mankey[];
+extern const u8 gMonPalette_Mankey[];
+extern const u8 gMonBackPic_Mankey[];
+extern const u8 gMonShinyPalette_Mankey[];
+extern const u8 gMonIcon_Mankey[];
+extern const u8 gMonFootprint_Mankey[];
+extern const u8 gMonFrontPic_Primeape[];
+extern const u8 gMonPalette_Primeape[];
+extern const u8 gMonBackPic_Primeape[];
+extern const u8 gMonShinyPalette_Primeape[];
+extern const u8 gMonIcon_Primeape[];
+extern const u8 gMonFootprint_Primeape[];
+extern const u8 gMonFrontPic_Growlithe[];
+extern const u8 gMonPalette_Growlithe[];
+extern const u8 gMonBackPic_Growlithe[];
+extern const u8 gMonShinyPalette_Growlithe[];
+extern const u8 gMonIcon_Growlithe[];
+extern const u8 gMonFootprint_Growlithe[];
+extern const u8 gMonFrontPic_Arcanine[];
+extern const u8 gMonPalette_Arcanine[];
+extern const u8 gMonBackPic_Arcanine[];
+extern const u8 gMonShinyPalette_Arcanine[];
+extern const u8 gMonIcon_Arcanine[];
+extern const u8 gMonFootprint_Arcanine[];
+extern const u8 gMonFrontPic_Poliwag[];
+extern const u8 gMonPalette_Poliwag[];
+extern const u8 gMonBackPic_Poliwag[];
+extern const u8 gMonShinyPalette_Poliwag[];
+extern const u8 gMonIcon_Poliwag[];
+extern const u8 gMonFootprint_Poliwag[];
+extern const u8 gMonFrontPic_Poliwhirl[];
+extern const u8 gMonPalette_Poliwhirl[];
+extern const u8 gMonBackPic_Poliwhirl[];
+extern const u8 gMonShinyPalette_Poliwhirl[];
+extern const u8 gMonIcon_Poliwhirl[];
+extern const u8 gMonFootprint_Poliwhirl[];
+extern const u8 gMonFrontPic_Poliwrath[];
+extern const u8 gMonPalette_Poliwrath[];
+extern const u8 gMonBackPic_Poliwrath[];
+extern const u8 gMonShinyPalette_Poliwrath[];
+extern const u8 gMonIcon_Poliwrath[];
+extern const u8 gMonFootprint_Poliwrath[];
+extern const u8 gMonFrontPic_Abra[];
+extern const u8 gMonPalette_Abra[];
+extern const u8 gMonBackPic_Abra[];
+extern const u8 gMonShinyPalette_Abra[];
+extern const u8 gMonIcon_Abra[];
+extern const u8 gMonFootprint_Abra[];
+extern const u8 gMonFrontPic_Kadabra[];
+extern const u8 gMonPalette_Kadabra[];
+extern const u8 gMonBackPic_Kadabra[];
+extern const u8 gMonShinyPalette_Kadabra[];
+extern const u8 gMonIcon_Kadabra[];
+extern const u8 gMonFootprint_Kadabra[];
+extern const u8 gMonFrontPic_Alakazam[];
+extern const u8 gMonPalette_Alakazam[];
+extern const u8 gMonBackPic_Alakazam[];
+extern const u8 gMonShinyPalette_Alakazam[];
+extern const u8 gMonIcon_Alakazam[];
+extern const u8 gMonFootprint_Alakazam[];
+extern const u8 gMonFrontPic_Machop[];
+extern const u8 gMonPalette_Machop[];
+extern const u8 gMonBackPic_Machop[];
+extern const u8 gMonShinyPalette_Machop[];
+extern const u8 gMonIcon_Machop[];
+extern const u8 gMonFootprint_Machop[];
+extern const u8 gMonFrontPic_Machoke[];
+extern const u8 gMonPalette_Machoke[];
+extern const u8 gMonBackPic_Machoke[];
+extern const u8 gMonShinyPalette_Machoke[];
+extern const u8 gMonIcon_Machoke[];
+extern const u8 gMonFootprint_Machoke[];
+extern const u8 gMonFrontPic_Machamp[];
+extern const u8 gMonPalette_Machamp[];
+extern const u8 gMonBackPic_Machamp[];
+extern const u8 gMonShinyPalette_Machamp[];
+extern const u8 gMonIcon_Machamp[];
+extern const u8 gMonFootprint_Machamp[];
+extern const u8 gMonFrontPic_Bellsprout[];
+extern const u8 gMonPalette_Bellsprout[];
+extern const u8 gMonBackPic_Bellsprout[];
+extern const u8 gMonShinyPalette_Bellsprout[];
+extern const u8 gMonIcon_Bellsprout[];
+extern const u8 gMonFootprint_Bellsprout[];
+extern const u8 gMonFrontPic_Weepinbell[];
+extern const u8 gMonPalette_Weepinbell[];
+extern const u8 gMonBackPic_Weepinbell[];
+extern const u8 gMonShinyPalette_Weepinbell[];
+extern const u8 gMonIcon_Weepinbell[];
+extern const u8 gMonFootprint_Weepinbell[];
+extern const u8 gMonFrontPic_Victreebel[];
+extern const u8 gMonPalette_Victreebel[];
+extern const u8 gMonBackPic_Victreebel[];
+extern const u8 gMonShinyPalette_Victreebel[];
+extern const u8 gMonIcon_Victreebel[];
+extern const u8 gMonFootprint_Victreebel[];
+extern const u8 gMonFrontPic_Tentacool[];
+extern const u8 gMonPalette_Tentacool[];
+extern const u8 gMonBackPic_Tentacool[];
+extern const u8 gMonShinyPalette_Tentacool[];
+extern const u8 gMonIcon_Tentacool[];
+extern const u8 gMonFootprint_Tentacool[];
+extern const u8 gMonFrontPic_Tentacruel[];
+extern const u8 gMonPalette_Tentacruel[];
+extern const u8 gMonBackPic_Tentacruel[];
+extern const u8 gMonShinyPalette_Tentacruel[];
+extern const u8 gMonIcon_Tentacruel[];
+extern const u8 gMonFootprint_Tentacruel[];
+extern const u8 gMonFrontPic_Geodude[];
+extern const u8 gMonPalette_Geodude[];
+extern const u8 gMonBackPic_Geodude[];
+extern const u8 gMonShinyPalette_Geodude[];
+extern const u8 gMonIcon_Geodude[];
+extern const u8 gMonFootprint_Geodude[];
+extern const u8 gMonFrontPic_Graveler[];
+extern const u8 gMonPalette_Graveler[];
+extern const u8 gMonBackPic_Graveler[];
+extern const u8 gMonShinyPalette_Graveler[];
+extern const u8 gMonIcon_Graveler[];
+extern const u8 gMonFootprint_Graveler[];
+extern const u8 gMonFrontPic_Golem[];
+extern const u8 gMonPalette_Golem[];
+extern const u8 gMonBackPic_Golem[];
+extern const u8 gMonShinyPalette_Golem[];
+extern const u8 gMonIcon_Golem[];
+extern const u8 gMonFootprint_Golem[];
+extern const u8 gMonFrontPic_Ponyta[];
+extern const u8 gMonPalette_Ponyta[];
+extern const u8 gMonBackPic_Ponyta[];
+extern const u8 gMonShinyPalette_Ponyta[];
+extern const u8 gMonIcon_Ponyta[];
+extern const u8 gMonFootprint_Ponyta[];
+extern const u8 gMonFrontPic_Rapidash[];
+extern const u8 gMonPalette_Rapidash[];
+extern const u8 gMonBackPic_Rapidash[];
+extern const u8 gMonShinyPalette_Rapidash[];
+extern const u8 gMonIcon_Rapidash[];
+extern const u8 gMonFootprint_Rapidash[];
+extern const u8 gMonFrontPic_Slowpoke[];
+extern const u8 gMonPalette_Slowpoke[];
+extern const u8 gMonBackPic_Slowpoke[];
+extern const u8 gMonShinyPalette_Slowpoke[];
+extern const u8 gMonIcon_Slowpoke[];
+extern const u8 gMonFootprint_Slowpoke[];
+extern const u8 gMonFrontPic_Slowbro[];
+extern const u8 gMonPalette_Slowbro[];
+extern const u8 gMonBackPic_Slowbro[];
+extern const u8 gMonShinyPalette_Slowbro[];
+extern const u8 gMonIcon_Slowbro[];
+extern const u8 gMonFootprint_Slowbro[];
+extern const u8 gMonFrontPic_Magnemite[];
+extern const u8 gMonPalette_Magnemite[];
+extern const u8 gMonBackPic_Magnemite[];
+extern const u8 gMonShinyPalette_Magnemite[];
+extern const u8 gMonIcon_Magnemite[];
+extern const u8 gMonFootprint_Magnemite[];
+extern const u8 gMonFrontPic_Magneton[];
+extern const u8 gMonPalette_Magneton[];
+extern const u8 gMonBackPic_Magneton[];
+extern const u8 gMonShinyPalette_Magneton[];
+extern const u8 gMonIcon_Magneton[];
+extern const u8 gMonFootprint_Magneton[];
+extern const u8 gMonFrontPic_Farfetchd[];
+extern const u8 gMonPalette_Farfetchd[];
+extern const u8 gMonBackPic_Farfetchd[];
+extern const u8 gMonShinyPalette_Farfetchd[];
+extern const u8 gMonIcon_Farfetchd[];
+extern const u8 gMonFootprint_Farfetchd[];
+extern const u8 gMonFrontPic_Doduo[];
+extern const u8 gMonPalette_Doduo[];
+extern const u8 gMonBackPic_Doduo[];
+extern const u8 gMonShinyPalette_Doduo[];
+extern const u8 gMonIcon_Doduo[];
+extern const u8 gMonFootprint_Doduo[];
+extern const u8 gMonFrontPic_Dodrio[];
+extern const u8 gMonPalette_Dodrio[];
+extern const u8 gMonBackPic_Dodrio[];
+extern const u8 gMonShinyPalette_Dodrio[];
+extern const u8 gMonIcon_Dodrio[];
+extern const u8 gMonFootprint_Dodrio[];
+extern const u8 gMonFrontPic_Seel[];
+extern const u8 gMonPalette_Seel[];
+extern const u8 gMonBackPic_Seel[];
+extern const u8 gMonShinyPalette_Seel[];
+extern const u8 gMonIcon_Seel[];
+extern const u8 gMonFootprint_Seel[];
+extern const u8 gMonFrontPic_Dewgong[];
+extern const u8 gMonPalette_Dewgong[];
+extern const u8 gMonBackPic_Dewgong[];
+extern const u8 gMonShinyPalette_Dewgong[];
+extern const u8 gMonIcon_Dewgong[];
+extern const u8 gMonFootprint_Dewgong[];
+extern const u8 gMonFrontPic_Grimer[];
+extern const u8 gMonPalette_Grimer[];
+extern const u8 gMonBackPic_Grimer[];
+extern const u8 gMonShinyPalette_Grimer[];
+extern const u8 gMonIcon_Grimer[];
+extern const u8 gMonFootprint_Grimer[];
+extern const u8 gMonFrontPic_Muk[];
+extern const u8 gMonPalette_Muk[];
+extern const u8 gMonBackPic_Muk[];
+extern const u8 gMonShinyPalette_Muk[];
+extern const u8 gMonIcon_Muk[];
+extern const u8 gMonFootprint_Muk[];
+extern const u8 gMonFrontPic_Shellder[];
+extern const u8 gMonPalette_Shellder[];
+extern const u8 gMonBackPic_Shellder[];
+extern const u8 gMonShinyPalette_Shellder[];
+extern const u8 gMonIcon_Shellder[];
+extern const u8 gMonFootprint_Shellder[];
+extern const u8 gMonFrontPic_Cloyster[];
+extern const u8 gMonPalette_Cloyster[];
+extern const u8 gMonBackPic_Cloyster[];
+extern const u8 gMonShinyPalette_Cloyster[];
+extern const u8 gMonIcon_Cloyster[];
+extern const u8 gMonFootprint_Cloyster[];
+extern const u8 gMonFrontPic_Gastly[];
+extern const u8 gMonPalette_Gastly[];
+extern const u8 gMonBackPic_Gastly[];
+extern const u8 gMonShinyPalette_Gastly[];
+extern const u8 gMonIcon_Gastly[];
+extern const u8 gMonFootprint_Gastly[];
+extern const u8 gMonFrontPic_Haunter[];
+extern const u8 gMonPalette_Haunter[];
+extern const u8 gMonBackPic_Haunter[];
+extern const u8 gMonShinyPalette_Haunter[];
+extern const u8 gMonIcon_Haunter[];
+extern const u8 gMonFootprint_Haunter[];
+extern const u8 gMonFrontPic_Gengar[];
+extern const u8 gMonPalette_Gengar[];
+extern const u8 gMonBackPic_Gengar[];
+extern const u8 gMonShinyPalette_Gengar[];
+extern const u8 gMonIcon_Gengar[];
+extern const u8 gMonFootprint_Gengar[];
+extern const u8 gMonFrontPic_Onix[];
+extern const u8 gMonPalette_Onix[];
+extern const u8 gMonBackPic_Onix[];
+extern const u8 gMonShinyPalette_Onix[];
+extern const u8 gMonIcon_Onix[];
+extern const u8 gMonFootprint_Onix[];
+extern const u8 gMonFrontPic_Drowzee[];
+extern const u8 gMonPalette_Drowzee[];
+extern const u8 gMonBackPic_Drowzee[];
+extern const u8 gMonShinyPalette_Drowzee[];
+extern const u8 gMonIcon_Drowzee[];
+extern const u8 gMonFootprint_Drowzee[];
+extern const u8 gMonFrontPic_Hypno[];
+extern const u8 gMonPalette_Hypno[];
+extern const u8 gMonBackPic_Hypno[];
+extern const u8 gMonShinyPalette_Hypno[];
+extern const u8 gMonIcon_Hypno[];
+extern const u8 gMonFootprint_Hypno[];
+extern const u8 gMonFrontPic_Krabby[];
+extern const u8 gMonPalette_Krabby[];
+extern const u8 gMonBackPic_Krabby[];
+extern const u8 gMonShinyPalette_Krabby[];
+extern const u8 gMonIcon_Krabby[];
+extern const u8 gMonFootprint_Krabby[];
+extern const u8 gMonFrontPic_Kingler[];
+extern const u8 gMonPalette_Kingler[];
+extern const u8 gMonBackPic_Kingler[];
+extern const u8 gMonShinyPalette_Kingler[];
+extern const u8 gMonIcon_Kingler[];
+extern const u8 gMonFootprint_Kingler[];
+extern const u8 gMonFrontPic_Voltorb[];
+extern const u8 gMonPalette_Voltorb[];
+extern const u8 gMonBackPic_Voltorb[];
+extern const u8 gMonShinyPalette_Voltorb[];
+extern const u8 gMonIcon_Voltorb[];
+extern const u8 gMonFootprint_Voltorb[];
+extern const u8 gMonFrontPic_Electrode[];
+extern const u8 gMonPalette_Electrode[];
+extern const u8 gMonBackPic_Electrode[];
+extern const u8 gMonShinyPalette_Electrode[];
+extern const u8 gMonIcon_Electrode[];
+extern const u8 gMonFootprint_Electrode[];
+extern const u8 gMonFrontPic_Exeggcute[];
+extern const u8 gMonPalette_Exeggcute[];
+extern const u8 gMonBackPic_Exeggcute[];
+extern const u8 gMonShinyPalette_Exeggcute[];
+extern const u8 gMonIcon_Exeggcute[];
+extern const u8 gMonFootprint_Exeggcute[];
+extern const u8 gMonFrontPic_Exeggutor[];
+extern const u8 gMonPalette_Exeggutor[];
+extern const u8 gMonBackPic_Exeggutor[];
+extern const u8 gMonShinyPalette_Exeggutor[];
+extern const u8 gMonIcon_Exeggutor[];
+extern const u8 gMonFootprint_Exeggutor[];
+extern const u8 gMonFrontPic_Cubone[];
+extern const u8 gMonPalette_Cubone[];
+extern const u8 gMonBackPic_Cubone[];
+extern const u8 gMonShinyPalette_Cubone[];
+extern const u8 gMonIcon_Cubone[];
+extern const u8 gMonFootprint_Cubone[];
+extern const u8 gMonFrontPic_Marowak[];
+extern const u8 gMonPalette_Marowak[];
+extern const u8 gMonBackPic_Marowak[];
+extern const u8 gMonShinyPalette_Marowak[];
+extern const u8 gMonIcon_Marowak[];
+extern const u8 gMonFootprint_Marowak[];
+extern const u8 gMonFrontPic_Hitmonlee[];
+extern const u8 gMonPalette_Hitmonlee[];
+extern const u8 gMonBackPic_Hitmonlee[];
+extern const u8 gMonShinyPalette_Hitmonlee[];
+extern const u8 gMonIcon_Hitmonlee[];
+extern const u8 gMonFootprint_Hitmonlee[];
+extern const u8 gMonFrontPic_Hitmonchan[];
+extern const u8 gMonPalette_Hitmonchan[];
+extern const u8 gMonBackPic_Hitmonchan[];
+extern const u8 gMonShinyPalette_Hitmonchan[];
+extern const u8 gMonIcon_Hitmonchan[];
+extern const u8 gMonFootprint_Hitmonchan[];
+extern const u8 gMonFrontPic_Lickitung[];
+extern const u8 gMonPalette_Lickitung[];
+extern const u8 gMonBackPic_Lickitung[];
+extern const u8 gMonShinyPalette_Lickitung[];
+extern const u8 gMonIcon_Lickitung[];
+extern const u8 gMonFootprint_Lickitung[];
+extern const u8 gMonFrontPic_Koffing[];
+extern const u8 gMonPalette_Koffing[];
+extern const u8 gMonBackPic_Koffing[];
+extern const u8 gMonShinyPalette_Koffing[];
+extern const u8 gMonIcon_Koffing[];
+extern const u8 gMonFootprint_Koffing[];
+extern const u8 gMonFrontPic_Weezing[];
+extern const u8 gMonPalette_Weezing[];
+extern const u8 gMonBackPic_Weezing[];
+extern const u8 gMonShinyPalette_Weezing[];
+extern const u8 gMonIcon_Weezing[];
+extern const u8 gMonFootprint_Weezing[];
+extern const u8 gMonFrontPic_Rhyhorn[];
+extern const u8 gMonPalette_Rhyhorn[];
+extern const u8 gMonBackPic_Rhyhorn[];
+extern const u8 gMonShinyPalette_Rhyhorn[];
+extern const u8 gMonIcon_Rhyhorn[];
+extern const u8 gMonFootprint_Rhyhorn[];
+extern const u8 gMonFrontPic_Rhydon[];
+extern const u8 gMonPalette_Rhydon[];
+extern const u8 gMonBackPic_Rhydon[];
+extern const u8 gMonShinyPalette_Rhydon[];
+extern const u8 gMonIcon_Rhydon[];
+extern const u8 gMonFootprint_Rhydon[];
+extern const u8 gMonFrontPic_Chansey[];
+extern const u8 gMonPalette_Chansey[];
+extern const u8 gMonBackPic_Chansey[];
+extern const u8 gMonShinyPalette_Chansey[];
+extern const u8 gMonIcon_Chansey[];
+extern const u8 gMonFootprint_Chansey[];
+extern const u8 gMonFrontPic_Tangela[];
+extern const u8 gMonPalette_Tangela[];
+extern const u8 gMonBackPic_Tangela[];
+extern const u8 gMonShinyPalette_Tangela[];
+extern const u8 gMonIcon_Tangela[];
+extern const u8 gMonFootprint_Tangela[];
+extern const u8 gMonFrontPic_Kangaskhan[];
+extern const u8 gMonPalette_Kangaskhan[];
+extern const u8 gMonBackPic_Kangaskhan[];
+extern const u8 gMonShinyPalette_Kangaskhan[];
+extern const u8 gMonIcon_Kangaskhan[];
+extern const u8 gMonFootprint_Kangaskhan[];
+extern const u8 gMonFrontPic_Horsea[];
+extern const u8 gMonPalette_Horsea[];
+extern const u8 gMonBackPic_Horsea[];
+extern const u8 gMonShinyPalette_Horsea[];
+extern const u8 gMonIcon_Horsea[];
+extern const u8 gMonFootprint_Horsea[];
+extern const u8 gMonFrontPic_Seadra[];
+extern const u8 gMonPalette_Seadra[];
+extern const u8 gMonBackPic_Seadra[];
+extern const u8 gMonShinyPalette_Seadra[];
+extern const u8 gMonIcon_Seadra[];
+extern const u8 gMonFootprint_Seadra[];
+extern const u8 gMonFrontPic_Goldeen[];
+extern const u8 gMonPalette_Goldeen[];
+extern const u8 gMonBackPic_Goldeen[];
+extern const u8 gMonShinyPalette_Goldeen[];
+extern const u8 gMonIcon_Goldeen[];
+extern const u8 gMonFootprint_Goldeen[];
+extern const u8 gMonFrontPic_Seaking[];
+extern const u8 gMonPalette_Seaking[];
+extern const u8 gMonBackPic_Seaking[];
+extern const u8 gMonShinyPalette_Seaking[];
+extern const u8 gMonIcon_Seaking[];
+extern const u8 gMonFootprint_Seaking[];
+extern const u8 gMonFrontPic_Staryu[];
+extern const u8 gMonPalette_Staryu[];
+extern const u8 gMonBackPic_Staryu[];
+extern const u8 gMonShinyPalette_Staryu[];
+extern const u8 gMonIcon_Staryu[];
+extern const u8 gMonFootprint_Staryu[];
+extern const u8 gMonFrontPic_Starmie[];
+extern const u8 gMonPalette_Starmie[];
+extern const u8 gMonBackPic_Starmie[];
+extern const u8 gMonShinyPalette_Starmie[];
+extern const u8 gMonIcon_Starmie[];
+extern const u8 gMonFootprint_Starmie[];
+extern const u8 gMonFrontPic_Mrmime[];
+extern const u8 gMonPalette_Mrmime[];
+extern const u8 gMonBackPic_Mrmime[];
+extern const u8 gMonShinyPalette_Mrmime[];
+extern const u8 gMonIcon_Mrmime[];
+extern const u8 gMonFootprint_Mrmime[];
+extern const u8 gMonFrontPic_Scyther[];
+extern const u8 gMonPalette_Scyther[];
+extern const u8 gMonBackPic_Scyther[];
+extern const u8 gMonShinyPalette_Scyther[];
+extern const u8 gMonIcon_Scyther[];
+extern const u8 gMonFootprint_Scyther[];
+extern const u8 gMonFrontPic_Jynx[];
+extern const u8 gMonPalette_Jynx[];
+extern const u8 gMonBackPic_Jynx[];
+extern const u8 gMonShinyPalette_Jynx[];
+extern const u8 gMonIcon_Jynx[];
+extern const u8 gMonFootprint_Jynx[];
+extern const u8 gMonFrontPic_Electabuzz[];
+extern const u8 gMonPalette_Electabuzz[];
+extern const u8 gMonBackPic_Electabuzz[];
+extern const u8 gMonShinyPalette_Electabuzz[];
+extern const u8 gMonIcon_Electabuzz[];
+extern const u8 gMonFootprint_Electabuzz[];
+extern const u8 gMonFrontPic_Magmar[];
+extern const u8 gMonPalette_Magmar[];
+extern const u8 gMonBackPic_Magmar[];
+extern const u8 gMonShinyPalette_Magmar[];
+extern const u8 gMonIcon_Magmar[];
+extern const u8 gMonFootprint_Magmar[];
+extern const u8 gMonFrontPic_Pinsir[];
+extern const u8 gMonPalette_Pinsir[];
+extern const u8 gMonBackPic_Pinsir[];
+extern const u8 gMonShinyPalette_Pinsir[];
+extern const u8 gMonIcon_Pinsir[];
+extern const u8 gMonFootprint_Pinsir[];
+extern const u8 gMonFrontPic_Tauros[];
+extern const u8 gMonPalette_Tauros[];
+extern const u8 gMonBackPic_Tauros[];
+extern const u8 gMonShinyPalette_Tauros[];
+extern const u8 gMonIcon_Tauros[];
+extern const u8 gMonFootprint_Tauros[];
+extern const u8 gMonFrontPic_Magikarp[];
+extern const u8 gMonPalette_Magikarp[];
+extern const u8 gMonBackPic_Magikarp[];
+extern const u8 gMonShinyPalette_Magikarp[];
+extern const u8 gMonIcon_Magikarp[];
+extern const u8 gMonFootprint_Magikarp[];
+extern const u8 gMonFrontPic_Gyarados[];
+extern const u8 gMonPalette_Gyarados[];
+extern const u8 gMonBackPic_Gyarados[];
+extern const u8 gMonShinyPalette_Gyarados[];
+extern const u8 gMonIcon_Gyarados[];
+extern const u8 gMonFootprint_Gyarados[];
+extern const u8 gMonFrontPic_Lapras[];
+extern const u8 gMonPalette_Lapras[];
+extern const u8 gMonBackPic_Lapras[];
+extern const u8 gMonShinyPalette_Lapras[];
+extern const u8 gMonIcon_Lapras[];
+extern const u8 gMonFootprint_Lapras[];
+extern const u8 gMonFrontPic_Ditto[];
+extern const u8 gMonPalette_Ditto[];
+extern const u8 gMonBackPic_Ditto[];
+extern const u8 gMonShinyPalette_Ditto[];
+extern const u8 gMonIcon_Ditto[];
+extern const u8 gMonFootprint_Ditto[];
+extern const u8 gMonFrontPic_Eevee[];
+extern const u8 gMonPalette_Eevee[];
+extern const u8 gMonBackPic_Eevee[];
+extern const u8 gMonShinyPalette_Eevee[];
+extern const u8 gMonIcon_Eevee[];
+extern const u8 gMonFootprint_Eevee[];
+extern const u8 gMonFrontPic_Vaporeon[];
+extern const u8 gMonPalette_Vaporeon[];
+extern const u8 gMonBackPic_Vaporeon[];
+extern const u8 gMonShinyPalette_Vaporeon[];
+extern const u8 gMonIcon_Vaporeon[];
+extern const u8 gMonFootprint_Vaporeon[];
+extern const u8 gMonFrontPic_Jolteon[];
+extern const u8 gMonPalette_Jolteon[];
+extern const u8 gMonBackPic_Jolteon[];
+extern const u8 gMonShinyPalette_Jolteon[];
+extern const u8 gMonIcon_Jolteon[];
+extern const u8 gMonFootprint_Jolteon[];
+extern const u8 gMonFrontPic_Flareon[];
+extern const u8 gMonPalette_Flareon[];
+extern const u8 gMonBackPic_Flareon[];
+extern const u8 gMonShinyPalette_Flareon[];
+extern const u8 gMonIcon_Flareon[];
+extern const u8 gMonFootprint_Flareon[];
+extern const u8 gMonFrontPic_Porygon[];
+extern const u8 gMonPalette_Porygon[];
+extern const u8 gMonBackPic_Porygon[];
+extern const u8 gMonShinyPalette_Porygon[];
+extern const u8 gMonIcon_Porygon[];
+extern const u8 gMonFootprint_Porygon[];
+extern const u8 gMonFrontPic_Omanyte[];
+extern const u8 gMonPalette_Omanyte[];
+extern const u8 gMonBackPic_Omanyte[];
+extern const u8 gMonShinyPalette_Omanyte[];
+extern const u8 gMonIcon_Omanyte[];
+extern const u8 gMonFootprint_Omanyte[];
+extern const u8 gMonFrontPic_Omastar[];
+extern const u8 gMonPalette_Omastar[];
+extern const u8 gMonBackPic_Omastar[];
+extern const u8 gMonShinyPalette_Omastar[];
+extern const u8 gMonIcon_Omastar[];
+extern const u8 gMonFootprint_Omastar[];
+extern const u8 gMonFrontPic_Kabuto[];
+extern const u8 gMonPalette_Kabuto[];
+extern const u8 gMonBackPic_Kabuto[];
+extern const u8 gMonShinyPalette_Kabuto[];
+extern const u8 gMonIcon_Kabuto[];
+extern const u8 gMonFootprint_Kabuto[];
+extern const u8 gMonFrontPic_Kabutops[];
+extern const u8 gMonPalette_Kabutops[];
+extern const u8 gMonBackPic_Kabutops[];
+extern const u8 gMonShinyPalette_Kabutops[];
+extern const u8 gMonIcon_Kabutops[];
+extern const u8 gMonFootprint_Kabutops[];
+extern const u8 gMonFrontPic_Aerodactyl[];
+extern const u8 gMonPalette_Aerodactyl[];
+extern const u8 gMonBackPic_Aerodactyl[];
+extern const u8 gMonShinyPalette_Aerodactyl[];
+extern const u8 gMonIcon_Aerodactyl[];
+extern const u8 gMonFootprint_Aerodactyl[];
+extern const u8 gMonFrontPic_Snorlax[];
+extern const u8 gMonPalette_Snorlax[];
+extern const u8 gMonBackPic_Snorlax[];
+extern const u8 gMonShinyPalette_Snorlax[];
+extern const u8 gMonIcon_Snorlax[];
+extern const u8 gMonFootprint_Snorlax[];
+extern const u8 gMonFrontPic_Articuno[];
+extern const u8 gMonPalette_Articuno[];
+extern const u8 gMonBackPic_Articuno[];
+extern const u8 gMonShinyPalette_Articuno[];
+extern const u8 gMonIcon_Articuno[];
+extern const u8 gMonFootprint_Articuno[];
+extern const u8 gMonFrontPic_Zapdos[];
+extern const u8 gMonPalette_Zapdos[];
+extern const u8 gMonBackPic_Zapdos[];
+extern const u8 gMonShinyPalette_Zapdos[];
+extern const u8 gMonIcon_Zapdos[];
+extern const u8 gMonFootprint_Zapdos[];
+extern const u8 gMonFrontPic_Moltres[];
+extern const u8 gMonPalette_Moltres[];
+extern const u8 gMonBackPic_Moltres[];
+extern const u8 gMonShinyPalette_Moltres[];
+extern const u8 gMonIcon_Moltres[];
+extern const u8 gMonFootprint_Moltres[];
+extern const u8 gMonFrontPic_Dratini[];
+extern const u8 gMonPalette_Dratini[];
+extern const u8 gMonBackPic_Dratini[];
+extern const u8 gMonShinyPalette_Dratini[];
+extern const u8 gMonIcon_Dratini[];
+extern const u8 gMonFootprint_Dratini[];
+extern const u8 gMonFrontPic_Dragonair[];
+extern const u8 gMonPalette_Dragonair[];
+extern const u8 gMonBackPic_Dragonair[];
+extern const u8 gMonShinyPalette_Dragonair[];
+extern const u8 gMonIcon_Dragonair[];
+extern const u8 gMonFootprint_Dragonair[];
+extern const u8 gMonFrontPic_Dragonite[];
+extern const u8 gMonPalette_Dragonite[];
+extern const u8 gMonBackPic_Dragonite[];
+extern const u8 gMonShinyPalette_Dragonite[];
+extern const u8 gMonIcon_Dragonite[];
+extern const u8 gMonFootprint_Dragonite[];
+extern const u8 gMonFrontPic_Mewtwo[];
+extern const u8 gMonPalette_Mewtwo[];
+extern const u8 gMonBackPic_Mewtwo[];
+extern const u8 gMonShinyPalette_Mewtwo[];
+extern const u8 gMonIcon_Mewtwo[];
+extern const u8 gMonFootprint_Mewtwo[];
+extern const u8 gMonFrontPic_Mew[];
+extern const u8 gMonPalette_Mew[];
+extern const u8 gMonBackPic_Mew[];
+extern const u8 gMonShinyPalette_Mew[];
+extern const u8 gMonIcon_Mew[];
+extern const u8 gMonFootprint_Mew[];
+extern const u8 gMonFrontPic_Chikorita[];
+extern const u8 gMonPalette_Chikorita[];
+extern const u8 gMonBackPic_Chikorita[];
+extern const u8 gMonShinyPalette_Chikorita[];
+extern const u8 gMonIcon_Chikorita[];
+extern const u8 gMonFootprint_Chikorita[];
+extern const u8 gMonFrontPic_Bayleef[];
+extern const u8 gMonPalette_Bayleef[];
+extern const u8 gMonBackPic_Bayleef[];
+extern const u8 gMonShinyPalette_Bayleef[];
+extern const u8 gMonIcon_Bayleef[];
+extern const u8 gMonFootprint_Bayleef[];
+extern const u8 gMonFrontPic_Meganium[];
+extern const u8 gMonPalette_Meganium[];
+extern const u8 gMonBackPic_Meganium[];
+extern const u8 gMonShinyPalette_Meganium[];
+extern const u8 gMonIcon_Meganium[];
+extern const u8 gMonFootprint_Meganium[];
+extern const u8 gMonFrontPic_Cyndaquil[];
+extern const u8 gMonPalette_Cyndaquil[];
+extern const u8 gMonBackPic_Cyndaquil[];
+extern const u8 gMonShinyPalette_Cyndaquil[];
+extern const u8 gMonIcon_Cyndaquil[];
+extern const u8 gMonFootprint_Cyndaquil[];
+extern const u8 gMonFrontPic_Quilava[];
+extern const u8 gMonPalette_Quilava[];
+extern const u8 gMonBackPic_Quilava[];
+extern const u8 gMonShinyPalette_Quilava[];
+extern const u8 gMonIcon_Quilava[];
+extern const u8 gMonFootprint_Quilava[];
+extern const u8 gMonFrontPic_Typhlosion[];
+extern const u8 gMonPalette_Typhlosion[];
+extern const u8 gMonBackPic_Typhlosion[];
+extern const u8 gMonShinyPalette_Typhlosion[];
+extern const u8 gMonIcon_Typhlosion[];
+extern const u8 gMonFootprint_Typhlosion[];
+extern const u8 gMonFrontPic_Totodile[];
+extern const u8 gMonPalette_Totodile[];
+extern const u8 gMonBackPic_Totodile[];
+extern const u8 gMonShinyPalette_Totodile[];
+extern const u8 gMonIcon_Totodile[];
+extern const u8 gMonFootprint_Totodile[];
+extern const u8 gMonFrontPic_Croconaw[];
+extern const u8 gMonPalette_Croconaw[];
+extern const u8 gMonBackPic_Croconaw[];
+extern const u8 gMonShinyPalette_Croconaw[];
+extern const u8 gMonIcon_Croconaw[];
+extern const u8 gMonFootprint_Croconaw[];
+extern const u8 gMonFrontPic_Feraligatr[];
+extern const u8 gMonPalette_Feraligatr[];
+extern const u8 gMonBackPic_Feraligatr[];
+extern const u8 gMonShinyPalette_Feraligatr[];
+extern const u8 gMonIcon_Feraligatr[];
+extern const u8 gMonFootprint_Feraligatr[];
+extern const u8 gMonFrontPic_Sentret[];
+extern const u8 gMonPalette_Sentret[];
+extern const u8 gMonBackPic_Sentret[];
+extern const u8 gMonShinyPalette_Sentret[];
+extern const u8 gMonIcon_Sentret[];
+extern const u8 gMonFootprint_Sentret[];
+extern const u8 gMonFrontPic_Furret[];
+extern const u8 gMonPalette_Furret[];
+extern const u8 gMonBackPic_Furret[];
+extern const u8 gMonShinyPalette_Furret[];
+extern const u8 gMonIcon_Furret[];
+extern const u8 gMonFootprint_Furret[];
+extern const u8 gMonFrontPic_Hoothoot[];
+extern const u8 gMonPalette_Hoothoot[];
+extern const u8 gMonBackPic_Hoothoot[];
+extern const u8 gMonShinyPalette_Hoothoot[];
+extern const u8 gMonIcon_Hoothoot[];
+extern const u8 gMonFootprint_Hoothoot[];
+extern const u8 gMonFrontPic_Noctowl[];
+extern const u8 gMonPalette_Noctowl[];
+extern const u8 gMonBackPic_Noctowl[];
+extern const u8 gMonShinyPalette_Noctowl[];
+extern const u8 gMonIcon_Noctowl[];
+extern const u8 gMonFootprint_Noctowl[];
+extern const u8 gMonFrontPic_Ledyba[];
+extern const u8 gMonPalette_Ledyba[];
+extern const u8 gMonBackPic_Ledyba[];
+extern const u8 gMonShinyPalette_Ledyba[];
+extern const u8 gMonIcon_Ledyba[];
+extern const u8 gMonFootprint_Ledyba[];
+extern const u8 gMonFrontPic_Ledian[];
+extern const u8 gMonPalette_Ledian[];
+extern const u8 gMonBackPic_Ledian[];
+extern const u8 gMonShinyPalette_Ledian[];
+extern const u8 gMonIcon_Ledian[];
+extern const u8 gMonFootprint_Ledian[];
+extern const u8 gMonFrontPic_Spinarak[];
+extern const u8 gMonPalette_Spinarak[];
+extern const u8 gMonBackPic_Spinarak[];
+extern const u8 gMonShinyPalette_Spinarak[];
+extern const u8 gMonIcon_Spinarak[];
+extern const u8 gMonFootprint_Spinarak[];
+extern const u8 gMonFrontPic_Ariados[];
+extern const u8 gMonPalette_Ariados[];
+extern const u8 gMonBackPic_Ariados[];
+extern const u8 gMonShinyPalette_Ariados[];
+extern const u8 gMonIcon_Ariados[];
+extern const u8 gMonFootprint_Ariados[];
+extern const u8 gMonFrontPic_Crobat[];
+extern const u8 gMonPalette_Crobat[];
+extern const u8 gMonBackPic_Crobat[];
+extern const u8 gMonShinyPalette_Crobat[];
+extern const u8 gMonIcon_Crobat[];
+extern const u8 gMonFootprint_Crobat[];
+extern const u8 gMonFrontPic_Chinchou[];
+extern const u8 gMonPalette_Chinchou[];
+extern const u8 gMonBackPic_Chinchou[];
+extern const u8 gMonShinyPalette_Chinchou[];
+extern const u8 gMonIcon_Chinchou[];
+extern const u8 gMonFootprint_Chinchou[];
+extern const u8 gMonFrontPic_Lanturn[];
+extern const u8 gMonPalette_Lanturn[];
+extern const u8 gMonBackPic_Lanturn[];
+extern const u8 gMonShinyPalette_Lanturn[];
+extern const u8 gMonIcon_Lanturn[];
+extern const u8 gMonFootprint_Lanturn[];
+extern const u8 gMonFrontPic_Pichu[];
+extern const u8 gMonPalette_Pichu[];
+extern const u8 gMonBackPic_Pichu[];
+extern const u8 gMonShinyPalette_Pichu[];
+extern const u8 gMonIcon_Pichu[];
+extern const u8 gMonFootprint_Pichu[];
+extern const u8 gMonFrontPic_Cleffa[];
+extern const u8 gMonPalette_Cleffa[];
+extern const u8 gMonBackPic_Cleffa[];
+extern const u8 gMonShinyPalette_Cleffa[];
+extern const u8 gMonIcon_Cleffa[];
+extern const u8 gMonFootprint_Cleffa[];
+extern const u8 gMonFrontPic_Igglybuff[];
+extern const u8 gMonPalette_Igglybuff[];
+extern const u8 gMonBackPic_Igglybuff[];
+extern const u8 gMonShinyPalette_Igglybuff[];
+extern const u8 gMonIcon_Igglybuff[];
+extern const u8 gMonFootprint_Igglybuff[];
+extern const u8 gMonFrontPic_Togepi[];
+extern const u8 gMonPalette_Togepi[];
+extern const u8 gMonBackPic_Togepi[];
+extern const u8 gMonShinyPalette_Togepi[];
+extern const u8 gMonIcon_Togepi[];
+extern const u8 gMonFootprint_Togepi[];
+extern const u8 gMonFrontPic_Togetic[];
+extern const u8 gMonPalette_Togetic[];
+extern const u8 gMonBackPic_Togetic[];
+extern const u8 gMonShinyPalette_Togetic[];
+extern const u8 gMonIcon_Togetic[];
+extern const u8 gMonFootprint_Togetic[];
+extern const u8 gMonFrontPic_Natu[];
+extern const u8 gMonPalette_Natu[];
+extern const u8 gMonBackPic_Natu[];
+extern const u8 gMonShinyPalette_Natu[];
+extern const u8 gMonIcon_Natu[];
+extern const u8 gMonFootprint_Natu[];
+extern const u8 gMonFrontPic_Xatu[];
+extern const u8 gMonPalette_Xatu[];
+extern const u8 gMonBackPic_Xatu[];
+extern const u8 gMonShinyPalette_Xatu[];
+extern const u8 gMonIcon_Xatu[];
+extern const u8 gMonFootprint_Xatu[];
+extern const u8 gMonFrontPic_Mareep[];
+extern const u8 gMonPalette_Mareep[];
+extern const u8 gMonBackPic_Mareep[];
+extern const u8 gMonShinyPalette_Mareep[];
+extern const u8 gMonIcon_Mareep[];
+extern const u8 gMonFootprint_Mareep[];
+extern const u8 gMonFrontPic_Flaaffy[];
+extern const u8 gMonPalette_Flaaffy[];
+extern const u8 gMonBackPic_Flaaffy[];
+extern const u8 gMonShinyPalette_Flaaffy[];
+extern const u8 gMonIcon_Flaaffy[];
+extern const u8 gMonFootprint_Flaaffy[];
+extern const u8 gMonFrontPic_Ampharos[];
+extern const u8 gMonPalette_Ampharos[];
+extern const u8 gMonBackPic_Ampharos[];
+extern const u8 gMonShinyPalette_Ampharos[];
+extern const u8 gMonIcon_Ampharos[];
+extern const u8 gMonFootprint_Ampharos[];
+extern const u8 gMonFrontPic_Bellossom[];
+extern const u8 gMonPalette_Bellossom[];
+extern const u8 gMonBackPic_Bellossom[];
+extern const u8 gMonShinyPalette_Bellossom[];
+extern const u8 gMonIcon_Bellossom[];
+extern const u8 gMonFootprint_Bellossom[];
+extern const u8 gMonFrontPic_Marill[];
+extern const u8 gMonPalette_Marill[];
+extern const u8 gMonBackPic_Marill[];
+extern const u8 gMonShinyPalette_Marill[];
+extern const u8 gMonIcon_Marill[];
+extern const u8 gMonFootprint_Marill[];
+extern const u8 gMonFrontPic_Azumarill[];
+extern const u8 gMonPalette_Azumarill[];
+extern const u8 gMonBackPic_Azumarill[];
+extern const u8 gMonShinyPalette_Azumarill[];
+extern const u8 gMonIcon_Azumarill[];
+extern const u8 gMonFootprint_Azumarill[];
+extern const u8 gMonFrontPic_Sudowoodo[];
+extern const u8 gMonPalette_Sudowoodo[];
+extern const u8 gMonBackPic_Sudowoodo[];
+extern const u8 gMonShinyPalette_Sudowoodo[];
+extern const u8 gMonIcon_Sudowoodo[];
+extern const u8 gMonFootprint_Sudowoodo[];
+extern const u8 gMonFrontPic_Politoed[];
+extern const u8 gMonPalette_Politoed[];
+extern const u8 gMonBackPic_Politoed[];
+extern const u8 gMonShinyPalette_Politoed[];
+extern const u8 gMonIcon_Politoed[];
+extern const u8 gMonFootprint_Politoed[];
+extern const u8 gMonFrontPic_Hoppip[];
+extern const u8 gMonPalette_Hoppip[];
+extern const u8 gMonBackPic_Hoppip[];
+extern const u8 gMonShinyPalette_Hoppip[];
+extern const u8 gMonIcon_Hoppip[];
+extern const u8 gMonFootprint_Hoppip[];
+extern const u8 gMonFrontPic_Skiploom[];
+extern const u8 gMonPalette_Skiploom[];
+extern const u8 gMonBackPic_Skiploom[];
+extern const u8 gMonShinyPalette_Skiploom[];
+extern const u8 gMonIcon_Skiploom[];
+extern const u8 gMonFootprint_Skiploom[];
+extern const u8 gMonFrontPic_Jumpluff[];
+extern const u8 gMonPalette_Jumpluff[];
+extern const u8 gMonBackPic_Jumpluff[];
+extern const u8 gMonShinyPalette_Jumpluff[];
+extern const u8 gMonIcon_Jumpluff[];
+extern const u8 gMonFootprint_Jumpluff[];
+extern const u8 gMonFrontPic_Aipom[];
+extern const u8 gMonPalette_Aipom[];
+extern const u8 gMonBackPic_Aipom[];
+extern const u8 gMonShinyPalette_Aipom[];
+extern const u8 gMonIcon_Aipom[];
+extern const u8 gMonFootprint_Aipom[];
+extern const u8 gMonFrontPic_Sunkern[];
+extern const u8 gMonPalette_Sunkern[];
+extern const u8 gMonBackPic_Sunkern[];
+extern const u8 gMonShinyPalette_Sunkern[];
+extern const u8 gMonIcon_Sunkern[];
+extern const u8 gMonFootprint_Sunkern[];
+extern const u8 gMonFrontPic_Sunflora[];
+extern const u8 gMonPalette_Sunflora[];
+extern const u8 gMonBackPic_Sunflora[];
+extern const u8 gMonShinyPalette_Sunflora[];
+extern const u8 gMonIcon_Sunflora[];
+extern const u8 gMonFootprint_Sunflora[];
+extern const u8 gMonFrontPic_Yanma[];
+extern const u8 gMonPalette_Yanma[];
+extern const u8 gMonBackPic_Yanma[];
+extern const u8 gMonShinyPalette_Yanma[];
+extern const u8 gMonIcon_Yanma[];
+extern const u8 gMonFootprint_Yanma[];
+extern const u8 gMonFrontPic_Wooper[];
+extern const u8 gMonPalette_Wooper[];
+extern const u8 gMonBackPic_Wooper[];
+extern const u8 gMonShinyPalette_Wooper[];
+extern const u8 gMonIcon_Wooper[];
+extern const u8 gMonFootprint_Wooper[];
+extern const u8 gMonFrontPic_Quagsire[];
+extern const u8 gMonPalette_Quagsire[];
+extern const u8 gMonBackPic_Quagsire[];
+extern const u8 gMonShinyPalette_Quagsire[];
+extern const u8 gMonIcon_Quagsire[];
+extern const u8 gMonFootprint_Quagsire[];
+extern const u8 gMonFrontPic_Espeon[];
+extern const u8 gMonPalette_Espeon[];
+extern const u8 gMonBackPic_Espeon[];
+extern const u8 gMonShinyPalette_Espeon[];
+extern const u8 gMonIcon_Espeon[];
+extern const u8 gMonFootprint_Espeon[];
+extern const u8 gMonFrontPic_Umbreon[];
+extern const u8 gMonPalette_Umbreon[];
+extern const u8 gMonBackPic_Umbreon[];
+extern const u8 gMonShinyPalette_Umbreon[];
+extern const u8 gMonIcon_Umbreon[];
+extern const u8 gMonFootprint_Umbreon[];
+extern const u8 gMonFrontPic_Murkrow[];
+extern const u8 gMonPalette_Murkrow[];
+extern const u8 gMonBackPic_Murkrow[];
+extern const u8 gMonShinyPalette_Murkrow[];
+extern const u8 gMonIcon_Murkrow[];
+extern const u8 gMonFootprint_Murkrow[];
+extern const u8 gMonFrontPic_Slowking[];
+extern const u8 gMonPalette_Slowking[];
+extern const u8 gMonBackPic_Slowking[];
+extern const u8 gMonShinyPalette_Slowking[];
+extern const u8 gMonIcon_Slowking[];
+extern const u8 gMonFootprint_Slowking[];
+extern const u8 gMonFrontPic_Misdreavus[];
+extern const u8 gMonPalette_Misdreavus[];
+extern const u8 gMonBackPic_Misdreavus[];
+extern const u8 gMonShinyPalette_Misdreavus[];
+extern const u8 gMonIcon_Misdreavus[];
+extern const u8 gMonFootprint_Misdreavus[];
+extern const u8 gMonFrontPic_UnownA[];
+extern const u8 gMonPalette_Unown[];
+extern const u8 gMonBackPic_UnownA[];
+extern const u8 gMonShinyPalette_Unown[];
+extern const u8 gMonIcon_UnownA[];
+extern const u8 gMonFootprint_Unown[];
+extern const u8 gMonFrontPic_Wobbuffet[];
+extern const u8 gMonPalette_Wobbuffet[];
+extern const u8 gMonBackPic_Wobbuffet[];
+extern const u8 gMonShinyPalette_Wobbuffet[];
+extern const u8 gMonIcon_Wobbuffet[];
+extern const u8 gMonFootprint_Wobbuffet[];
+extern const u8 gMonFrontPic_Girafarig[];
+extern const u8 gMonPalette_Girafarig[];
+extern const u8 gMonBackPic_Girafarig[];
+extern const u8 gMonShinyPalette_Girafarig[];
+extern const u8 gMonIcon_Girafarig[];
+extern const u8 gMonFootprint_Girafarig[];
+extern const u8 gMonFrontPic_Pineco[];
+extern const u8 gMonPalette_Pineco[];
+extern const u8 gMonBackPic_Pineco[];
+extern const u8 gMonShinyPalette_Pineco[];
+extern const u8 gMonIcon_Pineco[];
+extern const u8 gMonFootprint_Pineco[];
+extern const u8 gMonFrontPic_Forretress[];
+extern const u8 gMonPalette_Forretress[];
+extern const u8 gMonBackPic_Forretress[];
+extern const u8 gMonShinyPalette_Forretress[];
+extern const u8 gMonIcon_Forretress[];
+extern const u8 gMonFootprint_Forretress[];
+extern const u8 gMonFrontPic_Dunsparce[];
+extern const u8 gMonPalette_Dunsparce[];
+extern const u8 gMonBackPic_Dunsparce[];
+extern const u8 gMonShinyPalette_Dunsparce[];
+extern const u8 gMonIcon_Dunsparce[];
+extern const u8 gMonFootprint_Dunsparce[];
+extern const u8 gMonFrontPic_Gligar[];
+extern const u8 gMonPalette_Gligar[];
+extern const u8 gMonBackPic_Gligar[];
+extern const u8 gMonShinyPalette_Gligar[];
+extern const u8 gMonIcon_Gligar[];
+extern const u8 gMonFootprint_Gligar[];
+extern const u8 gMonFrontPic_Steelix[];
+extern const u8 gMonPalette_Steelix[];
+extern const u8 gMonBackPic_Steelix[];
+extern const u8 gMonShinyPalette_Steelix[];
+extern const u8 gMonIcon_Steelix[];
+extern const u8 gMonFootprint_Steelix[];
+extern const u8 gMonFrontPic_Snubbull[];
+extern const u8 gMonPalette_Snubbull[];
+extern const u8 gMonBackPic_Snubbull[];
+extern const u8 gMonShinyPalette_Snubbull[];
+extern const u8 gMonIcon_Snubbull[];
+extern const u8 gMonFootprint_Snubbull[];
+extern const u8 gMonFrontPic_Granbull[];
+extern const u8 gMonPalette_Granbull[];
+extern const u8 gMonBackPic_Granbull[];
+extern const u8 gMonShinyPalette_Granbull[];
+extern const u8 gMonIcon_Granbull[];
+extern const u8 gMonFootprint_Granbull[];
+extern const u8 gMonFrontPic_Qwilfish[];
+extern const u8 gMonPalette_Qwilfish[];
+extern const u8 gMonBackPic_Qwilfish[];
+extern const u8 gMonShinyPalette_Qwilfish[];
+extern const u8 gMonIcon_Qwilfish[];
+extern const u8 gMonFootprint_Qwilfish[];
+extern const u8 gMonFrontPic_Scizor[];
+extern const u8 gMonPalette_Scizor[];
+extern const u8 gMonBackPic_Scizor[];
+extern const u8 gMonShinyPalette_Scizor[];
+extern const u8 gMonIcon_Scizor[];
+extern const u8 gMonFootprint_Scizor[];
+extern const u8 gMonFrontPic_Shuckle[];
+extern const u8 gMonPalette_Shuckle[];
+extern const u8 gMonBackPic_Shuckle[];
+extern const u8 gMonShinyPalette_Shuckle[];
+extern const u8 gMonIcon_Shuckle[];
+extern const u8 gMonFootprint_Shuckle[];
+extern const u8 gMonFrontPic_Heracross[];
+extern const u8 gMonPalette_Heracross[];
+extern const u8 gMonBackPic_Heracross[];
+extern const u8 gMonShinyPalette_Heracross[];
+extern const u8 gMonIcon_Heracross[];
+extern const u8 gMonFootprint_Heracross[];
+extern const u8 gMonFrontPic_Sneasel[];
+extern const u8 gMonPalette_Sneasel[];
+extern const u8 gMonBackPic_Sneasel[];
+extern const u8 gMonShinyPalette_Sneasel[];
+extern const u8 gMonIcon_Sneasel[];
+extern const u8 gMonFootprint_Sneasel[];
+extern const u8 gMonFrontPic_Teddiursa[];
+extern const u8 gMonPalette_Teddiursa[];
+extern const u8 gMonBackPic_Teddiursa[];
+extern const u8 gMonShinyPalette_Teddiursa[];
+extern const u8 gMonIcon_Teddiursa[];
+extern const u8 gMonFootprint_Teddiursa[];
+extern const u8 gMonFrontPic_Ursaring[];
+extern const u8 gMonPalette_Ursaring[];
+extern const u8 gMonBackPic_Ursaring[];
+extern const u8 gMonShinyPalette_Ursaring[];
+extern const u8 gMonIcon_Ursaring[];
+extern const u8 gMonFootprint_Ursaring[];
+extern const u8 gMonFrontPic_Slugma[];
+extern const u8 gMonPalette_Slugma[];
+extern const u8 gMonBackPic_Slugma[];
+extern const u8 gMonShinyPalette_Slugma[];
+extern const u8 gMonIcon_Slugma[];
+extern const u8 gMonFootprint_Slugma[];
+extern const u8 gMonFrontPic_Magcargo[];
+extern const u8 gMonPalette_Magcargo[];
+extern const u8 gMonBackPic_Magcargo[];
+extern const u8 gMonShinyPalette_Magcargo[];
+extern const u8 gMonIcon_Magcargo[];
+extern const u8 gMonFootprint_Magcargo[];
+extern const u8 gMonFrontPic_Swinub[];
+extern const u8 gMonPalette_Swinub[];
+extern const u8 gMonBackPic_Swinub[];
+extern const u8 gMonShinyPalette_Swinub[];
+extern const u8 gMonIcon_Swinub[];
+extern const u8 gMonFootprint_Swinub[];
+extern const u8 gMonFrontPic_Piloswine[];
+extern const u8 gMonPalette_Piloswine[];
+extern const u8 gMonBackPic_Piloswine[];
+extern const u8 gMonShinyPalette_Piloswine[];
+extern const u8 gMonIcon_Piloswine[];
+extern const u8 gMonFootprint_Piloswine[];
+extern const u8 gMonFrontPic_Corsola[];
+extern const u8 gMonPalette_Corsola[];
+extern const u8 gMonBackPic_Corsola[];
+extern const u8 gMonShinyPalette_Corsola[];
+extern const u8 gMonIcon_Corsola[];
+extern const u8 gMonFootprint_Corsola[];
+extern const u8 gMonFrontPic_Remoraid[];
+extern const u8 gMonPalette_Remoraid[];
+extern const u8 gMonBackPic_Remoraid[];
+extern const u8 gMonShinyPalette_Remoraid[];
+extern const u8 gMonIcon_Remoraid[];
+extern const u8 gMonFootprint_Remoraid[];
+extern const u8 gMonFrontPic_Octillery[];
+extern const u8 gMonPalette_Octillery[];
+extern const u8 gMonBackPic_Octillery[];
+extern const u8 gMonShinyPalette_Octillery[];
+extern const u8 gMonIcon_Octillery[];
+extern const u8 gMonFootprint_Octillery[];
+extern const u8 gMonFrontPic_Delibird[];
+extern const u8 gMonPalette_Delibird[];
+extern const u8 gMonBackPic_Delibird[];
+extern const u8 gMonShinyPalette_Delibird[];
+extern const u8 gMonIcon_Delibird[];
+extern const u8 gMonFootprint_Delibird[];
+extern const u8 gMonFrontPic_Mantine[];
+extern const u8 gMonPalette_Mantine[];
+extern const u8 gMonBackPic_Mantine[];
+extern const u8 gMonShinyPalette_Mantine[];
+extern const u8 gMonIcon_Mantine[];
+extern const u8 gMonFootprint_Mantine[];
+extern const u8 gMonFrontPic_Skarmory[];
+extern const u8 gMonPalette_Skarmory[];
+extern const u8 gMonBackPic_Skarmory[];
+extern const u8 gMonShinyPalette_Skarmory[];
+extern const u8 gMonIcon_Skarmory[];
+extern const u8 gMonFootprint_Skarmory[];
+extern const u8 gMonFrontPic_Houndour[];
+extern const u8 gMonPalette_Houndour[];
+extern const u8 gMonBackPic_Houndour[];
+extern const u8 gMonShinyPalette_Houndour[];
+extern const u8 gMonIcon_Houndour[];
+extern const u8 gMonFootprint_Houndour[];
+extern const u8 gMonFrontPic_Houndoom[];
+extern const u8 gMonPalette_Houndoom[];
+extern const u8 gMonBackPic_Houndoom[];
+extern const u8 gMonShinyPalette_Houndoom[];
+extern const u8 gMonIcon_Houndoom[];
+extern const u8 gMonFootprint_Houndoom[];
+extern const u8 gMonFrontPic_Kingdra[];
+extern const u8 gMonPalette_Kingdra[];
+extern const u8 gMonBackPic_Kingdra[];
+extern const u8 gMonShinyPalette_Kingdra[];
+extern const u8 gMonIcon_Kingdra[];
+extern const u8 gMonFootprint_Kingdra[];
+extern const u8 gMonFrontPic_Phanpy[];
+extern const u8 gMonPalette_Phanpy[];
+extern const u8 gMonBackPic_Phanpy[];
+extern const u8 gMonShinyPalette_Phanpy[];
+extern const u8 gMonIcon_Phanpy[];
+extern const u8 gMonFootprint_Phanpy[];
+extern const u8 gMonFrontPic_Donphan[];
+extern const u8 gMonPalette_Donphan[];
+extern const u8 gMonBackPic_Donphan[];
+extern const u8 gMonShinyPalette_Donphan[];
+extern const u8 gMonIcon_Donphan[];
+extern const u8 gMonFootprint_Donphan[];
+extern const u8 gMonFrontPic_Porygon2[];
+extern const u8 gMonPalette_Porygon2[];
+extern const u8 gMonBackPic_Porygon2[];
+extern const u8 gMonShinyPalette_Porygon2[];
+extern const u8 gMonIcon_Porygon2[];
+extern const u8 gMonFootprint_Porygon2[];
+extern const u8 gMonFrontPic_Stantler[];
+extern const u8 gMonPalette_Stantler[];
+extern const u8 gMonBackPic_Stantler[];
+extern const u8 gMonShinyPalette_Stantler[];
+extern const u8 gMonIcon_Stantler[];
+extern const u8 gMonFootprint_Stantler[];
+extern const u8 gMonFrontPic_Smeargle[];
+extern const u8 gMonPalette_Smeargle[];
+extern const u8 gMonBackPic_Smeargle[];
+extern const u8 gMonShinyPalette_Smeargle[];
+extern const u8 gMonIcon_Smeargle[];
+extern const u8 gMonFootprint_Smeargle[];
+extern const u8 gMonFrontPic_Tyrogue[];
+extern const u8 gMonPalette_Tyrogue[];
+extern const u8 gMonBackPic_Tyrogue[];
+extern const u8 gMonShinyPalette_Tyrogue[];
+extern const u8 gMonIcon_Tyrogue[];
+extern const u8 gMonFootprint_Tyrogue[];
+extern const u8 gMonFrontPic_Hitmontop[];
+extern const u8 gMonPalette_Hitmontop[];
+extern const u8 gMonBackPic_Hitmontop[];
+extern const u8 gMonShinyPalette_Hitmontop[];
+extern const u8 gMonIcon_Hitmontop[];
+extern const u8 gMonFootprint_Hitmontop[];
+extern const u8 gMonFrontPic_Smoochum[];
+extern const u8 gMonPalette_Smoochum[];
+extern const u8 gMonBackPic_Smoochum[];
+extern const u8 gMonShinyPalette_Smoochum[];
+extern const u8 gMonIcon_Smoochum[];
+extern const u8 gMonFootprint_Smoochum[];
+extern const u8 gMonFrontPic_Elekid[];
+extern const u8 gMonPalette_Elekid[];
+extern const u8 gMonBackPic_Elekid[];
+extern const u8 gMonShinyPalette_Elekid[];
+extern const u8 gMonIcon_Elekid[];
+extern const u8 gMonFootprint_Elekid[];
+extern const u8 gMonFrontPic_Magby[];
+extern const u8 gMonPalette_Magby[];
+extern const u8 gMonBackPic_Magby[];
+extern const u8 gMonShinyPalette_Magby[];
+extern const u8 gMonIcon_Magby[];
+extern const u8 gMonFootprint_Magby[];
+extern const u8 gMonFrontPic_Miltank[];
+extern const u8 gMonPalette_Miltank[];
+extern const u8 gMonBackPic_Miltank[];
+extern const u8 gMonShinyPalette_Miltank[];
+extern const u8 gMonIcon_Miltank[];
+extern const u8 gMonFootprint_Miltank[];
+extern const u8 gMonFrontPic_Blissey[];
+extern const u8 gMonPalette_Blissey[];
+extern const u8 gMonBackPic_Blissey[];
+extern const u8 gMonShinyPalette_Blissey[];
+extern const u8 gMonIcon_Blissey[];
+extern const u8 gMonFootprint_Blissey[];
+extern const u8 gMonFrontPic_Raikou[];
+extern const u8 gMonPalette_Raikou[];
+extern const u8 gMonBackPic_Raikou[];
+extern const u8 gMonShinyPalette_Raikou[];
+extern const u8 gMonIcon_Raikou[];
+extern const u8 gMonFootprint_Raikou[];
+extern const u8 gMonFrontPic_Entei[];
+extern const u8 gMonPalette_Entei[];
+extern const u8 gMonBackPic_Entei[];
+extern const u8 gMonShinyPalette_Entei[];
+extern const u8 gMonIcon_Entei[];
+extern const u8 gMonFootprint_Entei[];
+extern const u8 gMonFrontPic_Suicune[];
+extern const u8 gMonPalette_Suicune[];
+extern const u8 gMonBackPic_Suicune[];
+extern const u8 gMonShinyPalette_Suicune[];
+extern const u8 gMonIcon_Suicune[];
+extern const u8 gMonFootprint_Suicune[];
+extern const u8 gMonFrontPic_Larvitar[];
+extern const u8 gMonPalette_Larvitar[];
+extern const u8 gMonBackPic_Larvitar[];
+extern const u8 gMonShinyPalette_Larvitar[];
+extern const u8 gMonIcon_Larvitar[];
+extern const u8 gMonFootprint_Larvitar[];
+extern const u8 gMonFrontPic_Pupitar[];
+extern const u8 gMonPalette_Pupitar[];
+extern const u8 gMonBackPic_Pupitar[];
+extern const u8 gMonShinyPalette_Pupitar[];
+extern const u8 gMonIcon_Pupitar[];
+extern const u8 gMonFootprint_Pupitar[];
+extern const u8 gMonFrontPic_Tyranitar[];
+extern const u8 gMonPalette_Tyranitar[];
+extern const u8 gMonBackPic_Tyranitar[];
+extern const u8 gMonShinyPalette_Tyranitar[];
+extern const u8 gMonIcon_Tyranitar[];
+extern const u8 gMonFootprint_Tyranitar[];
+extern const u8 gMonFrontPic_Lugia[];
+extern const u8 gMonPalette_Lugia[];
+extern const u8 gMonBackPic_Lugia[];
+extern const u8 gMonShinyPalette_Lugia[];
+extern const u8 gMonIcon_Lugia[];
+extern const u8 gMonFootprint_Lugia[];
+extern const u8 gMonFrontPic_HoOh[];
+extern const u8 gMonPalette_HoOh[];
+extern const u8 gMonBackPic_HoOh[];
+extern const u8 gMonShinyPalette_HoOh[];
+extern const u8 gMonIcon_HoOh[];
+extern const u8 gMonFootprint_HoOh[];
+extern const u8 gMonFrontPic_Celebi[];
+extern const u8 gMonPalette_Celebi[];
+extern const u8 gMonBackPic_Celebi[];
+extern const u8 gMonShinyPalette_Celebi[];
+extern const u8 gMonIcon_Celebi[];
+extern const u8 gMonFootprint_Celebi[];
+extern const u8 gMonFrontPic_QuestionMark[];
+extern const u8 gMonPalette_QuestionMark[];
+extern const u8 gMonBackPic_QuestionMark[];
+extern const u8 gMonShinyPalette_QuestionMark[];
+extern const u8 gMonFrontPic_Treecko[];
+extern const u8 gMonPalette_Treecko[];
+extern const u8 gMonBackPic_Treecko[];
+extern const u8 gMonShinyPalette_Treecko[];
+extern const u8 gMonIcon_Treecko[];
+extern const u8 gMonFootprint_Treecko[];
+extern const u8 gMonFrontPic_Grovyle[];
+extern const u8 gMonPalette_Grovyle[];
+extern const u8 gMonBackPic_Grovyle[];
+extern const u8 gMonShinyPalette_Grovyle[];
+extern const u8 gMonIcon_Grovyle[];
+extern const u8 gMonFootprint_Grovyle[];
+extern const u8 gMonFrontPic_Sceptile[];
+extern const u8 gMonPalette_Sceptile[];
+extern const u8 gMonBackPic_Sceptile[];
+extern const u8 gMonShinyPalette_Sceptile[];
+extern const u8 gMonIcon_Sceptile[];
+extern const u8 gMonFootprint_Sceptile[];
+extern const u8 gMonFrontPic_Torchic[];
+extern const u8 gMonPalette_Torchic[];
+extern const u8 gMonBackPic_Torchic[];
+extern const u8 gMonShinyPalette_Torchic[];
+extern const u8 gMonIcon_Torchic[];
+extern const u8 gMonFootprint_Torchic[];
+extern const u8 gMonFrontPic_Combusken[];
+extern const u8 gMonPalette_Combusken[];
+extern const u8 gMonBackPic_Combusken[];
+extern const u8 gMonShinyPalette_Combusken[];
+extern const u8 gMonIcon_Combusken[];
+extern const u8 gMonFootprint_Combusken[];
+extern const u8 gMonFrontPic_Blaziken[];
+extern const u8 gMonPalette_Blaziken[];
+extern const u8 gMonBackPic_Blaziken[];
+extern const u8 gMonShinyPalette_Blaziken[];
+extern const u8 gMonIcon_Blaziken[];
+extern const u8 gMonFootprint_Blaziken[];
+extern const u8 gMonFrontPic_Mudkip[];
+extern const u8 gMonPalette_Mudkip[];
+extern const u8 gMonBackPic_Mudkip[];
+extern const u8 gMonShinyPalette_Mudkip[];
+extern const u8 gMonIcon_Mudkip[];
+extern const u8 gMonFootprint_Mudkip[];
+extern const u8 gMonFrontPic_Marshtomp[];
+extern const u8 gMonPalette_Marshtomp[];
+extern const u8 gMonBackPic_Marshtomp[];
+extern const u8 gMonShinyPalette_Marshtomp[];
+extern const u8 gMonIcon_Marshtomp[];
+extern const u8 gMonFootprint_Marshtomp[];
+extern const u8 gMonFrontPic_Swampert[];
+extern const u8 gMonPalette_Swampert[];
+extern const u8 gMonBackPic_Swampert[];
+extern const u8 gMonShinyPalette_Swampert[];
+extern const u8 gMonIcon_Swampert[];
+extern const u8 gMonFootprint_Swampert[];
+extern const u8 gMonFrontPic_Poochyena[];
+extern const u8 gMonPalette_Poochyena[];
+extern const u8 gMonBackPic_Poochyena[];
+extern const u8 gMonShinyPalette_Poochyena[];
+extern const u8 gMonIcon_Poochyena[];
+extern const u8 gMonFootprint_Poochyena[];
+extern const u8 gMonFrontPic_Mightyena[];
+extern const u8 gMonPalette_Mightyena[];
+extern const u8 gMonBackPic_Mightyena[];
+extern const u8 gMonShinyPalette_Mightyena[];
+extern const u8 gMonIcon_Mightyena[];
+extern const u8 gMonFootprint_Mightyena[];
+extern const u8 gMonFrontPic_Zigzagoon[];
+extern const u8 gMonPalette_Zigzagoon[];
+extern const u8 gMonBackPic_Zigzagoon[];
+extern const u8 gMonShinyPalette_Zigzagoon[];
+extern const u8 gMonIcon_Zigzagoon[];
+extern const u8 gMonFootprint_Zigzagoon[];
+extern const u8 gMonFrontPic_Linoone[];
+extern const u8 gMonPalette_Linoone[];
+extern const u8 gMonBackPic_Linoone[];
+extern const u8 gMonShinyPalette_Linoone[];
+extern const u8 gMonIcon_Linoone[];
+extern const u8 gMonFootprint_Linoone[];
+extern const u8 gMonFrontPic_Wurmple[];
+extern const u8 gMonPalette_Wurmple[];
+extern const u8 gMonBackPic_Wurmple[];
+extern const u8 gMonShinyPalette_Wurmple[];
+extern const u8 gMonIcon_Wurmple[];
+extern const u8 gMonFootprint_Wurmple[];
+extern const u8 gMonFrontPic_Silcoon[];
+extern const u8 gMonPalette_Silcoon[];
+extern const u8 gMonBackPic_Silcoon[];
+extern const u8 gMonShinyPalette_Silcoon[];
+extern const u8 gMonIcon_Silcoon[];
+extern const u8 gMonFootprint_Silcoon[];
+extern const u8 gMonFrontPic_Beautifly[];
+extern const u8 gMonPalette_Beautifly[];
+extern const u8 gMonBackPic_Beautifly[];
+extern const u8 gMonShinyPalette_Beautifly[];
+extern const u8 gMonIcon_Beautifly[];
+extern const u8 gMonFootprint_Beautifly[];
+extern const u8 gMonFrontPic_Cascoon[];
+extern const u8 gMonPalette_Cascoon[];
+extern const u8 gMonBackPic_Cascoon[];
+extern const u8 gMonShinyPalette_Cascoon[];
+extern const u8 gMonIcon_Cascoon[];
+extern const u8 gMonFootprint_Cascoon[];
+extern const u8 gMonFrontPic_Dustox[];
+extern const u8 gMonPalette_Dustox[];
+extern const u8 gMonBackPic_Dustox[];
+extern const u8 gMonShinyPalette_Dustox[];
+extern const u8 gMonIcon_Dustox[];
+extern const u8 gMonFootprint_Dustox[];
+extern const u8 gMonFrontPic_Lotad[];
+extern const u8 gMonPalette_Lotad[];
+extern const u8 gMonBackPic_Lotad[];
+extern const u8 gMonShinyPalette_Lotad[];
+extern const u8 gMonIcon_Lotad[];
+extern const u8 gMonFootprint_Lotad[];
+extern const u8 gMonFrontPic_Lombre[];
+extern const u8 gMonPalette_Lombre[];
+extern const u8 gMonBackPic_Lombre[];
+extern const u8 gMonShinyPalette_Lombre[];
+extern const u8 gMonIcon_Lombre[];
+extern const u8 gMonFootprint_Lombre[];
+extern const u8 gMonFrontPic_Ludicolo[];
+extern const u8 gMonPalette_Ludicolo[];
+extern const u8 gMonBackPic_Ludicolo[];
+extern const u8 gMonShinyPalette_Ludicolo[];
+extern const u8 gMonIcon_Ludicolo[];
+extern const u8 gMonFootprint_Ludicolo[];
+extern const u8 gMonFrontPic_Seedot[];
+extern const u8 gMonPalette_Seedot[];
+extern const u8 gMonBackPic_Seedot[];
+extern const u8 gMonShinyPalette_Seedot[];
+extern const u8 gMonIcon_Seedot[];
+extern const u8 gMonFootprint_Seedot[];
+extern const u8 gMonFrontPic_Nuzleaf[];
+extern const u8 gMonPalette_Nuzleaf[];
+extern const u8 gMonBackPic_Nuzleaf[];
+extern const u8 gMonShinyPalette_Nuzleaf[];
+extern const u8 gMonIcon_Nuzleaf[];
+extern const u8 gMonFootprint_Nuzleaf[];
+extern const u8 gMonFrontPic_Shiftry[];
+extern const u8 gMonPalette_Shiftry[];
+extern const u8 gMonBackPic_Shiftry[];
+extern const u8 gMonShinyPalette_Shiftry[];
+extern const u8 gMonIcon_Shiftry[];
+extern const u8 gMonFootprint_Shiftry[];
+extern const u8 gMonFrontPic_Nincada[];
+extern const u8 gMonPalette_Nincada[];
+extern const u8 gMonBackPic_Nincada[];
+extern const u8 gMonShinyPalette_Nincada[];
+extern const u8 gMonIcon_Nincada[];
+extern const u8 gMonFootprint_Nincada[];
+extern const u8 gMonFrontPic_Ninjask[];
+extern const u8 gMonPalette_Ninjask[];
+extern const u8 gMonBackPic_Ninjask[];
+extern const u8 gMonShinyPalette_Ninjask[];
+extern const u8 gMonIcon_Ninjask[];
+extern const u8 gMonFootprint_Ninjask[];
+extern const u8 gMonFrontPic_Shedinja[];
+extern const u8 gMonPalette_Shedinja[];
+extern const u8 gMonBackPic_Shedinja[];
+extern const u8 gMonShinyPalette_Shedinja[];
+extern const u8 gMonIcon_Shedinja[];
+extern const u8 gMonFootprint_Shedinja[];
+extern const u8 gMonFrontPic_Taillow[];
+extern const u8 gMonPalette_Taillow[];
+extern const u8 gMonBackPic_Taillow[];
+extern const u8 gMonShinyPalette_Taillow[];
+extern const u8 gMonIcon_Taillow[];
+extern const u8 gMonFootprint_Taillow[];
+extern const u8 gMonFrontPic_Swellow[];
+extern const u8 gMonPalette_Swellow[];
+extern const u8 gMonBackPic_Swellow[];
+extern const u8 gMonShinyPalette_Swellow[];
+extern const u8 gMonIcon_Swellow[];
+extern const u8 gMonFootprint_Swellow[];
+extern const u8 gMonFrontPic_Shroomish[];
+extern const u8 gMonPalette_Shroomish[];
+extern const u8 gMonBackPic_Shroomish[];
+extern const u8 gMonShinyPalette_Shroomish[];
+extern const u8 gMonIcon_Shroomish[];
+extern const u8 gMonFootprint_Shroomish[];
+extern const u8 gMonFrontPic_Breloom[];
+extern const u8 gMonPalette_Breloom[];
+extern const u8 gMonBackPic_Breloom[];
+extern const u8 gMonShinyPalette_Breloom[];
+extern const u8 gMonIcon_Breloom[];
+extern const u8 gMonFootprint_Breloom[];
+extern const u8 gMonFrontPic_Spinda[];
+extern const u8 gMonPalette_Spinda[];
+extern const u8 gMonBackPic_Spinda[];
+extern const u8 gMonShinyPalette_Spinda[];
+extern const u8 gMonIcon_Spinda[];
+extern const u8 gMonFootprint_Spinda[];
+extern const u8 gMonFrontPic_Wingull[];
+extern const u8 gMonPalette_Wingull[];
+extern const u8 gMonBackPic_Wingull[];
+extern const u8 gMonShinyPalette_Wingull[];
+extern const u8 gMonIcon_Wingull[];
+extern const u8 gMonFootprint_Wingull[];
+extern const u8 gMonFrontPic_Pelipper[];
+extern const u8 gMonPalette_Pelipper[];
+extern const u8 gMonBackPic_Pelipper[];
+extern const u8 gMonShinyPalette_Pelipper[];
+extern const u8 gMonIcon_Pelipper[];
+extern const u8 gMonFootprint_Pelipper[];
+extern const u8 gMonFrontPic_Surskit[];
+extern const u8 gMonPalette_Surskit[];
+extern const u8 gMonBackPic_Surskit[];
+extern const u8 gMonShinyPalette_Surskit[];
+extern const u8 gMonIcon_Surskit[];
+extern const u8 gMonFootprint_Surskit[];
+extern const u8 gMonFrontPic_Masquerain[];
+extern const u8 gMonPalette_Masquerain[];
+extern const u8 gMonBackPic_Masquerain[];
+extern const u8 gMonShinyPalette_Masquerain[];
+extern const u8 gMonIcon_Masquerain[];
+extern const u8 gMonFootprint_Masquerain[];
+extern const u8 gMonFrontPic_Wailmer[];
+extern const u8 gMonPalette_Wailmer[];
+extern const u8 gMonBackPic_Wailmer[];
+extern const u8 gMonShinyPalette_Wailmer[];
+extern const u8 gMonIcon_Wailmer[];
+extern const u8 gMonFootprint_Wailmer[];
+extern const u8 gMonFrontPic_Wailord[];
+extern const u8 gMonPalette_Wailord[];
+extern const u8 gMonBackPic_Wailord[];
+extern const u8 gMonShinyPalette_Wailord[];
+extern const u8 gMonIcon_Wailord[];
+extern const u8 gMonFootprint_Wailord[];
+extern const u8 gMonFrontPic_Skitty[];
+extern const u8 gMonPalette_Skitty[];
+extern const u8 gMonBackPic_Skitty[];
+extern const u8 gMonShinyPalette_Skitty[];
+extern const u8 gMonIcon_Skitty[];
+extern const u8 gMonFootprint_Skitty[];
+extern const u8 gMonFrontPic_Delcatty[];
+extern const u8 gMonPalette_Delcatty[];
+extern const u8 gMonBackPic_Delcatty[];
+extern const u8 gMonShinyPalette_Delcatty[];
+extern const u8 gMonIcon_Delcatty[];
+extern const u8 gMonFootprint_Delcatty[];
+extern const u8 gMonFrontPic_Kecleon[];
+extern const u8 gMonPalette_Kecleon[];
+extern const u8 gMonBackPic_Kecleon[];
+extern const u8 gMonShinyPalette_Kecleon[];
+extern const u8 gMonIcon_Kecleon[];
+extern const u8 gMonFootprint_Kecleon[];
+extern const u8 gMonFrontPic_Baltoy[];
+extern const u8 gMonPalette_Baltoy[];
+extern const u8 gMonBackPic_Baltoy[];
+extern const u8 gMonShinyPalette_Baltoy[];
+extern const u8 gMonIcon_Baltoy[];
+extern const u8 gMonFootprint_Baltoy[];
+extern const u8 gMonFrontPic_Claydol[];
+extern const u8 gMonPalette_Claydol[];
+extern const u8 gMonBackPic_Claydol[];
+extern const u8 gMonShinyPalette_Claydol[];
+extern const u8 gMonIcon_Claydol[];
+extern const u8 gMonFootprint_Claydol[];
+extern const u8 gMonFrontPic_Nosepass[];
+extern const u8 gMonPalette_Nosepass[];
+extern const u8 gMonBackPic_Nosepass[];
+extern const u8 gMonShinyPalette_Nosepass[];
+extern const u8 gMonIcon_Nosepass[];
+extern const u8 gMonFootprint_Nosepass[];
+extern const u8 gMonFrontPic_Torkoal[];
+extern const u8 gMonPalette_Torkoal[];
+extern const u8 gMonBackPic_Torkoal[];
+extern const u8 gMonShinyPalette_Torkoal[];
+extern const u8 gMonIcon_Torkoal[];
+extern const u8 gMonFootprint_Torkoal[];
+extern const u8 gMonFrontPic_Sableye[];
+extern const u8 gMonPalette_Sableye[];
+extern const u8 gMonBackPic_Sableye[];
+extern const u8 gMonShinyPalette_Sableye[];
+extern const u8 gMonIcon_Sableye[];
+extern const u8 gMonFootprint_Sableye[];
+extern const u8 gMonFrontPic_Barboach[];
+extern const u8 gMonPalette_Barboach[];
+extern const u8 gMonBackPic_Barboach[];
+extern const u8 gMonShinyPalette_Barboach[];
+extern const u8 gMonIcon_Barboach[];
+extern const u8 gMonFootprint_Barboach[];
+extern const u8 gMonFrontPic_Whiscash[];
+extern const u8 gMonPalette_Whiscash[];
+extern const u8 gMonBackPic_Whiscash[];
+extern const u8 gMonShinyPalette_Whiscash[];
+extern const u8 gMonIcon_Whiscash[];
+extern const u8 gMonFootprint_Whiscash[];
+extern const u8 gMonFrontPic_Luvdisc[];
+extern const u8 gMonPalette_Luvdisc[];
+extern const u8 gMonBackPic_Luvdisc[];
+extern const u8 gMonShinyPalette_Luvdisc[];
+extern const u8 gMonIcon_Luvdisc[];
+extern const u8 gMonFootprint_Luvdisc[];
+extern const u8 gMonFrontPic_Corphish[];
+extern const u8 gMonPalette_Corphish[];
+extern const u8 gMonBackPic_Corphish[];
+extern const u8 gMonShinyPalette_Corphish[];
+extern const u8 gMonIcon_Corphish[];
+extern const u8 gMonFootprint_Corphish[];
+extern const u8 gMonFrontPic_Crawdaunt[];
+extern const u8 gMonPalette_Crawdaunt[];
+extern const u8 gMonBackPic_Crawdaunt[];
+extern const u8 gMonShinyPalette_Crawdaunt[];
+extern const u8 gMonIcon_Crawdaunt[];
+extern const u8 gMonFootprint_Crawdaunt[];
+extern const u8 gMonFrontPic_Feebas[];
+extern const u8 gMonPalette_Feebas[];
+extern const u8 gMonBackPic_Feebas[];
+extern const u8 gMonShinyPalette_Feebas[];
+extern const u8 gMonIcon_Feebas[];
+extern const u8 gMonFootprint_Feebas[];
+extern const u8 gMonFrontPic_Milotic[];
+extern const u8 gMonPalette_Milotic[];
+extern const u8 gMonBackPic_Milotic[];
+extern const u8 gMonShinyPalette_Milotic[];
+extern const u8 gMonIcon_Milotic[];
+extern const u8 gMonFootprint_Milotic[];
+extern const u8 gMonFrontPic_Carvanha[];
+extern const u8 gMonPalette_Carvanha[];
+extern const u8 gMonBackPic_Carvanha[];
+extern const u8 gMonShinyPalette_Carvanha[];
+extern const u8 gMonIcon_Carvanha[];
+extern const u8 gMonFootprint_Carvanha[];
+extern const u8 gMonFrontPic_Sharpedo[];
+extern const u8 gMonPalette_Sharpedo[];
+extern const u8 gMonBackPic_Sharpedo[];
+extern const u8 gMonShinyPalette_Sharpedo[];
+extern const u8 gMonIcon_Sharpedo[];
+extern const u8 gMonFootprint_Sharpedo[];
+extern const u8 gMonFrontPic_Trapinch[];
+extern const u8 gMonPalette_Trapinch[];
+extern const u8 gMonBackPic_Trapinch[];
+extern const u8 gMonShinyPalette_Trapinch[];
+extern const u8 gMonIcon_Trapinch[];
+extern const u8 gMonFootprint_Trapinch[];
+extern const u8 gMonFrontPic_Vibrava[];
+extern const u8 gMonPalette_Vibrava[];
+extern const u8 gMonBackPic_Vibrava[];
+extern const u8 gMonShinyPalette_Vibrava[];
+extern const u8 gMonIcon_Vibrava[];
+extern const u8 gMonFootprint_Vibrava[];
+extern const u8 gMonFrontPic_Flygon[];
+extern const u8 gMonPalette_Flygon[];
+extern const u8 gMonBackPic_Flygon[];
+extern const u8 gMonShinyPalette_Flygon[];
+extern const u8 gMonIcon_Flygon[];
+extern const u8 gMonFootprint_Flygon[];
+extern const u8 gMonFrontPic_Makuhita[];
+extern const u8 gMonPalette_Makuhita[];
+extern const u8 gMonBackPic_Makuhita[];
+extern const u8 gMonShinyPalette_Makuhita[];
+extern const u8 gMonIcon_Makuhita[];
+extern const u8 gMonFootprint_Makuhita[];
+extern const u8 gMonFrontPic_Hariyama[];
+extern const u8 gMonPalette_Hariyama[];
+extern const u8 gMonBackPic_Hariyama[];
+extern const u8 gMonShinyPalette_Hariyama[];
+extern const u8 gMonIcon_Hariyama[];
+extern const u8 gMonFootprint_Hariyama[];
+extern const u8 gMonFrontPic_Electrike[];
+extern const u8 gMonPalette_Electrike[];
+extern const u8 gMonBackPic_Electrike[];
+extern const u8 gMonShinyPalette_Electrike[];
+extern const u8 gMonIcon_Electrike[];
+extern const u8 gMonFootprint_Electrike[];
+extern const u8 gMonFrontPic_Manectric[];
+extern const u8 gMonPalette_Manectric[];
+extern const u8 gMonBackPic_Manectric[];
+extern const u8 gMonShinyPalette_Manectric[];
+extern const u8 gMonIcon_Manectric[];
+extern const u8 gMonFootprint_Manectric[];
+extern const u8 gMonFrontPic_Numel[];
+extern const u8 gMonPalette_Numel[];
+extern const u8 gMonBackPic_Numel[];
+extern const u8 gMonShinyPalette_Numel[];
+extern const u8 gMonIcon_Numel[];
+extern const u8 gMonFootprint_Numel[];
+extern const u8 gMonFrontPic_Camerupt[];
+extern const u8 gMonPalette_Camerupt[];
+extern const u8 gMonBackPic_Camerupt[];
+extern const u8 gMonShinyPalette_Camerupt[];
+extern const u8 gMonIcon_Camerupt[];
+extern const u8 gMonFootprint_Camerupt[];
+extern const u8 gMonFrontPic_Spheal[];
+extern const u8 gMonPalette_Spheal[];
+extern const u8 gMonBackPic_Spheal[];
+extern const u8 gMonShinyPalette_Spheal[];
+extern const u8 gMonIcon_Spheal[];
+extern const u8 gMonFootprint_Spheal[];
+extern const u8 gMonFrontPic_Sealeo[];
+extern const u8 gMonPalette_Sealeo[];
+extern const u8 gMonBackPic_Sealeo[];
+extern const u8 gMonShinyPalette_Sealeo[];
+extern const u8 gMonIcon_Sealeo[];
+extern const u8 gMonFootprint_Sealeo[];
+extern const u8 gMonFrontPic_Walrein[];
+extern const u8 gMonPalette_Walrein[];
+extern const u8 gMonBackPic_Walrein[];
+extern const u8 gMonShinyPalette_Walrein[];
+extern const u8 gMonIcon_Walrein[];
+extern const u8 gMonFootprint_Walrein[];
+extern const u8 gMonFrontPic_Cacnea[];
+extern const u8 gMonPalette_Cacnea[];
+extern const u8 gMonBackPic_Cacnea[];
+extern const u8 gMonShinyPalette_Cacnea[];
+extern const u8 gMonIcon_Cacnea[];
+extern const u8 gMonFootprint_Cacnea[];
+extern const u8 gMonFrontPic_Cacturne[];
+extern const u8 gMonPalette_Cacturne[];
+extern const u8 gMonBackPic_Cacturne[];
+extern const u8 gMonShinyPalette_Cacturne[];
+extern const u8 gMonIcon_Cacturne[];
+extern const u8 gMonFootprint_Cacturne[];
+extern const u8 gMonFrontPic_Snorunt[];
+extern const u8 gMonPalette_Snorunt[];
+extern const u8 gMonBackPic_Snorunt[];
+extern const u8 gMonShinyPalette_Snorunt[];
+extern const u8 gMonIcon_Snorunt[];
+extern const u8 gMonFootprint_Snorunt[];
+extern const u8 gMonFrontPic_Glalie[];
+extern const u8 gMonPalette_Glalie[];
+extern const u8 gMonBackPic_Glalie[];
+extern const u8 gMonShinyPalette_Glalie[];
+extern const u8 gMonIcon_Glalie[];
+extern const u8 gMonFootprint_Glalie[];
+extern const u8 gMonFrontPic_Lunatone[];
+extern const u8 gMonPalette_Lunatone[];
+extern const u8 gMonBackPic_Lunatone[];
+extern const u8 gMonShinyPalette_Lunatone[];
+extern const u8 gMonIcon_Lunatone[];
+extern const u8 gMonFootprint_Lunatone[];
+extern const u8 gMonFrontPic_Solrock[];
+extern const u8 gMonPalette_Solrock[];
+extern const u8 gMonBackPic_Solrock[];
+extern const u8 gMonShinyPalette_Solrock[];
+extern const u8 gMonIcon_Solrock[];
+extern const u8 gMonFootprint_Solrock[];
+extern const u8 gMonFrontPic_Azurill[];
+extern const u8 gMonPalette_Azurill[];
+extern const u8 gMonBackPic_Azurill[];
+extern const u8 gMonShinyPalette_Azurill[];
+extern const u8 gMonIcon_Azurill[];
+extern const u8 gMonFootprint_Azurill[];
+extern const u8 gMonFrontPic_Spoink[];
+extern const u8 gMonPalette_Spoink[];
+extern const u8 gMonBackPic_Spoink[];
+extern const u8 gMonShinyPalette_Spoink[];
+extern const u8 gMonIcon_Spoink[];
+extern const u8 gMonFootprint_Spoink[];
+extern const u8 gMonFrontPic_Grumpig[];
+extern const u8 gMonPalette_Grumpig[];
+extern const u8 gMonBackPic_Grumpig[];
+extern const u8 gMonShinyPalette_Grumpig[];
+extern const u8 gMonIcon_Grumpig[];
+extern const u8 gMonFootprint_Grumpig[];
+extern const u8 gMonFrontPic_Plusle[];
+extern const u8 gMonPalette_Plusle[];
+extern const u8 gMonBackPic_Plusle[];
+extern const u8 gMonShinyPalette_Plusle[];
+extern const u8 gMonIcon_Plusle[];
+extern const u8 gMonFootprint_Plusle[];
+extern const u8 gMonFrontPic_Minun[];
+extern const u8 gMonPalette_Minun[];
+extern const u8 gMonBackPic_Minun[];
+extern const u8 gMonShinyPalette_Minun[];
+extern const u8 gMonIcon_Minun[];
+extern const u8 gMonFootprint_Minun[];
+extern const u8 gMonFrontPic_Mawile[];
+extern const u8 gMonPalette_Mawile[];
+extern const u8 gMonBackPic_Mawile[];
+extern const u8 gMonShinyPalette_Mawile[];
+extern const u8 gMonIcon_Mawile[];
+extern const u8 gMonFootprint_Mawile[];
+extern const u8 gMonFrontPic_Meditite[];
+extern const u8 gMonPalette_Meditite[];
+extern const u8 gMonBackPic_Meditite[];
+extern const u8 gMonShinyPalette_Meditite[];
+extern const u8 gMonIcon_Meditite[];
+extern const u8 gMonFootprint_Meditite[];
+extern const u8 gMonFrontPic_Medicham[];
+extern const u8 gMonPalette_Medicham[];
+extern const u8 gMonBackPic_Medicham[];
+extern const u8 gMonShinyPalette_Medicham[];
+extern const u8 gMonIcon_Medicham[];
+extern const u8 gMonFootprint_Medicham[];
+extern const u8 gMonFrontPic_Swablu[];
+extern const u8 gMonPalette_Swablu[];
+extern const u8 gMonBackPic_Swablu[];
+extern const u8 gMonShinyPalette_Swablu[];
+extern const u8 gMonIcon_Swablu[];
+extern const u8 gMonFootprint_Swablu[];
+extern const u8 gMonFrontPic_Altaria[];
+extern const u8 gMonPalette_Altaria[];
+extern const u8 gMonBackPic_Altaria[];
+extern const u8 gMonShinyPalette_Altaria[];
+extern const u8 gMonIcon_Altaria[];
+extern const u8 gMonFootprint_Altaria[];
+extern const u8 gMonFrontPic_Wynaut[];
+extern const u8 gMonPalette_Wynaut[];
+extern const u8 gMonBackPic_Wynaut[];
+extern const u8 gMonShinyPalette_Wynaut[];
+extern const u8 gMonIcon_Wynaut[];
+extern const u8 gMonFootprint_Wynaut[];
+extern const u8 gMonFrontPic_Duskull[];
+extern const u8 gMonPalette_Duskull[];
+extern const u8 gMonBackPic_Duskull[];
+extern const u8 gMonShinyPalette_Duskull[];
+extern const u8 gMonIcon_Duskull[];
+extern const u8 gMonFootprint_Duskull[];
+extern const u8 gMonFrontPic_Dusclops[];
+extern const u8 gMonPalette_Dusclops[];
+extern const u8 gMonBackPic_Dusclops[];
+extern const u8 gMonShinyPalette_Dusclops[];
+extern const u8 gMonIcon_Dusclops[];
+extern const u8 gMonFootprint_Dusclops[];
+extern const u8 gMonFrontPic_Roselia[];
+extern const u8 gMonPalette_Roselia[];
+extern const u8 gMonBackPic_Roselia[];
+extern const u8 gMonShinyPalette_Roselia[];
+extern const u8 gMonIcon_Roselia[];
+extern const u8 gMonFootprint_Roselia[];
+extern const u8 gMonFrontPic_Slakoth[];
+extern const u8 gMonPalette_Slakoth[];
+extern const u8 gMonBackPic_Slakoth[];
+extern const u8 gMonShinyPalette_Slakoth[];
+extern const u8 gMonIcon_Slakoth[];
+extern const u8 gMonFootprint_Slakoth[];
+extern const u8 gMonFrontPic_Vigoroth[];
+extern const u8 gMonPalette_Vigoroth[];
+extern const u8 gMonBackPic_Vigoroth[];
+extern const u8 gMonShinyPalette_Vigoroth[];
+extern const u8 gMonIcon_Vigoroth[];
+extern const u8 gMonFootprint_Vigoroth[];
+extern const u8 gMonFrontPic_Slaking[];
+extern const u8 gMonPalette_Slaking[];
+extern const u8 gMonBackPic_Slaking[];
+extern const u8 gMonShinyPalette_Slaking[];
+extern const u8 gMonIcon_Slaking[];
+extern const u8 gMonFootprint_Slaking[];
+extern const u8 gMonFrontPic_Gulpin[];
+extern const u8 gMonPalette_Gulpin[];
+extern const u8 gMonBackPic_Gulpin[];
+extern const u8 gMonShinyPalette_Gulpin[];
+extern const u8 gMonIcon_Gulpin[];
+extern const u8 gMonFootprint_Gulpin[];
+extern const u8 gMonFrontPic_Swalot[];
+extern const u8 gMonPalette_Swalot[];
+extern const u8 gMonBackPic_Swalot[];
+extern const u8 gMonShinyPalette_Swalot[];
+extern const u8 gMonIcon_Swalot[];
+extern const u8 gMonFootprint_Swalot[];
+extern const u8 gMonFrontPic_Tropius[];
+extern const u8 gMonPalette_Tropius[];
+extern const u8 gMonBackPic_Tropius[];
+extern const u8 gMonShinyPalette_Tropius[];
+extern const u8 gMonIcon_Tropius[];
+extern const u8 gMonFootprint_Tropius[];
+extern const u8 gMonFrontPic_Whismur[];
+extern const u8 gMonPalette_Whismur[];
+extern const u8 gMonBackPic_Whismur[];
+extern const u8 gMonShinyPalette_Whismur[];
+extern const u8 gMonIcon_Whismur[];
+extern const u8 gMonFootprint_Whismur[];
+extern const u8 gMonFrontPic_Loudred[];
+extern const u8 gMonPalette_Loudred[];
+extern const u8 gMonBackPic_Loudred[];
+extern const u8 gMonShinyPalette_Loudred[];
+extern const u8 gMonIcon_Loudred[];
+extern const u8 gMonFootprint_Loudred[];
+extern const u8 gMonFrontPic_Exploud[];
+extern const u8 gMonPalette_Exploud[];
+extern const u8 gMonBackPic_Exploud[];
+extern const u8 gMonShinyPalette_Exploud[];
+extern const u8 gMonIcon_Exploud[];
+extern const u8 gMonFootprint_Exploud[];
+extern const u8 gMonFrontPic_Clamperl[];
+extern const u8 gMonPalette_Clamperl[];
+extern const u8 gMonBackPic_Clamperl[];
+extern const u8 gMonShinyPalette_Clamperl[];
+extern const u8 gMonIcon_Clamperl[];
+extern const u8 gMonFootprint_Clamperl[];
+extern const u8 gMonFrontPic_Huntail[];
+extern const u8 gMonPalette_Huntail[];
+extern const u8 gMonBackPic_Huntail[];
+extern const u8 gMonShinyPalette_Huntail[];
+extern const u8 gMonIcon_Huntail[];
+extern const u8 gMonFootprint_Huntail[];
+extern const u8 gMonFrontPic_Gorebyss[];
+extern const u8 gMonPalette_Gorebyss[];
+extern const u8 gMonBackPic_Gorebyss[];
+extern const u8 gMonShinyPalette_Gorebyss[];
+extern const u8 gMonIcon_Gorebyss[];
+extern const u8 gMonFootprint_Gorebyss[];
+extern const u8 gMonFrontPic_Absol[];
+extern const u8 gMonPalette_Absol[];
+extern const u8 gMonBackPic_Absol[];
+extern const u8 gMonShinyPalette_Absol[];
+extern const u8 gMonIcon_Absol[];
+extern const u8 gMonFootprint_Absol[];
+extern const u8 gMonFrontPic_Shuppet[];
+extern const u8 gMonPalette_Shuppet[];
+extern const u8 gMonBackPic_Shuppet[];
+extern const u8 gMonShinyPalette_Shuppet[];
+extern const u8 gMonIcon_Shuppet[];
+extern const u8 gMonFootprint_Shuppet[];
+extern const u8 gMonFrontPic_Banette[];
+extern const u8 gMonPalette_Banette[];
+extern const u8 gMonBackPic_Banette[];
+extern const u8 gMonShinyPalette_Banette[];
+extern const u8 gMonIcon_Banette[];
+extern const u8 gMonFootprint_Banette[];
+extern const u8 gMonFrontPic_Seviper[];
+extern const u8 gMonPalette_Seviper[];
+extern const u8 gMonBackPic_Seviper[];
+extern const u8 gMonShinyPalette_Seviper[];
+extern const u8 gMonIcon_Seviper[];
+extern const u8 gMonFootprint_Seviper[];
+extern const u8 gMonFrontPic_Zangoose[];
+extern const u8 gMonPalette_Zangoose[];
+extern const u8 gMonBackPic_Zangoose[];
+extern const u8 gMonShinyPalette_Zangoose[];
+extern const u8 gMonIcon_Zangoose[];
+extern const u8 gMonFootprint_Zangoose[];
+extern const u8 gMonFrontPic_Relicanth[];
+extern const u8 gMonPalette_Relicanth[];
+extern const u8 gMonBackPic_Relicanth[];
+extern const u8 gMonShinyPalette_Relicanth[];
+extern const u8 gMonIcon_Relicanth[];
+extern const u8 gMonFootprint_Relicanth[];
+extern const u8 gMonFrontPic_Aron[];
+extern const u8 gMonPalette_Aron[];
+extern const u8 gMonBackPic_Aron[];
+extern const u8 gMonShinyPalette_Aron[];
+extern const u8 gMonIcon_Aron[];
+extern const u8 gMonFootprint_Aron[];
+extern const u8 gMonFrontPic_Lairon[];
+extern const u8 gMonPalette_Lairon[];
+extern const u8 gMonBackPic_Lairon[];
+extern const u8 gMonShinyPalette_Lairon[];
+extern const u8 gMonIcon_Lairon[];
+extern const u8 gMonFootprint_Lairon[];
+extern const u8 gMonFrontPic_Aggron[];
+extern const u8 gMonPalette_Aggron[];
+extern const u8 gMonBackPic_Aggron[];
+extern const u8 gMonShinyPalette_Aggron[];
+extern const u8 gMonIcon_Aggron[];
+extern const u8 gMonFootprint_Aggron[];
+extern const u8 gMonFrontPic_Castform[];
+extern const u8 gMonPalette_Castform[];
+extern const u8 gMonBackPic_Castform[];
+extern const u8 gMonShinyPalette_Castform[];
+extern const u8 gMonIcon_Castform[];
+extern const u8 gMonFootprint_Castform[];
+extern const u8 gMonFrontPic_Volbeat[];
+extern const u8 gMonPalette_Volbeat[];
+extern const u8 gMonBackPic_Volbeat[];
+extern const u8 gMonShinyPalette_Volbeat[];
+extern const u8 gMonIcon_Volbeat[];
+extern const u8 gMonFootprint_Volbeat[];
+extern const u8 gMonFrontPic_Illumise[];
+extern const u8 gMonPalette_Illumise[];
+extern const u8 gMonBackPic_Illumise[];
+extern const u8 gMonShinyPalette_Illumise[];
+extern const u8 gMonIcon_Illumise[];
+extern const u8 gMonFootprint_Illumise[];
+extern const u8 gMonFrontPic_Lileep[];
+extern const u8 gMonPalette_Lileep[];
+extern const u8 gMonBackPic_Lileep[];
+extern const u8 gMonShinyPalette_Lileep[];
+extern const u8 gMonIcon_Lileep[];
+extern const u8 gMonFootprint_Lileep[];
+extern const u8 gMonFrontPic_Cradily[];
+extern const u8 gMonPalette_Cradily[];
+extern const u8 gMonBackPic_Cradily[];
+extern const u8 gMonShinyPalette_Cradily[];
+extern const u8 gMonIcon_Cradily[];
+extern const u8 gMonFootprint_Cradily[];
+extern const u8 gMonFrontPic_Anorith[];
+extern const u8 gMonPalette_Anorith[];
+extern const u8 gMonBackPic_Anorith[];
+extern const u8 gMonShinyPalette_Anorith[];
+extern const u8 gMonIcon_Anorith[];
+extern const u8 gMonFootprint_Anorith[];
+extern const u8 gMonFrontPic_Armaldo[];
+extern const u8 gMonPalette_Armaldo[];
+extern const u8 gMonBackPic_Armaldo[];
+extern const u8 gMonShinyPalette_Armaldo[];
+extern const u8 gMonIcon_Armaldo[];
+extern const u8 gMonFootprint_Armaldo[];
+extern const u8 gMonFrontPic_Ralts[];
+extern const u8 gMonPalette_Ralts[];
+extern const u8 gMonBackPic_Ralts[];
+extern const u8 gMonShinyPalette_Ralts[];
+extern const u8 gMonIcon_Ralts[];
+extern const u8 gMonFootprint_Ralts[];
+extern const u8 gMonFrontPic_Kirlia[];
+extern const u8 gMonPalette_Kirlia[];
+extern const u8 gMonBackPic_Kirlia[];
+extern const u8 gMonShinyPalette_Kirlia[];
+extern const u8 gMonIcon_Kirlia[];
+extern const u8 gMonFootprint_Kirlia[];
+extern const u8 gMonFrontPic_Gardevoir[];
+extern const u8 gMonPalette_Gardevoir[];
+extern const u8 gMonBackPic_Gardevoir[];
+extern const u8 gMonShinyPalette_Gardevoir[];
+extern const u8 gMonIcon_Gardevoir[];
+extern const u8 gMonFootprint_Gardevoir[];
+extern const u8 gMonFrontPic_Bagon[];
+extern const u8 gMonPalette_Bagon[];
+extern const u8 gMonBackPic_Bagon[];
+extern const u8 gMonShinyPalette_Bagon[];
+extern const u8 gMonIcon_Bagon[];
+extern const u8 gMonFootprint_Bagon[];
+extern const u8 gMonFrontPic_Shelgon[];
+extern const u8 gMonPalette_Shelgon[];
+extern const u8 gMonBackPic_Shelgon[];
+extern const u8 gMonShinyPalette_Shelgon[];
+extern const u8 gMonIcon_Shelgon[];
+extern const u8 gMonFootprint_Shelgon[];
+extern const u8 gMonFrontPic_Salamence[];
+extern const u8 gMonPalette_Salamence[];
+extern const u8 gMonBackPic_Salamence[];
+extern const u8 gMonShinyPalette_Salamence[];
+extern const u8 gMonIcon_Salamence[];
+extern const u8 gMonFootprint_Salamence[];
+extern const u8 gMonFrontPic_Beldum[];
+extern const u8 gMonPalette_Beldum[];
+extern const u8 gMonBackPic_Beldum[];
+extern const u8 gMonShinyPalette_Beldum[];
+extern const u8 gMonIcon_Beldum[];
+extern const u8 gMonFootprint_Beldum[];
+extern const u8 gMonFrontPic_Metang[];
+extern const u8 gMonPalette_Metang[];
+extern const u8 gMonBackPic_Metang[];
+extern const u8 gMonShinyPalette_Metang[];
+extern const u8 gMonIcon_Metang[];
+extern const u8 gMonFootprint_Metang[];
+extern const u8 gMonFrontPic_Metagross[];
+extern const u8 gMonPalette_Metagross[];
+extern const u8 gMonBackPic_Metagross[];
+extern const u8 gMonShinyPalette_Metagross[];
+extern const u8 gMonIcon_Metagross[];
+extern const u8 gMonFootprint_Metagross[];
+extern const u8 gMonFrontPic_Regirock[];
+extern const u8 gMonPalette_Regirock[];
+extern const u8 gMonBackPic_Regirock[];
+extern const u8 gMonShinyPalette_Regirock[];
+extern const u8 gMonIcon_Regirock[];
+extern const u8 gMonFootprint_Regirock[];
+extern const u8 gMonFrontPic_Regice[];
+extern const u8 gMonPalette_Regice[];
+extern const u8 gMonBackPic_Regice[];
+extern const u8 gMonShinyPalette_Regice[];
+extern const u8 gMonIcon_Regice[];
+extern const u8 gMonFootprint_Regice[];
+extern const u8 gMonFrontPic_Registeel[];
+extern const u8 gMonPalette_Registeel[];
+extern const u8 gMonBackPic_Registeel[];
+extern const u8 gMonShinyPalette_Registeel[];
+extern const u8 gMonIcon_Registeel[];
+extern const u8 gMonFootprint_Registeel[];
+extern const u8 gMonFrontPic_Kyogre[];
+extern const u8 gMonPalette_Kyogre[];
+extern const u8 gMonBackPic_Kyogre[];
+extern const u8 gMonShinyPalette_Kyogre[];
+extern const u8 gMonIcon_Kyogre[];
+extern const u8 gMonFootprint_Kyogre[];
+extern const u8 gMonFrontPic_Groudon[];
+extern const u8 gMonPalette_Groudon[];
+extern const u8 gMonBackPic_Groudon[];
+extern const u8 gMonShinyPalette_Groudon[];
+extern const u8 gMonIcon_Groudon[];
+extern const u8 gMonFootprint_Groudon[];
+extern const u8 gMonFrontPic_Rayquaza[];
+extern const u8 gMonPalette_Rayquaza[];
+extern const u8 gMonBackPic_Rayquaza[];
+extern const u8 gMonShinyPalette_Rayquaza[];
+extern const u8 gMonIcon_Rayquaza[];
+extern const u8 gMonFootprint_Rayquaza[];
+extern const u8 gMonFrontPic_Latias[];
+extern const u8 gMonPalette_Latias[];
+extern const u8 gMonBackPic_Latias[];
+extern const u8 gMonShinyPalette_Latias[];
+extern const u8 gMonIcon_Latias[];
+extern const u8 gMonFootprint_Latias[];
+extern const u8 gMonFrontPic_Latios[];
+extern const u8 gMonPalette_Latios[];
+extern const u8 gMonBackPic_Latios[];
+extern const u8 gMonShinyPalette_Latios[];
+extern const u8 gMonIcon_Latios[];
+extern const u8 gMonFootprint_Latios[];
+extern const u8 gMonFrontPic_Jirachi[];
+extern const u8 gMonPalette_Jirachi[];
+extern const u8 gMonBackPic_Jirachi[];
+extern const u8 gMonShinyPalette_Jirachi[];
+extern const u8 gMonIcon_Jirachi[];
+extern const u8 gMonFootprint_Jirachi[];
+extern const u8 gMonFrontPic_Deoxys[];
+extern const u8 gMonPalette_Deoxys[];
+extern const u8 gMonBackPic_Deoxys[];
+extern const u8 gMonShinyPalette_Deoxys[];
+extern const u8 gMonIcon_Deoxys[];
+extern const u8 gMonFootprint_Deoxys[];
+extern const u8 gMonFrontPic_Chimecho[];
+extern const u8 gMonPalette_Chimecho[];
+extern const u8 gMonBackPic_Chimecho[];
+extern const u8 gMonShinyPalette_Chimecho[];
+extern const u8 gMonIcon_Chimecho[];
+extern const u8 gMonFootprint_Chimecho[];
+extern const u8 gMonPic_Egg[];
+extern const u8 gMonPalette_Egg[];
+extern const u8 gMonFrontPic_UnownB[];
+extern const u8 gMonBackPic_UnownB[];
+extern const u8 gMonIcon_UnownB[];
+extern const u8 gMonFrontPic_UnownC[];
+extern const u8 gMonBackPic_UnownC[];
+extern const u8 gMonIcon_UnownC[];
+extern const u8 gMonFrontPic_UnownD[];
+extern const u8 gMonBackPic_UnownD[];
+extern const u8 gMonIcon_UnownD[];
+extern const u8 gMonFrontPic_UnownE[];
+extern const u8 gMonBackPic_UnownE[];
+extern const u8 gMonIcon_UnownE[];
+extern const u8 gMonFrontPic_UnownF[];
+extern const u8 gMonBackPic_UnownF[];
+extern const u8 gMonIcon_UnownF[];
+extern const u8 gMonFrontPic_UnownG[];
+extern const u8 gMonBackPic_UnownG[];
+extern const u8 gMonIcon_UnownG[];
+extern const u8 gMonFrontPic_UnownH[];
+extern const u8 gMonBackPic_UnownH[];
+extern const u8 gMonIcon_UnownH[];
+extern const u8 gMonFrontPic_UnownI[];
+extern const u8 gMonBackPic_UnownI[];
+extern const u8 gMonIcon_UnownI[];
+extern const u8 gMonFrontPic_UnownJ[];
+extern const u8 gMonBackPic_UnownJ[];
+extern const u8 gMonIcon_UnownJ[];
+extern const u8 gMonFrontPic_UnownK[];
+extern const u8 gMonBackPic_UnownK[];
+extern const u8 gMonIcon_UnownK[];
+extern const u8 gMonFrontPic_UnownL[];
+extern const u8 gMonBackPic_UnownL[];
+extern const u8 gMonIcon_UnownL[];
+extern const u8 gMonFrontPic_UnownM[];
+extern const u8 gMonBackPic_UnownM[];
+extern const u8 gMonIcon_UnownM[];
+extern const u8 gMonFrontPic_UnownN[];
+extern const u8 gMonBackPic_UnownN[];
+extern const u8 gMonIcon_UnownN[];
+extern const u8 gMonFrontPic_UnownO[];
+extern const u8 gMonBackPic_UnownO[];
+extern const u8 gMonIcon_UnownO[];
+extern const u8 gMonFrontPic_UnownP[];
+extern const u8 gMonBackPic_UnownP[];
+extern const u8 gMonIcon_UnownP[];
+extern const u8 gMonFrontPic_UnownQ[];
+extern const u8 gMonBackPic_UnownQ[];
+extern const u8 gMonIcon_UnownQ[];
+extern const u8 gMonFrontPic_UnownR[];
+extern const u8 gMonBackPic_UnownR[];
+extern const u8 gMonIcon_UnownR[];
+extern const u8 gMonFrontPic_UnownS[];
+extern const u8 gMonBackPic_UnownS[];
+extern const u8 gMonIcon_UnownS[];
+extern const u8 gMonFrontPic_UnownT[];
+extern const u8 gMonBackPic_UnownT[];
+extern const u8 gMonIcon_UnownT[];
+extern const u8 gMonFrontPic_UnownU[];
+extern const u8 gMonBackPic_UnownU[];
+extern const u8 gMonIcon_UnownU[];
+extern const u8 gMonFrontPic_UnownV[];
+extern const u8 gMonBackPic_UnownV[];
+extern const u8 gMonIcon_UnownV[];
+extern const u8 gMonFrontPic_UnownW[];
+extern const u8 gMonBackPic_UnownW[];
+extern const u8 gMonIcon_UnownW[];
+extern const u8 gMonFrontPic_UnownX[];
+extern const u8 gMonBackPic_UnownX[];
+extern const u8 gMonIcon_UnownX[];
+extern const u8 gMonFrontPic_UnownY[];
+extern const u8 gMonBackPic_UnownY[];
+extern const u8 gMonIcon_UnownY[];
+extern const u8 gMonFrontPic_UnownZ[];
+extern const u8 gMonBackPic_UnownZ[];
+extern const u8 gMonIcon_UnownZ[];
+extern const u8 gMonFrontPic_UnownExclamationMark[];
+extern const u8 gMonBackPic_UnownExclamationMark[];
+extern const u8 gMonIcon_UnownExclamationMark[];
+extern const u8 gMonFrontPic_UnownQuestionMark[];
+extern const u8 gMonBackPic_UnownQuestionMark[];
+extern const u8 gMonIcon_UnownQuestionMark[];
+
+extern const u8 gMonIcon_QuestionMark[];
+extern const u8 gMonIcon_Egg[];
+extern const u16 gMonIconPalettes[][16];
+
// pokeblock
extern const u8 gMenuPokeblock_Gfx[];
extern const u8 gMenuPokeblock_Pal[];
@@ -238,4 +2647,32 @@ extern const u8 gBattleTerrainPalette_StadiumGlacia[];
extern const u8 gBattleTerrainPalette_StadiumDrake[];
extern const u8 gBattleTerrainPalette_StadiumWallace[];
+extern const u8 gUnknown_08DC234C[];
+extern const u8 gUnknown_08DC16F4[];
+
+// rayquaza scene gfx
+extern const u8 gUnknown_08DA1E78[];
+extern const u8 gUnknown_08DA2A5C[];
+extern const u8 gUnknown_08DA2B28[];
+extern const u8 gUnknown_08DA2D1C[];
+extern const u8 gUnknown_08DA3250[];
+extern const u8 gUnknown_08DA32A4[];
+extern const u8 gUnknown_08DA3370[];
+extern const u8 gUnknown_08DA3398[];
+extern const u8 gUnknown_08DA3BC0[];
+extern const u8 gUnknown_08DA3C7C[];
+extern const u8 gUnknown_08DA4DA8[];
+extern const u8 gUnknown_08DA6440[];
+extern const u8 gUnknown_08DA68AC[];
+extern const u8 gUnknown_08DA8ED8[];
+extern const u8 gUnknown_08DA9670[];
+extern const u8 gUnknown_08DA96B4[];
+extern const u8 gUnknown_08DA98FC[];
+extern const u8 gUnknown_08DAA5A4[];
+extern const u8 gUnknown_08DAA794[];
+extern const u8 gUnknown_08DAA82C[];
+extern const u8 gUnknown_08DAA854[];
+extern const u8 gUnknown_08DAA87C[];
+extern const u8 gUnknown_08DAA8A4[];
+
#endif //GUARD_GRAPHICS_H
diff --git a/include/sprite.h b/include/sprite.h
index 170d77c3f..d5c6bc402 100644
--- a/include/sprite.h
+++ b/include/sprite.h
@@ -120,10 +120,6 @@ union AffineAnimCmd
{.jump = {.type = AFFINEANIMCMDTYPE_JUMP, .target = _target}}
#define AFFINEANIMCMD_END \
{.type = AFFINEANIMCMDTYPE_END}
-#define AFFINEANIMCMD_LOOP(_count) \
- {.loop = {.type = AFFINEANIMCMDTYPE_LOOP, .count = _count}}
-#define AFFINEANIMCMD_JUMP(_target) \
- {.jump = {.type = AFFINEANIMCMDTYPE_JUMP, .target = _target}}
struct AffineAnimState
{
diff --git a/include/strings.h b/include/strings.h
index 5521d828b..a382191a0 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -137,4 +137,37 @@ extern const u8 gMenuText_Give2[];
extern const u8 gText_Cancel2[];
+extern const u8 gText_WithdrawPokemon[];
+extern const u8 gText_WithdrawMonDescription[];
+extern const u8 gText_DepositPokemon[];
+extern const u8 gText_DepositMonDescription[];
+extern const u8 gText_MovePokemon[];
+extern const u8 gText_MoveMonDescription[];
+extern const u8 gText_MoveItems[];
+extern const u8 gText_MoveItemsDescription[];
+extern const u8 gText_SeeYa[];
+extern const u8 gText_SeeYaDescription[];
+
+// menu texts
+extern const u8 gText_MenuPokedex[];
+extern const u8 gText_MenuPokemon[];
+extern const u8 gText_MenuBag[];
+extern const u8 gText_MenuPokenav[];
+extern const u8 gText_MenuPlayer[];
+extern const u8 gText_MenuSave[];
+extern const u8 gText_MenuOption[];
+extern const u8 gText_MenuExit[];
+extern const u8 gText_MenuRetire[];
+extern const u8 gText_MenuRest[];
+extern const u8 gText_Floor1[];
+extern const u8 gText_Floor2[];
+extern const u8 gText_Floor3[];
+extern const u8 gText_Floor4[];
+extern const u8 gText_Floor5[];
+extern const u8 gText_Floor6[];
+extern const u8 gText_Floor7[];
+extern const u8 gText_Peak[];
+extern const u8 gText_SafariBallStock[];
+extern const u8 gText_BattlePyramidFloor[];
+
#endif //GUARD_STRINGS_H
diff --git a/ld_script.txt b/ld_script.txt
index fa2c26a89..6507fd06c 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -127,10 +127,12 @@ SECTIONS {
asm/field_effect.o(.text);
asm/unknown_task.o(.text);
asm/option_menu.o(.text);
+ src/pokedex.o(.text);
asm/pokedex.o(.text);
asm/trainer_card.o(.text);
src/pokemon_storage_system.o(.text);
asm/pokemon_storage_system.o(.text);
+ src/pokemon_icon.o(.text);
asm/pokemon_icon.o(.text);
asm/script_movement.o(.text);
asm/fldeff_cut.o(.text);
@@ -260,6 +262,7 @@ SECTIONS {
src/pokemon_summary_screen.o(.text);
asm/pokemon_summary_screen.o(.text);
asm/pokenav.o(.text);
+ src/rayquaza_scene.o(.text);
asm/rayquaza_scene.o(.text);
src/walda_phrase.o(.text);
asm/contest_link_81D9DE4.o(.text);
@@ -369,7 +372,7 @@ SECTIONS {
data/coord_event_weather.o(.rodata);
data/field_tasks.o(.rodata);
data/reset_rtc_screen.o(.rodata);
- data/start_menu.o(.rodata);
+ src/start_menu.o(.rodata);
src/tileset_anims.o(.rodata);
src/palette.o(.rodata);
data/fanfares.o(.rodata);
@@ -386,10 +389,12 @@ SECTIONS {
data/wild_encounter.o(.rodata);
data/field_effect.o(.rodata);
data/option_menu.o(.rodata);
+ src/pokedex.o(.rodata);
data/pokedex.o(.rodata);
data/trainer_card.o(.rodata);
+ src/pokemon_storage_system.o(.rodata);
data/pokemon_storage_system.o(.rodata);
- data/pokemon_icon.o(.rodata);
+ src/pokemon_icon.o(.rodata);
data/fldeff_cut.o(.rodata);
data/map_name_popup.o(.rodata);
data/item_menu_icons.o(.rodata);
@@ -482,7 +487,7 @@ SECTIONS {
src/berry_fix_program.o(.rodata);
data/pokemon_summary_screen.o(.rodata);
data/pokenav.o(.rodata);
- data/rayquaza_scene.o(.rodata);
+ src/rayquaza_scene.o(.rodata);
src/walda_phrase.o(.rodata);
data/trainer_rematch.o(.rodata);
data/unk_sprite_file.o(.rodata);
diff --git a/src/pokedex.c b/src/pokedex.c
new file mode 100644
index 000000000..964f41716
--- /dev/null
+++ b/src/pokedex.c
@@ -0,0 +1,542 @@
+#include "global.h"
+#include "gba/m4a_internal.h"
+#include "pokedex.h"
+#include "sprite.h"
+#include "graphics.h"
+#include "decompress.h"
+#include "bg.h"
+#include "window.h"
+
+// this file's functions
+void sub_80BE604(struct Sprite *sprite);
+void sub_80BE658(struct Sprite *sprite);
+void sub_80BE758(struct Sprite *sprite);
+void sub_80BE780(struct Sprite *sprite);
+void sub_80BE44C(struct Sprite *sprite);
+void sub_80BE834(struct Sprite *sprite);
+
+// const rom data
+#include "data/pokedex_orders.h"
+
+static const struct OamData sOamData_855CFE4 =
+{
+ .y = 160,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 0,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const struct OamData sOamData_855CFEC =
+{
+ .y = 160,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 0,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const struct OamData sOamData_855CFF4 =
+{
+ .y = 160,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const struct OamData sOamData_855CFFC =
+{
+ .y = 160,
+ .affineMode = 0,
+ .objMode = 2,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const struct OamData sOamData_855D004 =
+{
+ .y = 160,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const struct OamData sOamData_855D00C =
+{
+ .y = 160,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 2,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 0,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const union AnimCmd sSpriteAnim_855D014[] =
+{
+ ANIMCMD_FRAME(3, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D01C[] =
+{
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D024[] =
+{
+ ANIMCMD_FRAME(16, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D02C[] =
+{
+ ANIMCMD_FRAME(48, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D034[] =
+{
+ ANIMCMD_FRAME(40, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D03C[] =
+{
+ ANIMCMD_FRAME(32, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D044[] =
+{
+ ANIMCMD_FRAME(56, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D04C[] =
+{
+ ANIMCMD_FRAME(64, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D054[] =
+{
+ ANIMCMD_FRAME(96, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D05C[] =
+{
+ ANIMCMD_FRAME(160, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D064[] =
+{
+ ANIMCMD_FRAME(168, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D06C[] =
+{
+ ANIMCMD_FRAME(128, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D074[] =
+{
+ ANIMCMD_FRAME(130, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D07C[] =
+{
+ ANIMCMD_FRAME(132, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D084[] =
+{
+ ANIMCMD_FRAME(134, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D08C[] =
+{
+ ANIMCMD_FRAME(136, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D094[] =
+{
+ ANIMCMD_FRAME(138, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D09C[] =
+{
+ ANIMCMD_FRAME(140, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D0A4[] =
+{
+ ANIMCMD_FRAME(142, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D0AC[] =
+{
+ ANIMCMD_FRAME(144, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D0B4[] =
+{
+ ANIMCMD_FRAME(146, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D0BC[] =
+{
+ ANIMCMD_FRAME(176, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D0C4[] =
+{
+ ANIMCMD_FRAME(178, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D0CC[] =
+{
+ ANIMCMD_FRAME(180, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D0D4[] =
+{
+ ANIMCMD_FRAME(182, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D0DC[] =
+{
+ ANIMCMD_FRAME(184, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D0E4[] =
+{
+ ANIMCMD_FRAME(186, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D0EC[] =
+{
+ ANIMCMD_FRAME(188, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D0F4[] =
+{
+ ANIMCMD_FRAME(190, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D0FC[] =
+{
+ ANIMCMD_FRAME(192, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D104[] =
+{
+ ANIMCMD_FRAME(194, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_855D10C[] =
+{
+ ANIMCMD_FRAME(4, 30),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_855D114[] =
+{
+ sSpriteAnim_855D014
+};
+
+static const union AnimCmd *const sSpriteAnimTable_855D118[] =
+{
+ sSpriteAnim_855D01C
+};
+
+static const union AnimCmd *const sSpriteAnimTable_855D11C[] =
+{
+ sSpriteAnim_855D024
+};
+
+static const union AnimCmd *const sSpriteAnimTable_855D120[] =
+{
+ sSpriteAnim_855D02C,
+ sSpriteAnim_855D034,
+ sSpriteAnim_855D03C,
+ sSpriteAnim_855D044
+};
+
+static const union AnimCmd *const sSpriteAnimTable_855D130[] =
+{
+ sSpriteAnim_855D04C,
+ sSpriteAnim_855D054
+};
+
+static const union AnimCmd *const sSpriteAnimTable_855D138[] =
+{
+ sSpriteAnim_855D05C,
+ sSpriteAnim_855D064
+};
+
+static const union AnimCmd *const sSpriteAnimTable_855D140[] =
+{
+ sSpriteAnim_855D06C,
+ sSpriteAnim_855D074,
+ sSpriteAnim_855D07C,
+ sSpriteAnim_855D084,
+ sSpriteAnim_855D08C,
+ sSpriteAnim_855D094,
+ sSpriteAnim_855D09C,
+ sSpriteAnim_855D0A4,
+ sSpriteAnim_855D0AC,
+ sSpriteAnim_855D0B4
+};
+
+static const union AnimCmd *const sSpriteAnimTable_855D168[] =
+{
+ sSpriteAnim_855D0BC,
+ sSpriteAnim_855D0C4,
+ sSpriteAnim_855D0CC,
+ sSpriteAnim_855D0D4,
+ sSpriteAnim_855D0DC,
+ sSpriteAnim_855D0E4,
+ sSpriteAnim_855D0EC,
+ sSpriteAnim_855D0F4,
+ sSpriteAnim_855D0FC,
+ sSpriteAnim_855D104
+};
+
+static const union AnimCmd *const sSpriteAnimTable_855D190[] =
+{
+ sSpriteAnim_855D10C
+};
+
+const struct SpriteTemplate gUnknown_0855D194 =
+{
+ .tileTag = 4096,
+ .paletteTag = 4096,
+ .oam = &sOamData_855CFE4,
+ .anims = sSpriteAnimTable_855D114,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80BE604,
+};
+
+const struct SpriteTemplate gUnknown_0855D1AC =
+{
+ .tileTag = 4096,
+ .paletteTag = 4096,
+ .oam = &sOamData_855CFEC,
+ .anims = sSpriteAnimTable_855D118,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80BE658,
+};
+
+const struct SpriteTemplate gUnknown_0855D1C4 =
+{
+ .tileTag = 4096,
+ .paletteTag = 4096,
+ .oam = &sOamData_855CFF4,
+ .anims = sSpriteAnimTable_855D120,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80BE758,
+};
+
+const struct SpriteTemplate gUnknown_0855D1DC =
+{
+ .tileTag = 4096,
+ .paletteTag = 4096,
+ .oam = &sOamData_855CFFC,
+ .anims = sSpriteAnimTable_855D11C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80BE780,
+};
+
+const struct SpriteTemplate gUnknown_0855D1F4 =
+{
+ .tileTag = 4096,
+ .paletteTag = 4096,
+ .oam = &sOamData_855D004,
+ .anims = sSpriteAnimTable_855D130,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80BE44C,
+};
+
+const struct SpriteTemplate gUnknown_0855D20C =
+{
+ .tileTag = 4096,
+ .paletteTag = 4096,
+ .oam = &sOamData_855CFF4,
+ .anims = sSpriteAnimTable_855D138,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80BE44C,
+};
+
+const struct SpriteTemplate gUnknown_0855D224 =
+{
+ .tileTag = 4096,
+ .paletteTag = 4096,
+ .oam = &sOamData_855D00C,
+ .anims = sSpriteAnimTable_855D140,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80BE44C,
+};
+
+const struct SpriteTemplate gUnknown_0855D23C =
+{
+ .tileTag = 4096,
+ .paletteTag = 4096,
+ .oam = &sOamData_855D00C,
+ .anims = sSpriteAnimTable_855D168,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80BE44C,
+};
+
+const struct SpriteTemplate gUnknown_0855D254 =
+{
+ .tileTag = 4096,
+ .paletteTag = 4096,
+ .oam = &sOamData_855D00C,
+ .anims = sSpriteAnimTable_855D190,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80BE834,
+};
+
+const struct CompressedSpriteSheet gSpriteSheets_0855D26C[] =
+{
+ {gUnknown_08DC234C, 0x2000, 4096},
+ {0}
+};
+
+const struct CompressedSpritePalette gSpritePalettes_0855D26C[] =
+{
+ {gUnknown_08DC16F4, 4096},
+ {0}
+};
+
+const u8 gUnknown_0855D28C[] = {0x4, 0x8, 0x10, 0x20, 0x20};
+const u8 gUnknown_0855D291[] = {0x8, 0x4, 0x2, 0x1, 0x1};
+
+const struct BgTemplate gBgTemplates_0855D298[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 12,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 13,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 14,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 15,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ }
+};
+
+const struct WindowTemplate sWindowTemplates_0855D2A8[] =
+{
+ {2, 0, 0, 0x20, 0x20, 0, 1},
+ DUMMY_WIN_TEMPLATE
+};
+
diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c
new file mode 100644
index 000000000..4d1cc51c5
--- /dev/null
+++ b/src/pokemon_icon.c
@@ -0,0 +1,1014 @@
+#include "global.h"
+#include "sprite.h"
+#include "graphics.h"
+
+#define POKE_ICON_BASE_PAL_TAG 56000
+
+const u8 * const gMonIconTable[] =
+{
+ gMonIcon_Bulbasaur,
+ gMonIcon_Bulbasaur,
+ gMonIcon_Ivysaur,
+ gMonIcon_Venusaur,
+ gMonIcon_Charmander,
+ gMonIcon_Charmeleon,
+ gMonIcon_Charizard,
+ gMonIcon_Squirtle,
+ gMonIcon_Wartortle,
+ gMonIcon_Blastoise,
+ gMonIcon_Caterpie,
+ gMonIcon_Metapod,
+ gMonIcon_Butterfree,
+ gMonIcon_Weedle,
+ gMonIcon_Kakuna,
+ gMonIcon_Beedrill,
+ gMonIcon_Pidgey,
+ gMonIcon_Pidgeotto,
+ gMonIcon_Pidgeot,
+ gMonIcon_Rattata,
+ gMonIcon_Raticate,
+ gMonIcon_Spearow,
+ gMonIcon_Fearow,
+ gMonIcon_Ekans,
+ gMonIcon_Arbok,
+ gMonIcon_Pikachu,
+ gMonIcon_Raichu,
+ gMonIcon_Sandshrew,
+ gMonIcon_Sandslash,
+ gMonIcon_NidoranF,
+ gMonIcon_Nidorina,
+ gMonIcon_Nidoqueen,
+ gMonIcon_NidoranM,
+ gMonIcon_Nidorino,
+ gMonIcon_Nidoking,
+ gMonIcon_Clefairy,
+ gMonIcon_Clefable,
+ gMonIcon_Vulpix,
+ gMonIcon_Ninetales,
+ gMonIcon_Jigglypuff,
+ gMonIcon_Wigglytuff,
+ gMonIcon_Zubat,
+ gMonIcon_Golbat,
+ gMonIcon_Oddish,
+ gMonIcon_Gloom,
+ gMonIcon_Vileplume,
+ gMonIcon_Paras,
+ gMonIcon_Parasect,
+ gMonIcon_Venonat,
+ gMonIcon_Venomoth,
+ gMonIcon_Diglett,
+ gMonIcon_Dugtrio,
+ gMonIcon_Meowth,
+ gMonIcon_Persian,
+ gMonIcon_Psyduck,
+ gMonIcon_Golduck,
+ gMonIcon_Mankey,
+ gMonIcon_Primeape,
+ gMonIcon_Growlithe,
+ gMonIcon_Arcanine,
+ gMonIcon_Poliwag,
+ gMonIcon_Poliwhirl,
+ gMonIcon_Poliwrath,
+ gMonIcon_Abra,
+ gMonIcon_Kadabra,
+ gMonIcon_Alakazam,
+ gMonIcon_Machop,
+ gMonIcon_Machoke,
+ gMonIcon_Machamp,
+ gMonIcon_Bellsprout,
+ gMonIcon_Weepinbell,
+ gMonIcon_Victreebel,
+ gMonIcon_Tentacool,
+ gMonIcon_Tentacruel,
+ gMonIcon_Geodude,
+ gMonIcon_Graveler,
+ gMonIcon_Golem,
+ gMonIcon_Ponyta,
+ gMonIcon_Rapidash,
+ gMonIcon_Slowpoke,
+ gMonIcon_Slowbro,
+ gMonIcon_Magnemite,
+ gMonIcon_Magneton,
+ gMonIcon_Farfetchd,
+ gMonIcon_Doduo,
+ gMonIcon_Dodrio,
+ gMonIcon_Seel,
+ gMonIcon_Dewgong,
+ gMonIcon_Grimer,
+ gMonIcon_Muk,
+ gMonIcon_Shellder,
+ gMonIcon_Cloyster,
+ gMonIcon_Gastly,
+ gMonIcon_Haunter,
+ gMonIcon_Gengar,
+ gMonIcon_Onix,
+ gMonIcon_Drowzee,
+ gMonIcon_Hypno,
+ gMonIcon_Krabby,
+ gMonIcon_Kingler,
+ gMonIcon_Voltorb,
+ gMonIcon_Electrode,
+ gMonIcon_Exeggcute,
+ gMonIcon_Exeggutor,
+ gMonIcon_Cubone,
+ gMonIcon_Marowak,
+ gMonIcon_Hitmonlee,
+ gMonIcon_Hitmonchan,
+ gMonIcon_Lickitung,
+ gMonIcon_Koffing,
+ gMonIcon_Weezing,
+ gMonIcon_Rhyhorn,
+ gMonIcon_Rhydon,
+ gMonIcon_Chansey,
+ gMonIcon_Tangela,
+ gMonIcon_Kangaskhan,
+ gMonIcon_Horsea,
+ gMonIcon_Seadra,
+ gMonIcon_Goldeen,
+ gMonIcon_Seaking,
+ gMonIcon_Staryu,
+ gMonIcon_Starmie,
+ gMonIcon_Mrmime,
+ gMonIcon_Scyther,
+ gMonIcon_Jynx,
+ gMonIcon_Electabuzz,
+ gMonIcon_Magmar,
+ gMonIcon_Pinsir,
+ gMonIcon_Tauros,
+ gMonIcon_Magikarp,
+ gMonIcon_Gyarados,
+ gMonIcon_Lapras,
+ gMonIcon_Ditto,
+ gMonIcon_Eevee,
+ gMonIcon_Vaporeon,
+ gMonIcon_Jolteon,
+ gMonIcon_Flareon,
+ gMonIcon_Porygon,
+ gMonIcon_Omanyte,
+ gMonIcon_Omastar,
+ gMonIcon_Kabuto,
+ gMonIcon_Kabutops,
+ gMonIcon_Aerodactyl,
+ gMonIcon_Snorlax,
+ gMonIcon_Articuno,
+ gMonIcon_Zapdos,
+ gMonIcon_Moltres,
+ gMonIcon_Dratini,
+ gMonIcon_Dragonair,
+ gMonIcon_Dragonite,
+ gMonIcon_Mewtwo,
+ gMonIcon_Mew,
+ gMonIcon_Chikorita,
+ gMonIcon_Bayleef,
+ gMonIcon_Meganium,
+ gMonIcon_Cyndaquil,
+ gMonIcon_Quilava,
+ gMonIcon_Typhlosion,
+ gMonIcon_Totodile,
+ gMonIcon_Croconaw,
+ gMonIcon_Feraligatr,
+ gMonIcon_Sentret,
+ gMonIcon_Furret,
+ gMonIcon_Hoothoot,
+ gMonIcon_Noctowl,
+ gMonIcon_Ledyba,
+ gMonIcon_Ledian,
+ gMonIcon_Spinarak,
+ gMonIcon_Ariados,
+ gMonIcon_Crobat,
+ gMonIcon_Chinchou,
+ gMonIcon_Lanturn,
+ gMonIcon_Pichu,
+ gMonIcon_Cleffa,
+ gMonIcon_Igglybuff,
+ gMonIcon_Togepi,
+ gMonIcon_Togetic,
+ gMonIcon_Natu,
+ gMonIcon_Xatu,
+ gMonIcon_Mareep,
+ gMonIcon_Flaaffy,
+ gMonIcon_Ampharos,
+ gMonIcon_Bellossom,
+ gMonIcon_Marill,
+ gMonIcon_Azumarill,
+ gMonIcon_Sudowoodo,
+ gMonIcon_Politoed,
+ gMonIcon_Hoppip,
+ gMonIcon_Skiploom,
+ gMonIcon_Jumpluff,
+ gMonIcon_Aipom,
+ gMonIcon_Sunkern,
+ gMonIcon_Sunflora,
+ gMonIcon_Yanma,
+ gMonIcon_Wooper,
+ gMonIcon_Quagsire,
+ gMonIcon_Espeon,
+ gMonIcon_Umbreon,
+ gMonIcon_Murkrow,
+ gMonIcon_Slowking,
+ gMonIcon_Misdreavus,
+ gMonIcon_UnownA,
+ gMonIcon_Wobbuffet,
+ gMonIcon_Girafarig,
+ gMonIcon_Pineco,
+ gMonIcon_Forretress,
+ gMonIcon_Dunsparce,
+ gMonIcon_Gligar,
+ gMonIcon_Steelix,
+ gMonIcon_Snubbull,
+ gMonIcon_Granbull,
+ gMonIcon_Qwilfish,
+ gMonIcon_Scizor,
+ gMonIcon_Shuckle,
+ gMonIcon_Heracross,
+ gMonIcon_Sneasel,
+ gMonIcon_Teddiursa,
+ gMonIcon_Ursaring,
+ gMonIcon_Slugma,
+ gMonIcon_Magcargo,
+ gMonIcon_Swinub,
+ gMonIcon_Piloswine,
+ gMonIcon_Corsola,
+ gMonIcon_Remoraid,
+ gMonIcon_Octillery,
+ gMonIcon_Delibird,
+ gMonIcon_Mantine,
+ gMonIcon_Skarmory,
+ gMonIcon_Houndour,
+ gMonIcon_Houndoom,
+ gMonIcon_Kingdra,
+ gMonIcon_Phanpy,
+ gMonIcon_Donphan,
+ gMonIcon_Porygon2,
+ gMonIcon_Stantler,
+ gMonIcon_Smeargle,
+ gMonIcon_Tyrogue,
+ gMonIcon_Hitmontop,
+ gMonIcon_Smoochum,
+ gMonIcon_Elekid,
+ gMonIcon_Magby,
+ gMonIcon_Miltank,
+ gMonIcon_Blissey,
+ gMonIcon_Raikou,
+ gMonIcon_Entei,
+ gMonIcon_Suicune,
+ gMonIcon_Larvitar,
+ gMonIcon_Pupitar,
+ gMonIcon_Tyranitar,
+ gMonIcon_Lugia,
+ gMonIcon_HoOh,
+ gMonIcon_Celebi,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_QuestionMark,
+ gMonIcon_Treecko,
+ gMonIcon_Grovyle,
+ gMonIcon_Sceptile,
+ gMonIcon_Torchic,
+ gMonIcon_Combusken,
+ gMonIcon_Blaziken,
+ gMonIcon_Mudkip,
+ gMonIcon_Marshtomp,
+ gMonIcon_Swampert,
+ gMonIcon_Poochyena,
+ gMonIcon_Mightyena,
+ gMonIcon_Zigzagoon,
+ gMonIcon_Linoone,
+ gMonIcon_Wurmple,
+ gMonIcon_Silcoon,
+ gMonIcon_Beautifly,
+ gMonIcon_Cascoon,
+ gMonIcon_Dustox,
+ gMonIcon_Lotad,
+ gMonIcon_Lombre,
+ gMonIcon_Ludicolo,
+ gMonIcon_Seedot,
+ gMonIcon_Nuzleaf,
+ gMonIcon_Shiftry,
+ gMonIcon_Nincada,
+ gMonIcon_Ninjask,
+ gMonIcon_Shedinja,
+ gMonIcon_Taillow,
+ gMonIcon_Swellow,
+ gMonIcon_Shroomish,
+ gMonIcon_Breloom,
+ gMonIcon_Spinda,
+ gMonIcon_Wingull,
+ gMonIcon_Pelipper,
+ gMonIcon_Surskit,
+ gMonIcon_Masquerain,
+ gMonIcon_Wailmer,
+ gMonIcon_Wailord,
+ gMonIcon_Skitty,
+ gMonIcon_Delcatty,
+ gMonIcon_Kecleon,
+ gMonIcon_Baltoy,
+ gMonIcon_Claydol,
+ gMonIcon_Nosepass,
+ gMonIcon_Torkoal,
+ gMonIcon_Sableye,
+ gMonIcon_Barboach,
+ gMonIcon_Whiscash,
+ gMonIcon_Luvdisc,
+ gMonIcon_Corphish,
+ gMonIcon_Crawdaunt,
+ gMonIcon_Feebas,
+ gMonIcon_Milotic,
+ gMonIcon_Carvanha,
+ gMonIcon_Sharpedo,
+ gMonIcon_Trapinch,
+ gMonIcon_Vibrava,
+ gMonIcon_Flygon,
+ gMonIcon_Makuhita,
+ gMonIcon_Hariyama,
+ gMonIcon_Electrike,
+ gMonIcon_Manectric,
+ gMonIcon_Numel,
+ gMonIcon_Camerupt,
+ gMonIcon_Spheal,
+ gMonIcon_Sealeo,
+ gMonIcon_Walrein,
+ gMonIcon_Cacnea,
+ gMonIcon_Cacturne,
+ gMonIcon_Snorunt,
+ gMonIcon_Glalie,
+ gMonIcon_Lunatone,
+ gMonIcon_Solrock,
+ gMonIcon_Azurill,
+ gMonIcon_Spoink,
+ gMonIcon_Grumpig,
+ gMonIcon_Plusle,
+ gMonIcon_Minun,
+ gMonIcon_Mawile,
+ gMonIcon_Meditite,
+ gMonIcon_Medicham,
+ gMonIcon_Swablu,
+ gMonIcon_Altaria,
+ gMonIcon_Wynaut,
+ gMonIcon_Duskull,
+ gMonIcon_Dusclops,
+ gMonIcon_Roselia,
+ gMonIcon_Slakoth,
+ gMonIcon_Vigoroth,
+ gMonIcon_Slaking,
+ gMonIcon_Gulpin,
+ gMonIcon_Swalot,
+ gMonIcon_Tropius,
+ gMonIcon_Whismur,
+ gMonIcon_Loudred,
+ gMonIcon_Exploud,
+ gMonIcon_Clamperl,
+ gMonIcon_Huntail,
+ gMonIcon_Gorebyss,
+ gMonIcon_Absol,
+ gMonIcon_Shuppet,
+ gMonIcon_Banette,
+ gMonIcon_Seviper,
+ gMonIcon_Zangoose,
+ gMonIcon_Relicanth,
+ gMonIcon_Aron,
+ gMonIcon_Lairon,
+ gMonIcon_Aggron,
+ gMonIcon_Castform,
+ gMonIcon_Volbeat,
+ gMonIcon_Illumise,
+ gMonIcon_Lileep,
+ gMonIcon_Cradily,
+ gMonIcon_Anorith,
+ gMonIcon_Armaldo,
+ gMonIcon_Ralts,
+ gMonIcon_Kirlia,
+ gMonIcon_Gardevoir,
+ gMonIcon_Bagon,
+ gMonIcon_Shelgon,
+ gMonIcon_Salamence,
+ gMonIcon_Beldum,
+ gMonIcon_Metang,
+ gMonIcon_Metagross,
+ gMonIcon_Regirock,
+ gMonIcon_Regice,
+ gMonIcon_Registeel,
+ gMonIcon_Kyogre,
+ gMonIcon_Groudon,
+ gMonIcon_Rayquaza,
+ gMonIcon_Latias,
+ gMonIcon_Latios,
+ gMonIcon_Jirachi,
+ gMonIcon_Deoxys,
+ gMonIcon_Chimecho,
+ gMonIcon_Egg,
+ gMonIcon_UnownB,
+ gMonIcon_UnownC,
+ gMonIcon_UnownD,
+ gMonIcon_UnownE,
+ gMonIcon_UnownF,
+ gMonIcon_UnownG,
+ gMonIcon_UnownH,
+ gMonIcon_UnownI,
+ gMonIcon_UnownJ,
+ gMonIcon_UnownK,
+ gMonIcon_UnownL,
+ gMonIcon_UnownM,
+ gMonIcon_UnownN,
+ gMonIcon_UnownO,
+ gMonIcon_UnownP,
+ gMonIcon_UnownQ,
+ gMonIcon_UnownR,
+ gMonIcon_UnownS,
+ gMonIcon_UnownT,
+ gMonIcon_UnownU,
+ gMonIcon_UnownV,
+ gMonIcon_UnownW,
+ gMonIcon_UnownX,
+ gMonIcon_UnownY,
+ gMonIcon_UnownZ,
+ gMonIcon_UnownExclamationMark,
+ gMonIcon_UnownQuestionMark,
+};
+
+const u8 gMonIconPaletteIndices[] =
+{
+ 0, // ??????????
+ 1, // Bulbasaur
+ 1, // Ivysaur
+ 1, // Venusaur
+ 0, // Charmander
+ 0, // Charmeleon
+ 0, // Charizard
+ 0, // Squirtle
+ 2, // Wartortle
+ 2, // Blastoise
+ 1, // Caterpie
+ 1, // Metapod
+ 0, // Butterfree
+ 1, // Weedle
+ 2, // Kakuna
+ 2, // Beedrill
+ 0, // Pidgey
+ 0, // Pidgeotto
+ 0, // Pidgeot
+ 2, // Rattata
+ 1, // Raticate
+ 0, // Spearow
+ 0, // Fearow
+ 2, // Ekans
+ 2, // Arbok
+ 2, // Pikachu
+ 0, // Raichu
+ 2, // Sandshrew
+ 2, // Sandslash
+ 2, // Nidoran♀
+ 2, // Nidorina
+ 2, // Nidoqueen
+ 2, // Nidoran♂
+ 2, // Nidorino
+ 2, // Nidoking
+ 0, // Clefairy
+ 0, // Clefable
+ 2, // Vulpix
+ 1, // Ninetales
+ 0, // Jigglypuff
+ 0, // Wigglytuff
+ 2, // Zubat
+ 2, // Golbat
+ 1, // Oddish
+ 0, // Gloom
+ 0, // Vileplume
+ 0, // Paras
+ 0, // Parasect
+ 0, // Venonat
+ 2, // Venomoth
+ 2, // Diglett
+ 2, // Dugtrio
+ 1, // Meowth
+ 1, // Persian
+ 1, // Psyduck
+ 2, // Golduck
+ 1, // Mankey
+ 2, // Primeape
+ 0, // Growlithe
+ 0, // Arcanine
+ 0, // Poliwag
+ 0, // Poliwhirl
+ 0, // Poliwrath
+ 2, // Abra
+ 2, // Kadabra
+ 2, // Alakazam
+ 0, // Machop
+ 2, // Machoke
+ 0, // Machamp
+ 1, // Bellsprout
+ 1, // Weepinbell
+ 1, // Victreebel
+ 2, // Tentacool
+ 2, // Tentacruel
+ 1, // Geodude
+ 1, // Graveler
+ 1, // Golem
+ 0, // Ponyta
+ 0, // Rapidash
+ 0, // Slowpoke
+ 0, // Slowbro
+ 0, // Magnemite
+ 0, // Magneton
+ 1, // Farfetch'd
+ 2, // Doduo
+ 2, // Dodrio
+ 2, // Seel
+ 2, // Dewgong
+ 2, // Grimer
+ 2, // Muk
+ 2, // Shellder
+ 2, // Cloyster
+ 2, // Gastly
+ 2, // Haunter
+ 2, // Gengar
+ 2, // Onix
+ 2, // Drowzee
+ 1, // Hypno
+ 2, // Krabby
+ 2, // Kingler
+ 0, // Voltorb
+ 0, // Electrode
+ 0, // Exeggcute
+ 1, // Exeggutor
+ 1, // Cubone
+ 1, // Marowak
+ 2, // Hitmonlee
+ 2, // Hitmonchan
+ 1, // Lickitung
+ 2, // Koffing
+ 2, // Weezing
+ 1, // Rhyhorn
+ 1, // Rhydon
+ 0, // Chansey
+ 0, // Tangela
+ 1, // Kangaskhan
+ 0, // Horsea
+ 0, // Seadra
+ 0, // Goldeen
+ 0, // Seaking
+ 2, // Staryu
+ 2, // Starmie
+ 0, // Mr. mime
+ 1, // Scyther
+ 2, // Jynx
+ 1, // Electabuzz
+ 0, // Magmar
+ 2, // Pinsir
+ 2, // Tauros
+ 0, // Magikarp
+ 0, // Gyarados
+ 2, // Lapras
+ 2, // Ditto
+ 2, // Eevee
+ 0, // Vaporeon
+ 0, // Jolteon
+ 0, // Flareon
+ 0, // Porygon
+ 0, // Omanyte
+ 0, // Omastar
+ 2, // Kabuto
+ 2, // Kabutops
+ 0, // Aerodactyl
+ 1, // Snorlax
+ 0, // Articuno
+ 0, // Zapdos
+ 0, // Moltres
+ 0, // Dratini
+ 0, // Dragonair
+ 2, // Dragonite
+ 2, // Mewtwo
+ 0, // Mew
+ 1, // Chikorita
+ 1, // Bayleef
+ 1, // Meganium
+ 1, // Cyndaquil
+ 1, // Quilava
+ 1, // Typhlosion
+ 2, // Totodile
+ 2, // Croconaw
+ 2, // Feraligatr
+ 2, // Sentret
+ 2, // Furret
+ 2, // Hoothoot
+ 2, // Noctowl
+ 0, // Ledyba
+ 0, // Ledian
+ 1, // Spinarak
+ 0, // Ariados
+ 2, // Crobat
+ 2, // Chinchou
+ 0, // Lanturn
+ 0, // Pichu
+ 0, // Cleffa
+ 1, // Igglybuff
+ 2, // Togepi
+ 2, // Togetic
+ 0, // Natu
+ 0, // Xatu
+ 2, // Mareep
+ 0, // Flaaffy
+ 0, // Ampharos
+ 1, // Bellossom
+ 2, // Marill
+ 2, // Azumarill
+ 1, // Sudowoodo
+ 1, // Politoed
+ 1, // Hoppip
+ 1, // Skiploom
+ 2, // Jumpluff
+ 2, // Aipom
+ 1, // Sunkern
+ 1, // Sunflora
+ 1, // Yanma
+ 0, // Wooper
+ 0, // Quagsire
+ 2, // Espeon
+ 2, // Umbreon
+ 2, // Murkrow
+ 0, // Slowking
+ 0, // Misdreavus
+ 0, // Unown A
+ 0, // Wobbuffet
+ 1, // Girafarig
+ 0, // Pineco
+ 2, // Forretress
+ 2, // Dunsparce
+ 2, // Gligar
+ 0, // Steelix
+ 0, // Snubbull
+ 2, // Granbull
+ 0, // Qwilfish
+ 0, // Scizor
+ 1, // Shuckle
+ 2, // Heracross
+ 0, // Sneasel
+ 0, // Teddiursa
+ 2, // Ursaring
+ 0, // Slugma
+ 0, // Magcargo
+ 2, // Swinub
+ 2, // Piloswine
+ 0, // Corsola
+ 0, // Remoraid
+ 0, // Octillery
+ 0, // Delibird
+ 2, // Mantine
+ 0, // Skarmory
+ 0, // Houndour
+ 0, // Houndoom
+ 0, // Kingdra
+ 0, // Phanpy
+ 0, // Donphan
+ 0, // Porygon2
+ 2, // Stantler
+ 1, // Smeargle
+ 2, // Tyrogue
+ 2, // Hitmontop
+ 1, // Smoochum
+ 1, // Elekid
+ 1, // Magby
+ 1, // Miltank
+ 1, // Blissey
+ 0, // Raikou
+ 2, // Entei
+ 0, // Suicune
+ 1, // Larvitar
+ 0, // Pupitar
+ 1, // Tyranitar
+ 0, // Lugia
+ 1, // Ho-Oh
+ 1, // Celebi
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 0, // ?
+ 1, // Treecko
+ 0, // Grovyle
+ 1, // Sceptile
+ 0, // Torchic
+ 0, // Combusken
+ 0, // Blaziken
+ 0, // Mudkip
+ 0, // Marshtomp
+ 0, // Swampert
+ 2, // Poochyena
+ 2, // Mightyena
+ 2, // Zigzagoon
+ 2, // Linoone
+ 0, // Wurmple
+ 2, // Silcoon
+ 0, // Beautifly
+ 2, // Cascoon
+ 1, // Dustox
+ 1, // Lotad
+ 1, // Lombre
+ 1, // Ludicolo
+ 1, // Seedot
+ 1, // Nuzleaf
+ 0, // Shiftry
+ 1, // Nincada
+ 1, // Ninjask
+ 1, // Shedinja
+ 2, // Taillow
+ 2, // Swellow
+ 1, // Shroomish
+ 1, // Breloom
+ 1, // Spinda
+ 0, // Wingull
+ 0, // Pelipper
+ 2, // Surskit
+ 0, // Masquerain
+ 2, // Wailmer
+ 0, // Wailord
+ 0, // Skitty
+ 2, // Delcatty
+ 1, // Kecleon
+ 1, // Baltoy
+ 0, // Claydol
+ 0, // Nosepass
+ 1, // Torkoal
+ 2, // Sableye
+ 0, // Barboach
+ 0, // Whiscash
+ 0, // Luvdisc
+ 0, // Corphish
+ 0, // Crawdaunt
+ 2, // Feebas
+ 0, // Milotic
+ 0, // Carvanha
+ 0, // Sharpedo
+ 1, // Trapinch
+ 1, // Vibrava
+ 1, // Flygon
+ 2, // Makuhita
+ 1, // Hariyama
+ 1, // Electrike
+ 0, // Manectric
+ 1, // Numel
+ 0, // Camerupt
+ 2, // Spheal
+ 2, // Sealeo
+ 0, // Walrein
+ 1, // Cacnea
+ 1, // Cacturne
+ 2, // Snorunt
+ 0, // Glalie
+ 1, // Lunatone
+ 0, // Solrock
+ 2, // Azurill
+ 0, // Spoink
+ 2, // Grumpig
+ 0, // Plusle
+ 0, // Minun
+ 2, // Mawile
+ 0, // Meditite
+ 0, // Medicham
+ 0, // Swablu
+ 0, // Altaria
+ 0, // Wynaut
+ 0, // Duskull
+ 0, // Dusclops
+ 0, // Roselia
+ 2, // Slakoth
+ 2, // Vigoroth
+ 1, // Slaking
+ 1, // Gulpin
+ 2, // Swalot
+ 1, // Tropius
+ 0, // Whismur
+ 2, // Loudred
+ 2, // Exploud
+ 0, // Clamperl
+ 0, // Huntail
+ 0, // Gorebyss
+ 0, // Absol
+ 0, // Shuppet
+ 0, // Banette
+ 2, // Seviper
+ 0, // Zangoose
+ 1, // Relicanth
+ 2, // Aron
+ 2, // Lairon
+ 2, // Aggron
+ 0, // Castform
+ 0, // Volbeat
+ 2, // Illumise
+ 2, // Lileep
+ 0, // Cradily
+ 0, // Anorith
+ 0, // Armaldo
+ 1, // Ralts
+ 1, // Kirlia
+ 1, // Gardevoir
+ 2, // Bagon
+ 2, // Shelgon
+ 0, // Salamence
+ 0, // Beldum
+ 0, // Metang
+ 0, // Metagross
+ 2, // Regirock
+ 2, // Regice
+ 2, // Registeel
+ 2, // Kyogre
+ 0, // Groudon
+ 1, // Rayquaza
+ 0, // Latias
+ 2, // Latios
+ 0, // Jirachi
+ 0, // Deoxys
+ 0, // Chimecho
+ 1, // Egg
+ 0, // Unown B
+ 0, // Unown C
+ 0, // Unown D
+ 0, // Unown E
+ 0, // Unown F
+ 0, // Unown G
+ 0, // Unown H
+ 0, // Unown I
+ 0, // Unown J
+ 0, // Unown K
+ 0, // Unown L
+ 0, // Unown M
+ 0, // Unown N
+ 0, // Unown O
+ 0, // Unown P
+ 0, // Unown Q
+ 0, // Unown R
+ 0, // Unown S
+ 0, // Unown T
+ 0, // Unown U
+ 0, // Unown V
+ 0, // Unown W
+ 0, // Unown X
+ 0, // Unown Y
+ 0, // Unown Z
+ 0, // Unown Exclamation Mark
+ 0, // Unown Question Mark
+};
+
+const struct SpritePalette gMonIconPaletteTable[] =
+{
+ { gMonIconPalettes[0], POKE_ICON_BASE_PAL_TAG + 0 },
+ { gMonIconPalettes[1], POKE_ICON_BASE_PAL_TAG + 1 },
+ { gMonIconPalettes[2], POKE_ICON_BASE_PAL_TAG + 2 },
+
+// There are only 3 actual palettes. The following are unused
+// and don't point to valid data.
+ { gMonIconPalettes[3], POKE_ICON_BASE_PAL_TAG + 3 },
+ { gMonIconPalettes[4], POKE_ICON_BASE_PAL_TAG + 4 },
+ { gMonIconPalettes[5], POKE_ICON_BASE_PAL_TAG + 5 },
+};
+
+const struct OamData sMonIconOamData =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+// fastest to slowest
+
+static const union AnimCmd sAnim_0[] =
+{
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sAnim_1[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sAnim_2[] =
+{
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_FRAME(1, 14),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sAnim_3[] =
+{
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sAnim_4[] =
+{
+ ANIMCMD_FRAME(0, 29),
+ ANIMCMD_FRAME(0, 29), // frame 0 is repeated
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const sMonIconAnims[] =
+{
+ sAnim_0,
+ sAnim_1,
+ sAnim_2,
+ sAnim_3,
+ sAnim_4,
+};
+
+static const union AffineAnimCmd sAffineAnim_0[] =
+{
+ AFFINEANIMCMD_FRAME(0, 0, 0, 10),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd sAffineAnim_1[] =
+{
+ AFFINEANIMCMD_FRAME(-2, -2, 0, 122),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const sMonIconAffineAnims[] =
+{
+ sAffineAnim_0,
+ sAffineAnim_1,
+};
+
+const u16 sSpriteImageSizes[3][4] =
+{
+ // square
+ {
+ 0x20, // 1×1
+ 0x80, // 2×2
+ 0x200, // 4×4
+ 0x800, // 8×8
+ },
+
+ // horizontal rectangle
+ {
+ 0x40, // 2×1
+ 0x80, // 4×1
+ 0x100, // 4×2
+ 0x400, // 8×4
+ },
+
+ // vertical rectangle
+ {
+ 0x40, // 1×2
+ 0x80, // 1×4
+ 0x100, // 2×4
+ 0x400, // 4×8
+ },
+};
diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c
index bdf4427c7..bb196dd27 100644
--- a/src/pokemon_storage_system.c
+++ b/src/pokemon_storage_system.c
@@ -5,9 +5,76 @@
#include "event_data.h"
#include "string_util.h"
#include "text.h"
+#include "strings.h"
+#include "window.h"
IWRAM_DATA u8 gUnknown_03000F78[0x188];
+struct OptionAndDescription
+{
+ const u8 *optionTxt;
+ const u8 *descriptionTxt;
+};
+
+// const rom data
+const struct OptionAndDescription gUnknown_085716C0[] =
+{
+ {gText_WithdrawPokemon, gText_WithdrawMonDescription},
+ {gText_DepositPokemon, gText_DepositMonDescription},
+ {gText_MovePokemon, gText_MoveMonDescription},
+ {gText_MoveItems, gText_MoveItemsDescription},
+ {gText_SeeYa, gText_SeeYaDescription}
+};
+
+const struct WindowTemplate gUnknown_085716E8 = {0, 1, 1, 0x11, 0xA, 0xF, 1};
+
+static const union AnimCmd sSpriteAnim_85716F0[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_85716F8[] =
+{
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_8571700[] =
+{
+ ANIMCMD_FRAME(6, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_8571708[] =
+{
+ ANIMCMD_FRAME(10, 5),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const sSpriteAnimTable_8571710[] =
+{
+ sSpriteAnim_85716F0,
+ sSpriteAnim_85716F8,
+ sSpriteAnim_8571700,
+ sSpriteAnim_8571708
+};
+
+static const union AffineAnimCmd sSpriteAffineAnim_8571720[] =
+{
+ AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0),
+ AFFINEANIMCMD_END
+};
+
+static const union AffineAnimCmd *const sSpriteAffineAnimTable_8571730[] =
+{
+ sSpriteAffineAnim_8571720
+};
+
+const struct TextColor gUnknown_08571734[] = {4, 0xF, 0xE};
+const u8 gUnknown_08571737[] = _("/30");
+
+// code
u8 CountMonsInBox(u8 boxId)
{
u16 i, count;
diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c
new file mode 100644
index 000000000..577294f0c
--- /dev/null
+++ b/src/rayquaza_scene.c
@@ -0,0 +1,1164 @@
+#include "global.h"
+#include "sprite.h"
+#include "task.h"
+#include "graphics.h"
+#include "bg.h"
+
+struct UnkRayquazaStruct
+{
+ u32 field_0;
+ u32 field_4;
+ u32 field_8;
+};
+
+// this file's functions
+void sub_81D7134(u8 taskId);
+void sub_81D7F4C(u8 taskId);
+void sub_81D84EC(u8 taskId);
+void sub_81D8980(u8 taskId);
+void sub_81D8DB4(u8 taskId);
+void sub_81D6800(u8 taskId);
+
+void sub_81D8260(struct Sprite *sprite);
+void sub_81D961C(struct Sprite *sprite);
+
+// const rom data
+const TaskFunc gUnknown_0862A6A0[] =
+{
+ sub_81D7134,
+ sub_81D7134,
+ sub_81D7F4C,
+ sub_81D84EC,
+ sub_81D8980,
+ sub_81D8DB4,
+ sub_81D6800
+};
+
+static const struct OamData sOamData_862A6BC =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const struct OamData sOamData_862A6C4 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const struct OamData sOamData_862A6CC =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const struct OamData sOamData_862A6D4 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const struct OamData sOamData_862A6DC =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 0,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const struct OamData sOamData_862A6E4 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 2,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const struct OamData sOamData_862A6EC =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 1,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const struct OamData sOamData_862A6F4 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 1,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const union AnimCmd sSpriteAnim_862A6FC[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(64, 30),
+ ANIMCMD_FRAME(128, 30),
+ ANIMCMD_FRAME(64, 30),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sSpriteAnim_862A710[] =
+{
+ ANIMCMD_FRAME(192, 30),
+ ANIMCMD_FRAME(256, 30),
+ ANIMCMD_FRAME(320, 30),
+ ANIMCMD_FRAME(256, 30),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862A724[] =
+{
+ sSpriteAnim_862A6FC,
+ sSpriteAnim_862A710
+};
+
+const struct SpriteTemplate gUnknown_0862A72C =
+{
+ .tileTag = 30505,
+ .paletteTag = 30505,
+ .oam = &sOamData_862A6BC,
+ .anims = sSpriteAnimTable_862A724,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+static const union AnimCmd sSpriteAnim_862A744[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862A74C[] =
+{
+ sSpriteAnim_862A744
+};
+
+const struct SpriteTemplate gUnknown_0862A750 =
+{
+ .tileTag = 30506,
+ .paletteTag = 30505,
+ .oam = &sOamData_862A6C4,
+ .anims = sSpriteAnimTable_862A74C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+static const union AnimCmd sSpriteAnim_862A768[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862A770[] =
+{
+ sSpriteAnim_862A768
+};
+
+const struct SpriteTemplate gUnknown_0862A774 =
+{
+ .tileTag = 30507,
+ .paletteTag = 30505,
+ .oam = &sOamData_862A6CC,
+ .anims = sSpriteAnimTable_862A770,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+static const union AnimCmd sSpriteAnim_862A78C[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862A794[] =
+{
+ ANIMCMD_FRAME(8, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862A79C[] =
+{
+ ANIMCMD_FRAME(16, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862A7A4[] =
+{
+ ANIMCMD_FRAME(24, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862A7AC[] =
+{
+ ANIMCMD_FRAME(32, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862A7B4[] =
+{
+ ANIMCMD_FRAME(40, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862A7BC[] =
+{
+ ANIMCMD_FRAME(48, 36),
+ ANIMCMD_FRAME(64, 36),
+ ANIMCMD_FRAME(80, 36),
+ ANIMCMD_FRAME(64, 36),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sSpriteAnim_862A7D0[] =
+{
+ ANIMCMD_FRAME(56, 36),
+ ANIMCMD_FRAME(72, 36),
+ ANIMCMD_FRAME(88, 36),
+ ANIMCMD_FRAME(72, 36),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sSpriteAnim_862A7E4[] =
+{
+ ANIMCMD_FRAME(96, 36),
+ ANIMCMD_FRAME(104, 36),
+ ANIMCMD_FRAME(112, 36),
+ ANIMCMD_FRAME(104, 36),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862A7F8[] =
+{
+ sSpriteAnim_862A78C,
+ sSpriteAnim_862A794,
+ sSpriteAnim_862A79C,
+ sSpriteAnim_862A7A4,
+ sSpriteAnim_862A7AC,
+ sSpriteAnim_862A7B4,
+ sSpriteAnim_862A7BC,
+ sSpriteAnim_862A7D0,
+ sSpriteAnim_862A7E4
+};
+
+const struct SpriteTemplate gUnknown_0862A81C =
+{
+ .tileTag = 30508,
+ .paletteTag = 30508,
+ .oam = &sOamData_862A6D4,
+ .anims = sSpriteAnimTable_862A7F8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+static const union AnimCmd sSpriteAnim_862A834[] =
+{
+ ANIMCMD_FRAME(0, 36),
+ ANIMCMD_FRAME(2, 36),
+ ANIMCMD_FRAME(4, 36),
+ ANIMCMD_FRAME(2, 36),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862A848[] =
+{
+ sSpriteAnim_862A834
+};
+
+const struct SpriteTemplate gUnknown_0862A84C =
+{
+ .tileTag = 30509,
+ .paletteTag = 30508,
+ .oam = &sOamData_862A6DC,
+ .anims = sSpriteAnimTable_862A848,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct SpriteTemplate gUnknown_0862A864 =
+{
+ .tileTag = 30510,
+ .paletteTag = 30508,
+ .oam = &sOamData_862A6C4,
+ .anims = sSpriteAnimTable_862A74C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct UnkRayquazaStruct gUnknown_0862A87C = {0x4000014, 0xA2600001, 1};
+
+const struct BgTemplate gUnknown_0862A888[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 30,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 29,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ },
+};
+
+static const union AnimCmd sSpriteAnim_862A894[] =
+{
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(64, 20),
+ ANIMCMD_FRAME(128, 20),
+ ANIMCMD_FRAME(64, 20),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sSpriteAnim_862A8A8[] =
+{
+ ANIMCMD_FRAME(192, 20),
+ ANIMCMD_FRAME(256, 20),
+ ANIMCMD_FRAME(320, 20),
+ ANIMCMD_FRAME(256, 20),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862A8BC[] =
+{
+ sSpriteAnim_862A894,
+ sSpriteAnim_862A8A8
+};
+
+const struct CompressedSpriteSheet gUnknown_0862A8C4 =
+{
+ gUnknown_08DA1E78, 0x3000, 30505
+};
+
+const struct CompressedSpritePalette gUnknown_0862A8CC =
+{
+ gUnknown_08DA3370, 30505
+};
+
+const struct SpriteTemplate gUnknown_0862A8D4 =
+{
+ .tileTag = 30505,
+ .paletteTag = 30505,
+ .oam = &sOamData_862A6BC,
+ .anims = sSpriteAnimTable_862A8BC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+static const union AnimCmd sSpriteAnim_862A8EC[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862A8F4[] =
+{
+ sSpriteAnim_862A8EC
+};
+
+const struct CompressedSpriteSheet gUnknown_0862A8F8 =
+{
+ gUnknown_08DA2A5C, 0x200, 30506
+};
+
+const struct SpriteTemplate gUnknown_0862A900 =
+{
+ .tileTag = 30506,
+ .paletteTag = 30505,
+ .oam = &sOamData_862A6C4,
+ .anims = sSpriteAnimTable_862A8F4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+static const union AnimCmd sSpriteAnim_862A918[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862A920[] =
+{
+ sSpriteAnim_862A918
+};
+
+const struct CompressedSpriteSheet gUnknown_0862A924 =
+{
+ gUnknown_08DA2B28, 0x400, 30507
+};
+
+const struct SpriteTemplate gUnknown_0862A92C =
+{
+ .tileTag = 30507,
+ .paletteTag = 30505,
+ .oam = &sOamData_862A6CC,
+ .anims = sSpriteAnimTable_862A920,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+static const union AnimCmd sSpriteAnim_862A944[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862A94C[] =
+{
+ ANIMCMD_FRAME(8, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862A954[] =
+{
+ ANIMCMD_FRAME(16, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862A95C[] =
+{
+ ANIMCMD_FRAME(24, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862A964[] =
+{
+ ANIMCMD_FRAME(32, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862A96C[] =
+{
+ ANIMCMD_FRAME(40, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862A974[] =
+{
+ ANIMCMD_FRAME(48, 24),
+ ANIMCMD_FRAME(64, 24),
+ ANIMCMD_FRAME(80, 24),
+ ANIMCMD_FRAME(64, 24),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sSpriteAnim_862A988[] =
+{
+ ANIMCMD_FRAME(56, 24),
+ ANIMCMD_FRAME(72, 24),
+ ANIMCMD_FRAME(88, 24),
+ ANIMCMD_FRAME(72, 24),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sSpriteAnim_862A99C[] =
+{
+ ANIMCMD_FRAME(96, 24),
+ ANIMCMD_FRAME(104, 24),
+ ANIMCMD_FRAME(112, 24),
+ ANIMCMD_FRAME(104, 24),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862A9B0[] =
+{
+ sSpriteAnim_862A944,
+ sSpriteAnim_862A94C,
+ sSpriteAnim_862A954,
+ sSpriteAnim_862A95C,
+ sSpriteAnim_862A964,
+ sSpriteAnim_862A96C,
+ sSpriteAnim_862A974,
+ sSpriteAnim_862A988,
+ sSpriteAnim_862A99C
+};
+
+const struct CompressedSpriteSheet gUnknown_0862A9D4 =
+{
+ gUnknown_08DA2D1C, 0xF00, 30508
+};
+
+const struct CompressedSpritePalette gUnknown_0862A9DC =
+{
+ gUnknown_08DA3398, 30508
+};
+
+const struct SpriteTemplate gUnknown_0862A9E4 =
+{
+ .tileTag = 30508,
+ .paletteTag = 30508,
+ .oam = &sOamData_862A6D4,
+ .anims = sSpriteAnimTable_862A9B0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+static const union AnimCmd sSpriteAnim_862A9FC[] =
+{
+ ANIMCMD_FRAME(0, 24),
+ ANIMCMD_FRAME(2, 24),
+ ANIMCMD_FRAME(4, 24),
+ ANIMCMD_FRAME(2, 24),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862AA10[] =
+{
+ sSpriteAnim_862A9FC
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AA14 =
+{
+ gUnknown_08DA3250, 0xC0, 30509
+};
+
+const struct SpriteTemplate gUnknown_0862AA1C =
+{
+ .tileTag = 30509,
+ .paletteTag = 30508,
+ .oam = &sOamData_862A6DC,
+ .anims = sSpriteAnimTable_862AA10,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AA34 =
+{
+ gUnknown_08DA32A4, 0x200, 30510
+};
+
+const struct SpriteTemplate gUnknown_0862AA3C =
+{
+ .tileTag = 30510,
+ .paletteTag = 30508,
+ .oam = &sOamData_862A6C4,
+ .anims = sSpriteAnimTable_862A8F4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct BgTemplate gUnknown_0862AA54[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 30,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 29,
+ .screenSize = 1,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ }
+};
+
+static const union AnimCmd sSpriteAnim_862AA60[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862AA68[] =
+{
+ sSpriteAnim_862AA60
+};
+
+static const union AffineAnimCmd sSpriteAffineAnim_862AA6C[] =
+{
+ AFFINEANIMCMD_FRAME(-64, -64, 0, 1),
+ AFFINEANIMCMD_FRAME(32, 32, 0, 14),
+ AFFINEANIMCMD_FRAME(256, 256, 0, 0),
+ AFFINEANIMCMD_JUMP(0)
+};
+
+static const union AffineAnimCmd *const sSpriteAffineAnimTable_862AA8C[] =
+{
+ sSpriteAffineAnim_862AA6C
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AA90 =
+{
+ gUnknown_08DA3BC0, 0x100, 30555
+};
+
+const struct CompressedSpritePalette gUnknown_0862AA98 =
+{
+ gUnknown_08DA3C7C, 30555
+};
+
+const struct SpriteTemplate gUnknown_0862AAA0 =
+{
+ .tileTag = 30555,
+ .paletteTag = 30555,
+ .oam = &sOamData_862A6D4,
+ .anims = sSpriteAnimTable_862AA68,
+ .images = NULL,
+ .affineAnims = sSpriteAffineAnimTable_862AA8C,
+ .callback = sub_81D8260,
+};
+
+const s8 gUnknown_0862AAB8[][2] =
+{
+ {-1, 5},
+ {-3, -4},
+ {5, -3},
+ {-7, 2},
+ {-9, -1},
+ {1, -5},
+ {3, 4},
+ {-5, 3},
+ {7, -2},
+ {9, 1}
+};
+
+const struct BgTemplate gUnknown_0862AACC[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 30,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 29,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 28,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ }
+};
+
+static const union AnimCmd sSpriteAnim_862AADC[] =
+{
+ ANIMCMD_FRAME(0, 32),
+ ANIMCMD_FRAME(64, 32),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862AAE8[] =
+{
+ sSpriteAnim_862AADC
+};
+
+static const union AnimCmd sSpriteAnim_862AAEC[] =
+{
+ ANIMCMD_FRAME(0, 32),
+ ANIMCMD_FRAME(8, 32),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862AAF8[] =
+{
+ sSpriteAnim_862AAEC
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AAFC =
+{
+ gUnknown_08DA6440, 0x1000, 30556
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AB04 =
+{
+ gUnknown_08DA68AC, 0x200, 30557
+};
+
+const struct CompressedSpritePalette gUnknown_0862AB0C =
+{
+ gUnknown_08DA4DA8, 30556
+};
+
+const struct SpriteTemplate gUnknown_0862AB14 =
+{
+ .tileTag = 30556,
+ .paletteTag = 30556,
+ .oam = &sOamData_862A6BC,
+ .anims = sSpriteAnimTable_862AAE8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct SpriteTemplate gUnknown_0862AB2C =
+{
+ .tileTag = 30557,
+ .paletteTag = 30556,
+ .oam = &sOamData_862A6E4,
+ .anims = sSpriteAnimTable_862AAF8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct BgTemplate gUnknown_0862AB44[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 30,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 29,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 3,
+ .mapBaseIndex = 28,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ }
+};
+
+static const union AnimCmd sSpriteAnim_862AB54[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862AB5C[] =
+{
+ ANIMCMD_FRAME(0, 48),
+ ANIMCMD_FRAME(64, 32),
+ ANIMCMD_FRAME(0, 48),
+ ANIMCMD_FRAME(128, 32),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862AB70[] =
+{
+ sSpriteAnim_862AB54,
+ sSpriteAnim_862AB5C
+};
+
+static const union AnimCmd sSpriteAnim_862AB78[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862AB80[] =
+{
+ sSpriteAnim_862AB78,
+};
+
+static const union AnimCmd sSpriteAnim_862AB84[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862AB8C[] =
+{
+ ANIMCMD_FRAME(16, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862AB94[] =
+{
+ ANIMCMD_FRAME(32, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862AB9C[] =
+{
+ sSpriteAnim_862AB84,
+ sSpriteAnim_862AB8C,
+ sSpriteAnim_862AB94
+};
+
+static const union AnimCmd sSpriteAnim_862ABA8[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862ABB0[] =
+{
+ ANIMCMD_FRAME(64, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862ABB8[] =
+{
+ ANIMCMD_FRAME(128, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862ABC0[] =
+{
+ ANIMCMD_FRAME(192, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862ABC8[] =
+{
+ sSpriteAnim_862ABA8,
+ sSpriteAnim_862ABB0,
+ sSpriteAnim_862ABB8,
+ sSpriteAnim_862ABC0
+};
+
+static const union AnimCmd sSpriteAnim_862ABD8[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862ABE0[] =
+{
+ ANIMCMD_FRAME(16, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862ABE8[] =
+{
+ ANIMCMD_FRAME(32, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862ABF0[] =
+{
+ ANIMCMD_FRAME(48, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862ABF8[] =
+{
+ sSpriteAnim_862ABD8,
+ sSpriteAnim_862ABE0,
+ sSpriteAnim_862ABE8,
+ sSpriteAnim_862ABF0
+};
+
+static const union AnimCmd sSpriteAnim_862AC08[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(4, 8),
+ ANIMCMD_FRAME(8, 8),
+ ANIMCMD_FRAME(12, 8),
+ ANIMCMD_FRAME(16, 8),
+ ANIMCMD_FRAME(20, 8),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862AC24[] =
+{
+ sSpriteAnim_862AC08
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AC28 =
+{
+ gUnknown_08DA8ED8, 0x1800, 30565
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AC30 =
+{
+ gUnknown_08DA9670, 0x80, 30566
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AC38 =
+{
+ gUnknown_08DA96B4, 0x600, 30568
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AC40 =
+{
+ gUnknown_08DA98FC, 0x2000, 30569
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AC48 =
+{
+ gUnknown_08DAA5A4, 0x800, 30570
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AC50 =
+{
+ gUnknown_08DAA794, 0x300, 30571
+};
+
+const struct CompressedSpritePalette gUnknown_0862AC58 =
+{
+ gUnknown_08DAA82C, 30565
+};
+
+const struct CompressedSpritePalette gUnknown_0862AC60 =
+{
+ gUnknown_08DAA854, 30568
+};
+
+const struct CompressedSpritePalette gUnknown_0862AC68 =
+{
+ gUnknown_08DAA87C, 30569
+};
+
+const struct CompressedSpritePalette gUnknown_0862AC70 =
+{
+ gUnknown_08DAA8A4, 30571
+};
+
+const struct SpriteTemplate gUnknown_0862AC78 =
+{
+ .tileTag = 30565,
+ .paletteTag = 30565,
+ .oam = &sOamData_862A6BC,
+ .anims = sSpriteAnimTable_862AB70,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct SpriteTemplate gUnknown_0862AC90 =
+{
+ .tileTag = 30566,
+ .paletteTag = 30565,
+ .oam = &sOamData_862A6EC,
+ .anims = sSpriteAnimTable_862AB80,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct SpriteTemplate gUnknown_0862ACA8 =
+{
+ .tileTag = 30568,
+ .paletteTag = 30568,
+ .oam = &sOamData_862A6C4,
+ .anims = sSpriteAnimTable_862AB9C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct SpriteTemplate gUnknown_0862ACC0 =
+{
+ .tileTag = 30569,
+ .paletteTag = 30569,
+ .oam = &sOamData_862A6BC,
+ .anims = sSpriteAnimTable_862ABC8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81D961C,
+};
+
+const struct SpriteTemplate gUnknown_0862ACD8 =
+{
+ .tileTag = 30570,
+ .paletteTag = 30569,
+ .oam = &sOamData_862A6C4,
+ .anims = sSpriteAnimTable_862ABF8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct SpriteTemplate gUnknown_0862ACF0 =
+{
+ .tileTag = 30571,
+ .paletteTag = 30571,
+ .oam = &sOamData_862A6F4,
+ .anims = sSpriteAnimTable_862AC24,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct BgTemplate gUnknown_0862AD08[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 30,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 29,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ }
+};
+
diff --git a/src/start_menu.c b/src/start_menu.c
index f45fd8626..a820cd992 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -6,6 +6,8 @@
#include "window.h"
#include "string_util.h"
#include "text.h"
+#include "strings.h"
+#include "bg.h"
// Menu actions
enum
@@ -25,15 +27,6 @@ enum
MENU_ACTION_PYRAMID_BAG
};
-static void BuildStartMenuActions_LinkMode(void);
-static void BuildStartMenuActions_UnionRoom(void);
-static void BuildStartMenuActions_SafariZone(void);
-static void BuildStartMenuActions_BattlePike(void);
-static void BuildStartMenuActions_BattlePyramid(void);
-static void BuildStartMenuActions_MultiBattleRoom(void);
-static void BuildStartMenuActions_Normal(void);
-u8 StartMenu_PlayerName(void);
-
extern bool32 is_c1_link_related_active(void);
extern bool32 InUnionRoom(void);
extern bool8 InBattlePike(void);
@@ -42,12 +35,91 @@ extern bool8 InMultiBattleRoom(void);
extern void sub_81973FC(u8 windowId, u8 a1);
extern void sub_8198070(u8 windowId, u8 a1);
+// this file's functions
+static void BuildStartMenuActions_LinkMode(void);
+static void BuildStartMenuActions_UnionRoom(void);
+static void BuildStartMenuActions_SafariZone(void);
+static void BuildStartMenuActions_BattlePike(void);
+static void BuildStartMenuActions_BattlePyramid(void);
+static void BuildStartMenuActions_MultiBattleRoom(void);
+static void BuildStartMenuActions_Normal(void);
+bool8 StartMenu_Pokedex(void);
+bool8 StartMenu_Pokemon(void);
+bool8 StartMenu_Bag(void);
+bool8 StartMenu_PokeNav(void);
+bool8 StartMenu_PlayerName(void);
+bool8 StartMenu_Save(void);
+bool8 StartMenu_Option(void);
+bool8 StartMenu_Exit(void);
+bool8 StartMenu_SafariZoneRetire(void);
+bool8 StartMenu_LinkModePlayerName(void);
+bool8 StartMenu_BattlePyramidRetire(void);
+bool8 StartMenu_BattlePyramidBag(void);
+
+// EWRAM vars
EWRAM_DATA u8 sSafariBallsWindowId = 0;
EWRAM_DATA u8 sBattlePyramidFloorWindowId = 0;
EWRAM_DATA u8 sStartMenuCursorPos = 0;
EWRAM_DATA u8 sNumStartMenuActions = 0;
EWRAM_DATA u8 sCurrentStartMenuActions[9] = {0};
+// const rom data
+static const struct WindowTemplate gSafariBallsWindowTemplate = {0, 1, 1, 9, 4, 0xF, 8};
+
+static const u8* const sPyramindFloorNames[] =
+{
+ gText_Floor1,
+ gText_Floor2,
+ gText_Floor3,
+ gText_Floor4,
+ gText_Floor5,
+ gText_Floor6,
+ gText_Floor7,
+ gText_Peak
+};
+
+static const struct WindowTemplate gPyramidFloorWindowTemplate_2 = {0, 1, 1, 0xA, 4, 0xF, 8};
+static const struct WindowTemplate gPyramidFloorWindowTemplate_1 = {0, 1, 1, 0xC, 4, 0xF, 8};
+
+const struct MenuAction sStartMenuItems[] =
+{
+ {gText_MenuPokedex, {.u8_void = StartMenu_Pokedex}},
+ {gText_MenuPokemon, {.u8_void = StartMenu_Pokemon}},
+ {gText_MenuBag, {.u8_void = StartMenu_Bag}},
+ {gText_MenuPokenav, {.u8_void = StartMenu_PokeNav}},
+ {gText_MenuPlayer, {.u8_void = StartMenu_PlayerName}},
+ {gText_MenuSave, {.u8_void = StartMenu_Save}},
+ {gText_MenuOption, {.u8_void = StartMenu_Option}},
+ {gText_MenuExit, {.u8_void = StartMenu_Exit}},
+ {gText_MenuRetire, {.u8_void = StartMenu_SafariZoneRetire}},
+ {gText_MenuPlayer, {.u8_void = StartMenu_LinkModePlayerName}},
+ {gText_MenuRest, {.u8_void = StartMenu_Save}},
+ {gText_MenuRetire, {.u8_void = StartMenu_BattlePyramidRetire}},
+ {gText_MenuBag, {.u8_void = StartMenu_BattlePyramidBag}}
+};
+
+const struct BgTemplate gUnknown_085105A8[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ }
+};
+
+const struct WindowTemplate gUnknown_085105AC[] =
+{
+ {0, 2, 0xF, 0x1A, 4, 0xF, 0x194},
+ DUMMY_WIN_TEMPLATE
+};
+
+const struct WindowTemplate gUnknown_085105BC = {0, 1, 1, 0xE, 0xA, 0xF, 8};
+
+// code
void BuildStartMenuActions(void)
{
sNumStartMenuActions = 0;
@@ -148,11 +220,6 @@ static void BuildStartMenuActions_MultiBattleRoom(void)
AddStartMenuAction(MENU_ACTION_EXIT);
}
-extern const struct WindowTemplate gSafariBallsWindowTemplate;
-extern const struct WindowTemplate gPyramidFloorWindowTemplate_1;
-extern const struct WindowTemplate gPyramidFloorWindowTemplate_2;
-extern const u8 gText_SafariBallStock[];
-
void DisplaySafariBallsWindow(void)
{
sSafariBallsWindowId = AddWindow(&gSafariBallsWindowTemplate);
@@ -164,9 +231,6 @@ void DisplaySafariBallsWindow(void)
CopyWindowToVram(sSafariBallsWindowId, 2);
}
-extern const u8* const gUnknown_08510510[];
-extern const u8 gText_BattlePyramidFloor[];
-
void DisplayPyramidFloorWindow(void)
{
// TODO: fix location
@@ -176,7 +240,7 @@ void DisplayPyramidFloorWindow(void)
sBattlePyramidFloorWindowId = AddWindow(&gPyramidFloorWindowTemplate_2);
PutWindowTilemap(sBattlePyramidFloorWindowId);
sub_81973FC(sBattlePyramidFloorWindowId, 0);
- StringCopy(gStringVar1, gUnknown_08510510[gSaveBlock2Ptr->field_CAA[4]]);
+ StringCopy(gStringVar1, sPyramindFloorNames[gSaveBlock2Ptr->field_CAA[4]]);
StringExpandPlaceholders(gStringVar4, gText_BattlePyramidFloor);
PrintTextOnWindow(sBattlePyramidFloorWindowId, 1, gStringVar4, 0, 1, 0xFF, NULL);
CopyWindowToVram(sBattlePyramidFloorWindowId, 2);
@@ -197,8 +261,6 @@ void RemoveExtraStartMenuWindows(void)
}
}
-extern const struct MenuAction sStartMenuItems[];
-
/*
// Prints n menu items starting at *index
static bool32 PrintStartMenuItemsMultistep(s16 *index, u32 n)