summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSlawter666 <38655737+Slawter666@users.noreply.github.com>2018-11-27 04:00:38 +0000
committerSlawter666 <38655737+Slawter666@users.noreply.github.com>2018-11-27 04:00:38 +0000
commitdeb7adbad5fcec2ba558c3919b11d8fadf0bcbb2 (patch)
tree59b3a8d3a6244f4442a4d232fcc0069636769999 /src
parent382ff4545241f90c28ba391162f6901f6bb043ed (diff)
Convert pokédex data to C
Diffstat (limited to 'src')
-rw-r--r--src/data/pokemon/pokedex_entries.h3873
-rw-r--r--src/data/pokemon/pokedex_text.h2321
-rw-r--r--src/data/pokemon_graphics/footprint_table.h416
-rw-r--r--src/pokedex.c501
4 files changed, 7063 insertions, 48 deletions
diff --git a/src/data/pokemon/pokedex_entries.h b/src/data/pokemon/pokedex_entries.h
new file mode 100644
index 000000000..acf6506bd
--- /dev/null
+++ b/src/data/pokemon/pokedex_entries.h
@@ -0,0 +1,3873 @@
+const struct PokedexEntry gPokedexEntries[] =
+{
+ { //Dummy
+ .categoryName = _("UNKNOWN"),
+ .height = 0,
+ .weight = 0,
+ .description = gDummyPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Bulbasaur
+ .categoryName = _("SEED"),
+ .height = 7,
+ .weight = 69,
+ .description = gBulbasaurPokedexText,
+ .pokemonScale = 356,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Ivysaur
+ .categoryName = _("SEED"),
+ .height = 10,
+ .weight = 130,
+ .description = gIvysaurPokedexText,
+ .pokemonScale = 335,
+ .pokemonOffset = 13,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Venusaur
+ .categoryName = _("SEED"),
+ .height = 20,
+ .weight = 1000,
+ .description = gVenusaurPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 388,
+ .trainerOffset = 6,
+ },
+ { //Charmander
+ .categoryName = _("LIZARD"),
+ .height = 6,
+ .weight = 85,
+ .description = gCharmanderPokedexText,
+ .pokemonScale = 444,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Charmeleon
+ .categoryName = _("FLAME"),
+ .height = 11,
+ .weight = 190,
+ .description = gCharmeleonPokedexText,
+ .pokemonScale = 302,
+ .pokemonOffset = 9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Charizard
+ .categoryName = _("FLAME"),
+ .height = 17,
+ .weight = 905,
+ .description = gCharizardPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 1,
+ .trainerScale = 302,
+ .trainerOffset = 3,
+ },
+ { //Squirtle
+ .categoryName = _("TINY TURTLE"),
+ .height = 5,
+ .weight = 90,
+ .description = gSquirtlePokedexText,
+ .pokemonScale = 412,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Wartortle
+ .categoryName = _("TURTLE"),
+ .height = 10,
+ .weight = 225,
+ .description = gWartortlePokedexText,
+ .pokemonScale = 332,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Blastoise
+ .categoryName = _("SHELLFISH"),
+ .height = 16,
+ .weight = 855,
+ .description = gBlastoisePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = -1,
+ .trainerScale = 293,
+ .trainerOffset = 2,
+ },
+ { //Caterpie
+ .categoryName = _("WORM"),
+ .height = 3,
+ .weight = 29,
+ .description = gCaterpiePokedexText,
+ .pokemonScale = 549,
+ .pokemonOffset = 22,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Metapod
+ .categoryName = _("COCOON"),
+ .height = 7,
+ .weight = 99,
+ .description = gMetapodPokedexText,
+ .pokemonScale = 350,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Butterfree
+ .categoryName = _("BUTTERFLY"),
+ .height = 11,
+ .weight = 320,
+ .description = gButterfreePokedexText,
+ .pokemonScale = 312,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Weedle
+ .categoryName = _("HAIRY BUG"),
+ .height = 3,
+ .weight = 32,
+ .description = gWeedlePokedexText,
+ .pokemonScale = 455,
+ .pokemonOffset = 22,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Kakuna
+ .categoryName = _("COCOON"),
+ .height = 6,
+ .weight = 100,
+ .description = gKakunaPokedexText,
+ .pokemonScale = 424,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Beedrill
+ .categoryName = _("POISON BEE"),
+ .height = 10,
+ .weight = 295,
+ .description = gBeedrillPokedexText,
+ .pokemonScale = 366,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Pidgey
+ .categoryName = _("TINY BIRD"),
+ .height = 3,
+ .weight = 18,
+ .description = gPidgeyPokedexText,
+ .pokemonScale = 508,
+ .pokemonOffset = -3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Pidgeotto
+ .categoryName = _("BIRD"),
+ .height = 11,
+ .weight = 300,
+ .description = gPidgeottoPokedexText,
+ .pokemonScale = 331,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Pidgeot
+ .categoryName = _("BIRD"),
+ .height = 15,
+ .weight = 395,
+ .description = gPidgeotPokedexText,
+ .pokemonScale = 269,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Rattata
+ .categoryName = _("MOUSE"),
+ .height = 3,
+ .weight = 35,
+ .description = gRattataPokedexText,
+ .pokemonScale = 481,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Raticate
+ .categoryName = _("MOUSE"),
+ .height = 7,
+ .weight = 185,
+ .description = gRaticatePokedexText,
+ .pokemonScale = 459,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Spearow
+ .categoryName = _("TINY BIRD"),
+ .height = 3,
+ .weight = 20,
+ .description = gSpearowPokedexText,
+ .pokemonScale = 571,
+ .pokemonOffset = 22,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Fearow
+ .categoryName = _("BEAK"),
+ .height = 12,
+ .weight = 380,
+ .description = gFearowPokedexText,
+ .pokemonScale = 278,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Ekans
+ .categoryName = _("SNAKE"),
+ .height = 20,
+ .weight = 69,
+ .description = gEkansPokedexText,
+ .pokemonScale = 298,
+ .pokemonOffset = 12,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Arbok
+ .categoryName = _("COBRA"),
+ .height = 35,
+ .weight = 650,
+ .description = gArbokPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 296,
+ .trainerOffset = 2,
+ },
+ { //Pikachu
+ .categoryName = _("MOUSE"),
+ .height = 4,
+ .weight = 60,
+ .description = gPikachuPokedexText,
+ .pokemonScale = 479,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Raichu
+ .categoryName = _("MOUSE"),
+ .height = 8,
+ .weight = 300,
+ .description = gRaichuPokedexText,
+ .pokemonScale = 426,
+ .pokemonOffset = 13,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Sandshrew
+ .categoryName = _("MOUSE"),
+ .height = 6,
+ .weight = 120,
+ .description = gSandshrewPokedexText,
+ .pokemonScale = 365,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Sandslash
+ .categoryName = _("MOUSE"),
+ .height = 10,
+ .weight = 295,
+ .description = gSandslashPokedexText,
+ .pokemonScale = 341,
+ .pokemonOffset = 11,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //NidoranF
+ .categoryName = _("POISON PIN"),
+ .height = 4,
+ .weight = 70,
+ .description = gNidoranFPokedexText,
+ .pokemonScale = 488,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Nidorina
+ .categoryName = _("POISON PIN"),
+ .height = 8,
+ .weight = 200,
+ .description = gNidorinaPokedexText,
+ .pokemonScale = 381,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Nidoqueen
+ .categoryName = _("DRILL"),
+ .height = 13,
+ .weight = 600,
+ .description = gNidoqueenPokedexText,
+ .pokemonScale = 293,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //NidoranM
+ .categoryName = _("POISON PIN"),
+ .height = 5,
+ .weight = 90,
+ .description = gNidoranMPokedexText,
+ .pokemonScale = 511,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Nidorino
+ .categoryName = _("POISON PIN"),
+ .height = 9,
+ .weight = 195,
+ .description = gNidorinoPokedexText,
+ .pokemonScale = 408,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Nidoking
+ .categoryName = _("DRILL"),
+ .height = 14,
+ .weight = 620,
+ .description = gNidokingPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Clefairy
+ .categoryName = _("FAIRY"),
+ .height = 6,
+ .weight = 75,
+ .description = gClefairyPokedexText,
+ .pokemonScale = 441,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Clefable
+ .categoryName = _("FAIRY"),
+ .height = 13,
+ .weight = 400,
+ .description = gClefablePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Vulpix
+ .categoryName = _("FOX"),
+ .height = 6,
+ .weight = 99,
+ .description = gVulpixPokedexText,
+ .pokemonScale = 542,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Ninetales
+ .categoryName = _("FOX"),
+ .height = 11,
+ .weight = 199,
+ .description = gNinetalesPokedexText,
+ .pokemonScale = 339,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Jigglypuff
+ .categoryName = _("BALLOON"),
+ .height = 5,
+ .weight = 55,
+ .description = gJigglypuffPokedexText,
+ .pokemonScale = 433,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Wigglytuff
+ .categoryName = _("BALLOON"),
+ .height = 10,
+ .weight = 120,
+ .description = gWigglytuffPokedexText,
+ .pokemonScale = 328,
+ .pokemonOffset = 11,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Zubat
+ .categoryName = _("BAT"),
+ .height = 8,
+ .weight = 75,
+ .description = gZubatPokedexText,
+ .pokemonScale = 362,
+ .pokemonOffset = -5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Golbat
+ .categoryName = _("BAT"),
+ .height = 16,
+ .weight = 550,
+ .description = gGolbatPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Oddish
+ .categoryName = _("WEED"),
+ .height = 5,
+ .weight = 54,
+ .description = gOddishPokedexText,
+ .pokemonScale = 423,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Gloom
+ .categoryName = _("WEED"),
+ .height = 8,
+ .weight = 86,
+ .description = gGloomPokedexText,
+ .pokemonScale = 329,
+ .pokemonOffset = 13,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Vileplume
+ .categoryName = _("FLOWER"),
+ .height = 12,
+ .weight = 186,
+ .description = gVileplumePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Paras
+ .categoryName = _("MUSHROOM"),
+ .height = 3,
+ .weight = 54,
+ .description = gParasPokedexText,
+ .pokemonScale = 593,
+ .pokemonOffset = 22,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Parasect
+ .categoryName = _("MUSHROOM"),
+ .height = 10,
+ .weight = 295,
+ .description = gParasectPokedexText,
+ .pokemonScale = 307,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Venonat
+ .categoryName = _("INSECT"),
+ .height = 10,
+ .weight = 300,
+ .description = gVenonatPokedexText,
+ .pokemonScale = 360,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = -1,
+ },
+ { //Venomoth
+ .categoryName = _("POISON MOTH"),
+ .height = 15,
+ .weight = 125,
+ .description = gVenomothPokedexText,
+ .pokemonScale = 285,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 1,
+ },
+ { //Diglett
+ .categoryName = _("MOLE"),
+ .height = 2,
+ .weight = 8,
+ .description = gDiglettPokedexText,
+ .pokemonScale = 833,
+ .pokemonOffset = 25,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Dugtrio
+ .categoryName = _("MOLE"),
+ .height = 7,
+ .weight = 333,
+ .description = gDugtrioPokedexText,
+ .pokemonScale = 406,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Meowth
+ .categoryName = _("SCRATCH CAT"),
+ .height = 4,
+ .weight = 42,
+ .description = gMeowthPokedexText,
+ .pokemonScale = 480,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Persian
+ .categoryName = _("CLASSY CAT"),
+ .height = 10,
+ .weight = 320,
+ .description = gPersianPokedexText,
+ .pokemonScale = 320,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Psyduck
+ .categoryName = _("DUCK"),
+ .height = 8,
+ .weight = 196,
+ .description = gPsyduckPokedexText,
+ .pokemonScale = 369,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Golduck
+ .categoryName = _("DUCK"),
+ .height = 17,
+ .weight = 766,
+ .description = gGolduckPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 1,
+ .trainerScale = 273,
+ .trainerOffset = 1,
+ },
+ { //Mankey
+ .categoryName = _("PIG MONKEY"),
+ .height = 5,
+ .weight = 280,
+ .description = gMankeyPokedexText,
+ .pokemonScale = 404,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Primeape
+ .categoryName = _("PIG MONKEY"),
+ .height = 10,
+ .weight = 320,
+ .description = gPrimeapePokedexText,
+ .pokemonScale = 326,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Growlithe
+ .categoryName = _("PUPPY"),
+ .height = 7,
+ .weight = 190,
+ .description = gGrowlithePokedexText,
+ .pokemonScale = 346,
+ .pokemonOffset = 14,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Arcanine
+ .categoryName = _("LEGENDARY"),
+ .height = 19,
+ .weight = 1550,
+ .description = gArcaninePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 1,
+ .trainerScale = 312,
+ .trainerOffset = 4,
+ },
+ { //Poliwag
+ .categoryName = _("TADPOLE"),
+ .height = 6,
+ .weight = 124,
+ .description = gPoliwagPokedexText,
+ .pokemonScale = 369,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Poliwhirl
+ .categoryName = _("TADPOLE"),
+ .height = 10,
+ .weight = 200,
+ .description = gPoliwhirlPokedexText,
+ .pokemonScale = 288,
+ .pokemonOffset = 11,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Poliwrath
+ .categoryName = _("TADPOLE"),
+ .height = 13,
+ .weight = 540,
+ .description = gPoliwrathPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Abra
+ .categoryName = _("PSI"),
+ .height = 9,
+ .weight = 195,
+ .description = gAbraPokedexText,
+ .pokemonScale = 363,
+ .pokemonOffset = 14,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Kadabra
+ .categoryName = _("PSI"),
+ .height = 13,
+ .weight = 565,
+ .description = gKadabraPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Alakazam
+ .categoryName = _("PSI"),
+ .height = 15,
+ .weight = 480,
+ .description = gAlakazamPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Machop
+ .categoryName = _("SUPERPOWER"),
+ .height = 8,
+ .weight = 195,
+ .description = gMachopPokedexText,
+ .pokemonScale = 342,
+ .pokemonOffset = 14,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Machoke
+ .categoryName = _("SUPERPOWER"),
+ .height = 15,
+ .weight = 705,
+ .description = gMachokePokedexText,
+ .pokemonScale = 323,
+ .pokemonOffset = 9,
+ .trainerScale = 257,
+ .trainerOffset = 0,
+ },
+ { //Machamp
+ .categoryName = _("SUPERPOWER"),
+ .height = 16,
+ .weight = 1300,
+ .description = gMachampPokedexText,
+ .pokemonScale = 280,
+ .pokemonOffset = 1,
+ .trainerScale = 269,
+ .trainerOffset = -1,
+ },
+ { //Bellsprout
+ .categoryName = _("FLOWER"),
+ .height = 7,
+ .weight = 40,
+ .description = gBellsproutPokedexText,
+ .pokemonScale = 354,
+ .pokemonOffset = 16,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Weepinbell
+ .categoryName = _("FLYCATCHER"),
+ .height = 10,
+ .weight = 64,
+ .description = gWeepinbellPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Victreebel
+ .categoryName = _("FLYCATCHER"),
+ .height = 17,
+ .weight = 155,
+ .description = gVictreebelPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 1,
+ .trainerScale = 312,
+ .trainerOffset = 3,
+ },
+ { //Tentacool
+ .categoryName = _("JELLYFISH"),
+ .height = 9,
+ .weight = 455,
+ .description = gTentacoolPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Tentacruel
+ .categoryName = _("JELLYFISH"),
+ .height = 16,
+ .weight = 550,
+ .description = gTentacruelPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 312,
+ .trainerOffset = 1,
+ },
+ { //Geodude
+ .categoryName = _("ROCK"),
+ .height = 4,
+ .weight = 200,
+ .description = gGeodudePokedexText,
+ .pokemonScale = 347,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Graveler
+ .categoryName = _("ROCK"),
+ .height = 10,
+ .weight = 1050,
+ .description = gGravelerPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Golem
+ .categoryName = _("MEGATON"),
+ .height = 14,
+ .weight = 3000,
+ .description = gGolemPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 296,
+ .trainerOffset = 2,
+ },
+ { //Ponyta
+ .categoryName = _("FIRE HORSE"),
+ .height = 10,
+ .weight = 300,
+ .description = gPonytaPokedexText,
+ .pokemonScale = 283,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Rapidash
+ .categoryName = _("FIRE HORSE"),
+ .height = 17,
+ .weight = 950,
+ .description = gRapidashPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 289,
+ .trainerOffset = 1,
+ },
+ { //Slowpoke
+ .categoryName = _("DOPEY"),
+ .height = 12,
+ .weight = 360,
+ .description = gSlowpokePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Slowbro
+ .categoryName = _("HERMIT CRAB"),
+ .height = 16,
+ .weight = 785,
+ .description = gSlowbroPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 6,
+ .trainerScale = 296,
+ .trainerOffset = 2,
+ },
+ { //Magnemite
+ .categoryName = _("MAGNET"),
+ .height = 3,
+ .weight = 60,
+ .description = gMagnemitePokedexText,
+ .pokemonScale = 288,
+ .pokemonOffset = -9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Magneton
+ .categoryName = _("MAGNET"),
+ .height = 10,
+ .weight = 600,
+ .description = gMagnetonPokedexText,
+ .pokemonScale = 292,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Farfetchd
+ .categoryName = _("WILD DUCK"),
+ .height = 8,
+ .weight = 150,
+ .description = gFarfetchdPokedexText,
+ .pokemonScale = 330,
+ .pokemonOffset = 2,
+ .trainerScale = 293,
+ .trainerOffset = 2,
+ },
+ { //Doduo
+ .categoryName = _("TWIN BIRD"),
+ .height = 14,
+ .weight = 392,
+ .description = gDoduoPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 257,
+ .trainerOffset = -1,
+ },
+ { //Dodrio
+ .categoryName = _("TRIPLE BIRD"),
+ .height = 18,
+ .weight = 852,
+ .description = gDodrioPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 268,
+ .trainerOffset = 0,
+ },
+ { //Seel
+ .categoryName = _("SEA LION"),
+ .height = 11,
+ .weight = 900,
+ .description = gSeelPokedexText,
+ .pokemonScale = 297,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Dewgong
+ .categoryName = _("SEA LION"),
+ .height = 17,
+ .weight = 1200,
+ .description = gDewgongPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 275,
+ .trainerOffset = 0,
+ },
+ { //Grimer
+ .categoryName = _("SLUDGE"),
+ .height = 9,
+ .weight = 300,
+ .description = gGrimerPokedexText,
+ .pokemonScale = 258,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Muk
+ .categoryName = _("SLUDGE"),
+ .height = 12,
+ .weight = 300,
+ .description = gMukPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Shellder
+ .categoryName = _("BIVALVE"),
+ .height = 3,
+ .weight = 40,
+ .description = gShellderPokedexText,
+ .pokemonScale = 675,
+ .pokemonOffset = 24,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Cloyster
+ .categoryName = _("BIVALVE"),
+ .height = 15,
+ .weight = 1325,
+ .description = gCloysterPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 269,
+ .trainerOffset = 1,
+ },
+ { //Gastly
+ .categoryName = _("GAS"),
+ .height = 13,
+ .weight = 1,
+ .description = gGastlyPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Haunter
+ .categoryName = _("GAS"),
+ .height = 16,
+ .weight = 1,
+ .description = gHaunterPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 293,
+ .trainerOffset = 2,
+ },
+ { //Gengar
+ .categoryName = _("SHADOW"),
+ .height = 15,
+ .weight = 405,
+ .description = gGengarPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 302,
+ .trainerOffset = 2,
+ },
+ { //Onix
+ .categoryName = _("ROCK SNAKE"),
+ .height = 88,
+ .weight = 2100,
+ .description = gOnixPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 1,
+ .trainerScale = 515,
+ .trainerOffset = 14,
+ },
+ { //Drowzee
+ .categoryName = _("HYPNOSIS"),
+ .height = 10,
+ .weight = 324,
+ .description = gDrowzeePokedexText,
+ .pokemonScale = 274,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Hypno
+ .categoryName = _("HYPNOSIS"),
+ .height = 16,
+ .weight = 756,
+ .description = gHypnoPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 257,
+ .trainerOffset = 0,
+ },
+ { //Krabby
+ .categoryName = _("RIVER CRAB"),
+ .height = 4,
+ .weight = 65,
+ .description = gKrabbyPokedexText,
+ .pokemonScale = 469,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Kingler
+ .categoryName = _("PINCER"),
+ .height = 13,
+ .weight = 600,
+ .description = gKinglerPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Voltorb
+ .categoryName = _("BALL"),
+ .height = 5,
+ .weight = 104,
+ .description = gVoltorbPokedexText,
+ .pokemonScale = 364,
+ .pokemonOffset = -8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Electrode
+ .categoryName = _("BALL"),
+ .height = 12,
+ .weight = 666,
+ .description = gElectrodePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Exeggcute
+ .categoryName = _("EGG"),
+ .height = 4,
+ .weight = 25,
+ .description = gExeggcutePokedexText,
+ .pokemonScale = 489,
+ .pokemonOffset = -4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Exeggutor
+ .categoryName = _("COCONUT"),
+ .height = 20,
+ .weight = 1200,
+ .description = gExeggutorPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 309,
+ .trainerOffset = 5,
+ },
+ { //Cubone
+ .categoryName = _("LONELY"),
+ .height = 4,
+ .weight = 65,
+ .description = gCubonePokedexText,
+ .pokemonScale = 545,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Marowak
+ .categoryName = _("BONE KEEPER"),
+ .height = 10,
+ .weight = 450,
+ .description = gMarowakPokedexText,
+ .pokemonScale = 293,
+ .pokemonOffset = 12,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Hitmonlee
+ .categoryName = _("KICKING"),
+ .height = 15,
+ .weight = 498,
+ .description = gHitmonleePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 259,
+ .trainerOffset = 1,
+ },
+ { //Hitmonchan
+ .categoryName = _("PUNCHING"),
+ .height = 14,
+ .weight = 502,
+ .description = gHitmonchanPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 277,
+ .trainerOffset = 2,
+ },
+ { //Lickitung
+ .categoryName = _("LICKING"),
+ .height = 12,
+ .weight = 655,
+ .description = gLickitungPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Koffing
+ .categoryName = _("POISON GAS"),
+ .height = 6,
+ .weight = 10,
+ .description = gKoffingPokedexText,
+ .pokemonScale = 369,
+ .pokemonOffset = -1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Weezing
+ .categoryName = _("POISON GAS"),
+ .height = 12,
+ .weight = 95,
+ .description = gWeezingPokedexText,
+ .pokemonScale = 305,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Rhyhorn
+ .categoryName = _("SPIKES"),
+ .height = 10,
+ .weight = 1150,
+ .description = gRhyhornPokedexText,
+ .pokemonScale = 267,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Rhydon
+ .categoryName = _("DRILL"),
+ .height = 19,
+ .weight = 1200,
+ .description = gRhydonPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 1,
+ .trainerScale = 299,
+ .trainerOffset = 2,
+ },
+ { //Chansey
+ .categoryName = _("EGG"),
+ .height = 11,
+ .weight = 346,
+ .description = gChanseyPokedexText,
+ .pokemonScale = 257,
+ .pokemonOffset = 7,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Tangela
+ .categoryName = _("VINE"),
+ .height = 10,
+ .weight = 350,
+ .description = gTangelaPokedexText,
+ .pokemonScale = 304,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Kangaskhan
+ .categoryName = _("PARENT"),
+ .height = 22,
+ .weight = 800,
+ .description = gKangaskhanPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 387,
+ .trainerOffset = 8,
+ },
+ { //Horsea
+ .categoryName = _("DRAGON"),
+ .height = 4,
+ .weight = 80,
+ .description = gHorseaPokedexText,
+ .pokemonScale = 399,
+ .pokemonOffset = -1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Seadra
+ .categoryName = _("DRAGON"),
+ .height = 12,
+ .weight = 250,
+ .description = gSeadraPokedexText,
+ .pokemonScale = 299,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Goldeen
+ .categoryName = _("GOLDFISH"),
+ .height = 6,
+ .weight = 150,
+ .description = gGoldeenPokedexText,
+ .pokemonScale = 379,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Seaking
+ .categoryName = _("GOLDFISH"),
+ .height = 13,
+ .weight = 390,
+ .description = gSeakingPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Staryu
+ .categoryName = _("STAR SHAPE"),
+ .height = 8,
+ .weight = 345,
+ .description = gStaryuPokedexText,
+ .pokemonScale = 326,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Starmie
+ .categoryName = _("MYSTERIOUS"),
+ .height = 11,
+ .weight = 800,
+ .description = gStarmiePokedexText,
+ .pokemonScale = 301,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Mrmime
+ .categoryName = _("BARRIER"),
+ .height = 13,
+ .weight = 545,
+ .description = gMrmimePokedexText,
+ .pokemonScale = 258,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Scyther
+ .categoryName = _("MANTIS"),
+ .height = 15,
+ .weight = 560,
+ .description = gScytherPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 1,
+ .trainerScale = 293,
+ .trainerOffset = 2,
+ },
+ { //Jynx
+ .categoryName = _("HUMAN SHAPE"),
+ .height = 14,
+ .weight = 406,
+ .description = gJynxPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 300,
+ .trainerOffset = 1,
+ },
+ { //Electabuzz
+ .categoryName = _("ELECTRIC"),
+ .height = 11,
+ .weight = 300,
+ .description = gElectabuzzPokedexText,
+ .pokemonScale = 351,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Magmar
+ .categoryName = _("SPITFIRE"),
+ .height = 13,
+ .weight = 445,
+ .description = gMagmarPokedexText,
+ .pokemonScale = 277,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Pinsir
+ .categoryName = _("STAG BEETLE"),
+ .height = 15,
+ .weight = 550,
+ .description = gPinsirPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 257,
+ .trainerOffset = 0,
+ },
+ { //Tauros
+ .categoryName = _("WILD BULL"),
+ .height = 14,
+ .weight = 884,
+ .description = gTaurosPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Magikarp
+ .categoryName = _("FISH"),
+ .height = 9,
+ .weight = 100,
+ .description = gMagikarpPokedexText,
+ .pokemonScale = 310,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Gyarados
+ .categoryName = _("ATROCIOUS"),
+ .height = 65,
+ .weight = 2350,
+ .description = gGyaradosPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 6,
+ .trainerScale = 481,
+ .trainerOffset = 13,
+ },
+ { //Lapras
+ .categoryName = _("TRANSPORT"),
+ .height = 25,
+ .weight = 2200,
+ .description = gLaprasPokedexText,
+ .pokemonScale = 257,
+ .pokemonOffset = 10,
+ .trainerScale = 423,
+ .trainerOffset = 8,
+ },
+ { //Ditto
+ .categoryName = _("TRANSFORM"),
+ .height = 3,
+ .weight = 40,
+ .description = gDittoPokedexText,
+ .pokemonScale = 633,
+ .pokemonOffset = 23,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Eevee
+ .categoryName = _("EVOLUTION"),
+ .height = 3,
+ .weight = 65,
+ .description = gEeveePokedexText,
+ .pokemonScale = 476,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Vaporeon
+ .categoryName = _("BUBBLE JET"),
+ .height = 10,
+ .weight = 290,
+ .description = gVaporeonPokedexText,
+ .pokemonScale = 316,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Jolteon
+ .categoryName = _("LIGHTNING"),
+ .height = 8,
+ .weight = 245,
+ .description = gJolteonPokedexText,
+ .pokemonScale = 283,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Flareon
+ .categoryName = _("FLAME"),
+ .height = 9,
+ .weight = 250,
+ .description = gFlareonPokedexText,
+ .pokemonScale = 306,
+ .pokemonOffset = 12,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Porygon
+ .categoryName = _("VIRTUAL"),
+ .height = 8,
+ .weight = 365,
+ .description = gPorygonPokedexText,
+ .pokemonScale = 328,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Omanyte
+ .categoryName = _("SPIRAL"),
+ .height = 4,
+ .weight = 75,
+ .description = gOmanytePokedexText,
+ .pokemonScale = 521,
+ .pokemonOffset = 22,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Omastar
+ .categoryName = _("SPIRAL"),
+ .height = 10,
+ .weight = 350,
+ .description = gOmastarPokedexText,
+ .pokemonScale = 307,
+ .pokemonOffset = 7,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Kabuto
+ .categoryName = _("SHELLFISH"),
+ .height = 5,
+ .weight = 115,
+ .description = gKabutoPokedexText,
+ .pokemonScale = 454,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Kabutops
+ .categoryName = _("SHELLFISH"),
+ .height = 13,
+ .weight = 405,
+ .description = gKabutopsPokedexText,
+ .pokemonScale = 271,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Aerodactyl
+ .categoryName = _("FOSSIL"),
+ .height = 18,
+ .weight = 590,
+ .description = gAerodactylPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 302,
+ .trainerOffset = 4,
+ },
+ { //Snorlax
+ .categoryName = _("SLEEPING"),
+ .height = 21,
+ .weight = 4600,
+ .description = gSnorlaxPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 423,
+ .trainerOffset = 11,
+ },
+ { //Articuno
+ .categoryName = _("FREEZE"),
+ .height = 17,
+ .weight = 554,
+ .description = gArticunoPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 309,
+ .trainerOffset = 2,
+ },
+ { //Zapdos
+ .categoryName = _("ELECTRIC"),
+ .height = 16,
+ .weight = 526,
+ .description = gZapdosPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 318,
+ .trainerOffset = 3,
+ },
+ { //Moltres
+ .categoryName = _("FLAME"),
+ .height = 20,
+ .weight = 600,
+ .description = gMoltresPokedexText,
+ .pokemonScale = 270,
+ .pokemonOffset = 0,
+ .trainerScale = 387,
+ .trainerOffset = 8,
+ },
+ { //Dratini
+ .categoryName = _("DRAGON"),
+ .height = 18,
+ .weight = 33,
+ .description = gDratiniPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 8,
+ .trainerScale = 386,
+ .trainerOffset = 6,
+ },
+ { //Dragonair
+ .categoryName = _("DRAGON"),
+ .height = 40,
+ .weight = 165,
+ .description = gDragonairPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 411,
+ .trainerOffset = 5,
+ },
+ { //Dragonite
+ .categoryName = _("DRAGON"),
+ .height = 22,
+ .weight = 2100,
+ .description = gDragonitePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 309,
+ .trainerOffset = 4,
+ },
+ { //Mewtwo
+ .categoryName = _("GENETIC"),
+ .height = 20,
+ .weight = 1220,
+ .description = gMewtwoPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 309,
+ .trainerOffset = 4,
+ },
+ { //Mew
+ .categoryName = _("NEW SPECIES"),
+ .height = 4,
+ .weight = 40,
+ .description = gMewPokedexText,
+ .pokemonScale = 457,
+ .pokemonOffset = -2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Chikorita
+ .categoryName = _("LEAF"),
+ .height = 9,
+ .weight = 64,
+ .description = gChikoritaPokedexText,
+ .pokemonScale = 512,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Bayleef
+ .categoryName = _("LEAF"),
+ .height = 12,
+ .weight = 158,
+ .description = gBayleefPokedexText,
+ .pokemonScale = 296,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Meganium
+ .categoryName = _("HERB"),
+ .height = 18,
+ .weight = 1005,
+ .description = gMeganiumPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 277,
+ .trainerOffset = 1,
+ },
+ { //Cyndaquil
+ .categoryName = _("FIRE MOUSE"),
+ .height = 5,
+ .weight = 79,
+ .description = gCyndaquilPokedexText,
+ .pokemonScale = 539,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Quilava
+ .categoryName = _("VOLCANO"),
+ .height = 9,
+ .weight = 190,
+ .description = gQuilavaPokedexText,
+ .pokemonScale = 329,
+ .pokemonOffset = 11,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Typhlosion
+ .categoryName = _("VOLCANO"),
+ .height = 17,
+ .weight = 795,
+ .description = gTyphlosionPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 268,
+ .trainerOffset = 1,
+ },
+ { //Totodile
+ .categoryName = _("BIG JAW"),
+ .height = 6,
+ .weight = 95,
+ .description = gTotodilePokedexText,
+ .pokemonScale = 487,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Croconaw
+ .categoryName = _("BIG JAW"),
+ .height = 11,
+ .weight = 250,
+ .description = gCroconawPokedexText,
+ .pokemonScale = 378,
+ .pokemonOffset = 13,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Feraligatr
+ .categoryName = _("BIG JAW"),
+ .height = 23,
+ .weight = 888,
+ .description = gFeraligatrPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 342,
+ .trainerOffset = 7,
+ },
+ { //Sentret
+ .categoryName = _("SCOUT"),
+ .height = 8,
+ .weight = 60,
+ .description = gSentretPokedexText,
+ .pokemonScale = 439,
+ .pokemonOffset = 12,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Furret
+ .categoryName = _("LONG BODY"),
+ .height = 18,
+ .weight = 325,
+ .description = gFurretPokedexText,
+ .pokemonScale = 346,
+ .pokemonOffset = 11,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Hoothoot
+ .categoryName = _("OWL"),
+ .height = 7,
+ .weight = 212,
+ .description = gHoothootPokedexText,
+ .pokemonScale = 380,
+ .pokemonOffset = -2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Noctowl
+ .categoryName = _("OWL"),
+ .height = 16,
+ .weight = 408,
+ .description = gNoctowlPokedexText,
+ .pokemonScale = 278,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Ledyba
+ .categoryName = _("FIVE STAR"),
+ .height = 10,
+ .weight = 108,
+ .description = gLedybaPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Ledian
+ .categoryName = _("FIVE STAR"),
+ .height = 14,
+ .weight = 356,
+ .description = gLedianPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Spinarak
+ .categoryName = _("STRING SPIT"),
+ .height = 5,
+ .weight = 85,
+ .description = gSpinarakPokedexText,
+ .pokemonScale = 414,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Ariados
+ .categoryName = _("LONG LEG"),
+ .height = 11,
+ .weight = 335,
+ .description = gAriadosPokedexText,
+ .pokemonScale = 316,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Crobat
+ .categoryName = _("BAT"),
+ .height = 18,
+ .weight = 750,
+ .description = gCrobatPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 281,
+ .trainerOffset = 1,
+ },
+ { //Chinchou
+ .categoryName = _("ANGLER"),
+ .height = 5,
+ .weight = 120,
+ .description = gChinchouPokedexText,
+ .pokemonScale = 424,
+ .pokemonOffset = -2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Lanturn
+ .categoryName = _("LIGHT"),
+ .height = 12,
+ .weight = 225,
+ .description = gLanturnPokedexText,
+ .pokemonScale = 269,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Pichu
+ .categoryName = _("TINY MOUSE"),
+ .height = 3,
+ .weight = 20,
+ .description = gPichuPokedexText,
+ .pokemonScale = 508,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Cleffa
+ .categoryName = _("STAR SHAPE"),
+ .height = 3,
+ .weight = 30,
+ .description = gCleffaPokedexText,
+ .pokemonScale = 462,
+ .pokemonOffset = 23,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Igglybuff
+ .categoryName = _("BALLOON"),
+ .height = 3,
+ .weight = 10,
+ .description = gIgglybuffPokedexText,
+ .pokemonScale = 457,
+ .pokemonOffset = -1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Togepi
+ .categoryName = _("SPIKE BALL"),
+ .height = 3,
+ .weight = 15,
+ .description = gTogepiPokedexText,
+ .pokemonScale = 507,
+ .pokemonOffset = 23,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Togetic
+ .categoryName = _("HAPPINESS"),
+ .height = 6,
+ .weight = 32,
+ .description = gTogeticPokedexText,
+ .pokemonScale = 424,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Natu
+ .categoryName = _("TINY BIRD"),
+ .height = 2,
+ .weight = 20,
+ .description = gNatuPokedexText,
+ .pokemonScale = 610,
+ .pokemonOffset = 25,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Xatu
+ .categoryName = _("MYSTIC"),
+ .height = 15,
+ .weight = 150,
+ .description = gXatuPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 6,
+ .trainerScale = 318,
+ .trainerOffset = 4,
+ },
+ { //Mareep
+ .categoryName = _("WOOL"),
+ .height = 6,
+ .weight = 78,
+ .description = gMareepPokedexText,
+ .pokemonScale = 379,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Flaaffy
+ .categoryName = _("WOOL"),
+ .height = 8,
+ .weight = 133,
+ .description = gFlaaffyPokedexText,
+ .pokemonScale = 372,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Ampharos
+ .categoryName = _("LIGHT"),
+ .height = 14,
+ .weight = 615,
+ .description = gAmpharosPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Bellossom
+ .categoryName = _("FLOWER"),
+ .height = 4,
+ .weight = 58,
+ .description = gBellossomPokedexText,
+ .pokemonScale = 472,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Marill
+ .categoryName = _("AQUA MOUSE"),
+ .height = 4,
+ .weight = 85,
+ .description = gMarillPokedexText,
+ .pokemonScale = 476,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Azumarill
+ .categoryName = _("AQUA RABBIT"),
+ .height = 8,
+ .weight = 285,
+ .description = gAzumarillPokedexText,
+ .pokemonScale = 448,
+ .pokemonOffset = 16,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Sudowoodo
+ .categoryName = _("IMITATION"),
+ .height = 12,
+ .weight = 380,
+ .description = gSudowoodoPokedexText,
+ .pokemonScale = 305,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Politoed
+ .categoryName = _("FROG"),
+ .height = 11,
+ .weight = 339,
+ .description = gPolitoedPokedexText,
+ .pokemonScale = 289,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Hoppip
+ .categoryName = _("COTTONWEED"),
+ .height = 4,
+ .weight = 5,
+ .description = gHoppipPokedexText,
+ .pokemonScale = 562,
+ .pokemonOffset = -7,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Skiploom
+ .categoryName = _("COTTONWEED"),
+ .height = 6,
+ .weight = 10,
+ .description = gSkiploomPokedexText,
+ .pokemonScale = 387,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Jumpluff
+ .categoryName = _("COTTONWEED"),
+ .height = 8,
+ .weight = 30,
+ .description = gJumpluffPokedexText,
+ .pokemonScale = 418,
+ .pokemonOffset = -4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Aipom
+ .categoryName = _("LONG TAIL"),
+ .height = 8,
+ .weight = 115,
+ .description = gAipomPokedexText,
+ .pokemonScale = 363,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Sunkern
+ .categoryName = _("SEED"),
+ .height = 3,
+ .weight = 18,
+ .description = gSunkernPokedexText,
+ .pokemonScale = 541,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Sunflora
+ .categoryName = _("SUN"),
+ .height = 8,
+ .weight = 85,
+ .description = gSunfloraPokedexText,
+ .pokemonScale = 444,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Yanma
+ .categoryName = _("CLEAR WING"),
+ .height = 12,
+ .weight = 380,
+ .description = gYanmaPokedexText,
+ .pokemonScale = 274,
+ .pokemonOffset = -1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Wooper
+ .categoryName = _("WATER FISH"),
+ .height = 4,
+ .weight = 85,
+ .description = gWooperPokedexText,
+ .pokemonScale = 479,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Quagsire
+ .categoryName = _("WATER FISH"),
+ .height = 14,
+ .weight = 750,
+ .description = gQuagsirePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Espeon
+ .categoryName = _("SUN"),
+ .height = 9,
+ .weight = 265,
+ .description = gEspeonPokedexText,
+ .pokemonScale = 363,
+ .pokemonOffset = 14,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Umbreon
+ .categoryName = _("MOONLIGHT"),
+ .height = 10,
+ .weight = 270,
+ .description = gUmbreonPokedexText,
+ .pokemonScale = 317,
+ .pokemonOffset = 11,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Murkrow
+ .categoryName = _("DARKNESS"),
+ .height = 5,
+ .weight = 21,
+ .description = gMurkrowPokedexText,
+ .pokemonScale = 401,
+ .pokemonOffset = -8,
+ .trainerScale = 256,
+ .trainerOffset = 1,
+ },
+ { //Slowking
+ .categoryName = _("ROYAL"),
+ .height = 20,
+ .weight = 795,
+ .description = gSlowkingPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 309,
+ .trainerOffset = 5,
+ },
+ { //Misdreavus
+ .categoryName = _("SCREECH"),
+ .height = 7,
+ .weight = 10,
+ .description = gMisdreavusPokedexText,
+ .pokemonScale = 407,
+ .pokemonOffset = -8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Unown
+ .categoryName = _("SYMBOL"),
+ .height = 5,
+ .weight = 50,
+ .description = gUnownPokedexText,
+ .pokemonScale = 411,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Wobbuffet
+ .categoryName = _("PATIENT"),
+ .height = 13,
+ .weight = 285,
+ .description = gWobbuffetPokedexText,
+ .pokemonScale = 274,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Girafarig
+ .categoryName = _("LONG NECK"),
+ .height = 15,
+ .weight = 415,
+ .description = gGirafarigPokedexText,
+ .pokemonScale = 281,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Pineco
+ .categoryName = _("BAGWORM"),
+ .height = 6,
+ .weight = 72,
+ .description = gPinecoPokedexText,
+ .pokemonScale = 445,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Forretress
+ .categoryName = _("BAGWORM"),
+ .height = 12,
+ .weight = 1258,
+ .description = gForretressPokedexText,
+ .pokemonScale = 293,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Dunsparce
+ .categoryName = _("LAND SNAKE"),
+ .height = 15,
+ .weight = 140,
+ .description = gDunsparcePokedexText,
+ .pokemonScale = 316,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Gligar
+ .categoryName = _("FLYSCORPION"),
+ .height = 11,
+ .weight = 648,
+ .description = gGligarPokedexText,
+ .pokemonScale = 350,
+ .pokemonOffset = -1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Steelix
+ .categoryName = _("IRON SNAKE"),
+ .height = 92,
+ .weight = 4000,
+ .description = gSteelixPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 516,
+ .trainerOffset = 13,
+ },
+ { //Snubbull
+ .categoryName = _("FAIRY"),
+ .height = 6,
+ .weight = 78,
+ .description = gSnubbullPokedexText,
+ .pokemonScale = 465,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Granbull
+ .categoryName = _("FAIRY"),
+ .height = 14,
+ .weight = 487,
+ .description = gGranbullPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Qwilfish
+ .categoryName = _("BALLOON"),
+ .height = 5,
+ .weight = 39,
+ .description = gQwilfishPokedexText,
+ .pokemonScale = 430,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Scizor
+ .categoryName = _("PINCER"),
+ .height = 18,
+ .weight = 1180,
+ .description = gScizorPokedexText,
+ .pokemonScale = 278,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Shuckle
+ .categoryName = _("MOLD"),
+ .height = 6,
+ .weight = 205,
+ .description = gShucklePokedexText,
+ .pokemonScale = 485,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Heracross
+ .categoryName = _("SINGLE HORN"),
+ .height = 15,
+ .weight = 540,
+ .description = gHeracrossPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Sneasel
+ .categoryName = _("SHARP CLAW"),
+ .height = 9,
+ .weight = 280,
+ .description = gSneaselPokedexText,
+ .pokemonScale = 413,
+ .pokemonOffset = -3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Teddiursa
+ .categoryName = _("LITTLE BEAR"),
+ .height = 6,
+ .weight = 88,
+ .description = gTeddiursaPokedexText,
+ .pokemonScale = 455,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Ursaring
+ .categoryName = _("HIBERNATOR"),
+ .height = 18,
+ .weight = 1258,
+ .description = gUrsaringPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Slugma
+ .categoryName = _("LAVA"),
+ .height = 7,
+ .weight = 350,
+ .description = gSlugmaPokedexText,
+ .pokemonScale = 329,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Magcargo
+ .categoryName = _("LAVA"),
+ .height = 8,
+ .weight = 550,
+ .description = gMagcargoPokedexText,
+ .pokemonScale = 332,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Swinub
+ .categoryName = _("PIG"),
+ .height = 4,
+ .weight = 65,
+ .description = gSwinubPokedexText,
+ .pokemonScale = 324,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Piloswine
+ .categoryName = _("SWINE"),
+ .height = 11,
+ .weight = 558,
+ .description = gPiloswinePokedexText,
+ .pokemonScale = 306,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Corsola
+ .categoryName = _("CORAL"),
+ .height = 6,
+ .weight = 50,
+ .description = gCorsolaPokedexText,
+ .pokemonScale = 410,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Remoraid
+ .categoryName = _("JET"),
+ .height = 6,
+ .weight = 120,
+ .description = gRemoraidPokedexText,
+ .pokemonScale = 316,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Octillery
+ .categoryName = _("JET"),
+ .height = 9,
+ .weight = 285,
+ .description = gOctilleryPokedexText,
+ .pokemonScale = 296,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Delibird
+ .categoryName = _("DELIVERY"),
+ .height = 9,
+ .weight = 160,
+ .description = gDelibirdPokedexText,
+ .pokemonScale = 293,
+ .pokemonOffset = 11,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Mantine
+ .categoryName = _("KITE"),
+ .height = 21,
+ .weight = 2200,
+ .description = gMantinePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 342,
+ .trainerOffset = 7,
+ },
+ { //Skarmory
+ .categoryName = _("ARMOR BIRD"),
+ .height = 17,
+ .weight = 505,
+ .description = gSkarmoryPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 271,
+ .trainerOffset = 1,
+ },
+ { //Houndour
+ .categoryName = _("DARK"),
+ .height = 6,
+ .weight = 108,
+ .description = gHoundourPokedexText,
+ .pokemonScale = 393,
+ .pokemonOffset = 16,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Houndoom
+ .categoryName = _("DARK"),
+ .height = 14,
+ .weight = 350,
+ .description = gHoundoomPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Kingdra
+ .categoryName = _("DRAGON"),
+ .height = 18,
+ .weight = 1520,
+ .description = gKingdraPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 287,
+ .trainerOffset = 0,
+ },
+ { //Phanpy
+ .categoryName = _("LONG NOSE"),
+ .height = 5,
+ .weight = 335,
+ .description = gPhanpyPokedexText,
+ .pokemonScale = 465,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Donphan
+ .categoryName = _("ARMOR"),
+ .height = 11,
+ .weight = 1200,
+ .description = gDonphanPokedexText,
+ .pokemonScale = 313,
+ .pokemonOffset = 9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Porygon2
+ .categoryName = _("VIRTUAL"),
+ .height = 6,
+ .weight = 325,
+ .description = gPorygon2PokedexText,
+ .pokemonScale = 320,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Stantler
+ .categoryName = _("BIG HORN"),
+ .height = 14,
+ .weight = 712,
+ .description = gStantlerPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Smeargle
+ .categoryName = _("PAINTER"),
+ .height = 12,
+ .weight = 580,
+ .description = gSmearglePokedexText,
+ .pokemonScale = 287,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Tyrogue
+ .categoryName = _("SCUFFLE"),
+ .height = 7,
+ .weight = 210,
+ .description = gTyroguePokedexText,
+ .pokemonScale = 292,
+ .pokemonOffset = 9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Hitmontop
+ .categoryName = _("HANDSTAND"),
+ .height = 14,
+ .weight = 480,
+ .description = gHitmontopPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 257,
+ .trainerOffset = 0,
+ },
+ { //Smoochum
+ .categoryName = _("KISS"),
+ .height = 4,
+ .weight = 60,
+ .description = gSmoochumPokedexText,
+ .pokemonScale = 440,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Elekid
+ .categoryName = _("ELECTRIC"),
+ .height = 6,
+ .weight = 235,
+ .description = gElekidPokedexText,
+ .pokemonScale = 363,
+ .pokemonOffset = 14,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Magby
+ .categoryName = _("LIVE COAL"),
+ .height = 7,
+ .weight = 214,
+ .description = gMagbyPokedexText,
+ .pokemonScale = 284,
+ .pokemonOffset = 13,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Miltank
+ .categoryName = _("MILK COW"),
+ .height = 12,
+ .weight = 755,
+ .description = gMiltankPokedexText,
+ .pokemonScale = 280,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Blissey
+ .categoryName = _("HAPPINESS"),
+ .height = 15,
+ .weight = 468,
+ .description = gBlisseyPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 310,
+ .trainerOffset = 3,
+ },
+ { //Raikou
+ .categoryName = _("THUNDER"),
+ .height = 19,
+ .weight = 1780,
+ .description = gRaikouPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 345,
+ .trainerOffset = 7,
+ },
+ { //Entei
+ .categoryName = _("VOLCANO"),
+ .height = 21,
+ .weight = 1980,
+ .description = gEnteiPokedexText,
+ .pokemonScale = 259,
+ .pokemonOffset = 0,
+ .trainerScale = 345,
+ .trainerOffset = 7,
+ },
+ { //Suicune
+ .categoryName = _("AURORA"),
+ .height = 20,
+ .weight = 1870,
+ .description = gSuicunePokedexText,
+ .pokemonScale = 269,
+ .pokemonOffset = 0,
+ .trainerScale = 345,
+ .trainerOffset = 7,
+ },
+ { //Larvitar
+ .categoryName = _("ROCK SKIN"),
+ .height = 6,
+ .weight = 720,
+ .description = gLarvitarPokedexText,
+ .pokemonScale = 472,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Pupitar
+ .categoryName = _("HARD SHELL"),
+ .height = 12,
+ .weight = 1520,
+ .description = gPupitarPokedexText,
+ .pokemonScale = 292,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Tyranitar
+ .categoryName = _("ARMOR"),
+ .height = 20,
+ .weight = 2020,
+ .description = gTyranitarPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 345,
+ .trainerOffset = 7,
+ },
+ { //Lugia
+ .categoryName = _("DIVING"),
+ .height = 52,
+ .weight = 2160,
+ .description = gLugiaPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 721,
+ .trainerOffset = 19,
+ },
+ { //HoOh
+ .categoryName = _("RAINBOW"),
+ .height = 38,
+ .weight = 1990,
+ .description = gHoOhPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 610,
+ .trainerOffset = 17,
+ },
+ { //Celebi
+ .categoryName = _("TIME TRAVEL"),
+ .height = 6,
+ .weight = 50,
+ .description = gCelebiPokedexText,
+ .pokemonScale = 393,
+ .pokemonOffset = -10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Treecko
+ .categoryName = _("WOOD GECKO"),
+ .height = 5,
+ .weight = 50,
+ .description = gTreeckoPokedexText,
+ .pokemonScale = 541,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Grovyle
+ .categoryName = _("WOOD GECKO"),
+ .height = 9,
+ .weight = 216,
+ .description = gGrovylePokedexText,
+ .pokemonScale = 360,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Sceptile
+ .categoryName = _("FOREST"),
+ .height = 17,
+ .weight = 522,
+ .description = gSceptilePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = -1,
+ .trainerScale = 275,
+ .trainerOffset = 2,
+ },
+ { //Torchic
+ .categoryName = _("CHICK"),
+ .height = 4,
+ .weight = 25,
+ .description = gTorchicPokedexText,
+ .pokemonScale = 566,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Combusken
+ .categoryName = _("YOUNG FOWL"),
+ .height = 9,
+ .weight = 195,
+ .description = gCombuskenPokedexText,
+ .pokemonScale = 343,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Blaziken
+ .categoryName = _("BLAZE"),
+ .height = 19,
+ .weight = 520,
+ .description = gBlazikenPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 301,
+ .trainerOffset = 4,
+ },
+ { //Mudkip
+ .categoryName = _("MUD FISH"),
+ .height = 4,
+ .weight = 76,
+ .description = gMudkipPokedexText,
+ .pokemonScale = 535,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Marshtomp
+ .categoryName = _("MUD FISH"),
+ .height = 7,
+ .weight = 280,
+ .description = gMarshtompPokedexText,
+ .pokemonScale = 340,
+ .pokemonOffset = 7,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Swampert
+ .categoryName = _("MUD FISH"),
+ .height = 15,
+ .weight = 819,
+ .description = gSwampertPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Poochyena
+ .categoryName = _("BITE"),
+ .height = 5,
+ .weight = 136,
+ .description = gPoochyenaPokedexText,
+ .pokemonScale = 481,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Mightyena
+ .categoryName = _("BITE"),
+ .height = 10,
+ .weight = 370,
+ .description = gMightyenaPokedexText,
+ .pokemonScale = 362,
+ .pokemonOffset = 9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Zigzagoon
+ .categoryName = _("TINYRACCOON"),
+ .height = 4,
+ .weight = 175,
+ .description = gZigzagoonPokedexText,
+ .pokemonScale = 560,
+ .pokemonOffset = 22,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Linoone
+ .categoryName = _("RUSHING"),
+ .height = 5,
+ .weight = 325,
+ .description = gLinoonePokedexText,
+ .pokemonScale = 321,
+ .pokemonOffset = 7,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Wurmple
+ .categoryName = _("WORM"),
+ .height = 3,
+ .weight = 36,
+ .description = gWurmplePokedexText,
+ .pokemonScale = 711,
+ .pokemonOffset = 24,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Silcoon
+ .categoryName = _("COCOON"),
+ .height = 6,
+ .weight = 100,
+ .description = gSilcoonPokedexText,
+ .pokemonScale = 431,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Beautifly
+ .categoryName = _("BUTTERFLY"),
+ .height = 10,
+ .weight = 284,
+ .description = gBeautiflyPokedexText,
+ .pokemonScale = 298,
+ .pokemonOffset = -1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Cascoon
+ .categoryName = _("COCOON"),
+ .height = 7,
+ .weight = 115,
+ .description = gCascoonPokedexText,
+ .pokemonScale = 391,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Dustox
+ .categoryName = _("POISON MOTH"),
+ .height = 12,
+ .weight = 316,
+ .description = gDustoxPokedexText,
+ .pokemonScale = 269,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Lotad
+ .categoryName = _("WATER WEED"),
+ .height = 5,
+ .weight = 26,
+ .description = gLotadPokedexText,
+ .pokemonScale = 406,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Lombre
+ .categoryName = _("JOLLY"),
+ .height = 12,
+ .weight = 325,
+ .description = gLombrePokedexText,
+ .pokemonScale = 277,
+ .pokemonOffset = 9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Ludicolo
+ .categoryName = _("CAREFREE"),
+ .height = 15,
+ .weight = 550,
+ .description = gLudicoloPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 268,
+ .trainerOffset = -1,
+ },
+ { //Seedot
+ .categoryName = _("ACORN"),
+ .height = 5,
+ .weight = 40,
+ .description = gSeedotPokedexText,
+ .pokemonScale = 472,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Nuzleaf
+ .categoryName = _("WILY"),
+ .height = 10,
+ .weight = 280,
+ .description = gNuzleafPokedexText,
+ .pokemonScale = 299,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Shiftry
+ .categoryName = _("WICKED"),
+ .height = 13,
+ .weight = 596,
+ .description = gShiftryPokedexText,
+ .pokemonScale = 290,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Taillow
+ .categoryName = _("TINYSWALLOW"),
+ .height = 3,
+ .weight = 23,
+ .description = gTaillowPokedexText,
+ .pokemonScale = 465,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Swellow
+ .categoryName = _("SWALLOW"),
+ .height = 7,
+ .weight = 198,
+ .description = gSwellowPokedexText,
+ .pokemonScale = 428,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Wingull
+ .categoryName = _("SEAGULL"),
+ .height = 6,
+ .weight = 95,
+ .description = gWingullPokedexText,
+ .pokemonScale = 295,
+ .pokemonOffset = -2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Pelipper
+ .categoryName = _("WATER BIRD"),
+ .height = 12,
+ .weight = 280,
+ .description = gPelipperPokedexText,
+ .pokemonScale = 288,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Ralts
+ .categoryName = _("FEELING"),
+ .height = 4,
+ .weight = 66,
+ .description = gRaltsPokedexText,
+ .pokemonScale = 457,
+ .pokemonOffset = -3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Kirlia
+ .categoryName = _("EMOTION"),
+ .height = 8,
+ .weight = 202,
+ .description = gKirliaPokedexText,
+ .pokemonScale = 354,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Gardevoir
+ .categoryName = _("EMBRACE"),
+ .height = 16,
+ .weight = 484,
+ .description = gGardevoirPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Surskit
+ .categoryName = _("POND SKATER"),
+ .height = 5,
+ .weight = 17,
+ .description = gSurskitPokedexText,
+ .pokemonScale = 375,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Masquerain
+ .categoryName = _("EYEBALL"),
+ .height = 8,
+ .weight = 36,
+ .description = gMasquerainPokedexText,
+ .pokemonScale = 378,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Shroomish
+ .categoryName = _("MUSHROOM"),
+ .height = 4,
+ .weight = 45,
+ .description = gShroomishPokedexText,
+ .pokemonScale = 513,
+ .pokemonOffset = 22,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Breloom
+ .categoryName = _("MUSHROOM"),
+ .height = 12,
+ .weight = 392,
+ .description = gBreloomPokedexText,
+ .pokemonScale = 324,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Slakoth
+ .categoryName = _("SLACKER"),
+ .height = 8,
+ .weight = 240,
+ .description = gSlakothPokedexText,
+ .pokemonScale = 291,
+ .pokemonOffset = 16,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Vigoroth
+ .categoryName = _("WILD MONKEY"),
+ .height = 14,
+ .weight = 465,
+ .description = gVigorothPokedexText,
+ .pokemonScale = 301,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Slaking
+ .categoryName = _("LAZY"),
+ .height = 20,
+ .weight = 1305,
+ .description = gSlakingPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 300,
+ .trainerOffset = 1,
+ },
+ { //Nincada
+ .categoryName = _("TRAINEE"),
+ .height = 5,
+ .weight = 55,
+ .description = gNincadaPokedexText,
+ .pokemonScale = 405,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Ninjask
+ .categoryName = _("NINJA"),
+ .height = 8,
+ .weight = 120,
+ .description = gNinjaskPokedexText,
+ .pokemonScale = 383,
+ .pokemonOffset = -9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Shedinja
+ .categoryName = _("SHED"),
+ .height = 8,
+ .weight = 12,
+ .description = gShedinjaPokedexText,
+ .pokemonScale = 372,
+ .pokemonOffset = -8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Whismur
+ .categoryName = _("WHISPER"),
+ .height = 6,
+ .weight = 163,
+ .description = gWhismurPokedexText,
+ .pokemonScale = 373,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Loudred
+ .categoryName = _("BIG VOICE"),
+ .height = 10,
+ .weight = 405,
+ .description = gLoudredPokedexText,
+ .pokemonScale = 356,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Exploud
+ .categoryName = _("LOUD NOISE"),
+ .height = 15,
+ .weight = 840,
+ .description = gExploudPokedexText,
+ .pokemonScale = 284,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Makuhita
+ .categoryName = _("GUTS"),
+ .height = 10,
+ .weight = 864,
+ .description = gMakuhitaPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Hariyama
+ .categoryName = _("ARM THRUST"),
+ .height = 23,
+ .weight = 2538,
+ .description = gHariyamaPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 343,
+ .trainerOffset = 7,
+ },
+ { //Azurill
+ .categoryName = _("POLKA DOT"),
+ .height = 2,
+ .weight = 20,
+ .description = gAzurillPokedexText,
+ .pokemonScale = 603,
+ .pokemonOffset = 23,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Nosepass
+ .categoryName = _("COMPASS"),
+ .height = 10,
+ .weight = 970,
+ .description = gNosepassPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 9,
+ .trainerScale = 289,
+ .trainerOffset = 3,
+ },
+ { //Skitty
+ .categoryName = _("KITTEN"),
+ .height = 6,
+ .weight = 110,
+ .description = gSkittyPokedexText,
+ .pokemonScale = 492,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Delcatty
+ .categoryName = _("PRIM"),
+ .height = 11,
+ .weight = 326,
+ .description = gDelcattyPokedexText,
+ .pokemonScale = 322,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Sableye
+ .categoryName = _("DARKNESS"),
+ .height = 5,
+ .weight = 110,
+ .description = gSableyePokedexText,
+ .pokemonScale = 451,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Mawile
+ .categoryName = _("DECEIVER"),
+ .height = 6,
+ .weight = 115,
+ .description = gMawilePokedexText,
+ .pokemonScale = 466,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Aron
+ .categoryName = _("IRON ARMOR"),
+ .height = 4,
+ .weight = 600,
+ .description = gAronPokedexText,
+ .pokemonScale = 419,
+ .pokemonOffset = 23,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Lairon
+ .categoryName = _("IRON ARMOR"),
+ .height = 9,
+ .weight = 1200,
+ .description = gLaironPokedexText,
+ .pokemonScale = 275,
+ .pokemonOffset = 12,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Aggron
+ .categoryName = _("IRON ARMOR"),
+ .height = 21,
+ .weight = 3600,
+ .description = gAggronPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = -1,
+ .trainerScale = 350,
+ .trainerOffset = 6,
+ },
+ { //Meditite
+ .categoryName = _("MEDITATE"),
+ .height = 6,
+ .weight = 112,
+ .description = gMedititePokedexText,
+ .pokemonScale = 465,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Medicham
+ .categoryName = _("MEDITATE"),
+ .height = 13,
+ .weight = 315,
+ .description = gMedichamPokedexText,
+ .pokemonScale = 298,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Electrike
+ .categoryName = _("LIGHTNING"),
+ .height = 6,
+ .weight = 152,
+ .description = gElectrikePokedexText,
+ .pokemonScale = 290,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Manectric
+ .categoryName = _("DISCHARGE"),
+ .height = 15,
+ .weight = 402,
+ .description = gManectricPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 257,
+ .trainerOffset = 0,
+ },
+ { //Plusle
+ .categoryName = _("CHEERING"),
+ .height = 4,
+ .weight = 42,
+ .description = gPluslePokedexText,
+ .pokemonScale = 515,
+ .pokemonOffset = -9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Minun
+ .categoryName = _("CHEERING"),
+ .height = 4,
+ .weight = 42,
+ .description = gMinunPokedexText,
+ .pokemonScale = 512,
+ .pokemonOffset = -7,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Volbeat
+ .categoryName = _("FIREFLY"),
+ .height = 7,
+ .weight = 177,
+ .description = gVolbeatPokedexText,
+ .pokemonScale = 442,
+ .pokemonOffset = 16,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Illumise
+ .categoryName = _("FIREFLY"),
+ .height = 6,
+ .weight = 177,
+ .description = gIllumisePokedexText,
+ .pokemonScale = 572,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Roselia
+ .categoryName = _("THORN"),
+ .height = 3,
+ .weight = 20,
+ .description = gRoseliaPokedexText,
+ .pokemonScale = 677,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Gulpin
+ .categoryName = _("STOMACH"),
+ .height = 4,
+ .weight = 103,
+ .description = gGulpinPokedexText,
+ .pokemonScale = 593,
+ .pokemonOffset = 23,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Swalot
+ .categoryName = _("POISON BAG"),
+ .height = 17,
+ .weight = 800,
+ .description = gSwalotPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 6,
+ .trainerScale = 345,
+ .trainerOffset = 3,
+ },
+ { //Carvanha
+ .categoryName = _("SAVAGE"),
+ .height = 8,
+ .weight = 208,
+ .description = gCarvanhaPokedexText,
+ .pokemonScale = 362,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Sharpedo
+ .categoryName = _("BRUTAL"),
+ .height = 18,
+ .weight = 888,
+ .description = gSharpedoPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 317,
+ .trainerOffset = 3,
+ },
+ { //Wailmer
+ .categoryName = _("BALL WHALE"),
+ .height = 20,
+ .weight = 1300,
+ .description = gWailmerPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 493,
+ .trainerOffset = 0,
+ },
+ { //Wailord
+ .categoryName = _("FLOAT WHALE"),
+ .height = 145,
+ .weight = 3980,
+ .description = gWailordPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 1352,
+ .trainerOffset = 18,
+ },
+ { //Numel
+ .categoryName = _("NUMB"),
+ .height = 7,
+ .weight = 240,
+ .description = gNumelPokedexText,
+ .pokemonScale = 342,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Camerupt
+ .categoryName = _("ERUPTION"),
+ .height = 19,
+ .weight = 2200,
+ .description = gCameruptPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 7,
+ .trainerScale = 345,
+ .trainerOffset = 6,
+ },
+ { //Torkoal
+ .categoryName = _("COAL"),
+ .height = 5,
+ .weight = 804,
+ .description = gTorkoalPokedexText,
+ .pokemonScale = 390,
+ .pokemonOffset = 9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Spoink
+ .categoryName = _("BOUNCE"),
+ .height = 7,
+ .weight = 306,
+ .description = gSpoinkPokedexText,
+ .pokemonScale = 423,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Grumpig
+ .categoryName = _("MANIPULATE"),
+ .height = 9,
+ .weight = 715,
+ .description = gGrumpigPokedexText,
+ .pokemonScale = 358,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Spinda
+ .categoryName = _("SPOT PANDA"),
+ .height = 11,
+ .weight = 50,
+ .description = gSpindaPokedexText,
+ .pokemonScale = 321,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Trapinch
+ .categoryName = _("ANT PIT"),
+ .height = 7,
+ .weight = 150,
+ .description = gTrapinchPokedexText,
+ .pokemonScale = 298,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Vibrava
+ .categoryName = _("VIBRATION"),
+ .height = 11,
+ .weight = 153,
+ .description = gVibravaPokedexText,
+ .pokemonScale = 370,
+ .pokemonOffset = 11,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Flygon
+ .categoryName = _("MYSTIC"),
+ .height = 20,
+ .weight = 820,
+ .description = gFlygonPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 268,
+ .trainerOffset = 1,
+ },
+ { //Cacnea
+ .categoryName = _("CACTUS"),
+ .height = 4,
+ .weight = 513,
+ .description = gCacneaPokedexText,
+ .pokemonScale = 455,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Cacturne
+ .categoryName = _("SCARECROW"),
+ .height = 13,
+ .weight = 774,
+ .description = gCacturnePokedexText,
+ .pokemonScale = 327,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Swablu
+ .categoryName = _("COTTON BIRD"),
+ .height = 4,
+ .weight = 12,
+ .description = gSwabluPokedexText,
+ .pokemonScale = 422,
+ .pokemonOffset = -8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Altaria
+ .categoryName = _("HUMMING"),
+ .height = 11,
+ .weight = 206,
+ .description = gAltariaPokedexText,
+ .pokemonScale = 327,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Zangoose
+ .categoryName = _("CAT FERRET"),
+ .height = 13,
+ .weight = 403,
+ .description = gZangoosePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Seviper
+ .categoryName = _("FANG SNAKE"),
+ .height = 27,
+ .weight = 525,
+ .description = gSeviperPokedexText,
+ .pokemonScale = 275,
+ .pokemonOffset = 7,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Lunatone
+ .categoryName = _("METEORITE"),
+ .height = 10,
+ .weight = 1680,
+ .description = gLunatonePokedexText,
+ .pokemonScale = 300,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Solrock
+ .categoryName = _("METEORITE"),
+ .height = 12,
+ .weight = 1540,
+ .description = gSolrockPokedexText,
+ .pokemonScale = 328,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Barboach
+ .categoryName = _("WHISKERS"),
+ .height = 4,
+ .weight = 19,
+ .description = gBarboachPokedexText,
+ .pokemonScale = 581,
+ .pokemonOffset = -3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Whiscash
+ .categoryName = _("WHISKERS"),
+ .height = 9,
+ .weight = 236,
+ .description = gWhiscashPokedexText,
+ .pokemonScale = 317,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Corphish
+ .categoryName = _("RUFFIAN"),
+ .height = 6,
+ .weight = 115,
+ .description = gCorphishPokedexText,
+ .pokemonScale = 484,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Crawdaunt
+ .categoryName = _("ROGUE"),
+ .height = 11,
+ .weight = 328,
+ .description = gCrawdauntPokedexText,
+ .pokemonScale = 365,
+ .pokemonOffset = 9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Baltoy
+ .categoryName = _("CLAY DOLL"),
+ .height = 5,
+ .weight = 215,
+ .description = gBaltoyPokedexText,
+ .pokemonScale = 457,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Claydol
+ .categoryName = _("CLAY DOLL"),
+ .height = 15,
+ .weight = 1080,
+ .description = gClaydolPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 280,
+ .trainerOffset = 1,
+ },
+ { //Lileep
+ .categoryName = _("SEA LILY"),
+ .height = 10,
+ .weight = 238,
+ .description = gLileepPokedexText,
+ .pokemonScale = 305,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Cradily
+ .categoryName = _("BARNACLE"),
+ .height = 15,
+ .weight = 604,
+ .description = gCradilyPokedexText,
+ .pokemonScale = 267,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Anorith
+ .categoryName = _("OLD SHRIMP"),
+ .height = 7,
+ .weight = 125,
+ .description = gAnorithPokedexText,
+ .pokemonScale = 296,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Armaldo
+ .categoryName = _("PLATE"),
+ .height = 15,
+ .weight = 682,
+ .description = gArmaldoPokedexText,
+ .pokemonScale = 312,
+ .pokemonOffset = 3,
+ .trainerScale = 271,
+ .trainerOffset = 0,
+ },
+ { //Feebas
+ .categoryName = _("FISH"),
+ .height = 6,
+ .weight = 74,
+ .description = gFeebasPokedexText,
+ .pokemonScale = 423,
+ .pokemonOffset = -4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Milotic
+ .categoryName = _("TENDER"),
+ .height = 62,
+ .weight = 1620,
+ .description = gMiloticPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 360,
+ .trainerOffset = 7,
+ },
+ { //Castform
+ .categoryName = _("WEATHER"),
+ .height = 3,
+ .weight = 8,
+ .description = gCastformPokedexText,
+ .pokemonScale = 435,
+ .pokemonOffset = -5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Kecleon
+ .categoryName = _("COLOR SWAP"),
+ .height = 10,
+ .weight = 220,
+ .description = gKecleonPokedexText,
+ .pokemonScale = 316,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Shuppet
+ .categoryName = _("PUPPET"),
+ .height = 6,
+ .weight = 23,
+ .description = gShuppetPokedexText,
+ .pokemonScale = 440,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Banette
+ .categoryName = _("MARIONETTE"),
+ .height = 11,
+ .weight = 125,
+ .description = gBanettePokedexText,
+ .pokemonScale = 262,
+ .pokemonOffset = 9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Duskull
+ .categoryName = _("REQUIEM"),
+ .height = 8,
+ .weight = 150,
+ .description = gDuskullPokedexText,
+ .pokemonScale = 406,
+ .pokemonOffset = -4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Dusclops
+ .categoryName = _("BECKON"),
+ .height = 16,
+ .weight = 306,
+ .description = gDusclopsPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 299,
+ .trainerOffset = 1,
+ },
+ { //Tropius
+ .categoryName = _("FRUIT"),
+ .height = 20,
+ .weight = 1000,
+ .description = gTropiusPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 344,
+ .trainerOffset = 7,
+ },
+ { //Chimecho
+ .categoryName = _("WIND CHIME"),
+ .height = 6,
+ .weight = 10,
+ .description = gChimechoPokedexText,
+ .pokemonScale = 505,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Absol
+ .categoryName = _("DISASTER"),
+ .height = 12,
+ .weight = 470,
+ .description = gAbsolPokedexText,
+ .pokemonScale = 301,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Wynaut
+ .categoryName = _("BRIGHT"),
+ .height = 6,
+ .weight = 140,
+ .description = gWynautPokedexText,
+ .pokemonScale = 484,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Snorunt
+ .categoryName = _("SNOW HAT"),
+ .height = 7,
+ .weight = 168,
+ .description = gSnoruntPokedexText,
+ .pokemonScale = 380,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Glalie
+ .categoryName = _("FACE"),
+ .height = 15,
+ .weight = 2565,
+ .description = gGlaliePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 344,
+ .trainerOffset = 0,
+ },
+ { //Spheal
+ .categoryName = _("CLAP"),
+ .height = 8,
+ .weight = 395,
+ .description = gSphealPokedexText,
+ .pokemonScale = 315,
+ .pokemonOffset = 16,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Sealeo
+ .categoryName = _("BALL ROLL"),
+ .height = 11,
+ .weight = 876,
+ .description = gSealeoPokedexText,
+ .pokemonScale = 338,
+ .pokemonOffset = 13,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Walrein
+ .categoryName = _("ICE BREAK"),
+ .height = 14,
+ .weight = 1506,
+ .description = gWalreinPokedexText,
+ .pokemonScale = 316,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Clamperl
+ .categoryName = _("BIVALVE"),
+ .height = 4,
+ .weight = 525,
+ .description = gClamperlPokedexText,
+ .pokemonScale = 691,
+ .pokemonOffset = 22,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Huntail
+ .categoryName = _("DEEP SEA"),
+ .height = 17,
+ .weight = 270,
+ .description = gHuntailPokedexText,
+ .pokemonScale = 307,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Gorebyss
+ .categoryName = _("SOUTH SEA"),
+ .height = 18,
+ .weight = 226,
+ .description = gGorebyssPokedexText,
+ .pokemonScale = 278,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Relicanth
+ .categoryName = _("LONGEVITY"),
+ .height = 10,
+ .weight = 234,
+ .description = gRelicanthPokedexText,
+ .pokemonScale = 316,
+ .pokemonOffset = 7,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Luvdisc
+ .categoryName = _("RENDEZVOUS"),
+ .height = 6,
+ .weight = 87,
+ .description = gLuvdiscPokedexText,
+ .pokemonScale = 371,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Bagon
+ .categoryName = _("ROCK HEAD"),
+ .height = 6,
+ .weight = 421,
+ .description = gBagonPokedexText,
+ .pokemonScale = 448,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Shelgon
+ .categoryName = _("ENDURANCE"),
+ .height = 11,
+ .weight = 1105,
+ .description = gShelgonPokedexText,
+ .pokemonScale = 311,
+ .pokemonOffset = 12,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Salamence
+ .categoryName = _("DRAGON"),
+ .height = 15,
+ .weight = 1026,
+ .description = gSalamencePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Beldum
+ .categoryName = _("IRON BALL"),
+ .height = 6,
+ .weight = 952,
+ .description = gBeldumPokedexText,
+ .pokemonScale = 414,
+ .pokemonOffset = -1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Metang
+ .categoryName = _("IRON CLAW"),
+ .height = 12,
+ .weight = 2025,
+ .description = gMetangPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Metagross
+ .categoryName = _("IRON LEG"),
+ .height = 16,
+ .weight = 5500,
+ .description = gMetagrossPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 447,
+ .trainerOffset = 9,
+ },
+ { //Regirock
+ .categoryName = _("ROCK PEAK"),
+ .height = 17,
+ .weight = 2300,
+ .description = gRegirockPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 309,
+ .trainerOffset = 1,
+ },
+ { //Regice
+ .categoryName = _("ICEBERG"),
+ .height = 18,
+ .weight = 1750,
+ .description = gRegicePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 301,
+ .trainerOffset = 2,
+ },
+ { //Registeel
+ .categoryName = _("IRON"),
+ .height = 19,
+ .weight = 2050,
+ .description = gRegisteelPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 359,
+ .trainerOffset = 6,
+ },
+ { //Latias
+ .categoryName = _("EON"),
+ .height = 14,
+ .weight = 400,
+ .description = gLatiasPokedexText,
+ .pokemonScale = 304,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Latios
+ .categoryName = _("EON"),
+ .height = 20,
+ .weight = 600,
+ .description = gLatiosPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 294,
+ .trainerOffset = 3,
+ },
+ { //Kyogre
+ .categoryName = _("SEA BASIN"),
+ .height = 45,
+ .weight = 3520,
+ .description = gKyogrePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 614,
+ .trainerOffset = 13,
+ },
+ { //Groudon
+ .categoryName = _("CONTINENT"),
+ .height = 35,
+ .weight = 9500,
+ .description = gGroudonPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 515,
+ .trainerOffset = 14,
+ },
+ { //Rayquaza
+ .categoryName = _("SKY HIGH"),
+ .height = 70,
+ .weight = 2065,
+ .description = gRayquazaPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 448,
+ .trainerOffset = 12,
+ },
+ { //Jirachi
+ .categoryName = _("WISH"),
+ .height = 3,
+ .weight = 11,
+ .description = gJirachiPokedexText,
+ .pokemonScale = 608,
+ .pokemonOffset = -8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+ { //Deoxys
+ .categoryName = _("DNA"),
+ .height = 17,
+ .weight = 608,
+ .description = gDeoxysPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 290,
+ .trainerOffset = 2,
+ },
+};
diff --git a/src/data/pokemon/pokedex_text.h b/src/data/pokemon/pokedex_text.h
new file mode 100644
index 000000000..565c1acaf
--- /dev/null
+++ b/src/data/pokemon/pokedex_text.h
@@ -0,0 +1,2321 @@
+const u8 gDummyPokedexText[] = _(
+ "This is a newly discovered POKéMON.\n"
+ "It is currently under investigation.\n"
+ "No detailed information is available\n"
+ "at this time.");
+
+const u8 gBulbasaurPokedexText[] = _(
+ "BULBASAUR can be seen napping in bright\n"
+ "sunlight. There is a seed on its back.\n"
+ "By soaking up the sun’s rays, the seed\n"
+ "grows progressively larger.");
+
+const u8 gIvysaurPokedexText[] = _(
+ "To support its bulb, IVYSAUR’s legs\n"
+ "grow sturdy. If it spends more time lying in\n"
+ "the sunlight, the bud will soon bloom into\n"
+ "a large flower.");
+
+const u8 gVenusaurPokedexText[] = _(
+ "VENUSAUR’s flower is said to take on vivid\n"
+ "colors if it gets plenty of nutrition and\n"
+ "sunlight. The flower’s aroma soothes the\n"
+ "emotions of people.");
+
+const u8 gCharmanderPokedexText[] = _(
+ "The flame that burns at the tip of its\n"
+ "tail is an indication of its emotions.\n"
+ "The flame wavers when CHARMANDER is\n"
+ "happy, and blazes when it is enraged.");
+
+const u8 gCharmeleonPokedexText[] = _(
+ "Without pity, its sharp claws destroy foes.\n"
+ "If it encounters a strong enemy, it\n"
+ "becomes agitated, and the flame on its\n"
+ "tail flares with a bluish white color.");
+
+const u8 gCharizardPokedexText[] = _(
+ "A CHARIZARD flies about in search of\n"
+ "strong opponents. It breathes intense\n"
+ "flames that can melt any material. However,\n"
+ "it will never torch a weaker foe.");
+
+const u8 gSquirtlePokedexText[] = _(
+ "Its shell is not just for protection.\n"
+ "Its rounded shape and the grooves on its\n"
+ "surface minimize resistance in water,\n"
+ "enabling SQUIRTLE to swim at high speeds.");
+
+const u8 gWartortlePokedexText[] = _(
+ "Its large tail is covered with rich, thick\n"
+ "fur that deepens in color with age.\n"
+ "The scratches on its shell are evidence\n"
+ "of this POKéMON’s toughness in battle.");
+
+const u8 gBlastoisePokedexText[] = _(
+ "The waterspouts that protrude from its\n"
+ "shell are highly accurate. Their bullets of\n"
+ "water can precisely nail tin cans from\n"
+ "a distance of over 160 feet.");
+
+const u8 gCaterpiePokedexText[] = _(
+ "Its voracious appetite compels it to\n"
+ "devour leaves bigger than itself without\n"
+ "hesitation. It releases a terribly strong\n"
+ "odor from its antennae.");
+
+const u8 gMetapodPokedexText[] = _(
+ "Its shell is as hard as an iron slab.\n"
+ "A METAPOD does not move very much\n"
+ "because it is preparing its soft innards\n"
+ "for evolution inside the shell.");
+
+const u8 gButterfreePokedexText[] = _(
+ "It has a superior ability to search for\n"
+ "delicious honey from flowers. It can seek,\n"
+ "extract, and carry honey from flowers\n"
+ "blooming over six miles away.");
+
+const u8 gWeedlePokedexText[] = _(
+ "A WEEDLE has an extremely acute sense\n"
+ "of smell. It distinguishes its favorite\n"
+ "kinds of leaves from those it dislikes by\n"
+ "sniffing with its big red proboscis (nose).");
+
+const u8 gKakunaPokedexText[] = _(
+ "It remains virtually immobile while it\n"
+ "clings to a tree. However, on the inside,\n"
+ "it busily prepares for evolution. This is\n"
+ "evident from how hot its shell becomes.");
+
+const u8 gBeedrillPokedexText[] = _(
+ "A BEEDRILL is extremely territorial.\n"
+ "For safety reasons, no one should \n"
+ "ever approach its nest. If angered,\n"
+ "they will attack in a swarm.");
+
+const u8 gPidgeyPokedexText[] = _(
+ "It has an extremely sharp sense of\n"
+ "direction. It can unerringly return home to\n"
+ "its nest, however far it may be removed\n"
+ "from its familiar surroundings.");
+
+const u8 gPidgeottoPokedexText[] = _(
+ "This POKéMON flies around, patrolling its\n"
+ "large territory. If its living space is\n"
+ "violated, it shows no mercy in thoroughly\n"
+ "punishing the foe with its sharp claws.");
+
+const u8 gPidgeotPokedexText[] = _(
+ "This POKéMON has gorgeous, glossy\n"
+ "feathers. Many TRAINERS are so captivated\n"
+ "by the beautiful feathers on its head that\n"
+ "they choose PIDGEOT as their POKéMON.");
+
+const u8 gRattataPokedexText[] = _(
+ "A RATTATA is cautious in the extreme.\n"
+ "Even while it is asleep, it constantly\n"
+ "moves its ears and listens for danger.\n"
+ "It will make its nest anywhere.");
+
+const u8 gRaticatePokedexText[] = _(
+ "A RATICATE’s sturdy fangs grow steadily.\n"
+ "To keep them ground down, it gnaws on\n"
+ "rocks and logs. It may even chew on the\n"
+ "walls of houses.");
+
+const u8 gSpearowPokedexText[] = _(
+ "Its loud cry can be heard over half a mile\n"
+ "away. If its high, keening cry is heard\n"
+ "echoing all around, it is a sign that they\n"
+ "are warning each other of danger.");
+
+const u8 gFearowPokedexText[] = _(
+ "Its long neck and elongated beak are\n"
+ "ideal for catching prey in soil or water.\n"
+ "It deftly moves this extended and skinny\n"
+ "beak to pluck prey.");
+
+const u8 gEkansPokedexText[] = _(
+ "An EKANS curls itself up in a spiral while\n"
+ "it rests. This position allows it to quickly\n"
+ "respond to an enemy from any direction\n"
+ "with a threat from its upraised head.");
+
+const u8 gArbokPokedexText[] = _(
+ "This POKéMON has a terrifically strong\n"
+ "constricting power. It can even flatten\n"
+ "steel oil drums. Once it wraps its body\n"
+ "around its foe, escaping is impossible.");
+
+const u8 gPikachuPokedexText[] = _(
+ "It stores electricity in the electric sacs\n"
+ "on its cheeks. When it releases pent-up\n"
+ "energy in a burst, the electric power is\n"
+ "equal to a lightning bolt.");
+
+const u8 gRaichuPokedexText[] = _(
+ "If it stores too much electricity, its\n"
+ "behavior turns aggressive. To avoid this,\n"
+ "it occasionally discharges excess energy\n"
+ "and calms itself down.");
+
+const u8 gSandshrewPokedexText[] = _(
+ "When it curls up in a ball, it can make any\n"
+ "attack bounce off harmlessly. Its hide has\n"
+ "turned tough and solid as a result of\n"
+ "living in the desert.");
+
+const u8 gSandslashPokedexText[] = _(
+ "It curls up in a ball to protect itself from\n"
+ "enemy attacks. It also curls up to prevent\n"
+ "heatstroke during the daytime when\n"
+ "temperatures rise sharply.");
+
+const u8 gNidoranFPokedexText[] = _(
+ "Its highly toxic barbs are thought to have\n"
+ "developed as protection for this small-\n"
+ "bodied POKéMON. When enraged, it releases\n"
+ "a horrible toxin from its horn.");
+
+const u8 gNidorinaPokedexText[] = _(
+ "When it is with its friends or\n"
+ "family, its barbs are tucked away to\n"
+ "prevent injury. It appears to become\n"
+ "nervous if separated from the others.");
+
+const u8 gNidoqueenPokedexText[] = _(
+ "It is adept at sending foes flying with\n"
+ "harsh tackles using its tough, scaly body.\n"
+ "This POKéMON is at its strongest when\n"
+ "it is defending its young.");
+
+const u8 gNidoranMPokedexText[] = _(
+ "The male NIDORAN has developed muscles\n"
+ "that freely move its ears in any direction.\n"
+ "Even the slightest sound does not escape\n"
+ "this POKéMON’s notice.");
+
+const u8 gNidorinoPokedexText[] = _(
+ "Its horn is harder than a diamond.\n"
+ "If it senses a hostile presence, all the\n"
+ "barbs on its back bristle up at once, and it\n"
+ "challenges the foe with all its might.");
+
+const u8 gNidokingPokedexText[] = _(
+ "A NIDOKING’s thick tail packs enormously\n"
+ "destructive power capable of toppling\n"
+ "a metal transmission tower. Once it goes\n"
+ "on a rampage, there is no stopping it.");
+
+const u8 gClefairyPokedexText[] = _(
+ "On every night of a full moon, they come\n"
+ "out to play. When dawn arrives, the tired\n"
+ "CLEFAIRY go to sleep nestled up against\n"
+ "each other in deep and quiet mountains.");
+
+const u8 gClefablePokedexText[] = _(
+ "A CLEFABLE uses its wings to skip lightly \n"
+ "as if it were flying. Its bouncy step\n"
+ "lets it even walk on water. On quiet,\n"
+ "moonlit nights, it strolls on lakes.");
+
+const u8 gVulpixPokedexText[] = _(
+ "It can freely control fire, making fiery\n"
+ "orbs fly like will-o’-the-wisps. Just\n"
+ "before evolution, its six tails grow hot \n"
+ "as if on fire.");
+
+const u8 gNinetalesPokedexText[] = _(
+ "It has long been said that each of the\n"
+ "nine tails embody an enchanted power.\n"
+ "A long-lived NINETALES will have fur that\n"
+ "shines like gold.");
+
+const u8 gJigglypuffPokedexText[] = _(
+ "Nothing can avoid falling asleep hearing a\n"
+ "JIGGLYPUFF’s song. The sound waves of its\n"
+ "singing voice match the brain waves of\n"
+ "someone in a deep sleep.");
+
+const u8 gWigglytuffPokedexText[] = _(
+ "Its fur is the ultimate in luxuriousness.\n"
+ "Sleeping alongside a WIGGLYTUFF is simply\n"
+ "divine. Its body expands seemingly without\n"
+ "end when it inhales.");
+
+const u8 gZubatPokedexText[] = _(
+ "While living in pitch-black caverns, their\n"
+ "eyes gradually grew shut and deprived\n"
+ "them of vision. They use ultrasonic waves\n"
+ "to detect obstacles.");
+
+const u8 gGolbatPokedexText[] = _(
+ "Its fangs easily puncture even thick\n"
+ "animal hide. It loves to feast on the blood\n"
+ "of people and POKéMON. It flits about in\n"
+ "darkness and strikes from behind.");
+
+const u8 gOddishPokedexText[] = _(
+ "This POKéMON grows by absorbing moonlight.\n"
+ "During the daytime, it buries itself in the\n"
+ "ground, leaving only its leaves exposed to\n"
+ "avoid detection by its enemies.");
+
+const u8 gGloomPokedexText[] = _(
+ "A horribly noxious honey drools from its\n"
+ "mouth. One whiff of the honey can result\n"
+ "in memory loss. Some fans are said to\n"
+ "enjoy this overwhelming stink, however.");
+
+const u8 gVileplumePokedexText[] = _(
+ "In seasons when it produces more pollen,\n"
+ "the air around a VILEPLUME turns yellow\n"
+ "with the powder as it walks. The pollen is\n"
+ "highly toxic and causes paralysis.");
+
+const u8 gParasPokedexText[] = _(
+ "A PARAS has parasitic tochukaso\n"
+ "mushrooms growing on its back. They grow\n"
+ "by drawing nutrients from the host. They\n"
+ "are valued as a medicine for long life.");
+
+const u8 gParasectPokedexText[] = _(
+ "PARASECT are known to infest the roots of\n"
+ "large trees en masse and drain nutrients.\n"
+ "When an infested tree dies, they move\n"
+ "onto another tree all at once.");
+
+const u8 gVenonatPokedexText[] = _(
+ "Its coat of thin, stiff hair that covers\n"
+ "its entire body is said to have evolved\n"
+ "for protection. Its large eyes never fail\n"
+ "to spot even miniscule prey.");
+
+const u8 gVenomothPokedexText[] = _(
+ "VENOMOTH are nocturnal--they only are\n"
+ "active at night. Their favorite prey are\n"
+ "insects that gather around streetlights,\n"
+ "attracted by the light in the darkness.");
+
+const u8 gDiglettPokedexText[] = _(
+ "DIGLETT are raised in most farms.\n"
+ "The reason is simple--wherever they\n"
+ "burrow, the soil is left perfectly tilled\n"
+ "for growing delicious crops.");
+
+const u8 gDugtrioPokedexText[] = _(
+ "Because the triplets originally split from\n"
+ "one body, they think exactly alike.\n"
+ "They work cooperatively to burrow\n"
+ "endlessly through the ground.");
+
+const u8 gMeowthPokedexText[] = _(
+ "MEOWTH withdraw their sharp claws into\n"
+ "their paws to silently sneak about.\n"
+ "For some reason, this POKéMON loves\n"
+ "shiny coins that glitter with light.");
+
+const u8 gPersianPokedexText[] = _(
+ "A PERSIAN’s six bold whiskers sense air\n"
+ "movements to determine what is in its\n"
+ "vicinity. It becomes docile if grabbed\n"
+ "by the whiskers.");
+
+const u8 gPsyduckPokedexText[] = _(
+ "When its headache intensifies, it starts\n"
+ "using strange powers. However, it has no\n"
+ "recollection of its powers, so it always\n"
+ "looks befuddled and bewildered.");
+
+const u8 gGolduckPokedexText[] = _(
+ "A GOLDUCK is an adept swimmer.\n"
+ "It sometimes joins competitive swimmers\n"
+ "in training. It uses psychic powers when\n"
+ "its forehead shimmers with light.");
+
+const u8 gMankeyPokedexText[] = _(
+ "When it starts shaking and its nasal\n"
+ "breathing turns rough, it’s a sure sign\n"
+ "of anger. However, since this happens\n"
+ "instantly, there is no time to flee.");
+
+const u8 gPrimeapePokedexText[] = _(
+ "When it becomes furious, its blood\n"
+ "circulation becomes more robust, and\n"
+ "its muscles are made stronger. But it\n"
+ "also becomes much less intelligent.");
+
+const u8 gGrowlithePokedexText[] = _(
+ "Its superb sense of smell ensures that\n"
+ "this POKéMON won’t forget any scent,\n"
+ "no matter what. It uses its sense of smell\n"
+ "to detect the emotions of others.");
+
+const u8 gArcaninePokedexText[] = _(
+ "This fleet-footed POKéMON is said to run\n"
+ "over 6,200 miles in a single day and night.\n"
+ "The fire that blazes wildly within its body\n"
+ "is its source of power.");
+
+const u8 gPoliwagPokedexText[] = _(
+ "It is possible to see this POKéMON’s spiral\n"
+ "innards right through its thin skin.\n"
+ "However, the skin is also very flexible.\n"
+ "Even sharp fangs bounce right off it.");
+
+const u8 gPoliwhirlPokedexText[] = _(
+ "Its body surface is always wet and slick\n"
+ "with an oily fluid. Because of this greasy\n"
+ "covering, it can easily slip and slide out\n"
+ "of the clutches of any enemy in battle.");
+
+const u8 gPoliwrathPokedexText[] = _(
+ "Its highly developed muscles never grow\n"
+ "fatigued, however much it exercises.\n"
+ "This POKéMON can swim back and forth\n"
+ "across the Pacific Ocean without effort.");
+
+const u8 gAbraPokedexText[] = _(
+ "A POKéMON that sleeps 18 hours a day.\n"
+ "Observation revealed that it uses\n"
+ "TELEPORT to change its location once\n"
+ "every hour.");
+
+const u8 gKadabraPokedexText[] = _(
+ "It is rumored that a boy with psychic\n"
+ "abilities suddenly transformed into\n"
+ "KADABRA while he was assisting research\n"
+ "into extrasensory powers.");
+
+const u8 gAlakazamPokedexText[] = _(
+ "While it has strong psychic abilities and\n"
+ "high intelligence, an ALAKAZAM’s muscles\n"
+ "are very weak. It uses psychic power to\n"
+ "move its body.");
+
+const u8 gMachopPokedexText[] = _(
+ "It continually undertakes strenuous\n"
+ "training to master all forms of martial\n"
+ "arts. Its strength lets it easily hoist\n"
+ "a sumo wrestler onto its shoulders.");
+
+const u8 gMachokePokedexText[] = _(
+ "A belt is worn by a MACHOKE to keep its\n"
+ "overwhelming power under control.\n"
+ "Because it is so dangerous, no one has\n"
+ "ever removed the belt.");
+
+const u8 gMachampPokedexText[] = _(
+ "It is impossible to defend against punches\n"
+ "and chops doled out by its four arms.\n"
+ "Its fighting spirit flares up when it faces\n"
+ "a tough opponent.");
+
+const u8 gBellsproutPokedexText[] = _(
+ "A BELLSPROUT’s thin and flexible body lets\n"
+ "it bend and sway to avoid any attack,\n"
+ "however strong it may be. From its mouth,\n"
+ "it leaks a fluid that melts even iron.");
+
+const u8 gWeepinbellPokedexText[] = _(
+ "At night, a WEEPINBELL hangs on to a tree\n"
+ "branch with its hooked rear and sleeps.\n"
+ "If it moves around in its sleep, it may\n"
+ "wake up to find itself on the ground.");
+
+const u8 gVictreebelPokedexText[] = _(
+ "The long vine extending from its head is\n"
+ "waved about as if it were a living thing to\n"
+ "attract prey. When an unsuspecting victim\n"
+ "approaches, it is swallowed whole.");
+
+const u8 gTentacoolPokedexText[] = _(
+ "Its body is almost entirely composed of\n"
+ "water. It ensnares its foe with its two\n"
+ "long tentacles, then stabs with the poison\n"
+ "stingers at their tips.");
+
+const u8 gTentacruelPokedexText[] = _(
+ "It lives in complex rock formations on\n"
+ "the ocean floor and traps prey using its\n"
+ "80 tentacles. Its red orbs glow when it\n"
+ "grows excited or agitated.");
+
+const u8 gGeodudePokedexText[] = _(
+ "It climbs mountain paths using only the\n"
+ "power of its arms. Because they look just\n"
+ "like boulders lining paths, hikers may step\n"
+ "on them without noticing.");
+
+const u8 gGravelerPokedexText[] = _(
+ "They descend from mountains by tumbling\n"
+ "down steep slopes. They are so brutal,\n"
+ "they smash aside obstructing trees and\n"
+ "massive boulders with thunderous tackles.");
+
+const u8 gGolemPokedexText[] = _(
+ "It is said to live in volcanic craters\n"
+ "on mountain peaks. Once a year, it sheds\n"
+ "its hide and grows larger. The shed hide\n"
+ "crumbles and returns to the soil.");
+
+const u8 gPonytaPokedexText[] = _(
+ "A PONYTA is very weak at birth. It can\n"
+ "barely stand up. Its legs become stronger\n"
+ "as it stumbles and falls while trying to\n"
+ "keep up with its parent.");
+
+const u8 gRapidashPokedexText[] = _(
+ "It usually canters casually in the fields\n"
+ "and plains. But once a RAPIDASH turns\n"
+ "serious, its fiery manes flare and blaze\n"
+ "as it gallops its way up to 150 mph.");
+
+const u8 gSlowpokePokedexText[] = _(
+ "It catches prey by dipping its tail in\n"
+ "water at the side of a river. But it often\n"
+ "forgets what it is doing and spends entire\n"
+ "days just loafing at water’s edge.");
+
+const u8 gSlowbroPokedexText[] = _(
+ "Its tail has a SHELLDER firmly attached\n"
+ "with a bite. As a result, the tail can’t be\n"
+ "used for fishing anymore. This forces it\n"
+ "to reluctantly swim and catch prey.");
+
+const u8 gMagnemitePokedexText[] = _(
+ "The units at its sides are extremely\n"
+ "powerful magnets. They generate enough\n"
+ "magnetism to draw in iron objects from\n"
+ "over 300 feet away.");
+
+const u8 gMagnetonPokedexText[] = _(
+ "It is actually three MAGNEMITE linked\n"
+ "by magnetism. It generates powerful radio\n"
+ "waves that raise temperatures by 3.6\n"
+ "degrees F within a 3,300-foot radius.");
+
+const u8 gFarfetchdPokedexText[] = _(
+ "It is always seen with a stick from a plant.\n"
+ "Apparently, there are good sticks and bad\n"
+ "sticks. This POKéMON occasionally fights\n"
+ "with others over choice sticks.");
+
+const u8 gDoduoPokedexText[] = _(
+ "Even while eating or sleeping, one of the\n"
+ "heads remains always vigilant for any sign\n"
+ "of danger. When threatened, it flees at\n"
+ "over 60 miles per hour.");
+
+const u8 gDodrioPokedexText[] = _(
+ "A peculiar POKéMON species with three\n"
+ "heads. It vigorously races across grassy\n"
+ "plains even in arid seasons with little\n"
+ "rainfall.");
+
+const u8 gSeelPokedexText[] = _(
+ "SEEL hunt for prey in frigid, ice-covered\n"
+ "seas. When it needs to breathe, it punches\n"
+ "a hole through the ice with the sharply\n"
+ "protruding section of its head.");
+
+const u8 gDewgongPokedexText[] = _(
+ "It loves to snooze on bitterly cold ice.\n"
+ "The sight of this POKéMON sleeping on\n"
+ "a glacier was mistakenly thought to be\n"
+ "a mermaid by a mariner long ago.");
+
+const u8 gGrimerPokedexText[] = _(
+ "Born from polluted sludge in the sea,\n"
+ "GRIMER’s favorite food is anything filthy.\n"
+ "They feed on wastewater pumped out from\n"
+ "factories.");
+
+const u8 gMukPokedexText[] = _(
+ "It prefers warm and humid habitats.\n"
+ "In the summertime, the toxic substances\n"
+ "in its body intensify, making MUK reek like\n"
+ "putrid kitchen garbage.");
+
+const u8 gShellderPokedexText[] = _(
+ "At night, it burrows a hole in the seafloor\n"
+ "with its broad tongue to make a place to\n"
+ "sleep. While asleep, it closes its shell,\n"
+ "but leaves its tongue hanging out.");
+
+const u8 gCloysterPokedexText[] = _(
+ "It swims in the sea by swallowing water,\n"
+ "then jetting it out toward the rear.\n"
+ "The CLOYSTER shoots spikes from its\n"
+ "shell using the same system.");
+
+const u8 gGastlyPokedexText[] = _(
+ "When exposed to a strong wind, a GASTLY’s\n"
+ "gaseous body quickly dwindles away.\n"
+ "They cluster under the eaves of houses\n"
+ "to escape the ravages of wind.");
+
+const u8 gHaunterPokedexText[] = _(
+ "If a HAUNTER beckons you while it is\n"
+ "floating in darkness, don’t approach it.\n"
+ "This POKéMON will try to lick you with its\n"
+ "tongue and steal your life away.");
+
+const u8 gGengarPokedexText[] = _(
+ "Deep in the night, your shadow cast by\n"
+ "a streetlight may suddenly overtake you.\n"
+ "It is actually a GENGAR running past\n"
+ "you, pretending to be your shadow.");
+
+const u8 gOnixPokedexText[] = _(
+ "There is a magnet in its brain that\n"
+ "prevents an ONIX from losing direction\n"
+ "while tunneling. As it grows older, its body\n"
+ "becomes steadily rounder and smoother.");
+
+const u8 gDrowzeePokedexText[] = _(
+ "If your nose becomes itchy while you are\n"
+ "sleeping, it’s a sure sign that a DROWZEE is\n"
+ "standing above your pillow and trying to\n"
+ "eat your dream through your nostrils.");
+
+const u8 gHypnoPokedexText[] = _(
+ "The arcing movement and glitter of the\n"
+ "pendulum in a HYPNO’s hand lull the foe\n"
+ "into deep hypnosis. While searching for\n"
+ "prey, it polishes the pendulum.");
+
+const u8 gKrabbyPokedexText[] = _(
+ "KRABBY live in holes dug into beaches.\n"
+ "On sandy shores with little in the way\n"
+ "of food, they can be seen squabbling with\n"
+ "each other over territory.");
+
+const u8 gKinglerPokedexText[] = _(
+ "It waves its huge, oversized claw in the\n"
+ "air to communicate with others.\n"
+ "But since the claw is so heavy, this\n"
+ "POKéMON quickly tires.");
+
+const u8 gVoltorbPokedexText[] = _(
+ "It bears an uncanny and unexplained\n"
+ "resemblance to a POKé BALL. Because it\n"
+ "explodes at the slightest shock, even\n"
+ "veteran TRAINERS treat it with caution.");
+
+const u8 gElectrodePokedexText[] = _(
+ "They appear in great numbers at electric\n"
+ "power plants. Because they feed on\n"
+ "electricity, they cause massive and\n"
+ "chaotic blackouts in nearby cities.");
+
+const u8 gExeggcutePokedexText[] = _(
+ "It consists of six eggs that care for each\n"
+ "other. The eggs attract each other and\n"
+ "spin around. When cracks increasingly\n"
+ "appear, it is close to evolution.");
+
+const u8 gExeggutorPokedexText[] = _(
+ "Originally from the tropics, EXEGGUTOR’s\n"
+ "heads grow larger from exposure to strong\n"
+ "sunlight. It is said that when the heads\n"
+ "fall, they group to form an EXEGGCUTE.");
+
+const u8 gCubonePokedexText[] = _(
+ "It pines for the mother it will never see\n"
+ "again. Seeing a likeness of its mother in\n"
+ "the full moon, it cries. The stains on the\n"
+ "skull it wears are from its tears.");
+
+const u8 gMarowakPokedexText[] = _(
+ "A MAROWAK is the evolved form of a CUBONE\n"
+ "that has grown tough by overcoming the\n"
+ "grief of losing its mother. Its tempered\n"
+ "and hardened spirit is not easily broken.");
+
+const u8 gHitmonleePokedexText[] = _(
+ "Its legs freely stretch and contract.\n"
+ "Using these springlike limbs, it bowls over\n"
+ "foes with devastating kicks. After battle,\n"
+ "it rubs down its tired legs.");
+
+const u8 gHitmonchanPokedexText[] = _(
+ "A HITMONCHAN is said to possess the\n"
+ "spirit of a boxer who aimed to become the\n"
+ "world champion. Having an indomitable\n"
+ "spirit means that it will never give up.");
+
+const u8 gLickitungPokedexText[] = _(
+ "Whenever it sees something unfamiliar,\n"
+ "it always licks the object because it\n"
+ "memorizes things by texture and taste.\n"
+ "It is somewhat put off by sour things.");
+
+const u8 gKoffingPokedexText[] = _(
+ "Getting up close to a KOFFING will give\n"
+ "you a chance to observe, through its thin\n"
+ "skin, the toxic gases swirling inside. It\n"
+ "blows up at the slightest stimulation.");
+
+const u8 gWeezingPokedexText[] = _(
+ "By diluting its toxic gases with a special\n"
+ "process, the highest grade of perfume can\n"
+ "be extracted. To WEEZING, gases emanating\n"
+ "from garbage are the ultimate feast.");
+
+const u8 gRhyhornPokedexText[] = _(
+ "Once it starts running, it doesn’t stop.\n"
+ "Its tiny brain makes it so stupid that it\n"
+ "can’t remember why it started running in\n"
+ "the first place.");
+
+const u8 gRhydonPokedexText[] = _(
+ "Its horn, which rotates like a drill,\n"
+ "destroys tall buildings with one strike.\n"
+ "It stands on its hind legs, and its brain\n"
+ "is well developed.");
+
+const u8 gChanseyPokedexText[] = _(
+ "CHANSEY lay nutritionally excellent eggs\n"
+ "every day. The eggs are so delicious, they\n"
+ "are eagerly devoured by even those people\n"
+ "who have lost their appetite.");
+
+const u8 gTangelaPokedexText[] = _(
+ "Its vines snap off easily and painlessly\n"
+ "if they are grabbed, allowing it to make a\n"
+ "quick getaway. The lost vines are replaced\n"
+ "by new growth the very next day.");
+
+const u8 gKangaskhanPokedexText[] = _(
+ "If you come across a young KANGASKHAN\n"
+ "playing by itself, never try to catch it.\n"
+ "The baby’s parent is sure to be in the area,\n"
+ "and it will become violently enraged.");
+
+const u8 gHorseaPokedexText[] = _(
+ "By cleverly flicking the fins on its back\n"
+ "side to side, it moves in any direction\n"
+ "while facing forward. It spits ink to\n"
+ "escape if it senses danger.");
+
+const u8 gSeadraPokedexText[] = _(
+ "The poisonous barbs all over its body are\n"
+ "highly valued as ingredients for making\n"
+ "traditional herbal medicine. It shows no\n"
+ "mercy to anything approaching its nest.");
+
+const u8 gGoldeenPokedexText[] = _(
+ "In the springtime, schools of GOLDEEN\n"
+ "can be seen swimming up falls and rivers.\n"
+ "It metes out staggering damage with its\n"
+ "single horn.");
+
+const u8 gSeakingPokedexText[] = _(
+ "It punches holes in boulders on stream-\n"
+ "beds. This is a clever innovation that\n"
+ "prevents its eggs from being attacked or\n"
+ "washed away by the current.");
+
+const u8 gStaryuPokedexText[] = _(
+ "It gathers with others in the night and\n"
+ "makes its red core glow on and off with\n"
+ "the twinkling stars. It can regenerate\n"
+ "limbs if they are severed from its body.");
+
+const u8 gStarmiePokedexText[] = _(
+ "People in ancient times imagined that\n"
+ "STARMIE were transformed from the\n"
+ "reflections of stars that twinkled on\n"
+ "gentle waves at night.");
+
+const u8 gMrmimePokedexText[] = _(
+ "A MR. MIME is a master of pantomime. It can\n"
+ "convince others that something unseeable\n"
+ "actually exists. Once believed, the\n"
+ "imaginary object does become real.");
+
+const u8 gScytherPokedexText[] = _(
+ "Its blindingly fast speed adds to the\n"
+ "sharpness of its twin forearm scythes.\n"
+ "The scythes can slice through thick logs\n"
+ "in one wicked stroke.");
+
+const u8 gJynxPokedexText[] = _(
+ "A JYNX sashays rhythmically as if it were\n"
+ "dancing. Its motions are so bouncingly\n"
+ "alluring, people seeing it are compelled to\n"
+ "shake their hips without noticing.");
+
+const u8 gElectabuzzPokedexText[] = _(
+ "When a storm approaches, it competes with\n"
+ "others to scale heights that are likely to\n"
+ "be stricken by lightning. Some towns use\n"
+ "ELECTABUZZ in place of lightning rods.");
+
+const u8 gMagmarPokedexText[] = _(
+ "In battle, it blows out intense flames from\n"
+ "all over its body to intimidate its foe.\n"
+ "These fiery bursts create heat waves that\n"
+ "ignite grass and trees in the area.");
+
+const u8 gPinsirPokedexText[] = _(
+ "Their pincers are strong enough to\n"
+ "shatter thick logs. Because they dislike\n"
+ "cold, PINSIR burrow and sleep under\n"
+ "the ground on chilly nights.");
+
+const u8 gTaurosPokedexText[] = _(
+ "It is not satisfied unless it is rampaging\n"
+ "at all times. If there is no opponent for\n"
+ "TAUROS to battle, it will charge at thick\n"
+ "trees and knock them down to calm itself.");
+
+const u8 gMagikarpPokedexText[] = _(
+ "Its swimming muscles are weak, so it is\n"
+ "easily washed away by currents. In places\n"
+ "where water pools, you can see many\n"
+ "MAGIKARP deposited there by the flow.");
+
+const u8 gGyaradosPokedexText[] = _(
+ "It is an extremely vicious and violent\n"
+ "POKéMON. When humans begin to fight,\n"
+ "it will appear and burn everything to the\n"
+ "ground with intensely hot flames.");
+
+const u8 gLaprasPokedexText[] = _(
+ "People have driven LAPRAS almost to the\n"
+ "point of extinction. In the evenings,\n"
+ "it is said to sing plaintively as it seeks\n"
+ "what few others of its kind still remain.");
+
+const u8 gDittoPokedexText[] = _(
+ "A DITTO rearranges its cell structure to\n"
+ "transform itself. However, if it tries to\n"
+ "change based on its memory, it will get\n"
+ "details wrong.");
+
+const u8 gEeveePokedexText[] = _(
+ "An EEVEE has an unstable genetic makeup\n"
+ "that suddenly mutates due to its\n"
+ "environment. Radiation from various\n"
+ "STONES causes this POKéMON to evolve.");
+
+const u8 gVaporeonPokedexText[] = _(
+ "VAPOREON underwent a spontaneous\n"
+ "mutation and grew fins and gills that\n"
+ "allow them to live underwater. They have\n"
+ "the ability to freely control water.");
+
+const u8 gJolteonPokedexText[] = _(
+ "Its cells generate weak power that is\n"
+ "amplified by its fur’s static electricity\n"
+ "to drop thunderbolts. The bristling fur is\n"
+ "made of electrically charged needles.");
+
+const u8 gFlareonPokedexText[] = _(
+ "FLAREON’s fluffy fur releases heat into\n"
+ "the air so that its body does not get\n"
+ "excessively hot. Its body temperature can\n"
+ "rise to a maximum of 1,650 degrees F.");
+
+const u8 gPorygonPokedexText[] = _(
+ "It is capable of reverting itself entirely\n"
+ "back to program data in order to enter\n"
+ "cyberspace. A PORYGON is copy-\n"
+ "protected so it cannot be duplicated.");
+
+const u8 gOmanytePokedexText[] = _(
+ "One of the ancient and long-since-extinct\n"
+ "POKéMON that have been regenerated\n"
+ "from fossils by humans. If attacked,\n"
+ "it withdraws into its hard shell.");
+
+const u8 gOmastarPokedexText[] = _(
+ "An OMASTAR uses its tentacles to capture\n"
+ "its prey. It is believed to have become\n"
+ "extinct because its shell grew too large,\n"
+ "making its movements slow and ponderous.");
+
+const u8 gKabutoPokedexText[] = _(
+ "It is a POKéMON that has been regenerated\n"
+ "from a fossil. However, in rare cases, living\n"
+ "examples have been discovered. KABUTO\n"
+ "have not changed for 300 million years.");
+
+const u8 gKabutopsPokedexText[] = _(
+ "KABUTOPS once swam underwater to hunt \n"
+ "for prey. It was apparently evolving from\n"
+ "being a water dweller to living on land as\n"
+ "evident from changes in its gills and legs.");
+
+const u8 gAerodactylPokedexText[] = _(
+ "AERODACTYL is a POKéMON from the age\n"
+ "of dinosaurs. It was regenerated from DNA\n"
+ "extracted from amber. It is imagined to\n"
+ "have been the king of the skies.");
+
+const u8 gSnorlaxPokedexText[] = _(
+ "SNORLAX’s typical day consists of nothing\n"
+ "more than eating and sleeping. It is such\n"
+ "a docile POKéMON that there are children\n"
+ "who use its big belly as a place to play.");
+
+const u8 gArticunoPokedexText[] = _(
+ "ARTICUNO is a legendary bird POKéMON that\n"
+ "can control ice. The flapping of its wings\n"
+ "chills the air. As a result, it is said that\n"
+ "when this POKéMON flies, snow will fall.");
+
+const u8 gZapdosPokedexText[] = _(
+ "ZAPDOS is a legendary bird POKéMON that\n"
+ "has the ability to control electricity.\n"
+ "It usually lives in thunderclouds. It gains\n"
+ "power if it is stricken by lightning bolts.");
+
+const u8 gMoltresPokedexText[] = _(
+ "MOLTRES is a legendary bird POKéMON\n"
+ "that can control fire. If injured, it is said\n"
+ "to dip its body in the molten magma of\n"
+ "a volcano to burn and heal itself.");
+
+const u8 gDratiniPokedexText[] = _(
+ "A DRATINI continually molts and sloughs\n"
+ "off its old skin. It does so because the\n"
+ "life energy within its body steadily builds\n"
+ "to reach uncontrollable levels.");
+
+const u8 gDragonairPokedexText[] = _(
+ "A DRAGONAIR stores an enormous amount of\n"
+ "energy inside its body. It is said to alter\n"
+ "the weather around it by loosing energy\n"
+ "from the crystals on its neck and tail.");
+
+const u8 gDragonitePokedexText[] = _(
+ "It can circle the globe in just 16 hours.\n"
+ "It is a kindhearted POKéMON that leads\n"
+ "lost and foundering ships in a storm\n"
+ "to the safety of land.");
+
+const u8 gMewtwoPokedexText[] = _(
+ "A POKéMON that was created by genetic\n"
+ "manipulation. However, even though the\n"
+ "scientific power of humans made its body,\n"
+ "they failed to give it a warm heart.");
+
+const u8 gMewPokedexText[] = _(
+ "A MEW is said to possess the genes of all\n"
+ "POKéMON. It is capable of making itself\n"
+ "invisible at will, so it entirely avoids\n"
+ "notice even if it approaches people.");
+
+const u8 gChikoritaPokedexText[] = _(
+ "It waves its leaf around to keep foes\n"
+ "at bay. However, a sweet fragrance also\n"
+ "wafts from the leaf, creating a friendly\n"
+ "atmosphere that becalms the battlers.");
+
+const u8 gBayleefPokedexText[] = _(
+ "A BAYLEEF’s neck is ringed by curled-up\n"
+ "leaves. Inside each leaf is a small tree\n"
+ "shoot. The fragrance of this shoot\n"
+ "makes people peppy.");
+
+const u8 gMeganiumPokedexText[] = _(
+ "The fragrance of a MEGANIUM’s flower\n"
+ "soothes and calms emotions. In battle,\n"
+ "it gives off more of its becalming scent\n"
+ "to blunt the foe’s fighting spirit.");
+
+const u8 gCyndaquilPokedexText[] = _(
+ "It flares flames from its back to protect\n"
+ "itself. The fire burns vigorously if the\n"
+ "POKéMON is angry. When it is tired,\n"
+ "it sputters with incomplete combustion.");
+
+const u8 gQuilavaPokedexText[] = _(
+ "It intimidates foes with intense gusts of\n"
+ "flames and superheated air. Its quick\n"
+ "nimbleness lets it dodge attacks even\n"
+ "while scorching an enemy.");
+
+const u8 gTyphlosionPokedexText[] = _(
+ "It can hide behind a shimmering heat haze\n"
+ "that it creates using its intense flames.\n"
+ "TYPHLOSION create blazing explosive\n"
+ "blasts that burn everything to cinders.");
+
+const u8 gTotodilePokedexText[] = _(
+ "Despite its small body, TOTODILE’s jaws\n"
+ "are very powerful. While it may think it is\n"
+ "just playfully nipping, its bite has enough\n"
+ "strength to cause serious injury.");
+
+const u8 gCroconawPokedexText[] = _(
+ "Once its jaws clamp down on its foe, it will\n"
+ "absolutely not let go. Because the tips of\n"
+ "its fangs are forked back like fishhooks,\n"
+ "they become irremovably embedded.");
+
+const u8 gFeraligatrPokedexText[] = _(
+ "It opens its huge mouth to intimidate\n"
+ "enemies. In battle, it runs using its thick\n"
+ "and powerful hind legs to charge the\n"
+ "foe with incredible speed.");
+
+const u8 gSentretPokedexText[] = _(
+ "They take turns standing guard when it\n"
+ "is time to sleep. The sentry awakens the\n"
+ "others if it senses danger. If one becomes\n"
+ "separated, it turns sleepless with fear.");
+
+const u8 gFurretPokedexText[] = _(
+ "A FURRET has a very slim build. When under\n"
+ "attack, it can squirm through narrow\n"
+ "spaces and get away. In spite of its short\n"
+ "limbs, it is very nimble and fleet.");
+
+const u8 gHoothootPokedexText[] = _(
+ "It has an internal organ that senses\n"
+ "the earth’s rotation. Using this special\n"
+ "organ, a HOOTHOOT begins hooting at\n"
+ "precisely the same time every day.");
+
+const u8 gNoctowlPokedexText[] = _(
+ "It unfailingly catches prey in darkness.\n"
+ "NOCTOWL owe their success to superior\n"
+ "vision that allows them to see in minimal\n"
+ "light, and to their supple and silent wings.");
+
+const u8 gLedybaPokedexText[] = _(
+ "LEDYBA communicate using a fluid that\n"
+ "they secrete from where the legs join the\n"
+ "body. They are said to convey feelings to\n"
+ "others by altering the fluid’s scent.");
+
+const u8 gLedianPokedexText[] = _(
+ "It is said that in lands with clean air,\n"
+ "where the stars fill the sky, there live\n"
+ "many LEDIAN. For good reason, they use\n"
+ "the light of the stars as energy.");
+
+const u8 gSpinarakPokedexText[] = _(
+ "The web it spins can be considered its\n"
+ "second nervous system. It is said that a\n"
+ "SPINARAK determines its prey by the tiny\n"
+ "vibrations it feels through the web.");
+
+const u8 gAriadosPokedexText[] = _(
+ "Its feet are tipped with tiny hooked claws\n"
+ "that enable it to scuttle on ceilings and\n"
+ "vertical walls. It constricts its foe with\n"
+ "thin and strong silk webbing.");
+
+const u8 gCrobatPokedexText[] = _(
+ "Over the course of evolution, its hind legs\n"
+ "turned into wings. By alternately resting\n"
+ "its front and rear wings, it can fly all day\n"
+ "without having to stop.");
+
+const u8 gChinchouPokedexText[] = _(
+ "When it senses danger, it discharges\n"
+ "positive and negative electricity from its\n"
+ "two antennae. It lives in depths beyond\n"
+ "sunlight’s reach.");
+
+const u8 gLanturnPokedexText[] = _(
+ "The light-emitting orbs on its back are\n"
+ "very bright. They are formed from a part of\n"
+ "its dorsal fin. This POKéMON illuminates\n"
+ "the inky darkness of deep seas.");
+
+const u8 gPichuPokedexText[] = _(
+ "It is still inept at retaining electricity.\n"
+ "When it is startled, it discharges power\n"
+ "accidentally. It gets better at holding\n"
+ "power as it grows older.");
+
+const u8 gCleffaPokedexText[] = _(
+ "On nights with many shooting stars,\n"
+ "CLEFFA can be seen dancing in a ring.\n"
+ "They dance until daybreak, when they\n"
+ "quench their thirst with the morning dew.");
+
+const u8 gIgglybuffPokedexText[] = _(
+ "Its soft and pliable body is very bouncy.\n"
+ "When it sings continuously with all its\n"
+ "might, its body steadily turns a deepening\n"
+ "pink color.");
+
+const u8 gTogepiPokedexText[] = _(
+ "As its energy, it uses the feelings of\n"
+ "compassion and pleasure exuded by\n"
+ "people and POKéMON. It stores up happy\n"
+ "feelings in its shell, then shares them out.");
+
+const u8 gTogeticPokedexText[] = _(
+ "It is said to be a POKéMON that brings good\n"
+ "fortune. When it spots someone who is pure\n"
+ "of heart, a TOGETIC appears and shares its\n"
+ "happiness with that person.");
+
+const u8 gNatuPokedexText[] = _(
+ "It runs up short trees that grow on the\n"
+ "savanna to peck at new shoots.\n"
+ "A NATU’s eyes look as if they are\n"
+ "always observing something.");
+
+const u8 gXatuPokedexText[] = _(
+ "It has the enigmatic power of foreseeing\n"
+ "the future. Some people in different lands\n"
+ "have long believed that XATU are\n"
+ "emissaries from another world.");
+
+const u8 gMareepPokedexText[] = _(
+ "Its fluffy wool rubs together and builds\n"
+ "a static charge. The more energy is\n"
+ "charged, the more brightly the lightbulb\n"
+ "at the tip of its tail glows.");
+
+const u8 gFlaaffyPokedexText[] = _(
+ "Its fleece quality changes to generate\n"
+ "strong static electricity with a small\n"
+ "amount of wool. The bare, slick parts of its\n"
+ "hide are shielded against electricity.");
+
+const u8 gAmpharosPokedexText[] = _(
+ "It gives off so much light that it can be\n"
+ "seen even from space. People in the old\n"
+ "days used its light to send signals back\n"
+ "and forth with others far away.");
+
+const u8 gBellossomPokedexText[] = _(
+ "Its flower petals deepen in color through\n"
+ "exposure to sunlight. When cloudy weather\n"
+ "persists, it does a dance that is thought\n"
+ "to be a ritual for summoning the sun.");
+
+const u8 gMarillPokedexText[] = _(
+ "Its body is covered with water-repellent\n"
+ "fur. Because of the fur, it can swim\n"
+ "through water at high speed without being\n"
+ "slowed by the water’s resistance.");
+
+const u8 gAzumarillPokedexText[] = _(
+ "It lives in water virtually all day long.\n"
+ "Its body color and pattern act as\n"
+ "camouflage that makes it tough for\n"
+ "enemies to spot in water.");
+
+const u8 gSudowoodoPokedexText[] = _(
+ "It mimics a tree to avoid being attacked\n"
+ "by enemies. But since its forelegs\n"
+ "remain green throughout the year, it is\n"
+ "easily identified as a fake in the winter.");
+
+const u8 gPolitoedPokedexText[] = _(
+ "The curled hair on its head proves its\n"
+ "status as a king. It is said that the\n"
+ "longer and curlier the hair, the more\n"
+ "respect it earns from its peers.");
+
+const u8 gHoppipPokedexText[] = _(
+ "This POKéMON drifts and floats with the\n"
+ "wind. If it senses the approach of strong\n"
+ "winds, a HOPPIP links leaves with others\n"
+ "to prepare against being blown away.");
+
+const u8 gSkiploomPokedexText[] = _(
+ "It blossoms when the temperature rises\n"
+ "above 64 degrees F. Because its flower’s\n"
+ "blooming changes with the temperature,\n"
+ "it is sometimes used as a thermometer.");
+
+const u8 gJumpluffPokedexText[] = _(
+ "JUMPLUFF ride warm southern winds to\n"
+ "cross the sea and fly to foreign lands.\n"
+ "This POKéMON lands when it encounters\n"
+ "cold air while it is floating.");
+
+const u8 gAipomPokedexText[] = _(
+ "Its tail ends with a dexterous, handlike\n"
+ "appendage. However, because it uses the\n"
+ "tail so much, AIPOM’s real hands have\n"
+ "become rather clumsy.");
+
+const u8 gSunkernPokedexText[] = _(
+ "SUNKERN try to minimize movement to\n"
+ "conserve the nutrients they have stored\n"
+ "in their bodies for evolution. They will\n"
+ "not eat, subsisting only on morning dew.");
+
+const u8 gSunfloraPokedexText[] = _(
+ "SUNFLORA convert solar energy into\n"
+ "nutrition. They are highly active in the\n"
+ "warm daytime but suddenly stop moving as\n"
+ "soon as the sun sets.");
+
+const u8 gYanmaPokedexText[] = _(
+ "It can see 360 degrees without moving\n"
+ "its eyes. It is a great flier capable of\n"
+ "making sudden stops and turning midair to\n"
+ "quickly chase down targeted prey.");
+
+const u8 gWooperPokedexText[] = _(
+ "WOOPER usually live in water but come\n"
+ "out onto land seeking food occasionally.\n"
+ "On land, they coat their bodies with a\n"
+ "gooey, toxic film.");
+
+const u8 gQuagsirePokedexText[] = _(
+ "A QUAGSIRE hunts by leaving its mouth wide\n"
+ "open in water and waiting for its prey to\n"
+ "blunder in. Because it doesn’t move, it\n"
+ "does not get very hungry.");
+
+const u8 gEspeonPokedexText[] = _(
+ "An ESPEON is extremely loyal to any\n"
+ "TRAINER it considers to be worthy. It is\n"
+ "said to have developed precognitive\n"
+ "powers to protect its TRAINER from harm.");
+
+const u8 gUmbreonPokedexText[] = _(
+ "UMBREON evolved from exposure to the\n"
+ "moon’s energy pulses. It lurks in darkness\n"
+ "and waits for its foes to move. The rings\n"
+ "on its body glow when it leaps to attack.");
+
+const u8 gMurkrowPokedexText[] = _(
+ "MURKROW were feared as the alleged\n"
+ "bearers of ill fortune. It shows strong\n"
+ "interest in anything that sparkles. It will\n"
+ "even try to steal rings from women.");
+
+const u8 gSlowkingPokedexText[] = _(
+ "It undertakes research every day to\n"
+ "solve the mysteries of the world.\n"
+ "However, it apparently forgets everything\n"
+ "if the SHELLDER on its head comes off.");
+
+const u8 gMisdreavusPokedexText[] = _(
+ "A MISDREAVUS frightens people with a\n"
+ "creepy, sobbing cry. It apparently uses\n"
+ "its red spheres to absorb the fear of foes\n"
+ "as its nutrition.");
+
+const u8 gUnownPokedexText[] = _(
+ "This POKéMON is shaped like ancient text\n"
+ "characters. Although research is ongoing,\n"
+ "it is a mystery as to which came first,\n"
+ "the ancient writings or the various UNOWN.");
+
+const u8 gWobbuffetPokedexText[] = _(
+ "Usually docile, a WOBBUFFET strikes back\n"
+ "ferociously if its black tail is attacked.\n"
+ "It makes its lair in caves where it waits\n"
+ "for nightfall.");
+
+const u8 gGirafarigPokedexText[] = _(
+ "A GIRAFARIG is an herbivore--it eats\n"
+ "grass and tree shoots. While it is eating,\n"
+ "its tail makes chewing and swallowing\n"
+ "motions as if it were also eating.");
+
+const u8 gPinecoPokedexText[] = _(
+ "A PINECO hangs from a tree branch and\n"
+ "waits for prey. While eating, if it is\n"
+ "disturbed by someone shaking its tree, it\n"
+ "falls on the ground and suddenly explodes.");
+
+const u8 gForretressPokedexText[] = _(
+ "It keeps itself inside its steel shell.\n"
+ "The shell is opened when it is catching\n"
+ "prey, but it is so quick that the shell’s\n"
+ "inside cannot be seen.");
+
+const u8 gDunsparcePokedexText[] = _(
+ "Its drill-tipped tail is used to burrow into\n"
+ "the ground backwards. This POKéMON is\n"
+ "known to make its nest in complex shapes\n"
+ "deep under the ground.");
+
+const u8 gGligarPokedexText[] = _(
+ "It glides without making a single sound.\n"
+ "It grasps the face of its foe using its\n"
+ "hind and large front claws, then stabs\n"
+ "with its poison barb.");
+
+const u8 gSteelixPokedexText[] = _(
+ "STEELIX live even further underground\n"
+ "than ONIX. This POKéMON is known to dig\n"
+ "toward the earth’s core, reaching a depth\n"
+ "of over six-tenths of a mile underground.");
+
+const u8 gSnubbullPokedexText[] = _(
+ "By baring its fangs and making a scary\n"
+ "face, it sends smaller POKéMON scurrying\n"
+ "in terror. The SNUBBULL does seem a\n"
+ "little sad at making its foes flee.");
+
+const u8 gGranbullPokedexText[] = _(
+ "It has a particularly well-developed lower\n"
+ "jaw. The huge fangs are heavy, causing\n"
+ "it to tilt its head. Unless it is startled, it\n"
+ "will not try to bite.");
+
+const u8 gQwilfishPokedexText[] = _(
+ "A QWILFISH uses the pressure of water\n"
+ "it swallows to shoot toxic quills all at\n"
+ "once from all over its body. It finds\n"
+ "swimming to be somewhat challenging.");
+
+const u8 gScizorPokedexText[] = _(
+ "A SCIZOR has a body with the hardness of\n"
+ "steel. It is not easily fazed by ordinary\n"
+ "sorts of attacks. It flaps its wings to\n"
+ "regulate its body temperature.");
+
+const u8 gShucklePokedexText[] = _(
+ "A SHUCKLE hides under rocks, keeping its\n"
+ "body concealed inside its shell while\n"
+ "eating stored berries. The berries mix with\n"
+ "its body fluids to become a juice.");
+
+const u8 gHeracrossPokedexText[] = _(
+ "They gather in forests seeking the sweet\n"
+ "sap of trees. It is completely clad in a\n"
+ "steel-hard shell. It is proud of its horn,\n"
+ "which it uses to fling foes.");
+
+const u8 gSneaselPokedexText[] = _(
+ "A SNEASEL scales trees by punching its\n"
+ "hooked claws into the bark. It seeks out\n"
+ "unguarded nests and steals eggs for food\n"
+ "while the parents are away.");
+
+const u8 gTeddiursaPokedexText[] = _(
+ "It licks its palms that are sweetened by\n"
+ "being soaked in honey. A TEDDIURSA makes\n"
+ "its own honey by blending fruits and pollen\n"
+ "collected by BEEDRILL.");
+
+const u8 gUrsaringPokedexText[] = _(
+ "In forests, it is said that there are many\n"
+ "streams and towering trees where an\n"
+ "URSARING gathers food. It walks through\n"
+ "its forest collecting food every day.");
+
+const u8 gSlugmaPokedexText[] = _(
+ "It is a species of POKéMON that lives in\n"
+ "volcanic areas. If its body cools, its skin\n"
+ "hardens and immobilizes it. To avoid that,\n"
+ "it sleeps near magma.");
+
+const u8 gMagcargoPokedexText[] = _(
+ "The shell on its back is made of hardened\n"
+ "magma. Tens of thousands of years spent\n"
+ "living in volcanic craters have turned\n"
+ "MAGCARGO’s bodies into magma.");
+
+const u8 gSwinubPokedexText[] = _(
+ "It roots for food by rubbing its snout\n"
+ "against the ground. Its favorite food is a\n"
+ "mushroom that grows under dried grass.\n"
+ "It occasionally roots out hot springs.");
+
+const u8 gPiloswinePokedexText[] = _(
+ "A PILOSWINE is covered by a thick coat\n"
+ "of long hair for enduring freezing cold.\n"
+ "It uses its tusks to dig up food that has\n"
+ "been buried under ice.");
+
+const u8 gCorsolaPokedexText[] = _(
+ "CORSOLA live in warm southern seas.\n"
+ "If the sea becomes polluted, the beautiful\n"
+ "coral stalks become discolored and crumble\n"
+ "away in tatters.");
+
+const u8 gRemoraidPokedexText[] = _(
+ "A REMORAID uses its abdominal muscles\n"
+ "to forcefully expel swallowed water, then\n"
+ "shoot down flying prey. When evolution\n"
+ "approaches, it travels down rivers.");
+
+const u8 gOctilleryPokedexText[] = _(
+ "It ensnares its foe with its suction-\n"
+ "cupped tentacles before delivering the\n"
+ "finishing blow. If the foe turns out to be\n"
+ "too strong, it spews ink to escape.");
+
+const u8 gDelibirdPokedexText[] = _(
+ "It carries food bundled up in its tail.\n"
+ "There was a famous explorer who\n"
+ "managed to scale Mt. Everest thanks\n"
+ "to a DELIBIRD sharing its food.");
+
+const u8 gMantinePokedexText[] = _(
+ "On sunny days, schools of MANTINE can be\n"
+ "seen elegantly leaping over the waves.\n"
+ "It is not bothered by the REMORAID that\n"
+ "hitches rides.");
+
+const u8 gSkarmoryPokedexText[] = _(
+ "A POKéMON that has a body and wings of\n"
+ "steel. People in the past used feathers\n"
+ "fallen from SKARMORY to make swords and\n"
+ "knives.");
+
+const u8 gHoundourPokedexText[] = _(
+ "HOUNDOUR communicate with each other\n"
+ "using a variety of cries to corner their\n"
+ "prey. This POKéMON’s remarkable teamwork\n"
+ "is simply unparalleled.");
+
+const u8 gHoundoomPokedexText[] = _(
+ "In a HOUNDOOM pack, the one with its horns\n"
+ "raked sharply back serves a leadership\n"
+ "role. They choose their leader by fighting\n"
+ "among themselves.");
+
+const u8 gKingdraPokedexText[] = _(
+ "It sleeps quietly, deep on the seafloor.\n"
+ "When it comes up to the surface, it\n"
+ "creates a huge whirlpool that can swallow\n"
+ "even ships.");
+
+const u8 gPhanpyPokedexText[] = _(
+ "PHANPY’s big ears serve as broad fans.\n"
+ "When it becomes hot, it flaps the ears\n"
+ "busily to cool down. Even the young are\n"
+ "very strong.");
+
+const u8 gDonphanPokedexText[] = _(
+ "A DONPHAN is so strong it can easily haul\n"
+ "a dump truck. Its hide has toughened to a\n"
+ "rock-hard state. An ordinary sort of\n"
+ "attack won’t even leave a scratch.");
+
+const u8 gPorygon2PokedexText[] = _(
+ "It was created by humans using the power\n"
+ "of science. It has been given artificial\n"
+ "intelligence that enables it to learn new\n"
+ "gestures and emotions on its own.");
+
+const u8 gStantlerPokedexText[] = _(
+ "STANTLER’s magnificent antlers were\n"
+ "once traded at high prices as works of art.\n"
+ "As a result, this POKéMON was hunted\n"
+ "close to extinction.");
+
+const u8 gSmearglePokedexText[] = _(
+ "A SMEARGLE marks its territory using a\n"
+ "fluid that leaks out from the tip of its\n"
+ "tail. About 5,000 different marks left by\n"
+ "this POKéMON have been found.");
+
+const u8 gTyroguePokedexText[] = _(
+ "TYROGUE become stressed out if they do\n"
+ "not get to train every day. When raising\n"
+ "this POKéMON, the TRAINER must establish\n"
+ "a regular training schedule.");
+
+const u8 gHitmontopPokedexText[] = _(
+ "Its technique of kicking while spinning is\n"
+ "a remarkable mix of both offense and\n"
+ "defense. HITMONTOP travel faster\n"
+ "spinning than they do walking.");
+
+const u8 gSmoochumPokedexText[] = _(
+ "It actively runs about, but also falls\n"
+ "often. Whenever it falls, it will check its\n"
+ "reflection on a lake’s surface to make\n"
+ "sure its face hasn’t become dirty.");
+
+const u8 gElekidPokedexText[] = _(
+ "If it touches metal and discharges the\n"
+ "electricity it has stored in its body, an\n"
+ "ELEKID begins swinging its arms in circles\n"
+ "to recharge itself.");
+
+const u8 gMagbyPokedexText[] = _(
+ "If a MAGBY is spouting yellow flames from\n"
+ "its mouth, it is in good health. When it is\n"
+ "fatigued, black smoke will be mixed in with\n"
+ "the flames.");
+
+const u8 gMiltankPokedexText[] = _(
+ "It gives over five gallons of milk daily.\n"
+ "Its sweet milk is enjoyed by children and\n"
+ "grown-ups alike. People who can’t drink\n"
+ "milk turn it into yogurt and eat it instead.");
+
+const u8 gBlisseyPokedexText[] = _(
+ "If it senses sadness with its fluffy fur,\n"
+ "a BLISSEY will rush over to the sad person,\n"
+ "however far away, to share an egg of\n"
+ "happiness that brings a smile to any face.");
+
+const u8 gRaikouPokedexText[] = _(
+ "RAIKOU embodies the speed of lightning.\n"
+ "Its roars send shock waves shuddering\n"
+ "through the air and ground as if\n"
+ "lightning bolts were crashing down.");
+
+const u8 gEnteiPokedexText[] = _(
+ "ENTEI embodies the passion of magma.\n"
+ "It is thought to have been born in the\n"
+ "eruption of a volcano. It blasts fire that\n"
+ "consumes all that it touches.");
+
+const u8 gSuicunePokedexText[] = _(
+ "SUICUNE embodies the compassion of\n"
+ "a pure spring of water. It runs across\n"
+ "the land with gliding elegance. It has the\n"
+ "power to purify dirty water.");
+
+const u8 gLarvitarPokedexText[] = _(
+ "A LARVITAR is born deep under the ground.\n"
+ "It must eat its way through the soil above\n"
+ "and reach the surface for it to see its\n"
+ "parents’ faces.");
+
+const u8 gPupitarPokedexText[] = _(
+ "A PUPITAR creates a gas inside its body\n"
+ "that it ejects under compression to propel\n"
+ "itself like a jet. Its body can withstand\n"
+ "a collision with solid steel.");
+
+const u8 gTyranitarPokedexText[] = _(
+ "A TYRANITAR is so overwhelmingly powerful,\n"
+ "it can bring down a whole mountain to make\n"
+ "its nest. It roams in mountains seeking\n"
+ "new opponents to fight.");
+
+const u8 gLugiaPokedexText[] = _(
+ "LUGIA is so powerful even a light\n"
+ "fluttering of its wings can blow apart\n"
+ "houses. As a result, it chooses to live out\n"
+ "of sight deep under the sea.");
+
+const u8 gHoOhPokedexText[] = _(
+ "Its feathers--which glow in seven colors\n"
+ "depending on the angle at which they are\n"
+ "struck by light--are thought to bring joy.\n"
+ "It is said to live at the foot of a rainbow.");
+
+const u8 gCelebiPokedexText[] = _(
+ "This POKéMON came from the future by\n"
+ "crossing over time. It is thought that so\n"
+ "long as CELEBI appears, a bright and\n"
+ "shining future awaits us.");
+
+const u8 gTreeckoPokedexText[] = _(
+ "It makes its nest in a giant tree in the\n"
+ "forest. It ferociously guards against\n"
+ "anything nearing its territory. It is said\n"
+ "to be the protector of the forest’s trees.");
+
+const u8 gGrovylePokedexText[] = _(
+ "Leaves grow out of this POKéMON’s body.\n"
+ "They help obscure a GROVYLE from the eyes\n"
+ "of its enemies while it is in a thickly\n"
+ "overgrown forest.");
+
+const u8 gSceptilePokedexText[] = _(
+ "In the jungle, its power is without equal.\n"
+ "This POKéMON carefully grows trees and\n"
+ "plants. It regulates its body temperature\n"
+ "by basking in sunlight.");
+
+const u8 gTorchicPokedexText[] = _(
+ "If attacked, it strikes back by spitting\n"
+ "balls of fire it forms in its stomach.\n"
+ "A TORCHIC dislikes darkness because it\n"
+ "can’t see its surroundings.");
+
+const u8 gCombuskenPokedexText[] = _(
+ "It lashes out with 10 kicks per second.\n"
+ "Its strong fighting instinct compels it\n"
+ "to keep up its offensive until the\n"
+ "opponent gives up.");
+
+const u8 gBlazikenPokedexText[] = _(
+ "It learns martial arts that use punches\n"
+ "and kicks. Every several years, its old\n"
+ "feathers burn off, and new, supple\n"
+ "feathers grow back in their place.");
+
+const u8 gMudkipPokedexText[] = _(
+ "On land, it can powerfully lift large\n"
+ "boulders by planting its four feet and\n"
+ "heaving. It sleeps by burying itself in soil\n"
+ "at the water’s edge.");
+
+const u8 gMarshtompPokedexText[] = _(
+ "Its toughened hind legs enable it to stand\n"
+ "upright. Because it weakens if its skin\n"
+ "dries out, it replenishes fluids by playing\n"
+ "in mud.");
+
+const u8 gSwampertPokedexText[] = _(
+ "If it senses the approach of a storm and\n"
+ "a tidal wave, it protects its seaside nest\n"
+ "by piling up boulders. It swims as fast as\n"
+ "a jet ski.");
+
+const u8 gPoochyenaPokedexText[] = _(
+ "It savagely threatens foes with bared\n"
+ "fangs. It chases after fleeing targets\n"
+ "tenaciously. It turns tail and runs,\n"
+ "however, if the foe strikes back.");
+
+const u8 gMightyenaPokedexText[] = _(
+ "In the wild, MIGHTYENA live in a pack.\n"
+ "They never defy their leader’s orders.\n"
+ "They defeat foes with perfectly\n"
+ "coordinated teamwork.");
+
+const u8 gZigzagoonPokedexText[] = _(
+ "Rubbing its nose against the ground, it\n"
+ "always wanders about back and forth in\n"
+ "search of something. It is distinguished\n"
+ "by the zigzag footprints it leaves.");
+
+const u8 gLinoonePokedexText[] = _(
+ "It is exceedingly fast if it only has to run\n"
+ "in a straight line. When it spots pond-\n"
+ "dwelling prey underwater, it quickly leaps\n"
+ "in and catches it with its sharp claws.");
+
+const u8 gWurmplePokedexText[] = _(
+ "It sticks to tree branches and eats\n"
+ "leaves. The thread it spits from its mouth,\n"
+ "which becomes gooey when it touches\n"
+ "air, slows the movement of its foes.");
+
+const u8 gSilcoonPokedexText[] = _(
+ "It prepares for evolution using the\n"
+ "energy it stored while it was a WURMPLE.\n"
+ "It keeps watch over the surroundings with\n"
+ "its two eyes.");
+
+const u8 gBeautiflyPokedexText[] = _(
+ "Its colorfully patterned wings are its\n"
+ "most prominent feature. It flies through\n"
+ "flower-covered fields collecting pollen.\n"
+ "It attacks ferociously when angered.");
+
+const u8 gCascoonPokedexText[] = _(
+ "To avoid detection by its enemies, it hides\n"
+ "motionlessly beneath large leaves and in\n"
+ "the gaps of branches. It also attaches\n"
+ "dead leaves to its body for camouflage.");
+
+const u8 gDustoxPokedexText[] = _(
+ "It is a nocturnal POKéMON that flies from\n"
+ "fields and mountains to the attraction of\n"
+ "streetlights at night. It looses highly\n"
+ "toxic powder from its wings.");
+
+const u8 gLotadPokedexText[] = _(
+ "This POKéMON lives in ponds with clean\n"
+ "water. It is known to ferry small POKéMON\n"
+ "across ponds by carrying them on the\n"
+ "broad leaf on its head.");
+
+const u8 gLombrePokedexText[] = _(
+ "In the evening, it takes great delight in\n"
+ "popping out of rivers and startling people.\n"
+ "It feeds on aquatic moss that grows on\n"
+ "rocks in the riverbed.");
+
+const u8 gLudicoloPokedexText[] = _(
+ "When it hears festive music, all the cells\n"
+ "in its body become stimulated, and it\n"
+ "begins moving in rhythm. It does not\n"
+ "quail even when it faces a tough opponent.");
+
+const u8 gSeedotPokedexText[] = _(
+ "It hangs off branches and absorbs\n"
+ "nutrients. When it finishes eating, its\n"
+ "body becomes so heavy that it drops to\n"
+ "the ground with a thump.");
+
+const u8 gNuzleafPokedexText[] = _(
+ "A forest-dwelling POKéMON that is skilled\n"
+ "at climbing trees. Its long and pointed\n"
+ "nose is its weak point. It loses power if\n"
+ "the nose is gripped.");
+
+const u8 gShiftryPokedexText[] = _(
+ "It is said to arrive on chilly, wintry winds.\n"
+ "Feared from long ago as the guardian of\n"
+ "forests, this POKéMON lives in a deep\n"
+ "forest where people do not venture.");
+
+const u8 gTaillowPokedexText[] = _(
+ "Although it is small, it is very courageous.\n"
+ "It will take on a larger SKARMORY on an\n"
+ "equal footing. However, its will weakens if\n"
+ "it becomes hungry.");
+
+const u8 gSwellowPokedexText[] = _(
+ "A SWELLOW dives upon prey from far above.\n"
+ "It never misses its targets. It takes to\n"
+ "the skies in search of lands with a warm\n"
+ "climate.");
+
+const u8 gWingullPokedexText[] = _(
+ "It makes its nest on a sheer cliff at the\n"
+ "edge of the sea. It has trouble keeping\n"
+ "its wings flapping in flight. Instead, it\n"
+ "soars on updrafts.");
+
+const u8 gPelipperPokedexText[] = _(
+ "It skims the tops of waves as it flies.\n"
+ "When it spots prey, it uses its large beak\n"
+ "to scoop up the victim with water.\n"
+ "It protects its eggs in its beak.");
+
+const u8 gRaltsPokedexText[] = _(
+ "A RALTS has the power to sense the\n"
+ "emotions of people and POKéMON with the\n"
+ "horns on its head. It takes cover if it\n"
+ "senses any hostility.");
+
+const u8 gKirliaPokedexText[] = _(
+ "A KIRLIA has the psychic power to create \n"
+ "a rip in the dimensions and see into the\n"
+ "future. It is said to dance with pleasure\n"
+ "on sunny mornings.");
+
+const u8 gGardevoirPokedexText[] = _(
+ "It apparently does not feel the pull of\n"
+ "gravity because it supports itself with\n"
+ "psychic power. It will give its life to\n"
+ "protect its TRAINER.");
+
+const u8 gSurskitPokedexText[] = _(
+ "They gather on puddles after evening\n"
+ "downpours, gliding across the surface\n"
+ "of water as if sliding. It secretes honey\n"
+ "with a sweet aroma from its head.");
+
+const u8 gMasquerainPokedexText[] = _(
+ "It intimidates foes with the large eyelike\n"
+ "patterns on its antennae. Because it can’t\n"
+ "fly if its wings get wet, it shelters itself\n"
+ "from rain under large trees and eaves.");
+
+const u8 gShroomishPokedexText[] = _(
+ "It loves to eat damp, composted soil in\n"
+ "forests. If you enter a forest after a\n"
+ "long rain, you can see many SHROOMISH\n"
+ "feasting on composted soil.");
+
+const u8 gBreloomPokedexText[] = _(
+ "It scatters spores from holes in the cap\n"
+ "on its head. It loves warm and humid\n"
+ "climates. It feeds on trees and plants in\n"
+ "fields and forests.");
+
+const u8 gSlakothPokedexText[] = _(
+ "It sleeps virtually all day and night long.\n"
+ "It doesn’t change its nest its entire life,\n"
+ "but it sometimes travels great distances\n"
+ "by swimming in rivers.");
+
+const u8 gVigorothPokedexText[] = _(
+ "It can’t keep still because its blood boils\n"
+ "with energy. It runs through the fields\n"
+ "and mountains all day to calm itself. If it\n"
+ "doesn’t, it can’t sleep at night.");
+
+const u8 gSlakingPokedexText[] = _(
+ "Hordes of SLAKING gather around trees\n"
+ "when fruits come into season. They wait\n"
+ "around patiently for ripened fruits to fall\n"
+ "out of the trees.");
+
+const u8 gNincadaPokedexText[] = _(
+ "It makes its nest at the roots of a mighty\n"
+ "tree. Using its whiskerlike antennae, it\n"
+ "probes its surroundings in the\n"
+ "pitch-black darkness of soil.");
+
+const u8 gNinjaskPokedexText[] = _(
+ "Because it darts about vigorously at high\n"
+ "speed, it is very difficult to see. Hearing\n"
+ "its distinctive cries for too long induces\n"
+ "a headache.");
+
+const u8 gShedinjaPokedexText[] = _(
+ "A peculiar POKéMON that floats in air even\n"
+ "though its wings remain completely still.\n"
+ "The inside of its body is hollow and\n"
+ "utterly dark.");
+
+const u8 gWhismurPokedexText[] = _(
+ "Its cries equal a jet plane in volume.\n"
+ "It inhales through its ear canals. Because\n"
+ "of this system, it can cry continually\n"
+ "without having to catch its breath.");
+
+const u8 gLoudredPokedexText[] = _(
+ "It positions the round speakers on its\n"
+ "head to assail foes with ultrasonic waves\n"
+ "at massive volume. It builds power by\n"
+ "stomping the ground.");
+
+const u8 gExploudPokedexText[] = _(
+ "It has sound-generating organs all over\n"
+ "its body. It communicates with others by\n"
+ "adjusting the tone and volume of the cries\n"
+ "it emits.");
+
+const u8 gMakuhitaPokedexText[] = _(
+ "It loves to toughen up its body above all\n"
+ "else. If you hear quaking rumbles in a cave,\n"
+ "it is the sound of MAKUHITA undertaking\n"
+ "strenuous training.");
+
+const u8 gHariyamaPokedexText[] = _(
+ "It has the habit of challenging others\n"
+ "without hesitation to tests of strength.\n"
+ "It’s been known to stand on train tracks\n"
+ "and stop trains using forearm thrusts.");
+
+const u8 gAzurillPokedexText[] = _(
+ "Its tail, which is packed with nutrition,\n"
+ "is very bouncy like a rubber ball. On sunny\n"
+ "days they gather at the edge of water and\n"
+ "splash about for fun.");
+
+const u8 gNosepassPokedexText[] = _(
+ "Its body emits a powerful magnetism.\n"
+ "It feeds on prey that is pulled in by the\n"
+ "force. Its magnetism is stronger in cold\n"
+ "seasons.");
+
+const u8 gSkittyPokedexText[] = _(
+ "A SKITTY’s adorably cute behavior makes it\n"
+ "highly popular. In battle, it makes its tail\n"
+ "puff out. It threatens foes with a sharp\n"
+ "growl.");
+
+const u8 gDelcattyPokedexText[] = _(
+ "Rather than keeping a permanent lair,\n"
+ "it habitually seeks comfortable spots and\n"
+ "sleeps there. It is nocturnal and becomes\n"
+ "active at dusk.");
+
+const u8 gSableyePokedexText[] = _(
+ "It digs branching holes in caves using its\n"
+ "sharp claws in search of food--raw gems.\n"
+ "A SABLEYE lurks in darkness and is seen\n"
+ "only rarely.");
+
+const u8 gMawilePokedexText[] = _(
+ "Its giant jaws are actually steel horns\n"
+ "that transformed. It fools foes into\n"
+ "complacency with its adorable gestures,\n"
+ "then chomps them with its huge jaws.");
+
+const u8 gAronPokedexText[] = _(
+ "A POKéMON that is clad in steel armor.\n"
+ "A new suit of armor is made when it evolves.\n"
+ "The old, discarded armor is salvaged as\n"
+ "metal for making iron products.");
+
+const u8 gLaironPokedexText[] = _(
+ "When two LAIRON meet in the wild, they\n"
+ "fight for territory by bashing into each\n"
+ "other with their steel bodies. The sound\n"
+ "of their collision carries for miles.");
+
+const u8 gAggronPokedexText[] = _(
+ "Its iron horns grow longer a little at\n"
+ "a time. They are used to determine the\n"
+ "AGGRON’s age. The gouges in its armor are\n"
+ "worn with pride as mementos from battles.");
+
+const u8 gMedititePokedexText[] = _(
+ "It continually meditates for hours every\n"
+ "day. As a result of rigorous and dedicated\n"
+ "yoga training, it has tempered its\n"
+ "spiritual power so much it can fly.");
+
+const u8 gMedichamPokedexText[] = _(
+ "Through crushingly harsh yoga training, it\n"
+ "gained the power to foretell its foe’s\n"
+ "actions. It battles with elegant, dance-\n"
+ "like movement.");
+
+const u8 gElectrikePokedexText[] = _(
+ "It generates electricity using friction\n"
+ "from the atmosphere. In seasons with\n"
+ "especially arid air, its entire body blazes\n"
+ "with violent showers of sparks.");
+
+const u8 gManectricPokedexText[] = _(
+ "Because lightning falls in their vicinities,\n"
+ "MANECTRIC were thought to have been born\n"
+ "from lightning. In battle, they create\n"
+ "thunderclouds.");
+
+const u8 gPluslePokedexText[] = _(
+ "It has the trait of cheering on its fellow\n"
+ "POKéMON. By shorting out the electricity\n"
+ "it releases from its paws, it creates\n"
+ "pom-poms for cheering.");
+
+const u8 gMinunPokedexText[] = _(
+ "At a meeting of POKéMON academics, it was\n"
+ "announced that simultaneous exposure to\n"
+ "electricity from a PLUSLE and MINUN will\n"
+ "promote circulation and boost vitality.");
+
+const u8 gVolbeatPokedexText[] = _(
+ "With their taillights lit, VOLBEAT fly in\n"
+ "a swarm, drawing geometric designs in the\n"
+ "night sky. They move their nests if their\n"
+ "pond water becomes dirty.");
+
+const u8 gIllumisePokedexText[] = _(
+ "A nocturnal POKéMON that becomes active\n"
+ "upon nightfall. It leads a VOLBEAT swarm\n"
+ "to draw patterns in the night sky. Over 200\n"
+ "different patterns have been confirmed.");
+
+const u8 gRoseliaPokedexText[] = _(
+ "A ROSELIA that drinks nutritionally rich\n"
+ "springwater blooms with lovely flowers.\n"
+ "The fragrance of its flowers has the\n"
+ "effect of making its foes careless.");
+
+const u8 gGulpinPokedexText[] = _(
+ "This POKéMON’s stomach fluid can even\n"
+ "digest scrap iron. In one gulp, it can\n"
+ "swallow something that is as large as\n"
+ "itself.");
+
+const u8 gSwalotPokedexText[] = _(
+ "Its powerful stomach acid is capable of\n"
+ "digesting almost anything. The one thing\n"
+ "in the whole world a SWALOT can’t digest is\n"
+ "its own stomach.");
+
+const u8 gCarvanhaPokedexText[] = _(
+ "CARVANHA attack ships in swarms, making\n"
+ "them sink. Although it is said to be a very\n"
+ "vicious POKéMON, it timidly flees as soon\n"
+ "as it finds itself alone.");
+
+const u8 gSharpedoPokedexText[] = _(
+ "The vicious and sly gangster of the sea.\n"
+ "Its skin is specially textured to minimize\n"
+ "drag in water. Its speed tops out at over\n"
+ "75 miles per hour.");
+
+const u8 gWailmerPokedexText[] = _(
+ "While this POKéMON usually lives in the sea,\n"
+ "it can survive on land, although not too\n"
+ "long. It loses vitality if its body becomes\n"
+ "dried out.");
+
+const u8 gWailordPokedexText[] = _(
+ "It breathes through nostrils that it\n"
+ "raises above the sea. By inhaling to its\n"
+ "maximum capacity, a WAILORD can dive close\n"
+ "to 10,000 feet beneath the waves.");
+
+const u8 gNumelPokedexText[] = _(
+ "A NUMEL stores boiling magma in the hump\n"
+ "on its back. It is a hardy POKéMON that can\n"
+ "transport a 220-pound load. It has served\n"
+ "humans at work since long ago.");
+
+const u8 gCameruptPokedexText[] = _(
+ "A POKéMON that lives in the crater of\n"
+ "a volcano. Every 10 years, the volcanoes\n"
+ "on its back erupt violently. Research is\n"
+ "under way on the cause of eruption.");
+
+const u8 gTorkoalPokedexText[] = _(
+ "It battles using energy it gets from\n"
+ "burning coal. When loosing smoke from its\n"
+ "nostrils, it lets off a sound that is\n"
+ "similar to a locomotive’s horn.");
+
+const u8 gSpoinkPokedexText[] = _(
+ "A POKéMON that manipulates psychic power\n"
+ "at will. It doesn’t stop bouncing even when\n"
+ "it is asleep. It loves eating mushrooms\n"
+ "that grow underground.");
+
+const u8 gGrumpigPokedexText[] = _(
+ "It stores power in the black pearls on its\n"
+ "forehead. When it uses psychic power, it\n"
+ "performs an odd dance step. Its style of\n"
+ "dancing became hugely popular overseas.");
+
+const u8 gSpindaPokedexText[] = _(
+ "It is distinguished by a pattern of\n"
+ "spots that is always different. Its\n"
+ "unsteady, tottering walk has the\n"
+ "effect of fouling its foe’s aim.");
+
+const u8 gTrapinchPokedexText[] = _(
+ "Its big jaws crunch through boulders.\n"
+ "Because its head is so big, it has a hard\n"
+ "time getting back upright if it tips over\n"
+ "onto its back.");
+
+const u8 gVibravaPokedexText[] = _(
+ "It looses ultrasonic waves by rubbing its\n"
+ "wings together. Since a VIBRAVA’s wings\n"
+ "are still in the process of growing, it can\n"
+ "only fly short distances.");
+
+const u8 gFlygonPokedexText[] = _(
+ "The flapping of its wings sounds like\n"
+ "singing. To prevent detection by enemies,\n"
+ "it hides itself by flapping up a cloud of\n"
+ "desert sand.");
+
+const u8 gCacneaPokedexText[] = _(
+ "CACNEA live in deserts with virtually no\n"
+ "rainfall. It battles by swinging its thick,\n"
+ "spiked arms. Once a year, a yellow flower\n"
+ "blooms.");
+
+const u8 gCacturnePokedexText[] = _(
+ "After spending thousands of years in\n"
+ "harsh deserts, its blood transformed into\n"
+ "the same substances as sand. It is\n"
+ "nocturnal, so it hunts at night.");
+
+const u8 gSwabluPokedexText[] = _(
+ "A POKéMON that has wings like cottony\n"
+ "clouds. After enduring winter, in which\n"
+ "little food is available, SWABLU flocks\n"
+ "move closer to towns in the spring.");
+
+const u8 gAltariaPokedexText[] = _(
+ "It hums in a beautiful soprano voice.\n"
+ "It flies among white clouds in the blue\n"
+ "sky. It launches intensely hot fireballs\n"
+ "from its mouth.");
+
+const u8 gZangoosePokedexText[] = _(
+ "When it battles, it stands on its hind legs\n"
+ "and attacks with its sharply clawed\n"
+ "forelegs. Its fur bristles if it encounters\n"
+ "any SEVIPER.");
+
+const u8 gSeviperPokedexText[] = _(
+ "SEVIPER and ZANGOOSE are eternal rivals.\n"
+ "It counters a ZANGOOSE’s dazzling agility\n"
+ "with its swordlike tail, which also oozes\n"
+ "a horrible poison.");
+
+const u8 gLunatonePokedexText[] = _(
+ "It becomes very active on the night of\n"
+ "a full moon. This POKéMON was first\n"
+ "discovered 40 years ago at the site of\n"
+ "a meteor strike.");
+
+const u8 gSolrockPokedexText[] = _(
+ "Solar energy is the source of this \n"
+ "POKéMON’s power. On sunny days, groups of\n"
+ "SOLROCK line up facing the sun and absorb\n"
+ "its light.");
+
+const u8 gBarboachPokedexText[] = _(
+ "Its body is covered with a slimy film.\n"
+ "The film acts as a barrier to prevent germs\n"
+ "in muddy water from entering the\n"
+ "BARBOACH’s body.");
+
+const u8 gWhiscashPokedexText[] = _(
+ "Mysteriously, it can foretell earthquakes.\n"
+ "In the daytime, it sleeps in mud at the\n"
+ "bottom of a pond. When it awakens, it\n"
+ "continually feeds throughout the night.");
+
+const u8 gCorphishPokedexText[] = _(
+ "Once it grips prey with its large pincers,\n"
+ "it will never let go, no matter what.\n"
+ "It is a hardy POKéMON that can thrive\n"
+ "in any environment.");
+
+const u8 gCrawdauntPokedexText[] = _(
+ "A brutish POKéMON that loves to battle.\n"
+ "A veteran CRAWDAUNT that has prevailed in\n"
+ "hundreds of battles has giant pincers\n"
+ "marked with countless scars.");
+
+const u8 gBaltoyPokedexText[] = _(
+ "A BALTOY moves by spinning on its single\n"
+ "foot. It has been depicted in murals \n"
+ "adorning the walls of a once-bustling city\n"
+ "in an ancient age.");
+
+const u8 gClaydolPokedexText[] = _(
+ "A CLAYDOL sleeps while hovering in midair.\n"
+ "Its arms are separate from its body.\n"
+ "They are kept floating by the POKéMON’s\n"
+ "manipulation of psychic power.");
+
+const u8 gLileepPokedexText[] = _(
+ "It disguises itself as seaweed by making\n"
+ "its tentacles sway. Unsuspecting prey\n"
+ "that come too close are swallowed whole.\n"
+ "It became extinct 100 million years ago.");
+
+const u8 gCradilyPokedexText[] = _(
+ "It drags its heavy body along the\n"
+ "seafloor. It makes its nest in the shallows\n"
+ "of warm seas. CRADILY can be seen on\n"
+ "beaches when the tide goes out.");
+
+const u8 gAnorithPokedexText[] = _(
+ "It was resurrected from a fossil using the\n"
+ "power of science. It swims by undulating\n"
+ "the eight wings at its sides. They were\n"
+ "feet that adapted to life in the sea.");
+
+const u8 gArmaldoPokedexText[] = _(
+ "ARMALDO usually lives on land. However,\n"
+ "when it hunts for prey, it dives beneath\n"
+ "the ocean. It swims around using its two\n"
+ "large wings.");
+
+const u8 gFeebasPokedexText[] = _(
+ "FEEBAS live in ponds that are heavily\n"
+ "infested with weeds. Because of its\n"
+ "hopelessly shabby appearance, it\n"
+ "seems as if few TRAINERS raise it.");
+
+const u8 gMiloticPokedexText[] = _(
+ "It is said to live at the bottom of\n"
+ "large lakes. Considered to be the most\n"
+ "beautiful of all POKéMON, it has been\n"
+ "depicted in paintings and statues.");
+
+const u8 gCastformPokedexText[] = _(
+ "It alters its form depending on the\n"
+ "weather. Changes in the climate such as\n"
+ "the temperature and humidity appear to\n"
+ "affect its cellular structure.");
+
+const u8 gKecleonPokedexText[] = _(
+ "A POKéMON that has the ability to alter its\n"
+ "body colors to match its surroundings.\n"
+ "A KECLEON reverts to its original colors if\n"
+ "it is startled.");
+
+const u8 gShuppetPokedexText[] = _(
+ "This POKéMON roams about deep in the\n"
+ "night seeking such negative emotions as\n"
+ "grudges and envy. It retreats to its nest\n"
+ "when the sun begins to rise.");
+
+const u8 gBanettePokedexText[] = _(
+ "An abandoned plush doll became this\n"
+ "POKéMON. They are said to live in garbage\n"
+ "dumps and wander about in search of the\n"
+ "children that threw them away.");
+
+const u8 gDuskullPokedexText[] = _(
+ "A glare from its single scarlet eye makes\n"
+ "even burly grown-ups freeze in utter fear.\n"
+ "It is a nocturnal POKéMON that roams\n"
+ "about under the cloak of darkness.");
+
+const u8 gDusclopsPokedexText[] = _(
+ "It is thought that its body is hollow with\n"
+ "only a spectral ball of fire burning inside.\n"
+ "However, no one has been able to\n"
+ "confirm this theory as fact.");
+
+const u8 gTropiusPokedexText[] = _(
+ "It flies by flapping its broad leaves.\n"
+ "The bunch of fruit that grows around its\n"
+ "neck is deliciously sweet. In the spring,\n"
+ "it scatters pollen from its neck.");
+
+const u8 gChimechoPokedexText[] = _(
+ "They fly about very actively when the hot\n"
+ "season arrives. They communicate among\n"
+ "themselves using seven different and\n"
+ "distinguishing cries.");
+
+const u8 gAbsolPokedexText[] = _(
+ "It sharply senses even subtle changes in\n"
+ "the sky and the land to predict natural\n"
+ "disasters. It is a long-lived POKéMON that\n"
+ "has a life-span of 100 years.");
+
+const u8 gWynautPokedexText[] = _(
+ "A WYNAUT loves to eat sweet fruits.\n"
+ "It cleverly picks fruits using its earlike\n"
+ "arms. They gather in fruit gardens, drawn\n"
+ "by the fragrance.");
+
+const u8 gSnoruntPokedexText[] = _(
+ "They tend to move about in groups of\n"
+ "around five SNORUNT. In snowy regions,\n"
+ "it is said that when they are seen late at\n"
+ "night, snowfall will arrive by morning.");
+
+const u8 gGlaliePokedexText[] = _(
+ "A GLALIE has the power to instantaneously\n"
+ "freeze moisture in the atmosphere.\n"
+ "A dazzling cloud of diamondlike ice\n"
+ "crystals forms around its body.");
+
+const u8 gSphealPokedexText[] = _(
+ "It is completely covered with plushy fur.\n"
+ "As a result, it never feels the cold even\n"
+ "when it is rolling about on ice floes or\n"
+ "diving in the sea.");
+
+const u8 gSealeoPokedexText[] = _(
+ "SEALEO live in herds on ice floes. Using its\n"
+ "powerful flippers, it shatters ice.\n"
+ "It dives into the sea to hunt prey five\n"
+ "times a day.");
+
+const u8 gWalreinPokedexText[] = _(
+ "To protect its herd, the leader battles\n"
+ "anything that invades its territory, even\n"
+ "at the cost of its life. Its tusks may snap\n"
+ "off in battle.");
+
+const u8 gClamperlPokedexText[] = _(
+ "A CLAMPERL slams its shell closed on prey\n"
+ "to prevent escape. The pearl it creates\n"
+ "upon evolution is said to be infused with\n"
+ "a mysterious energy.");
+
+const u8 gHuntailPokedexText[] = _(
+ "To withstand the crushing pressure of\n"
+ "water deep under the sea, its spine is very\n"
+ "thick and sturdy. Its tail, which is shaped\n"
+ "like a small fish, has eyes that light up.");
+
+const u8 gGorebyssPokedexText[] = _(
+ "A GOREBYSS siphons the body fluids of prey\n"
+ "through its thin, tubular mouth. Its light\n"
+ "pink body color turns vivid when it\n"
+ "finishes feeding.");
+
+const u8 gRelicanthPokedexText[] = _(
+ "A POKéMON that was once believed to have\n"
+ "been extinct. The species has not changed\n"
+ "its form for 100 million years. It walks on\n"
+ "the seafloor using its pectoral fins.");
+
+const u8 gLuvdiscPokedexText[] = _(
+ "LUVDISC make the branches of CORSOLA\n"
+ "their nests. There is a custom from long\n"
+ "ago of giving a LUVDISC as a gift to\n"
+ "express one’s feelings of love.");
+
+const u8 gBagonPokedexText[] = _(
+ "Although it is small, this POKéMON is very\n"
+ "powerful because its body is a bundle of\n"
+ "muscles. It launches head-butts with its\n"
+ "ironlike skull.");
+
+const u8 gShelgonPokedexText[] = _(
+ "It hardly eats while it awaits evolution.\n"
+ "It becomes hardier by enduring hunger.\n"
+ "Its shell peels off the instant it begins\n"
+ "to evolve.");
+
+const u8 gSalamencePokedexText[] = _(
+ "After many long years, its cellular\n"
+ "structure underwent a sudden mutation to\n"
+ "grow wings. When angered, it loses all\n"
+ "thought and rampages out of control.");
+
+const u8 gBeldumPokedexText[] = _(
+ "When BELDUM gather in a swarm, they move\n"
+ "in perfect unison as if they were but one\n"
+ "POKéMON. They communicate with each other\n"
+ "using brain waves.");
+
+const u8 gMetangPokedexText[] = _(
+ "The claws tipping its arms pack the\n"
+ "destructive power to tear through thick\n"
+ "iron sheets as if they were silk. It flies\n"
+ "at over 60 miles per hour.");
+
+const u8 gMetagrossPokedexText[] = _(
+ "METAGROSS has four brains that are joined\n"
+ "by a complex neural network. As a result of\n"
+ "integration, this POKéMON is smarter than\n"
+ "a supercomputer.");
+
+const u8 gRegirockPokedexText[] = _(
+ "A POKéMON that is made entirely of rocks\n"
+ "and boulders. If parts of its body chip off\n"
+ "in battle, REGIROCK repairs itself by\n"
+ "adding new rocks.");
+
+const u8 gRegicePokedexText[] = _(
+ "Its entire body is made of Antarctic ice.\n"
+ "After extensive studies, researchers\n"
+ "believe the ice was formed during an\n"
+ "ice age.");
+
+const u8 gRegisteelPokedexText[] = _(
+ "Its body is harder than any other kind of\n"
+ "metal. The body metal is composed of a\n"
+ "mysterious substance. Not only is it hard,\n"
+ "it shrinks and stretches flexibly.");
+
+const u8 gLatiasPokedexText[] = _(
+ "They make a small herd of only several\n"
+ "members. They rarely make contact with\n"
+ "people or other POKéMON. They disappear\n"
+ "if they sense enemies.");
+
+const u8 gLatiosPokedexText[] = _(
+ "Even in hiding, it can detect the locations\n"
+ "of others and sense their emotions since\n"
+ "it has telepathy. Its intelligence allows\n"
+ "it to understand human languages.");
+
+const u8 gKyogrePokedexText[] = _(
+ "KYOGRE has appeared in mythology as the\n"
+ "creator of the sea. After long years of\n"
+ "feuding with GROUDON, it took to sleep at\n"
+ "the bottom of the sea.");
+
+const u8 gGroudonPokedexText[] = _(
+ "GROUDON has appeared in mythology as the\n"
+ "creator of the land. It sleeps in magma\n"
+ "underground and is said to make volcanoes\n"
+ "erupt on awakening.");
+
+const u8 gRayquazaPokedexText[] = _(
+ "A POKéMON that flies endlessly in the\n"
+ "ozone layer. It is said it would descend\n"
+ "to the ground if KYOGRE and GROUDON\n"
+ "were to fight.");
+
+const u8 gJirachiPokedexText[] = _(
+ "JIRACHI is said to make wishes come true.\n"
+ "While it sleeps, a tough crystalline shell\n"
+ "envelops the body to protect it from\n"
+ "enemies.");
+
+const u8 gDeoxysPokedexText[] = _(
+ "A POKéMON that mutated from an\n"
+ "extraterrestrial virus exposed to a laser\n"
+ "beam. Its body is configured for superior\n"
+ "agility and speed.");
diff --git a/src/data/pokemon_graphics/footprint_table.h b/src/data/pokemon_graphics/footprint_table.h
new file mode 100644
index 000000000..779ce3dcd
--- /dev/null
+++ b/src/data/pokemon_graphics/footprint_table.h
@@ -0,0 +1,416 @@
+const u8 *const gMonFootprintTable[] =
+{
+ gMonFootprint_Bulbasaur,
+ gMonFootprint_Bulbasaur,
+ gMonFootprint_Ivysaur,
+ gMonFootprint_Venusaur,
+ gMonFootprint_Charmander,
+ gMonFootprint_Charmeleon,
+ gMonFootprint_Charizard,
+ gMonFootprint_Squirtle,
+ gMonFootprint_Wartortle,
+ gMonFootprint_Blastoise,
+ gMonFootprint_Caterpie,
+ gMonFootprint_Metapod,
+ gMonFootprint_Butterfree,
+ gMonFootprint_Weedle,
+ gMonFootprint_Kakuna,
+ gMonFootprint_Beedrill,
+ gMonFootprint_Pidgey,
+ gMonFootprint_Pidgeotto,
+ gMonFootprint_Pidgeot,
+ gMonFootprint_Rattata,
+ gMonFootprint_Raticate,
+ gMonFootprint_Spearow,
+ gMonFootprint_Fearow,
+ gMonFootprint_Ekans,
+ gMonFootprint_Arbok,
+ gMonFootprint_Pikachu,
+ gMonFootprint_Raichu,
+ gMonFootprint_Sandshrew,
+ gMonFootprint_Sandslash,
+ gMonFootprint_NidoranF,
+ gMonFootprint_Nidorina,
+ gMonFootprint_Nidoqueen,
+ gMonFootprint_NidoranM,
+ gMonFootprint_Nidorino,
+ gMonFootprint_Nidoking,
+ gMonFootprint_Clefairy,
+ gMonFootprint_Clefable,
+ gMonFootprint_Vulpix,
+ gMonFootprint_Ninetales,
+ gMonFootprint_Jigglypuff,
+ gMonFootprint_Wigglytuff,
+ gMonFootprint_Zubat,
+ gMonFootprint_Golbat,
+ gMonFootprint_Oddish,
+ gMonFootprint_Gloom,
+ gMonFootprint_Vileplume,
+ gMonFootprint_Paras,
+ gMonFootprint_Parasect,
+ gMonFootprint_Venonat,
+ gMonFootprint_Venomoth,
+ gMonFootprint_Diglett,
+ gMonFootprint_Dugtrio,
+ gMonFootprint_Meowth,
+ gMonFootprint_Persian,
+ gMonFootprint_Psyduck,
+ gMonFootprint_Golduck,
+ gMonFootprint_Mankey,
+ gMonFootprint_Primeape,
+ gMonFootprint_Growlithe,
+ gMonFootprint_Arcanine,
+ gMonFootprint_Poliwag,
+ gMonFootprint_Poliwhirl,
+ gMonFootprint_Poliwrath,
+ gMonFootprint_Abra,
+ gMonFootprint_Kadabra,
+ gMonFootprint_Alakazam,
+ gMonFootprint_Machop,
+ gMonFootprint_Machoke,
+ gMonFootprint_Machamp,
+ gMonFootprint_Bellsprout,
+ gMonFootprint_Weepinbell,
+ gMonFootprint_Victreebel,
+ gMonFootprint_Tentacool,
+ gMonFootprint_Tentacruel,
+ gMonFootprint_Geodude,
+ gMonFootprint_Graveler,
+ gMonFootprint_Golem,
+ gMonFootprint_Ponyta,
+ gMonFootprint_Rapidash,
+ gMonFootprint_Slowpoke,
+ gMonFootprint_Slowbro,
+ gMonFootprint_Magnemite,
+ gMonFootprint_Magneton,
+ gMonFootprint_Farfetchd,
+ gMonFootprint_Doduo,
+ gMonFootprint_Dodrio,
+ gMonFootprint_Seel,
+ gMonFootprint_Dewgong,
+ gMonFootprint_Grimer,
+ gMonFootprint_Muk,
+ gMonFootprint_Shellder,
+ gMonFootprint_Cloyster,
+ gMonFootprint_Gastly,
+ gMonFootprint_Haunter,
+ gMonFootprint_Gengar,
+ gMonFootprint_Onix,
+ gMonFootprint_Drowzee,
+ gMonFootprint_Hypno,
+ gMonFootprint_Krabby,
+ gMonFootprint_Kingler,
+ gMonFootprint_Voltorb,
+ gMonFootprint_Electrode,
+ gMonFootprint_Exeggcute,
+ gMonFootprint_Exeggutor,
+ gMonFootprint_Cubone,
+ gMonFootprint_Marowak,
+ gMonFootprint_Hitmonlee,
+ gMonFootprint_Hitmonchan,
+ gMonFootprint_Lickitung,
+ gMonFootprint_Koffing,
+ gMonFootprint_Weezing,
+ gMonFootprint_Rhyhorn,
+ gMonFootprint_Rhydon,
+ gMonFootprint_Chansey,
+ gMonFootprint_Tangela,
+ gMonFootprint_Kangaskhan,
+ gMonFootprint_Horsea,
+ gMonFootprint_Seadra,
+ gMonFootprint_Goldeen,
+ gMonFootprint_Seaking,
+ gMonFootprint_Staryu,
+ gMonFootprint_Starmie,
+ gMonFootprint_Mrmime,
+ gMonFootprint_Scyther,
+ gMonFootprint_Jynx,
+ gMonFootprint_Electabuzz,
+ gMonFootprint_Magmar,
+ gMonFootprint_Pinsir,
+ gMonFootprint_Tauros,
+ gMonFootprint_Magikarp,
+ gMonFootprint_Gyarados,
+ gMonFootprint_Lapras,
+ gMonFootprint_Ditto,
+ gMonFootprint_Eevee,
+ gMonFootprint_Vaporeon,
+ gMonFootprint_Jolteon,
+ gMonFootprint_Flareon,
+ gMonFootprint_Porygon,
+ gMonFootprint_Omanyte,
+ gMonFootprint_Omastar,
+ gMonFootprint_Kabuto,
+ gMonFootprint_Kabutops,
+ gMonFootprint_Aerodactyl,
+ gMonFootprint_Snorlax,
+ gMonFootprint_Articuno,
+ gMonFootprint_Zapdos,
+ gMonFootprint_Moltres,
+ gMonFootprint_Dratini,
+ gMonFootprint_Dragonair,
+ gMonFootprint_Dragonite,
+ gMonFootprint_Mewtwo,
+ gMonFootprint_Mew,
+ gMonFootprint_Chikorita,
+ gMonFootprint_Bayleef,
+ gMonFootprint_Meganium,
+ gMonFootprint_Cyndaquil,
+ gMonFootprint_Quilava,
+ gMonFootprint_Typhlosion,
+ gMonFootprint_Totodile,
+ gMonFootprint_Croconaw,
+ gMonFootprint_Feraligatr,
+ gMonFootprint_Sentret,
+ gMonFootprint_Furret,
+ gMonFootprint_Hoothoot,
+ gMonFootprint_Noctowl,
+ gMonFootprint_Ledyba,
+ gMonFootprint_Ledian,
+ gMonFootprint_Spinarak,
+ gMonFootprint_Ariados,
+ gMonFootprint_Crobat,
+ gMonFootprint_Chinchou,
+ gMonFootprint_Lanturn,
+ gMonFootprint_Pichu,
+ gMonFootprint_Cleffa,
+ gMonFootprint_Igglybuff,
+ gMonFootprint_Togepi,
+ gMonFootprint_Togetic,
+ gMonFootprint_Natu,
+ gMonFootprint_Xatu,
+ gMonFootprint_Mareep,
+ gMonFootprint_Flaaffy,
+ gMonFootprint_Ampharos,
+ gMonFootprint_Bellossom,
+ gMonFootprint_Marill,
+ gMonFootprint_Azumarill,
+ gMonFootprint_Sudowoodo,
+ gMonFootprint_Politoed,
+ gMonFootprint_Hoppip,
+ gMonFootprint_Skiploom,
+ gMonFootprint_Jumpluff,
+ gMonFootprint_Aipom,
+ gMonFootprint_Sunkern,
+ gMonFootprint_Sunflora,
+ gMonFootprint_Yanma,
+ gMonFootprint_Wooper,
+ gMonFootprint_Quagsire,
+ gMonFootprint_Espeon,
+ gMonFootprint_Umbreon,
+ gMonFootprint_Murkrow,
+ gMonFootprint_Slowking,
+ gMonFootprint_Misdreavus,
+ gMonFootprint_Unown,
+ gMonFootprint_Wobbuffet,
+ gMonFootprint_Girafarig,
+ gMonFootprint_Pineco,
+ gMonFootprint_Forretress,
+ gMonFootprint_Dunsparce,
+ gMonFootprint_Gligar,
+ gMonFootprint_Steelix,
+ gMonFootprint_Snubbull,
+ gMonFootprint_Granbull,
+ gMonFootprint_Qwilfish,
+ gMonFootprint_Scizor,
+ gMonFootprint_Shuckle,
+ gMonFootprint_Heracross,
+ gMonFootprint_Sneasel,
+ gMonFootprint_Teddiursa,
+ gMonFootprint_Ursaring,
+ gMonFootprint_Slugma,
+ gMonFootprint_Magcargo,
+ gMonFootprint_Swinub,
+ gMonFootprint_Piloswine,
+ gMonFootprint_Corsola,
+ gMonFootprint_Remoraid,
+ gMonFootprint_Octillery,
+ gMonFootprint_Delibird,
+ gMonFootprint_Mantine,
+ gMonFootprint_Skarmory,
+ gMonFootprint_Houndour,
+ gMonFootprint_Houndoom,
+ gMonFootprint_Kingdra,
+ gMonFootprint_Phanpy,
+ gMonFootprint_Donphan,
+ gMonFootprint_Porygon2,
+ gMonFootprint_Stantler,
+ gMonFootprint_Smeargle,
+ gMonFootprint_Tyrogue,
+ gMonFootprint_Hitmontop,
+ gMonFootprint_Smoochum,
+ gMonFootprint_Elekid,
+ gMonFootprint_Magby,
+ gMonFootprint_Miltank,
+ gMonFootprint_Blissey,
+ gMonFootprint_Raikou,
+ gMonFootprint_Entei,
+ gMonFootprint_Suicune,
+ gMonFootprint_Larvitar,
+ gMonFootprint_Pupitar,
+ gMonFootprint_Tyranitar,
+ gMonFootprint_Lugia,
+ gMonFootprint_HoOh,
+ gMonFootprint_Celebi,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_Treecko,
+ gMonFootprint_Grovyle,
+ gMonFootprint_Sceptile,
+ gMonFootprint_Torchic,
+ gMonFootprint_Combusken,
+ gMonFootprint_Blaziken,
+ gMonFootprint_Mudkip,
+ gMonFootprint_Marshtomp,
+ gMonFootprint_Swampert,
+ gMonFootprint_Poochyena,
+ gMonFootprint_Mightyena,
+ gMonFootprint_Zigzagoon,
+ gMonFootprint_Linoone,
+ gMonFootprint_Wurmple,
+ gMonFootprint_Silcoon,
+ gMonFootprint_Beautifly,
+ gMonFootprint_Cascoon,
+ gMonFootprint_Dustox,
+ gMonFootprint_Lotad,
+ gMonFootprint_Lombre,
+ gMonFootprint_Ludicolo,
+ gMonFootprint_Seedot,
+ gMonFootprint_Nuzleaf,
+ gMonFootprint_Shiftry,
+ gMonFootprint_Nincada,
+ gMonFootprint_Ninjask,
+ gMonFootprint_Shedinja,
+ gMonFootprint_Taillow,
+ gMonFootprint_Swellow,
+ gMonFootprint_Shroomish,
+ gMonFootprint_Breloom,
+ gMonFootprint_Spinda,
+ gMonFootprint_Wingull,
+ gMonFootprint_Pelipper,
+ gMonFootprint_Surskit,
+ gMonFootprint_Masquerain,
+ gMonFootprint_Wailmer,
+ gMonFootprint_Wailord,
+ gMonFootprint_Skitty,
+ gMonFootprint_Delcatty,
+ gMonFootprint_Kecleon,
+ gMonFootprint_Baltoy,
+ gMonFootprint_Claydol,
+ gMonFootprint_Nosepass,
+ gMonFootprint_Torkoal,
+ gMonFootprint_Sableye,
+ gMonFootprint_Barboach,
+ gMonFootprint_Whiscash,
+ gMonFootprint_Luvdisc,
+ gMonFootprint_Corphish,
+ gMonFootprint_Crawdaunt,
+ gMonFootprint_Feebas,
+ gMonFootprint_Milotic,
+ gMonFootprint_Carvanha,
+ gMonFootprint_Sharpedo,
+ gMonFootprint_Trapinch,
+ gMonFootprint_Vibrava,
+ gMonFootprint_Flygon,
+ gMonFootprint_Makuhita,
+ gMonFootprint_Hariyama,
+ gMonFootprint_Electrike,
+ gMonFootprint_Manectric,
+ gMonFootprint_Numel,
+ gMonFootprint_Camerupt,
+ gMonFootprint_Spheal,
+ gMonFootprint_Sealeo,
+ gMonFootprint_Walrein,
+ gMonFootprint_Cacnea,
+ gMonFootprint_Cacturne,
+ gMonFootprint_Snorunt,
+ gMonFootprint_Glalie,
+ gMonFootprint_Lunatone,
+ gMonFootprint_Solrock,
+ gMonFootprint_Azurill,
+ gMonFootprint_Spoink,
+ gMonFootprint_Grumpig,
+ gMonFootprint_Plusle,
+ gMonFootprint_Minun,
+ gMonFootprint_Mawile,
+ gMonFootprint_Meditite,
+ gMonFootprint_Medicham,
+ gMonFootprint_Swablu,
+ gMonFootprint_Altaria,
+ gMonFootprint_Wynaut,
+ gMonFootprint_Duskull,
+ gMonFootprint_Dusclops,
+ gMonFootprint_Roselia,
+ gMonFootprint_Slakoth,
+ gMonFootprint_Vigoroth,
+ gMonFootprint_Slaking,
+ gMonFootprint_Gulpin,
+ gMonFootprint_Swalot,
+ gMonFootprint_Tropius,
+ gMonFootprint_Whismur,
+ gMonFootprint_Loudred,
+ gMonFootprint_Exploud,
+ gMonFootprint_Clamperl,
+ gMonFootprint_Huntail,
+ gMonFootprint_Gorebyss,
+ gMonFootprint_Absol,
+ gMonFootprint_Shuppet,
+ gMonFootprint_Banette,
+ gMonFootprint_Seviper,
+ gMonFootprint_Zangoose,
+ gMonFootprint_Relicanth,
+ gMonFootprint_Aron,
+ gMonFootprint_Lairon,
+ gMonFootprint_Aggron,
+ gMonFootprint_Castform,
+ gMonFootprint_Volbeat,
+ gMonFootprint_Illumise,
+ gMonFootprint_Lileep,
+ gMonFootprint_Cradily,
+ gMonFootprint_Anorith,
+ gMonFootprint_Armaldo,
+ gMonFootprint_Ralts,
+ gMonFootprint_Kirlia,
+ gMonFootprint_Gardevoir,
+ gMonFootprint_Bagon,
+ gMonFootprint_Shelgon,
+ gMonFootprint_Salamence,
+ gMonFootprint_Beldum,
+ gMonFootprint_Metang,
+ gMonFootprint_Metagross,
+ gMonFootprint_Regirock,
+ gMonFootprint_Regice,
+ gMonFootprint_Registeel,
+ gMonFootprint_Kyogre,
+ gMonFootprint_Groudon,
+ gMonFootprint_Rayquaza,
+ gMonFootprint_Latias,
+ gMonFootprint_Latios,
+ gMonFootprint_Jirachi,
+ gMonFootprint_Deoxys,
+ gMonFootprint_Chimecho,
+ gMonFootprint_Bulbasaur,
+};
diff --git a/src/pokedex.c b/src/pokedex.c
index 1405393c1..6d8e701f9 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "battle_main.h"
#include "bg.h"
#include "data2.h"
#include "decompress.h"
@@ -87,35 +88,6 @@ struct UnknownStruct4
u8 unk9;
};
-//TO BE CONVERTED TO C
-
-extern const u8 gUnknown_0855D30C[];
-extern struct BgTemplate gUnknown_0856E630[];
-extern struct WindowTemplate gUnknown_0856E640[];
-extern const u16 gUnknown_0856E610[16];
-extern const struct PokedexEntry gPokedexEntries[];
-extern struct BgTemplate gUnknown_0856E668[];
-extern struct WindowTemplate gUnknown_0856E670[];
-extern const u8 *gMonFootprintTable[];
-extern u8 gUnknown_0856ED08[][4];
-extern struct BgTemplate gUnknown_0856EFF8[];
-extern struct WindowTemplate gUnknown_0856F008[];
-extern const u8 gUnknown_0856ED9C[][4];
-extern const u8 gUnknown_0856EDB8[][4];
-extern const u8 gUnknown_0856EDD4[][4];
-extern const u8 gUnknown_0856EDF0[][4];
-extern const struct UnknownStruct1 gUnknown_0856EFC8[];
-extern const struct UnknownStruct3 gUnknown_0856ED30[];
-extern const struct UnknownStruct4 gUnknown_0856ED48[];
-extern const struct UnknownStruct2 gUnknown_0856EE0C[];
-extern const struct UnknownStruct2 gUnknown_0856EE5C[];
-extern const struct UnknownStruct2 gUnknown_0856EEB4[];
-extern const struct UnknownStruct2 gUnknown_0856EF14[];
-extern const struct UnknownStruct2 gUnknown_0856EE24[];
-extern const u8 gUnknown_0856EFAC[];
-extern const u8 gUnknown_0856EFAE[];
-extern const u8 gUnknown_0856EFB4[];
-
#define HOENN_DEX_COUNT 202
#define NATIONAL_DEX_COUNT 386
@@ -654,7 +626,7 @@ static const union AnimCmd *const sSpriteAnimTable_855D190[] =
sSpriteAnim_855D10C
};
-const struct SpriteTemplate gUnknown_0855D194 =
+static const struct SpriteTemplate gUnknown_0855D194 =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -665,7 +637,7 @@ const struct SpriteTemplate gUnknown_0855D194 =
.callback = sub_80BE604,
};
-const struct SpriteTemplate gUnknown_0855D1AC =
+static const struct SpriteTemplate gUnknown_0855D1AC =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -676,7 +648,7 @@ const struct SpriteTemplate gUnknown_0855D1AC =
.callback = sub_80BE658,
};
-const struct SpriteTemplate gUnknown_0855D1C4 =
+static const struct SpriteTemplate gUnknown_0855D1C4 =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -687,7 +659,7 @@ const struct SpriteTemplate gUnknown_0855D1C4 =
.callback = sub_80BE758,
};
-const struct SpriteTemplate gUnknown_0855D1DC =
+static const struct SpriteTemplate gUnknown_0855D1DC =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -698,7 +670,7 @@ const struct SpriteTemplate gUnknown_0855D1DC =
.callback = sub_80BE780,
};
-const struct SpriteTemplate gUnknown_0855D1F4 =
+static const struct SpriteTemplate gUnknown_0855D1F4 =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -709,7 +681,7 @@ const struct SpriteTemplate gUnknown_0855D1F4 =
.callback = sub_80BE44C,
};
-const struct SpriteTemplate gUnknown_0855D20C =
+static const struct SpriteTemplate gUnknown_0855D20C =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -720,7 +692,7 @@ const struct SpriteTemplate gUnknown_0855D20C =
.callback = sub_80BE44C,
};
-const struct SpriteTemplate gUnknown_0855D224 =
+static const struct SpriteTemplate gUnknown_0855D224 =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -731,7 +703,7 @@ const struct SpriteTemplate gUnknown_0855D224 =
.callback = sub_80BE44C,
};
-const struct SpriteTemplate gUnknown_0855D23C =
+static const struct SpriteTemplate gUnknown_0855D23C =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -742,7 +714,7 @@ const struct SpriteTemplate gUnknown_0855D23C =
.callback = sub_80BE44C,
};
-const struct SpriteTemplate gUnknown_0855D254 =
+static const struct SpriteTemplate gUnknown_0855D254 =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -753,22 +725,22 @@ const struct SpriteTemplate gUnknown_0855D254 =
.callback = sub_80BE834,
};
-const struct CompressedSpriteSheet gSpriteSheets_0855D26C[] =
+static const struct CompressedSpriteSheet gSpriteSheets_0855D26C[] =
{
{gPokedexMenu2_Gfx, 0x2000, 4096},
{0}
};
-const struct SpritePalette gSpritePalettes_0855D26C[] =
+static const struct SpritePalette gSpritePalettes_0855D26C[] =
{
{gPokedexText_Pal, 4096},
{0}
};
-const u8 gUnknown_0855D28C[] = {0x4, 0x8, 0x10, 0x20, 0x20};
-const u8 gUnknown_0855D291[] = {0x8, 0x4, 0x2, 0x1, 0x1};
+static const u8 gUnknown_0855D28C[] = {0x4, 0x8, 0x10, 0x20, 0x20};
+static const u8 gUnknown_0855D291[] = {0x8, 0x4, 0x2, 0x1, 0x1};
-const struct BgTemplate gBgTemplates_0855D298[] =
+static const struct BgTemplate gBgTemplates_0855D298[] =
{
{
.bg = 0,
@@ -808,15 +780,448 @@ const struct BgTemplate gBgTemplates_0855D298[] =
}
};
-const struct WindowTemplate sWindowTemplates_0855D2A8[] =
+static const struct WindowTemplate sWindowTemplates_0855D2A8[] =
{
- {2, 0, 0, 0x20, 0x20, 0, 1},
+ {
+ .bg = 2,
+ .tilemapLeft = 0,
+ .tilemapTop = 0,
+ .width = 32,
+ .height = 32,
+ .paletteNum = 0,
+ .baseBlock = 1,
+ },
DUMMY_WIN_TEMPLATE
};
-const u8 gUnknown_0855D2B8[] = _("{NO}000");
-const u8 gUnknown_0855D2BE[] = INCBIN_U8("graphics/pokedex/caught_ball.4bpp");
-const u8 sText_TenDashes[] = _("----------");
+static const u8 gUnknown_0855D2B8[] = _("{NO}000");
+static const u8 gUnknown_0855D2BE[] = INCBIN_U8("graphics/pokedex/caught_ball.4bpp");
+static const u8 sText_TenDashes[] = _("----------");
+
+asm(".align 2");
+static const u8 gUnknown_0855D30C[] = _("");
+
+#include "data/pokemon/pokedex_text.h"
+#include "data/pokemon/pokedex_entries.h"
+
+static const u16 gUnknown_0856E610[] = INCBIN_U16("graphics/pokedex/black.gbapal");
+
+static const struct BgTemplate gUnknown_0856E630[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 12,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 13,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 14,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 15,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ }
+};
+
+static const struct WindowTemplate gUnknown_0856E640[] =
+{
+ {
+ .bg = 2,
+ .tilemapLeft = 0,
+ .tilemapTop = 0,
+ .width = 32,
+ .height = 20,
+ .paletteNum = 0,
+ .baseBlock = 0x0001,
+ },
+ {
+ .bg = 2,
+ .tilemapLeft = 25,
+ .tilemapTop = 8,
+ .width = 2,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x0281,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 0,
+ .tilemapTop = 12,
+ .width = 32,
+ .height = 7,
+ .paletteNum = 8,
+ .baseBlock = 0x0285,
+ },
+ {
+ .bg = 2,
+ .tilemapLeft = 18,
+ .tilemapTop = 3,
+ .width = 10,
+ .height = 8,
+ .paletteNum = 9,
+ .baseBlock = 0x0365,
+ },
+ DUMMY_WIN_TEMPLATE
+};
+
+static const struct BgTemplate gUnknown_0856E668[] =
+{
+ {
+ .bg = 2,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 14,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 15,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ },
+};
+
+static const struct WindowTemplate gUnknown_0856E670[] =
+{
+ {
+ .bg = 2,
+ .tilemapLeft = 0,
+ .tilemapTop = 0,
+ .width = 32,
+ .height = 20,
+ .paletteNum = 0,
+ .baseBlock = 0x0001,
+ },
+ {
+ .bg = 2,
+ .tilemapLeft = 25,
+ .tilemapTop = 8,
+ .width = 2,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x0281,
+ },
+ DUMMY_WIN_TEMPLATE
+};
+
+static const u8 sText_TenDashes2[] = _("----------");
+
+#include "data/pokemon_graphics/footprint_table.h"
+
+static const u8 gUnknown_0856ED08[][4] =
+{
+ {0x00, 0x00, 0x00, 0x00},
+ {0xbb, 0x03, 0xd5, 0x03},
+ {0xbe, 0x03, 0xd8, 0x03},
+ {0xc1, 0x03, 0xdb, 0x03},
+ {0xc4, 0x03, 0xde, 0x03},
+ {0xc7, 0x03, 0xe1, 0x03},
+ {0xca, 0x03, 0xe4, 0x03},
+ {0xcd, 0x03, 0xe7, 0x03},
+ {0xd0, 0x03, 0xea, 0x03},
+ {0xd3, 0x02, 0xed, 0x02},
+};
+
+static const struct UnknownStruct3 gUnknown_0856ED30[] =
+{
+ {
+ .text = gUnknown_085E87A5,
+ .unk4 = 0,
+ .unk5 = 0,
+ .unk6 = 5,
+ },
+ {
+ .text = gUnknown_085E87D6,
+ .unk4 = 6,
+ .unk5 = 0,
+ .unk6 = 5,
+ },
+ {
+ .text = gUnknown_085E87EF,
+ .unk4 = 12,
+ .unk5 = 0,
+ .unk6 = 5,
+ },
+};
+
+static const struct UnknownStruct4 gUnknown_0856ED48[] =
+{
+ {
+ .text = gUnknown_085E8840,
+ .unk4 = 0,
+ .unk5 = 2,
+ .unk6 = 5,
+ .unk7 = 5,
+ .unk8 = 2,
+ .unk9 = 12,
+ },
+ {
+ .text = gUnknown_085E887C,
+ .unk4 = 0,
+ .unk5 = 4,
+ .unk6 = 5,
+ .unk7 = 5,
+ .unk8 = 4,
+ .unk9 = 12,
+ },
+ {
+ .text = gUnknown_085E88A6,
+ .unk4 = 0,
+ .unk5 = 6,
+ .unk6 = 5,
+ .unk7 = 5,
+ .unk8 = 6,
+ .unk9 = 6,
+ },
+ {
+ .text = gUnknown_085E88A6,
+ .unk4 = 0,
+ .unk5 = 6,
+ .unk6 = 5,
+ .unk7 = 11,
+ .unk8 = 6,
+ .unk9 = 6,
+ },
+ {
+ .text = gUnknown_085E881F,
+ .unk4 = 0,
+ .unk5 = 8,
+ .unk6 = 5,
+ .unk7 = 5,
+ .unk8 = 8,
+ .unk9 = 12,
+ },
+ {
+ .text = gUnknown_085E8806,
+ .unk4 = 0,
+ .unk5 = 10,
+ .unk6 = 5,
+ .unk7 = 5,
+ .unk8 = 10,
+ .unk9 = 12,
+ },
+ {
+ .text = gUnknown_085E88C8,
+ .unk4 = 0,
+ .unk5 = 12,
+ .unk6 = 5,
+ .unk7 = 0,
+ .unk8 = 0,
+ .unk9 = 0,
+ },
+};
+
+static const u8 gUnknown_0856ED9C[][4] =
+{
+ {0xFF, 0xFF, 0xFF, 1},
+ {0xFF, 0xFF, 0, 2},
+ {0xFF, 3, 1, 4},
+ { 2, 0xFF, 1, 4},
+ {0xFF, 0xFF, 2, 5},
+ {0xFF, 0xFF, 4, 6},
+ {0xFF, 0xFF, 5, 0xFF},
+};
+
+static const u8 gUnknown_0856EDB8[][4] =
+{
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 0xFF, 5},
+ {0xFF, 0xFF, 4, 6},
+ {0xFF, 0xFF, 5, 0xFF},
+};
+
+static const u8 gUnknown_0856EDD4[][4] =
+{
+ {0xFF, 0xFF, 0xFF, 1},
+ {0xFF, 0xFF, 0, 2},
+ {0xFF, 3, 1, 4},
+ { 2, 0xFF, 1, 4},
+ {0xFF, 0xFF, 2, 6},
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 4, 0xFF},
+};
+
+static const u8 gUnknown_0856EDF0[][4] =
+{
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 0xFF, 6},
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 4, 0xFF},
+};
+
+static const struct UnknownStruct2 gUnknown_0856EE0C[] =
+{
+ {gUnknown_085E89A4, gUnknown_085E88DF},
+ {gUnknown_085E89BB, gUnknown_085E88E9},
+ {NULL, NULL},
+};
+
+static const struct UnknownStruct2 gUnknown_0856EE24[] =
+{
+ {gUnknown_085E89D4, gUnknown_085E88F6},
+ {gUnknown_085E8A02, gUnknown_085E8905},
+ {gUnknown_085E8A37, gUnknown_085E8911},
+ {gUnknown_085E8A73, gUnknown_085E891F},
+ {gUnknown_085E8AAF, gUnknown_085E892D},
+ {gUnknown_085E8AEA, gUnknown_085E893A},
+ {NULL, NULL},
+};
+
+static const struct UnknownStruct2 gUnknown_0856EE5C[] =
+{
+ {gUnknown_085E8B25, gUnknown_085E8B26},
+ {gUnknown_085E8B25, gUnknown_085E8948},
+ {gUnknown_085E8B25, gUnknown_085E894C},
+ {gUnknown_085E8B25, gUnknown_085E8950},
+ {gUnknown_085E8B25, gUnknown_085E8954},
+ {gUnknown_085E8B25, gUnknown_085E8958},
+ {gUnknown_085E8B25, gUnknown_085E895C},
+ {gUnknown_085E8B25, gUnknown_085E8960},
+ {gUnknown_085E8B25, gUnknown_085E8964},
+ {gUnknown_085E8B25, gUnknown_085E8968},
+ {NULL, NULL},
+};
+
+static const struct UnknownStruct2 gUnknown_0856EEB4[] =
+{
+ {gUnknown_085E8B25, gUnknown_085E8B26},
+ {gUnknown_085E8B25, gUnknown_085E896B},
+ {gUnknown_085E8B25, gUnknown_085E896F},
+ {gUnknown_085E8B25, gUnknown_085E8974},
+ {gUnknown_085E8B25, gUnknown_085E897B},
+ {gUnknown_085E8B25, gUnknown_085E8981},
+ {gUnknown_085E8B25, gUnknown_085E8987},
+ {gUnknown_085E8B25, gUnknown_085E898D},
+ {gUnknown_085E8B25, gUnknown_085E8994},
+ {gUnknown_085E8B25, gUnknown_085E8999},
+ {gUnknown_085E8B25, gUnknown_085E899F},
+ {NULL, NULL},
+};
+
+static const struct UnknownStruct2 gUnknown_0856EF14[] =
+{
+ {gUnknown_085E8B25, gUnknown_085E8B35},
+ {gUnknown_085E8B25, gTypeNames[TYPE_NORMAL]},
+ {gUnknown_085E8B25, gTypeNames[TYPE_FIGHTING]},
+ {gUnknown_085E8B25, gTypeNames[TYPE_FLYING]},
+ {gUnknown_085E8B25, gTypeNames[TYPE_POISON]},
+ {gUnknown_085E8B25, gTypeNames[TYPE_GROUND]},
+ {gUnknown_085E8B25, gTypeNames[TYPE_ROCK]},
+ {gUnknown_085E8B25, gTypeNames[TYPE_BUG]},
+ {gUnknown_085E8B25, gTypeNames[TYPE_GHOST]},
+ {gUnknown_085E8B25, gTypeNames[TYPE_STEEL]},
+ {gUnknown_085E8B25, gTypeNames[TYPE_FIRE]},
+ {gUnknown_085E8B25, gTypeNames[TYPE_WATER]},
+ {gUnknown_085E8B25, gTypeNames[TYPE_GRASS]},
+ {gUnknown_085E8B25, gTypeNames[TYPE_ELECTRIC]},
+ {gUnknown_085E8B25, gTypeNames[TYPE_PSYCHIC]},
+ {gUnknown_085E8B25, gTypeNames[TYPE_ICE]},
+ {gUnknown_085E8B25, gTypeNames[TYPE_DRAGON]},
+ {gUnknown_085E8B25, gTypeNames[TYPE_DARK]},
+ {NULL, NULL},
+};
+
+static const u8 gUnknown_0856EFAC[] = {0x00, 0x01};
+static const u8 gUnknown_0856EFAE[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05};
+static const u8 gUnknown_0856EFB4[] = {0xFF, 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17};
+
+static const struct UnknownStruct1 gUnknown_0856EFC8[] =
+{
+ {gUnknown_0856EE5C, 6, 7, 10},
+ {gUnknown_0856EEB4, 8, 9, 11},
+ {gUnknown_0856EF14, 10,11, 18},
+ {gUnknown_0856EF14, 12, 13, 18},
+ {gUnknown_0856EE24, 4, 5, 6},
+ {gUnknown_0856EE0C, 2, 3, 2},
+};
+
+static const struct BgTemplate gUnknown_0856EFF8[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 2,
+ .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
+ }
+};
+
+static const struct WindowTemplate gUnknown_0856F008[] =
+{
+ {
+ .bg = 2,
+ .tilemapLeft = 0,
+ .tilemapTop = 0,
+ .width = 32,
+ .height = 20,
+ .paletteNum = 0,
+ .baseBlock = 0x0001,
+ },
+ DUMMY_WIN_TEMPLATE
+};
// .text