summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data-de/text/gift_ribbon_descriptions.inc207
-rw-r--r--data-de/text/ribbon_descriptions.inc84
-rw-r--r--data-de/text/trainer_eye_descriptions.inc417
-rw-r--r--data/pokenav.s1146
-rw-r--r--data/text/gift_ribbon_descriptions.inc207
-rw-r--r--data/text/ribbon_descriptions.inc84
-rw-r--r--data/text/trainer_eye_descriptions.inc417
-rw-r--r--ld_script.txt1
-rw-r--r--src/data/region_map/city_map_entries.h19
-rw-r--r--src/data/region_map/city_map_tilemaps.h22
-rw-r--r--src/data/text/gift_ribbon_descriptions_de.h208
-rw-r--r--src/data/text/gift_ribbon_descriptions_en.h208
-rw-r--r--src/data/text/ribbon_descriptions_de.h67
-rw-r--r--src/data/text/ribbon_descriptions_en.h85
-rw-r--r--src/data/text/trainer_eye_descriptions_de.h486
-rw-r--r--src/data/text/trainer_eye_descriptions_en.h486
-rw-r--r--src/pokenav_before.c1011
17 files changed, 2592 insertions, 2563 deletions
diff --git a/data-de/text/gift_ribbon_descriptions.inc b/data-de/text/gift_ribbon_descriptions.inc
deleted file mode 100644
index 8cd5416e8..000000000
--- a/data-de/text/gift_ribbon_descriptions.inc
+++ /dev/null
@@ -1,207 +0,0 @@
-gGiftRibbonDescriptionPart1_2003RegionalTourney:
- .string "REGIONALTURNIER 2003$"
-
-gGiftRibbonDescriptionPart2_Champion:
- .string "BAND des CHAMPS$"
-
-gGiftRibbonDescriptionPart1_2003NationalTourney:
- .string "NATIONALTURNIER 2003$"
-
-gGiftRibbonDescriptionPart1_2003GlobalCup:
- .string "WELTPOKAL 2003$"
-
-gGiftRibbonDescriptionPart2_RunnerUp:
- .string "BAND für Platzierungen$"
-
-gGiftRibbonDescriptionPart2_Semifinalist:
- .string "BAND für Halbfinalisten$"
-
-gGiftRibbonDescriptionPart1_2004RegionalTourney:
- .string "REGIONALTURNIER 2004$"
-
-gGiftRibbonDescriptionPart1_2004NationalTourney:
- .string "NATIONALTURNIER 2004$"
-
-gGiftRibbonDescriptionPart1_2004GlobalCup:
- .string "WELTPOKAL 2004$"
-
-gGiftRibbonDescriptionPart1_2005RegionalTourney:
- .string "REGIONALTURNIER 2005$"
-
-gGiftRibbonDescriptionPart1_2005NationalTourney:
- .string "NATIONALTURNIER 2005$"
-
-gGiftRibbonDescriptionPart1_2005GlobalCup:
- .string "WELTPOKAL 2005$"
-
-gGiftRibbonDescriptionPart1_PokemonBattleCup:
- .string "POKéMON-KAMPF-POKAL$"
-
-gGiftRibbonDescriptionPart2_Participation:
- .string "Teilnehmer-BAND$"
-
-gGiftRibbonDescriptionPart1_PokemonLeague:
- .string "POKéMON LIGA$"
-
-gGiftRibbonDescriptionPart1_AdvanceCup:
- .string "TALENTPOKAL$"
-
-gGiftRibbonDescriptionPart1_PokemonTournament:
- .string "POKéMON-Turnier$"
-
-gGiftRibbonDescriptionPart2_Participation2:
- .string "Teilnehmer-BAND$"
-
-gGiftRibbonDescriptionPart1_PokemonEvent:
- .string "POKéMON-Wettkampf$"
-
-gGiftRibbonDescriptionPart1_PokemonFestival:
- .string "POKéMON-Festival$"
-
-gGiftRibbonDescriptionPart1_DifficultyClearing:
- .string "Schw.-Grad-Abschl.$"
-
-gGiftRibbonDescriptionPart2_Commemorative:
- .string "Gedenk-BAND$"
-
-gGiftRibbonDescriptionPart1_ClearingAllDifficulties:
- .string "BAND für erf. Abschluss$"
-
-gGiftRibbonDescriptionPart2_ClearingAllDifficulties:
- .string "aller Schwierigk.-Grade.$"
-
-gGiftRibbonDescriptionPart1_100StraightWin:
- .string "100. Sieg in Folge$"
-
-gGiftRibbonDescriptionPart1_DarknessTower:
- .string "APOKELIPSE-TURM fertig$"
-
-gGiftRibbonDescriptionPart1_RedTower:
- .string "ROTER TURM fertig$"
-
-gGiftRibbonDescriptionPart1_BlackironTower:
- .string "EISERNER TURM fertig$"
-
-gGiftRibbonDescriptionPart1_FinalTower:
- .string "FINAL-TURM-Abschluss$"
-
-gGiftRibbonDescriptionPart1_LegendMaking:
- .string "Legendäres$"
-
-gGiftRibbonDescriptionPart1_PokemonCenterTokyo:
- .string "POKéMON-CENTER TOKIO$"
-
-gGiftRibbonDescriptionPart1_PokemonCenterOsaka:
- .string "POKéMON-CENTER OSAKA$"
-
-gGiftRibbonDescriptionPart1_PokemonCenterNagoya:
- .string "POKéMON-CENTER NAGOYA$"
-
-gGiftRibbonDescriptionPart1_PokemonCenterNY:
- .string "POKéMON-CENTER N. Y.$"
-
-gGiftRibbonDescriptionPart1_SummerHolidays:
- .string "Sommerferien-BAND$"
-
-gGiftRibbonDescriptionPart2_EmptyString:
- .string "$"
-
-gGiftRibbonDescriptionPart1_WinterHolidays:
- .string "Weihnachtsferien-BAND$"
-
-gGiftRibbonDescriptionPart1_SpringHolidays:
- .string "Osterferien-BAND$"
-
-gGiftRibbonDescriptionPart1_Evergreen:
- .string "Evergreen-BAND$"
-
-gGiftRibbonDescriptionPart1_SpecialHoliday:
- .string "Sonderurlaubs-BAND$"
-
-gGiftRibbonDescriptionPart1_HardWorker:
- .string "Fleiß-BAND$"
-
-gGiftRibbonDescriptionPart1_LotsOfFriends:
- .string "Beliebtheits-BAND$"
-
-gGiftRibbonDescriptionPart1_FullOfEnergy:
- .string "Energie-BAND$"
-
-gGiftRibbonDescriptionPart1_LovedPokemon:
- .string "Ein Gedenk-BAND für ein$"
-
-gGiftRibbonDescriptionPart2_LovedPokemon:
- .string "beliebtes POKéMON.$"
-
-gGiftRibbonDescriptionPart1_LoveForPokemon:
- .string "Ein BAND für POKéMON-$"
-
-gGiftRibbonDescriptionPart2_LoveForPokemon:
- .string "Freunde.$"
-
- .align 2
-gGiftRibbonDescriptions:: @ 83E158C
- .4byte gGiftRibbonDescriptionPart1_2003RegionalTourney, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2003NationalTourney, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2003GlobalCup, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2003RegionalTourney, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2003NationalTourney, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2003GlobalCup, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2003RegionalTourney, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_2003NationalTourney, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_2003GlobalCup, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_2004RegionalTourney, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2004NationalTourney, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2004GlobalCup, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2004RegionalTourney, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2004NationalTourney, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2004GlobalCup, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2004RegionalTourney, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_2004NationalTourney, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_2004GlobalCup, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_2005RegionalTourney, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2005NationalTourney, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2005GlobalCup, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2005RegionalTourney, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2005NationalTourney, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2005GlobalCup, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2005RegionalTourney, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_2005NationalTourney, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_2005GlobalCup, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_PokemonBattleCup, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_PokemonBattleCup, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_PokemonBattleCup, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_PokemonBattleCup, gGiftRibbonDescriptionPart2_Participation
- .4byte gGiftRibbonDescriptionPart1_PokemonLeague, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_PokemonLeague, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_PokemonLeague, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_PokemonLeague, gGiftRibbonDescriptionPart2_Participation
- .4byte gGiftRibbonDescriptionPart1_AdvanceCup, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_AdvanceCup, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_AdvanceCup, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_AdvanceCup, gGiftRibbonDescriptionPart2_Participation
- .4byte gGiftRibbonDescriptionPart1_PokemonTournament, gGiftRibbonDescriptionPart2_Participation2
- .4byte gGiftRibbonDescriptionPart1_PokemonEvent, gGiftRibbonDescriptionPart2_Participation2
- .4byte gGiftRibbonDescriptionPart1_PokemonFestival, gGiftRibbonDescriptionPart2_Participation2
- .4byte gGiftRibbonDescriptionPart1_DifficultyClearing, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_ClearingAllDifficulties, gGiftRibbonDescriptionPart2_ClearingAllDifficulties
- .4byte gGiftRibbonDescriptionPart1_100StraightWin, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_DarknessTower, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_RedTower, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_BlackironTower, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_FinalTower, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_LegendMaking, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_PokemonCenterTokyo, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_PokemonCenterOsaka, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_PokemonCenterNagoya, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_PokemonCenterNY, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_SummerHolidays, gGiftRibbonDescriptionPart2_EmptyString
- .4byte gGiftRibbonDescriptionPart1_WinterHolidays, gGiftRibbonDescriptionPart2_EmptyString
- .4byte gGiftRibbonDescriptionPart1_SpringHolidays, gGiftRibbonDescriptionPart2_EmptyString
- .4byte gGiftRibbonDescriptionPart1_Evergreen, gGiftRibbonDescriptionPart2_EmptyString
- .4byte gGiftRibbonDescriptionPart1_SpecialHoliday, gGiftRibbonDescriptionPart2_EmptyString
- .4byte gGiftRibbonDescriptionPart1_HardWorker, gGiftRibbonDescriptionPart2_EmptyString
- .4byte gGiftRibbonDescriptionPart1_LotsOfFriends, gGiftRibbonDescriptionPart2_EmptyString
- .4byte gGiftRibbonDescriptionPart1_FullOfEnergy, gGiftRibbonDescriptionPart2_EmptyString
- .4byte gGiftRibbonDescriptionPart1_LovedPokemon, gGiftRibbonDescriptionPart2_LovedPokemon
- .4byte gGiftRibbonDescriptionPart1_LoveForPokemon, gGiftRibbonDescriptionPart2_LoveForPokemon
diff --git a/data-de/text/ribbon_descriptions.inc b/data-de/text/ribbon_descriptions.inc
deleted file mode 100644
index 0450d8db5..000000000
--- a/data-de/text/ribbon_descriptions.inc
+++ /dev/null
@@ -1,84 +0,0 @@
-gRibbonDescriptionPart1_Champion:
- .string "BAND für unschlagbare$"
-
-gRibbonDescriptionPart2_Champion:
- .string "RUHMESHALLE-Mitglieder$"
-
-gRibbonDescriptionPart1_CoolContest:
- .string "COOLNESS-WETTBEWERB$"
-
-gRibbonDescriptionPart1_BeautyContest:
- .string "SCHÖNHEITSWETTBEWERB$"
-
-gRibbonDescriptionPart1_CuteContest:
- .string "ANMUT-WETTBEWERB$"
-
-gRibbonDescriptionPart1_SmartContest:
- .string "KLUGHEITSWETTBEWERB$"
-
-gRibbonDescriptionPart1_ToughContest:
- .string "STÄRKE-WETTBEWERB$"
-
-gRibbonDescriptionPart2_NormalRank:
- .string "Sieger in Normal-Klasse!$"
-
-gRibbonDescriptionPart2_SuperRank:
- .string "Sieger in Super-Klasse!$"
-
-gRibbonDescriptionPart2_HyperRank:
- .string "Sieger in Hyper-Klasse!$"
-
-gRibbonDescriptionPart2_MasterRank:
- .string "Sieger in Master-Klasse!$"
-
-gRibbonDescriptionPart1_Winning:
- .string "BAND für Lv. 50-Erfolg$"
-
-gRibbonDescriptionPart2_Winning:
- .string "im DUELLTURM.$"
-
-gRibbonDescriptionPart1_Victory:
- .string "Für Erfolg in Lv. 100$"
-
-gRibbonDescriptionPart2_Victory:
- .string "im DUELLTURM.$"
-
-gRibbonDescriptionPart1_Artist:
- .string "Band für auserwählte$"
-
-gRibbonDescriptionPart2_Artist:
- .string "Porträt-Modelle.$"
-
-gRibbonDescriptionPart1_Effort:
- .string "BAND für$"
-
-gRibbonDescriptionPart2_Effort:
- .string "fleißige Arbeiter.$"
-
- .align 2
-gRibbonDescriptions:: @ 83E113C
- .4byte gRibbonDescriptionPart1_Champion, gRibbonDescriptionPart2_Champion
- .4byte gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_NormalRank
- .4byte gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_SuperRank
- .4byte gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_HyperRank
- .4byte gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_MasterRank
- .4byte gRibbonDescriptionPart1_BeautyContest, gRibbonDescriptionPart2_NormalRank
- .4byte gRibbonDescriptionPart1_BeautyContest, gRibbonDescriptionPart2_SuperRank
- .4byte gRibbonDescriptionPart1_BeautyContest, gRibbonDescriptionPart2_HyperRank
- .4byte gRibbonDescriptionPart1_BeautyContest, gRibbonDescriptionPart2_MasterRank
- .4byte gRibbonDescriptionPart1_CuteContest, gRibbonDescriptionPart2_NormalRank
- .4byte gRibbonDescriptionPart1_CuteContest, gRibbonDescriptionPart2_SuperRank
- .4byte gRibbonDescriptionPart1_CuteContest, gRibbonDescriptionPart2_HyperRank
- .4byte gRibbonDescriptionPart1_CuteContest, gRibbonDescriptionPart2_MasterRank
- .4byte gRibbonDescriptionPart1_SmartContest, gRibbonDescriptionPart2_NormalRank
- .4byte gRibbonDescriptionPart1_SmartContest, gRibbonDescriptionPart2_SuperRank
- .4byte gRibbonDescriptionPart1_SmartContest, gRibbonDescriptionPart2_HyperRank
- .4byte gRibbonDescriptionPart1_SmartContest, gRibbonDescriptionPart2_MasterRank
- .4byte gRibbonDescriptionPart1_ToughContest, gRibbonDescriptionPart2_NormalRank
- .4byte gRibbonDescriptionPart1_ToughContest, gRibbonDescriptionPart2_SuperRank
- .4byte gRibbonDescriptionPart1_ToughContest, gRibbonDescriptionPart2_HyperRank
- .4byte gRibbonDescriptionPart1_ToughContest, gRibbonDescriptionPart2_MasterRank
- .4byte gRibbonDescriptionPart1_Winning, gRibbonDescriptionPart2_Winning
- .4byte gRibbonDescriptionPart1_Victory, gRibbonDescriptionPart2_Victory
- .4byte gRibbonDescriptionPart1_Artist, gRibbonDescriptionPart2_Artist
- .4byte gRibbonDescriptionPart1_Effort, gRibbonDescriptionPart2_Effort
diff --git a/data-de/text/trainer_eye_descriptions.inc b/data-de/text/trainer_eye_descriptions.inc
deleted file mode 100644
index 96d81f62d..000000000
--- a/data-de/text/trainer_eye_descriptions.inc
+++ /dev/null
@@ -1,417 +0,0 @@
-TrainerEyeDescription_0:
- .string "Emotionen beruhigen.$"
- .string "Duftende PFLANZEN-PKMN.$"
- .string "Beruhigende Aromen reini-$"
- .string "gen Körper und Geist.$"
-TrainerEyeDescription_1:
- .string "Durch Stärke überzeugen!$"
- .string "Felsige GESTEINS-PKMN.$"
- .string "Während des Studiums der$"
- .string "Antike sehe ich die Welt.$"
-TrainerEyeDescription_2:
- .string "Ich strenge mich stets an!$"
- .string "PKMN, die gut schwimmen.$"
- .string "Ich würde gerne ohne den$"
- .string "Reifen schwimmen können.$"
-TrainerEyeDescription_3:
- .string "Ich versuche einfach alles.$"
- .string "WASSER-PKMN sind Kumpel.$"
- .string "Ich kann schwimmen! Ich$"
- .string "mag halt den Schwimmreifen!$"
-TrainerEyeDescription_4:
- .string "Wir teilen die Arbeit auf.$"
- .string "Wir lieben freundliche PKMN.$"
- .string "Wir teilen die Liebe zu den$"
- .string "PKMN. Wir sind Geschwister!$"
-TrainerEyeDescription_5:
- .string "Schwächen erkennen.$"
- .string "Gleichgewicht ist wichtig.$"
- .string "Mein Ziel ist es, der$"
- .string "PKMN-CHAMP zu werden.$"
-TrainerEyeDescription_6:
- .string "Den Gegner umwerfen.$"
- .string "Der PKMN-Typ ist unwichtig.$"
- .string "Ich bin der beste Schüler$"
- .string "der PKMN TRAINERSCHULE.$"
-TrainerEyeDescription_7:
- .string "Langsames Niederringen.$"
- .string "Nachts Furcht einflößend.$"
- .string "Ich sehe Dinge, die den$"
- .string "anderen verborgen sind...$"
-TrainerEyeDescription_8:
- .string "Alles, was zum Sieg führt.$"
- .string "Hinreißende Wesen!$"
- .string "Ich habe zu Hause einen$"
- .string "Pool für meine PKMN.$"
-TrainerEyeDescription_9:
- .string "Ich bringe dich vom Weg ab.$"
- .string "Niedlich, natürlich!$"
- .string "Ich liebe die SAFARI-ZONE,$"
- .string "dort werde ich bleiben.$"
-TrainerEyeDescription_10:
- .string "Wer braucht Strategie?!?$"
- .string "Alle, die gut und teuer sind.$"
- .string "Ich bin reich. Und daher$"
- .string "besitze ich ein PKMN-Bett.$"
-TrainerEyeDescription_11:
- .string "Durch Stärke gewinnen!$"
- .string "Habe sie nachts gefangen...$"
- .string "Große, kräftige und zähe$"
- .string "POKéMON sind die besten...$"
-TrainerEyeDescription_12:
- .string "Volle Pulle zuschlagen!$"
- .string "Funky WASSER-PKMN!$"
- .string "Wenn ich nicht schwimme,$"
- .string "stemme ich Gewichte!$"
-TrainerEyeDescription_13:
- .string "Immer gewinnen!$"
- .string "KAMPF-PKMN!$"
- .string "Ohne zu prahlen: Ich kann$"
- .string "10 Ziegel zerschmettern!$"
-TrainerEyeDescription_14:
- .string "Ich elektrisiere dich!$"
- .string "Es sind ELEKTRO-PKMN.$"
- .string "Ich bringe die Menschen mit$"
- .string "meinen Liedern zum Weinen.$"
-TrainerEyeDescription_15:
- .string "Alles niederbrennen!$"
- .string "Feuergefährliche POKéMON!$"
- .string "Neben einem Lagerfeuer$"
- .string "sollte stets Wasser stehen!$"
-TrainerEyeDescription_16:
- .string "Man muss hartnäckig sein.$"
- .string "Jede Art von POKéMON.$"
- .string "PKMN, die in der Wildnis auf-$"
- .string "wachsen, werden stark!$"
-TrainerEyeDescription_17:
- .string "Unsere Liebe schlägt alles.$"
- .string "Wir haben sie seit Jahren.$"
- .string "In 50 Jahren Ehe waren$"
- .string "wir den PKMN immer treu.$"
-TrainerEyeDescription_18:
- .string "Wellenförmiger Angriff!$"
- .string "KÄFER-PKMN sind cool!$"
- .string "Ich gehe jeden Tag in den$"
- .string "Wald, KÄFER-PKMN fangen.$"
-TrainerEyeDescription_19:
- .string "Schwächen und verwirren!$"
- .string "Solche mit irren Kräften.$"
- .string "Ich kann deine Gedanken$"
- .string "klar und deutlich lesen.$"
-TrainerEyeDescription_20:
- .string "Mit vollem Einsatz kämpfen.$"
- .string "Geheimnisvolle POKéMON.$"
- .string "Wenn ich spreche,$"
- .string "setze ich Telepathie ein.$"
-TrainerEyeDescription_21:
- .string "Ruhig, gesammelt vorgehen.$"
- .string "Ganz verschiedene PKMN.$"
- .string "Wir genießen die tägliche$"
- .string "Tasse Tee.$"
-TrainerEyeDescription_22:
- .string "Ich kämpfe mit Köpfchen.$"
- .string "Ich liebe jedes PKMN.$"
- .string "Schreibe ich gute Noten,$"
- .string "gibt Papi mir Geld.$"
-TrainerEyeDescription_23:
- .string "Mein Wissen ist Macht!$"
- .string "Jedes clevere PKMN.$"
- .string "Ich will später ein großer$"
- .string "PKMN-Forscher werden.$"
-TrainerEyeDescription_24:
- .string "Wir sprechen uns ab.$"
- .string "PKMN, die wir beide mögen.$"
- .string "Wir sind Senior und Junior$"
- .string "im Studium der PKMN.$"
-TrainerEyeDescription_25:
- .string "Los geht's, meine Lieben!$"
- .string "Ich mag sie alle!$"
- .string "Auch beim Einkaufen lasse$"
- .string "ich keinen Kampf aus!$"
-TrainerEyeDescription_26:
- .string "Ich kämpfe mit dem Herzen.$"
- .string "PKMN, die Liebe erfahren!$"
- .string "PKMN und Menschen müssen$"
- .string "Vertrauen aufbauen!$"
-TrainerEyeDescription_27:
- .string "Ich durchschaue Gegner!$"
- .string "Die Basis des Kampfes.$"
- .string "Ich bin noch nicht bereit,$"
- .string "Jüngeren Platz zu machen.$"
-TrainerEyeDescription_28:
- .string "Angriff als Verteidigung!$"
- .string "KAMPF-PKMN!$"
- .string "Ich bin alt und habe daher$"
- .string "meinen eigenen Stil.$"
-TrainerEyeDescription_29:
- .string "Ich tue, was ich kann.$"
- .string "Verschiedene Arten.$"
- .string "Ich will irgendwann einen$"
- .string "ARENALEITER besiegen!$"
-TrainerEyeDescription_30:
- .string "Geduld und Spucke.$"
- .string "WASSER-PKMN!$"
- .string "Niemand vor mir hat je$"
- .string "etwas Größeres gefangen!$"
-TrainerEyeDescription_31:
- .string "Verteidigung ist die Basis.$"
- .string "Kraftvolle PKMN!$"
- .string "Dies war als Diät gedacht,$"
- .string "jetzt ist es mein Hobby.$"
-TrainerEyeDescription_32:
- .string "Weiter, immer weiter!$"
- .string "Die Stärke von STAHL...$"
- .string "Wenn du schwitzt, musst du$"
- .string "regelmäßig etwas trinken!$"
-TrainerEyeDescription_33:
- .string "Die Umgebung erforschen.$"
- .string "WASSER-PKMN!$"
- .string "Ich lasse mich nicht von$"
- .string "Strandhäschen besiegen.$"
-TrainerEyeDescription_34:
- .string "Stets Offensive zeigen!$"
- .string "Nur WASSER-PKMN...$"
- .string "Ich muss jeden Tag$"
- .string "10 Kilometer schwimmen.$"
-TrainerEyeDescription_35:
- .string "Geschwindigkeit ist alles!$"
- .string "Ich liebe schnelle PKMN.$"
- .string "Beim Marathon forderst du$"
- .string "dich selbst heraus.$"
-TrainerEyeDescription_36:
- .string "Schneller als andere sein.$"
- .string "Ein rasend schnelles PKMN!$"
- .string "Rennt man rasend schnell,$"
- .string "wird man eins mit dem Wind.$"
-TrainerEyeDescription_37:
- .string "Die Stärke der PKMN nutzen.$"
- .string "Sieh die Macht der DRACHEN!$"
- .string "Eines Tages werde ich zur$"
- .string "Legende!!!$"
-TrainerEyeDescription_38:
- .string "Ich zeige dir die Technik!$"
- .string "Elegant kreisende VÖGEL.$"
- .string "Meine VOGEL-PKMN bringen$"
- .string "dem Mädchen meine Liebe!$"
-TrainerEyeDescription_39:
- .string "Du wirst Gift schmecken!$"
- .string "Giftige PKMN.$"
- .string "Ich trainiere hart, um ein$"
- .string "Ninja zu werden.$"
-TrainerEyeDescription_40:
- .string "Der Erstschlag siegt!$"
- .string "Schnelle KAMPF-PKMN.$"
- .string "Wenn mein PKMN verliert,$"
- .string "kämpfe ich doch weiter.$"
-TrainerEyeDescription_41:
- .string "Los, los, meine PKMN!$"
- .string "Ich mag alle PKMN.$"
- .string "UV-Strahlen sind die Feinde$"
- .string "der Haut. Creme dich ein!$"
-TrainerEyeDescription_42:
- .string "Keine Gnade!$"
- .string "Niedliche WASSER-PKMN.$"
- .string "Ich habe zu viele Fans, ich$"
- .string "war nämlich im Fernsehen.$"
-TrainerEyeDescription_43:
- .string "Ich probiere dies und das.$"
- .string "Ich liebe alle PKMN.$"
- .string "Was liegt hinter diesem$"
- .string "hohen Berg dort?$"
-TrainerEyeDescription_44:
- .string "Wir kämpfen zusammen!$"
- .string "Wir trainieren zusammen!$"
- .string "Wir lieben die gleichen PKMN$"
- .string "und verschiedene Desserts.$"
-TrainerEyeDescription_45:
- .string "Ich setze Stärke ein.$"
- .string "WASSER- und KAMPF-PKMN.$"
- .string "Matrosen sind raue Typen!$"
- .string "Irgendwelche Einwände?$"
-TrainerEyeDescription_46:
- .string "PKMN vor Schaden bewahren.$"
- .string "Ich liebe seltene PKMN.$"
- .string "Ich möchte seltene PKMN$"
- .string "aus aller Welt sammeln.$"
-TrainerEyeDescription_47:
- .string "Meine Stärke...$"
- .string "PKMN sind meine Kinder.$"
- .string "Man benötigt Wissen und$"
- .string "Liebe im Umgang mit PKMN.$"
-TrainerEyeDescription_48:
- .string "Angriff aus vollen Rohren!$"
- .string "Jedes PKMN kommt in Frage.$"
- .string "Ich gebe ihnen {POKEBLOCK}, um$"
- .string "in WETTBEWERBEN zu siegen.$"
-TrainerEyeDescription_49:
- .string "Ich glaube an meine PKMN.$"
- .string "Ich liebe starke PKMN.$"
- .string "Ich bilde meine PKMN zu$"
- .string "einem Rettungsteam aus.$"
-TrainerEyeDescription_50:
- .string "Ich greife in Etappen an.$"
- .string "Verschiedene Arten.$"
- .string "Umweltverschmutzern darf$"
- .string "man niemals vergeben!$"
-TrainerEyeDescription_51:
- .string "Ich zeige meinen Mut.$"
- .string "Ich liebe niedliche PKMN!$"
- .string "Nach einem Kampf gehe ich$"
- .string "mit meinen PKMN schwimmen.$"
-TrainerEyeDescription_52:
- .string "Blitzschnelle Attacken.$"
- .string "KÄFER-PKMN sind das Beste!$"
- .string "Um KÄFER-PKMN zu fangen,$"
- .string "musst du früh aufstehen.$"
-TrainerEyeDescription_53:
- .string "Ich kämpfe mit Stärke.$"
- .string "PKMN mit hartem Körper.$"
- .string "Ich habe diese Wanderung$"
- .string "einen Monat vorbereitet.$"
-TrainerEyeDescription_54:
- .string "Liebevolle Strategie!$"
- .string "Liebevolle PKMN!$"
- .string "Wir sind liebevoll!$"
- .string "Immer liebevoll!$"
-TrainerEyeDescription_55:
- .string "Wir lassen alles raus.$"
- .string "Das 1. PKMN, das ich fing.$"
- .string "Die PKMN und ich sind$"
- .string "zusammen gewachsen.$"
-TrainerEyeDescription_56:
- .string "Steinharte Attacken.$"
- .string "Steinharte PKMN...$"
- .string "Ich möchte durch Kämpfe$"
- .string "alles über PKMN lernen.$"
-TrainerEyeDescription_57:
- .string "Direkte physische Attacke.$"
- .string "Ich baue auf KAMPF-PKMN.$"
- .string "Die Welt erwartet mich, als$"
- .string "neuen, starken Kämpfer.$"
-TrainerEyeDescription_58:
- .string "Elektrisieren... Britzel...$"
- .string "Elektrizität bestimmt alles.$"
- .string "Hahahahaha! Lachen hält$"
- .string "gesund und jung!$"
-TrainerEyeDescription_59:
- .string "Aggressiv kämpfen.$"
- .string "Brennen vor Leidenschaft!$"
- .string "Spül die tägliche Müdigkeit$"
- .string "in den Heißen Quellen ab.$"
-TrainerEyeDescription_60:
- .string "Mein Stil ist flexibel.$"
- .string "Gleichmäßig gewachsen.$"
- .string "PKMN sind mein Leben. Mein$"
- .string "Weg des Lebens ist steinig.$"
-TrainerEyeDescription_61:
- .string "Ich nutze die Initiative.$"
- .string "Anmutige Himmelstänzer.$"
- .string "Ich sehe das Auf und Ab$"
- .string "der Winde.$"
-TrainerEyeDescription_62:
- .string "Wir kämpfen zusammen.$"
- .string "Immer freundliche PKMN.$"
- .string "Wir verstehen uns.$"
- .string "Und wir verstehen andere.$"
-TrainerEyeDescription_63:
- .string "Würde und Respekt.$"
- .string "Ich liebe anmutige PKMN.$"
- .string "Wasserillusionen unter-$"
- .string "streichen meinen Stil.$"
-TrainerEyeDescription_64:
- .string "Offensive vor Defensive.$"
- .string "Das Schöne des UNLICHTS.$"
- .string "Du kannst sagen, was du$"
- .string "willst, Macht ist alles!$"
-TrainerEyeDescription_65:
- .string "Verwirrend verwirren.$"
- .string "Keine besondere Vorliebe.$"
- .string "Wie es wohl meiner Oma am$"
- .string "PYROBERG geht?$"
-TrainerEyeDescription_66:
- .string "Ich setze Items ein.$"
- .string "Flammendes Inferno in Eis.$"
- .string "Der EIS-Typ entwickelt$"
- .string "sich gut an warmen Orten.$"
-TrainerEyeDescription_67:
- .string "Starke Fähigkeiten nutzen.$"
- .string "Die rohe Kraft der DRACHEN.$"
- .string "Beim täglichen Kampf lerne$"
- .string "ich alles über PKMN.$"
-TrainerEyeDescription_68:
- .string "Die gegn. Schwäche nutzen.$"
- .string "Das ultimative STAHL-PKMN.$"
- .string "Wenn es drauf ankommt,$"
- .string "bin ich am stärksten!$"
-
- .align 2
-gTrainerEyeDescriptions:: @ 83E309C
- .4byte TrainerEyeDescription_0
- .4byte TrainerEyeDescription_1
- .4byte TrainerEyeDescription_2
- .4byte TrainerEyeDescription_3
- .4byte TrainerEyeDescription_4
- .4byte TrainerEyeDescription_5
- .4byte TrainerEyeDescription_6
- .4byte TrainerEyeDescription_7
- .4byte TrainerEyeDescription_8
- .4byte TrainerEyeDescription_9
- .4byte TrainerEyeDescription_10
- .4byte TrainerEyeDescription_11
- .4byte TrainerEyeDescription_12
- .4byte TrainerEyeDescription_13
- .4byte TrainerEyeDescription_14
- .4byte TrainerEyeDescription_15
- .4byte TrainerEyeDescription_16
- .4byte TrainerEyeDescription_17
- .4byte TrainerEyeDescription_18
- .4byte TrainerEyeDescription_19
- .4byte TrainerEyeDescription_20
- .4byte TrainerEyeDescription_21
- .4byte TrainerEyeDescription_22
- .4byte TrainerEyeDescription_23
- .4byte TrainerEyeDescription_24
- .4byte TrainerEyeDescription_25
- .4byte TrainerEyeDescription_26
- .4byte TrainerEyeDescription_27
- .4byte TrainerEyeDescription_28
- .4byte TrainerEyeDescription_29
- .4byte TrainerEyeDescription_30
- .4byte TrainerEyeDescription_31
- .4byte TrainerEyeDescription_32
- .4byte TrainerEyeDescription_33
- .4byte TrainerEyeDescription_34
- .4byte TrainerEyeDescription_35
- .4byte TrainerEyeDescription_36
- .4byte TrainerEyeDescription_37
- .4byte TrainerEyeDescription_38
- .4byte TrainerEyeDescription_39
- .4byte TrainerEyeDescription_40
- .4byte TrainerEyeDescription_41
- .4byte TrainerEyeDescription_42
- .4byte TrainerEyeDescription_43
- .4byte TrainerEyeDescription_44
- .4byte TrainerEyeDescription_45
- .4byte TrainerEyeDescription_46
- .4byte TrainerEyeDescription_47
- .4byte TrainerEyeDescription_48
- .4byte TrainerEyeDescription_49
- .4byte TrainerEyeDescription_50
- .4byte TrainerEyeDescription_51
- .4byte TrainerEyeDescription_52
- .4byte TrainerEyeDescription_53
- .4byte TrainerEyeDescription_54
- .4byte TrainerEyeDescription_55
- .4byte TrainerEyeDescription_56
- .4byte TrainerEyeDescription_57
- .4byte TrainerEyeDescription_58
- .4byte TrainerEyeDescription_59
- .4byte TrainerEyeDescription_60
- .4byte TrainerEyeDescription_61
- .4byte TrainerEyeDescription_62
- .4byte TrainerEyeDescription_63
- .4byte TrainerEyeDescription_64
- .4byte TrainerEyeDescription_65
- .4byte TrainerEyeDescription_66
- .4byte TrainerEyeDescription_67
- .4byte TrainerEyeDescription_68
diff --git a/data/pokenav.s b/data/pokenav.s
deleted file mode 100644
index 15c5ee534..000000000
--- a/data/pokenav.s
+++ /dev/null
@@ -1,1146 +0,0 @@
- .include "include/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gUnknown_083DFEC8:: @ 83DFEC8
- .4byte gTileBuffer
-
- .align 1
-gUnknown_083DFECC:: @ 83DFECC
- .incbin "graphics/pokenav/83DFECC.gbapal"
-
- .align 1
-gUnknown_083DFEEC:: @ 83DFEEC
- .incbin "graphics/pokenav/83DFEEC.4bpp"
-
- .align 2
-gUnknown_083DFF8C:: @ 83DFF8C
- .incbin "graphics/pokenav/83DFF8C.bin.lz"
-
- .align 1
-gUnknown_083E003C:: @ 83E003C
- .incbin "graphics/pokenav/83E003C.gbapal"
-
- .align 1
-gUnknown_083E005C:: @ 83E005C
- .incbin "graphics/pokenav/83E005C.4bpp"
-
- .align 2
-gUnknown_083E007C:: @ 83E007C
- .incbin "graphics/pokenav/83E007C.bin.lz"
-
- .align 1
-gUnknown_083E0124:: @ 83E0124
- .incbin "graphics/pokenav/83E0124_pal.bin"
-
- .align 1
-gUnknown_083E0144:: @ 83E0144
- .incbin "graphics/pokenav/83E0144_pal.bin"
-
- .align 1
- .incbin "graphics/pokenav/83E0164.bin"
-
- .align 1
-gUnknown_083E01AC:: @ 83E01AC
- .incbin "graphics/pokenav/83E01AC.bin"
-
- .align 1
-gUnknown_083E01F4:: @ 83E01F4
- .incbin "graphics/pokenav/83E01F4.bin"
-
- .align 1
-gUnknown_083E0254:: @ 83E0254
- .incbin "graphics/pokenav/83E0254.gbapal"
-
- .align 1
-gUnknown_083E0274:: @ 83E0274
- .incbin "graphics/pokenav/83E0274.gbapal"
-
- .align 2
-gPokenavConditionSearch2_Pal:: @ 83E0294
- .incbin "graphics/pokenav/condition_search2.gbapal"
-
- .align 1
-gUnknown_083E02B4:: @ 83E02B4
- .incbin "graphics/pokenav/83E02B4.gbapal"
-
- .align 1
- .incbin "graphics/pokenav/83E02D4.bin"
-
- .align 1
-gUnknown_083E0314:: @ 83E0314
- .incbin "graphics/pokenav/83E0314.gbapal"
-
- .align 1
-gUnknown_083E0334:: @ 83E0334
- .incbin "graphics/pokenav/trainereyes_misc_pal.bin" @ the original bytes have an "FF FF" instance which is incompatible with gbagfx to produce the bytes needed to match the original ROM, so I am forced to include it as a .bin until the lowest bit is properly handled or a better workaround is produced
-
- .align 2
-gUnknown_083E0354:: @ 83E0354
- .incbin "graphics/pokenav/trainereyes_misc.4bpp.lz"
-
- .align 1
-gUnknown_083E039C:: @ 83E039C
- .2byte 0x4280, 0x4282
-
- .align 1
-gUnknown_083E03A0:: @ 83E03A0
- .2byte 0x4000, 0x4000, 0x4281, 0x4283
-
- .align 1
-gUnknown_083E03A8:: @ 83E03A8
- .incbin "graphics/pokenav/83E03A8.gbapal"
-
- .align 1
- .incbin "graphics/pokenav/83E03C8.bin"
-
-gUnknown_083E040C:: @ 83E040C
- .incbin "graphics/misc/ribbons_half.4bpp.lz"
-
- .align 2
-gPokenavOutlinePalette:: @ 83E05D4
- .incbin "graphics/pokenav/outline.gbapal"
-
- .align 2
-gPokenavOutlineTiles:: @ 83E05F4
- .incbin "graphics/pokenav/outline.4bpp.lz"
-
- .align 2
-gPokenavOutlineTilemap:: @ 83E0804
- .incbin "graphics/pokenav/outline_map.bin.lz"
-
- .align 2
-gPokenavCityMap_Lavaridge_0:: @ 83E096C
- .incbin "graphics/pokenav/city_maps/lavaridge_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Fallarbor_0:: @ 83E09B0
- .incbin "graphics/pokenav/city_maps/fallarbor_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Fortree_0:: @ 83E09F8
- .incbin "graphics/pokenav/city_maps/fortree_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Slateport_0:: @ 83E0A48
- .incbin "graphics/pokenav/city_maps/slateport_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Slateport_1:: @ 83E0AA8
- .incbin "graphics/pokenav/city_maps/slateport_1.bin.lz"
-
- .align 2
-gPokenavCityMap_Rustboro_0:: @ 83E0AF4
- .incbin "graphics/pokenav/city_maps/rustboro_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Rustboro_1:: @ 83E0B48
- .incbin "graphics/pokenav/city_maps/rustboro_1.bin.lz"
-
- .align 2
-gPokenavCityMap_Pacifidlog_0:: @ 83E0B9C
- .incbin "graphics/pokenav/city_maps/pacifidlog_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Mauville_1:: @ 83E0BDC
- .incbin "graphics/pokenav/city_maps/mauville_1.bin.lz"
-
- .align 2
-gPokenavCityMap_Mauville_0:: @ 83E0C34
- .incbin "graphics/pokenav/city_maps/mauville_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Oldale_0:: @ 83E0C88
- .incbin "graphics/pokenav/city_maps/oldale_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Lilycove_1:: @ 83E0CB8
- .incbin "graphics/pokenav/city_maps/lilycove_1.bin.lz"
-
- .align 2
-gPokenavCityMap_Lilycove_0:: @ 83E0D04
- .incbin "graphics/pokenav/city_maps/lilycove_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Littleroot_0:: @ 83E0D5C
- .incbin "graphics/pokenav/city_maps/littleroot_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Dewford_0:: @ 83E0D8C
- .incbin "graphics/pokenav/city_maps/dewford_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Sootopolis_0:: @ 83E0DC4
- .incbin "graphics/pokenav/city_maps/sootopolis_0.bin.lz"
-
- .align 2
-gPokenavCityMap_EverGrande_0:: @ 83E0E04
- .incbin "graphics/pokenav/city_maps/ever_grande_0.bin.lz"
-
- .align 2
-gPokenavCityMap_EverGrande_1:: @ 83E0E4C
- .incbin "graphics/pokenav/city_maps/ever_grande_1.bin.lz"
-
- .align 2
-gPokenavCityMap_Verdanturf_0:: @ 83E0E90
- .incbin "graphics/pokenav/city_maps/verdanturf_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Mossdeep_1:: @ 83E0EC8
- .incbin "graphics/pokenav/city_maps/mossdeep_1.bin.lz"
-
- .align 2
-gPokenavCityMap_Mossdeep_0:: @ 83E0F10
- .incbin "graphics/pokenav/city_maps/mossdeep_0.bin.lz"
-
- .align 2
-gPokenavCityMap_Petalburg_0:: @ 83E0F6C
- .incbin "graphics/pokenav/city_maps/petalburg_0.bin.lz"
-
-@ 83E0FC8
- .include "data/text/ribbon_descriptions.inc"
-
-@ 83E1204
- .include "data/text/gift_ribbon_descriptions.inc"
-
-@ 83E178C
- .include "data/text/trainer_eye_descriptions.inc"
-
- .align 2
-gUnknown_083E31B0:: @ 83E31B0
- .4byte PCText_CheckMap
- .4byte PCText_CheckPoke
- .4byte PCText_CheckTrainer
- .4byte PCText_CheckRibbons
- .4byte PCText_PutAwayNav
- .4byte PCText_NoRibbonWin
- .4byte PCText_NoTrainers
-
- .align 2
-gUnknown_083E31CC:: @ 83E31CC
- .4byte PCText_CheckParty
- .4byte PCText_CheckPokeAll
- .4byte PCText_ReturnToNav
-
- .align 2
-gUnknown_083E31D8:: @ 83E31D8
- .4byte PCText_FindCool
- .4byte PCText_FindBeauty
- .4byte PCText_FindCute
- .4byte PCText_FindSmart
- .4byte PCText_FindTough
- .4byte PCText_ReturnToCondition
-
- .align 2
-gPokenavCityMaps:: @ 83E31F0
- .4byte gPokenavCityMap_Littleroot_0, NULL
- .4byte gPokenavCityMap_Oldale_0, NULL
- .4byte gPokenavCityMap_Dewford_0, NULL
- .4byte gPokenavCityMap_Lavaridge_0, NULL
- .4byte gPokenavCityMap_Fallarbor_0, NULL
- .4byte gPokenavCityMap_Verdanturf_0, NULL
- .4byte gPokenavCityMap_Pacifidlog_0, NULL
- .4byte gPokenavCityMap_Petalburg_0, NULL
- .4byte gPokenavCityMap_Slateport_0, gPokenavCityMap_Slateport_1
- .4byte gPokenavCityMap_Mauville_0, gPokenavCityMap_Mauville_1
- .4byte gPokenavCityMap_Rustboro_0, gPokenavCityMap_Rustboro_1
- .4byte gPokenavCityMap_Fortree_0, NULL
- .4byte gPokenavCityMap_Lilycove_0, gPokenavCityMap_Lilycove_1
- .4byte gPokenavCityMap_Mossdeep_0, gPokenavCityMap_Mossdeep_1
- .4byte gPokenavCityMap_Sootopolis_0, NULL
- .4byte gPokenavCityMap_EverGrande_0, gPokenavCityMap_EverGrande_1
-
- .align 2
-gUnknown_083E3270:: @ 83E3270
- .4byte sub_80F0A24
- .4byte sub_80F0A24
- .4byte sub_80F0A74
-
- .align 2
-gPokenavIconPalette::
- .incbin "graphics/pokenav/icon.gbapal"
-
- .align 2
-gUnknown_083E329C:: @ 83E329C
- .incbin "graphics/pokenav/icon.4bpp.lz"
-
- .align 2
-gPokenavPokeballTiles::
- .incbin "graphics/pokenav/pokeball.4bpp"
-
- .align 2
-gUnknown_083E3780: @ 83E3780
- .incbin "graphics/pokenav/83E3780.4bpp"
-
- .align 2
-gPokenavSparkle_Pal::
- .incbin "graphics/pokenav/sparkle.gbapal"
-
- .align 2
-gPokenavSparkle_Gfx::
- .incbin "graphics/pokenav/sparkle.4bpp"
-
- .align 2
-gPokenavUpDownArrows_Gfx::
- .incbin "graphics/pokenav/arrows.4bpp"
-
- .align 2
-gUnknown_083E3BC0:: @ 83E3BC0
- .incbin "graphics/pokenav/83E3BC0.bin"
-
- .align 2
-gTiles_083E3BE0::
- .incbin "graphics/unknown/unknown_3E3BE0.4bpp"
-
- .align 2
-gUnknown_083E3C60:: @ 83E3C60
- .incbin "graphics/misc/ribbons_cool.gbapal"
- .incbin "graphics/misc/ribbons_beauty.gbapal"
- .incbin "graphics/misc/ribbons_cute.gbapal"
- .incbin "graphics/misc/ribbons_smart.gbapal"
- .incbin "graphics/misc/ribbons_tough.gbapal"
-
- .align 2
-gUnknown_083E3D00:: @ 83E3D00
- .incbin "graphics/misc/ribbons_full.4bpp.lz"
-
- .align 2
-PokenavBlueLightPalette:
- .incbin "graphics/pokenav/blue_light.gbapal"
-
- .align 2
-PokenavBlueLightTiles:
- .incbin "graphics/pokenav/blue_light.4bpp"
-
- .align 2
-Palette_3E42D8: @ 83E42D8
- .incbin "graphics/pokenav/83E42D8.gbapal"
-
- .align 1
-gUnknown_083E42F8:: @ 83E42F8
- .2byte 0x408
- .2byte 0x408
- .2byte 0x507
- .2byte 0x507
- .2byte 0x606
- .2byte 0x606
- .2byte 0x805
- .2byte 0x805
- .2byte 0xA04
- .2byte 0xA04
- .2byte 0xC03
- .2byte 0xC03
- .2byte 0xE02
- .2byte 0xE02
- .2byte 0x1000
- .2byte 0x1000
-
- .align 2
-gOamData_83E4318:: @ 83E4318
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83E4320:: @ 83E4320
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4328:: @ 83E4328
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4330:: @ 83E4330
- obj_image_anim_frame 16, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4338:: @ 83E4338
- obj_image_anim_frame 24, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4340:: @ 83E4340
- obj_image_anim_frame 32, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4348:: @ 83E4348
- obj_image_anim_frame 40, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4350:: @ 83E4350
- obj_image_anim_frame 48, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4358:: @ 83E4358
- obj_image_anim_frame 56, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4360:: @ 83E4360
- obj_image_anim_frame 64, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4368:: @ 83E4368
- obj_image_anim_frame 72, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4370:: @ 83E4370
- obj_image_anim_frame 80, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4378:: @ 83E4378
- obj_image_anim_frame 88, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4380:: @ 83E4380
- obj_image_anim_frame 96, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4388:: @ 83E4388
- obj_image_anim_frame 104, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4390:: @ 83E4390
- obj_image_anim_frame 112, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4398:: @ 83E4398
- obj_image_anim_frame 120, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E43A0:: @ 83E43A0
- obj_image_anim_frame 128, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E43A8:: @ 83E43A8
- obj_image_anim_frame 136, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E43B0:: @ 83E43B0
- obj_image_anim_frame 144, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E43B8:: @ 83E43B8
- obj_image_anim_frame 152, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E43C0:: @ 83E43C0
- obj_image_anim_frame 160, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E43C8:: @ 83E43C8
- obj_image_anim_frame 168, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E43D0:: @ 83E43D0
- obj_image_anim_frame 176, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E43D8:: @ 83E43D8
- obj_image_anim_frame 184, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83E43E0:: @ 83E43E0
- .4byte gSpriteAnim_83E4320
- .4byte gSpriteAnim_83E4328
- .4byte gSpriteAnim_83E4330
- .4byte gSpriteAnim_83E4338
- .4byte gSpriteAnim_83E4340
- .4byte gSpriteAnim_83E4348
- .4byte gSpriteAnim_83E4350
- .4byte gSpriteAnim_83E4358
- .4byte gSpriteAnim_83E4360
- .4byte gSpriteAnim_83E4368
- .4byte gSpriteAnim_83E4370
- .4byte gSpriteAnim_83E4378
- .4byte gSpriteAnim_83E4380
- .4byte gSpriteAnim_83E4388
- .4byte gSpriteAnim_83E4390
- .4byte gSpriteAnim_83E4398
- .4byte gSpriteAnim_83E43A0
- .4byte gSpriteAnim_83E43A8
- .4byte gSpriteAnim_83E43B0
- .4byte gSpriteAnim_83E43B8
- .4byte gSpriteAnim_83E43C0
- .4byte gSpriteAnim_83E43C8
- .4byte gSpriteAnim_83E43D0
- .4byte gSpriteAnim_83E43D8
-
- .align 2
-gSpriteAffineAnim_83E4440:: @ 83E4440
- obj_rot_scal_anim_frame 0x10, 0x10, 0, 16
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83E4450:: @ 83E4450
- .4byte gSpriteAffineAnim_83E4440
-
- .align 2
-gSpriteTemplate_83E4454:: @ 83E4454
- spr_template 0, 0, gOamData_83E4318, gSpriteAnimTable_83E43E0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteSheet_PokenavBlueLight:: @ 83E446C
- obj_tiles PokenavBlueLightTiles, 0x100, 25
-
- .align 2
-gSpritePalette_PokenavBlueLight:: @ 83E4474
- obj_pal PokenavBlueLightPalette, 17
-
- .align 2
-gOamData_83E447C:: @ 83E447C
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteTemplate_83E4484:: @ 83E4484
- spr_template 25, 17, gOamData_83E447C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F2654
-
-gUnknown_083E449C:: @ 83E449C
- obj_pal gPokenavMenuOptions3_Pal, 2
- obj_pal gPokenavCondition5_Pal, 3
- obj_pal 0x0, 0
-
- .align 2
-gOamData_83E44B4:: @ 83E44B4
- .2byte 0x4000
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83E44BC:: @ 83E44BC
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E44C4:: @ 83E44C4
- obj_image_anim_frame 32, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E44CC:: @ 83E44CC
- obj_image_anim_frame 64, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83E44D4:: @ 83E44D4
- .4byte gSpriteAnim_83E44BC
- .4byte gSpriteAnim_83E44C4
- .4byte gSpriteAnim_83E44CC
-
- .align 2
-gSpriteTemplate_83E44E0:: @ 83E44E0
- spr_template 1, 2, gOamData_83E44B4, gSpriteAnimTable_83E44D4, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC
-
- .align 2
-gSpriteTemplate_83E44F8:: @ 83E44F8
- spr_template 1, 3, gOamData_83E44B4, gSpriteAnimTable_83E44D4, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC
-
- .align 2
-gOamData_83E4510:: @ 83E4510
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_83E4518:: @ 83E4518
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4520:: @ 83E4520
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83E4528:: @ 83E4528
- .4byte gSpriteAnim_83E4518
- .4byte gSpriteAnim_83E4520
-
- .align 2
-gSpriteTemplate_83E4530:: @ 83E4530
- spr_template 2, 2, gOamData_83E4510, gSpriteAnimTable_83E4528, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC
-
- .align 2
-gSpriteTemplate_83E4548:: @ 83E4548
- spr_template 2, 3, gOamData_83E4510, gSpriteAnimTable_83E4528, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC
-
- .align 2
-gOamData_83E4560:: @ 83E4560
- .2byte 0x0000
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gUnknown_083E4568:: @ 83E4568
- obj_tiles NULL, 0x800, 6
-
- .align 2
-gSpriteTemplate_83E4570:: @ 83E4570
- spr_template 6, 6, gOamData_83E4560, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F2E00
-
- .align 2
-gUnknown_083E4588:: @ 83E4588
- obj_pal NULL, 6
-
- .align 2
-gUnknown_083E4590:: @ 83E4590
- obj_tiles gPokenavArrow_Gfx, 0x40, 9
- obj_tiles gPokenavUpDownArrows_Gfx, 0x80, 10
- null_obj_tiles
-
- .align 2
-gUnknown_083E45A8:: @ 83E45A8
- obj_pal gPokenavArrowsPalette, 9
-
- .align 2
-gOamData_83E45B0:: @ 83E45B0
- .2byte 0x8000
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gSpriteTemplate_83E45B8:: @ 83E45B8
- spr_template 9, 9, gOamData_83E45B0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F3190
-
- .align 2
-gSpriteAnim_83E45D0:: @ 83E45D0
- obj_image_anim_frame 0, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E45D8:: @ 83E45D8
- obj_image_anim_frame 2, 3
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83E45E0:: @ 83E45E0
- .4byte gSpriteAnim_83E45D0
- .4byte gSpriteAnim_83E45D8
-
- .align 2
-gOamData_83E45E8:: @ 83E45E8
- .2byte 0x4000
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gSpriteTemplate_83E45F0:: @ 83E45F0
- spr_template 10, 9, gOamData_83E45E8, gSpriteAnimTable_83E45E0, NULL, gDummySpriteAffineAnimTable, sub_80F31AC
-
- .align 2
-gOamData_83E4608:: @ 83E4608
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0800
-
- .align 2
-gSpriteAnim_83E4610:: @ 83E4610
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83E4618:: @ 83E4618
- obj_image_anim_frame 4, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83E4620:: @ 83E4620
- .4byte gSpriteAnim_83E4610
- .4byte gSpriteAnim_83E4618
-
- .align 2
-gUnknown_083E4628:: @ 83E4628
- obj_tiles gPokenavPokeballTiles, 0x100, 3
- obj_tiles gUnknown_083E3780, 0x20, 4
- obj_tiles gPokenavConditionMenuCancel_Gfx, 0x100, 5
- null_obj_tiles
-
- .align 2
-gUnknown_083E4648:: @ 83E4648
- obj_pal gPokenavConditionPokeball_Pal, 4
- obj_pal gPokenavCondition4_Pal, 5
- .space 8
-
- .align 2
-gSpriteTemplate_83E4660:: @ 83E4660
- spr_template 3, 4, gOamData_83E4608, gSpriteAnimTable_83E4620, NULL, gDummySpriteAffineAnimTable, sub_80F3328
-
- .align 1
-gUnknown_083E4678:: @ 83E4678
- .incbin "graphics/pokenav/83E4678.gbapal"
-
- .align 2
-gPokenavRibbonsIconGfx:: @ 83E4698
- .2byte 0, 0
- .2byte 1, 0
- .2byte 2, 0
- .2byte 3, 0
- .2byte 4, 0
- .2byte 1, 1
- .2byte 2, 1
- .2byte 3, 1
- .2byte 4, 1
- .2byte 1, 2
- .2byte 2, 2
- .2byte 3, 2
- .2byte 4, 2
- .2byte 1, 3
- .2byte 2, 3
- .2byte 3, 3
- .2byte 4, 3
- .2byte 1, 4
- .2byte 2, 4
- .2byte 3, 4
- .2byte 4, 4
- .2byte 5, 0
- .2byte 6, 0
- .2byte 7, 1
- .2byte 8, 2
- .2byte 9, 1
- .2byte 9, 3
- .2byte 9, 4
- .2byte 10, 3
- .2byte 10, 4
- .2byte 11, 0
- .2byte 11, 1
-
- .align 2
-gOamData_83E4718:: @ 83E4718
- .2byte 0x0100
- .2byte 0x8000
- .2byte 0x0000
-
- .align 2
-gSpriteAffineAnim_83E4720:: @ 83E4720
- obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83E4730:: @ 83E4730
- obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
- obj_rot_scal_anim_frame 0x20, 0x20, 0, 4
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_83E4748:: @ 83E4748
- obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
- obj_rot_scal_anim_frame 0xFFE0, 0xFFE0, 0, 4
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83E4760:: @ 83E4760
- .4byte gSpriteAffineAnim_83E4720
- .4byte gSpriteAffineAnim_83E4730
- .4byte gSpriteAffineAnim_83E4748
-
- .align 2
-gSpriteTemplate_83E476C:: @ 83E476C
- spr_template 11, 10, gOamData_83E4718, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83E4760, SpriteCallbackDummy
-
- .align 2
-gUnknown_083E4784:: @ 83E4784
- obj_tiles gPokenavSparkle_Gfx, 896, 0x0017
-
- .align 2
-gUnknown_083E478C:: @ 83E478C
- obj_pal gPokenavSparkle_Pal, 0x000f
-
- .align 2
-gUnknown_083E4794:: @ 83E4794
- .2byte 0, -35
- .2byte 20, -28
- .2byte 33, -10
- .2byte 33, 10
- .2byte 20, 28
- .2byte 0, 35
- .2byte -20, 28
- .2byte -33, 10
- .2byte -33, -10
- .2byte -20, -28
-
- .align 2
-gOamData_83E47BC:: @ 83E47BC
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_83E47C4:: @ 83E47C4
- obj_image_anim_frame 0, 5
- obj_image_anim_frame 4, 5
- obj_image_anim_frame 8, 5
- obj_image_anim_frame 12, 5
- obj_image_anim_frame 16, 5
- obj_image_anim_frame 20, 5
- obj_image_anim_frame 24, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83E47E4:: @ 83E47E4
- .4byte gSpriteAnim_83E47C4
- .4byte gSpriteAnim_83E47C4 + 0x8
- .4byte gSpriteAnim_83E47C4 + 0x10
- .4byte gSpriteAnim_83E47C4 + 0x18
-
- @ unused?
- .4byte gSpriteAnim_83E47C4 + 0x20
- .4byte gSpriteAnim_83E47C4 + 0x28
- .4byte gSpriteAnim_83E47C4 + 0x30
-
- .align 2
-gSpriteTemplate_83E4800:: @ 83E4800
- spr_template 23, 15, gOamData_83E47BC, gSpriteAnimTable_83E47E4, NULL, gDummySpriteAffineAnimTable, sub_80F3E9C
-
- .align 2
-gUnknown_083E4818:: @ 83E4818
- obj_pal gPokenavIconPalette, 16
-
- .align 2
-gSpriteAnim_83E4820:: @ 83E4820
- obj_image_anim_frame 0, 12
- obj_image_anim_frame 16, 12
- obj_image_anim_frame 32, 12
- obj_image_anim_frame 48, 12
- obj_image_anim_frame 64, 12
- obj_image_anim_frame 80, 12
- obj_image_anim_frame 96, 12
- obj_image_anim_frame 112, 12
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83E4844:: @ 83E4844
- .4byte gSpriteAnim_83E4820
-
- .align 2
-gOamData_83E4848:: @ 83E4848
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0000
-
- .align 2
-gSpriteTemplate_83E4850:: @ 83E4850
- spr_template 24, 16, gOamData_83E4848, gSpriteAnimTable_83E4844, NULL, gDummySpriteAffineAnimTable, sub_80F4138
-
- .align 2
-gUnknown_083E4868:: @ 83E4868
- obj_pal Palette_3E42D8, 18
-
- .align 2
-gOamData_83E4870:: @ 83E4870
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0C00
-
- .align 2
-gSpriteTemplate_83E4878:: @ 83E4878
- spr_template 26, 18, gOamData_83E4870, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_083E4890:: @ 83E4890
- .byte 4
- .byte 5
- .byte 6
- .byte 7
- .byte 8
- .byte 9
- .byte 9
- .byte 10
- .byte 10
- .byte 11
- .byte 11
- .byte 12
- .byte 12
- .byte 13
- .byte 13
- .byte 13
- .byte 13
- .byte 14
- .byte 14
- .byte 14
- .byte 14
- .byte 15
- .byte 15
- .byte 15
- .byte 15
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 18
- .byte 18
- .byte 18
- .byte 18
- .byte 18
- .byte 18
- .byte 19
- .byte 19
- .byte 19
- .byte 19
- .byte 19
- .byte 19
- .byte 19
- .byte 19
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 21
- .byte 21
- .byte 21
- .byte 21
- .byte 21
- .byte 21
- .byte 21
- .byte 21
- .byte 22
- .byte 22
- .byte 22
- .byte 22
- .byte 22
- .byte 22
- .byte 22
- .byte 22
- .byte 22
- .byte 22
- .byte 23
- .byte 23
- .byte 23
- .byte 23
- .byte 23
- .byte 23
- .byte 23
- .byte 23
- .byte 23
- .byte 23
- .byte 24
- .byte 24
- .byte 24
- .byte 24
- .byte 24
- .byte 24
- .byte 24
- .byte 24
- .byte 24
- .byte 24
- .byte 25
- .byte 25
- .byte 25
- .byte 25
- .byte 25
- .byte 25
- .byte 25
- .byte 25
- .byte 25
- .byte 25
- .byte 25
- .byte 25
- .byte 26
- .byte 26
- .byte 26
- .byte 26
- .byte 26
- .byte 26
- .byte 26
- .byte 26
- .byte 26
- .byte 26
- .byte 26
- .byte 26
- .byte 27
- .byte 27
- .byte 27
- .byte 27
- .byte 27
- .byte 27
- .byte 27
- .byte 27
- .byte 27
- .byte 27
- .byte 27
- .byte 27
- .byte 27
- .byte 27
- .byte 28
- .byte 28
- .byte 28
- .byte 28
- .byte 28
- .byte 28
- .byte 28
- .byte 28
- .byte 28
- .byte 28
- .byte 28
- .byte 28
- .byte 28
- .byte 28
- .byte 29
- .byte 29
- .byte 29
- .byte 29
- .byte 29
- .byte 29
- .byte 29
- .byte 29
- .byte 29
- .byte 29
- .byte 29
- .byte 29
- .byte 29
- .byte 29
- .byte 29
- .byte 29
- .byte 30
- .byte 30
- .byte 30
- .byte 30
- .byte 30
- .byte 30
- .byte 30
- .byte 30
- .byte 30
- .byte 30
- .byte 30
- .byte 30
- .byte 30
- .byte 30
- .byte 30
- .byte 30
- .byte 31
- .byte 31
- .byte 31
- .byte 31
- .byte 31
- .byte 31
- .byte 31
- .byte 31
- .byte 31
- .byte 31
- .byte 31
- .byte 31
- .byte 31
- .byte 31
- .byte 31
- .byte 31
- .byte 31
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 33
- .byte 33
- .byte 33
- .byte 33
- .byte 33
- .byte 33
- .byte 33
- .byte 33
- .byte 33
- .byte 33
- .byte 33
- .byte 33
- .byte 33
- .byte 33
- .byte 33
- .byte 33
- .byte 33
- .byte 33
- .byte 33
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 35
-
- .align 2
-gUnknown_083E4990:: @ 83E4990
- .4byte REG_WIN0H
- .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_32BIT | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1
- .4byte 1
-
- .align 1
-gUnknown_083E499C:: @ 83E499C
- .2byte 0x43
- .2byte 0x32
- .2byte 0x33
- .2byte 0x34
- .2byte 0x35
- .2byte 0x36
- .2byte 0x44
- .2byte 0x45
- .2byte 0x46
- .2byte 0x47
- .2byte 0x48
- .2byte 0x49
- .2byte 0x4A
- .2byte 0x4B
- .2byte 0x4C
- .2byte 0x4D
- .2byte 0x4E
diff --git a/data/text/gift_ribbon_descriptions.inc b/data/text/gift_ribbon_descriptions.inc
deleted file mode 100644
index 798d291b9..000000000
--- a/data/text/gift_ribbon_descriptions.inc
+++ /dev/null
@@ -1,207 +0,0 @@
-gGiftRibbonDescriptionPart1_2003RegionalTourney:
- .string "2003 REGIONAL TOURNEY$"
-
-gGiftRibbonDescriptionPart2_Champion:
- .string "CHAMPION RIBBON$"
-
-gGiftRibbonDescriptionPart1_2003NationalTourney:
- .string "2003 NATIONAL TOURNEY$"
-
-gGiftRibbonDescriptionPart1_2003GlobalCup:
- .string "2003 GLOBAL CUP$"
-
-gGiftRibbonDescriptionPart2_RunnerUp:
- .string "Runner-up RIBBON$"
-
-gGiftRibbonDescriptionPart2_Semifinalist:
- .string "Semifinalist RIBBON$"
-
-gGiftRibbonDescriptionPart1_2004RegionalTourney:
- .string "2004 REGIONAL TOURNEY$"
-
-gGiftRibbonDescriptionPart1_2004NationalTourney:
- .string "2004 NATIONAL TOURNEY$"
-
-gGiftRibbonDescriptionPart1_2004GlobalCup:
- .string "2004 GLOBAL CUP$"
-
-gGiftRibbonDescriptionPart1_2005RegionalTourney:
- .string "2005 REGIONAL TOURNEY$"
-
-gGiftRibbonDescriptionPart1_2005NationalTourney:
- .string "2005 NATIONAL TOURNEY$"
-
-gGiftRibbonDescriptionPart1_2005GlobalCup:
- .string "2005 GLOBAL CUP$"
-
-gGiftRibbonDescriptionPart1_PokemonBattleCup:
- .string "POKéMON BATTLE CUP$"
-
-gGiftRibbonDescriptionPart2_Participation:
- .string "Participation RIBBON$"
-
-gGiftRibbonDescriptionPart1_PokemonLeague:
- .string "POKéMON LEAGUE$"
-
-gGiftRibbonDescriptionPart1_AdvanceCup:
- .string "ADVANCE CUP$"
-
-gGiftRibbonDescriptionPart1_PokemonTournament:
- .string "POKéMON Tournament$"
-
-gGiftRibbonDescriptionPart2_Participation2:
- .string "Participation RIBBON$"
-
-gGiftRibbonDescriptionPart1_PokemonEvent:
- .string "POKéMON Event$"
-
-gGiftRibbonDescriptionPart1_PokemonFestival:
- .string "POKéMON Festival$"
-
-gGiftRibbonDescriptionPart1_DifficultyClearing:
- .string "Difficulty-clearing$"
-
-gGiftRibbonDescriptionPart2_Commemorative:
- .string "Commemorative RIBBON$"
-
-gGiftRibbonDescriptionPart1_ClearingAllDifficulties:
- .string "RIBBON awarded for$"
-
-gGiftRibbonDescriptionPart2_ClearingAllDifficulties:
- .string "clearing all difficulties.$"
-
-gGiftRibbonDescriptionPart1_100StraightWin:
- .string "100-straight Win$"
-
-gGiftRibbonDescriptionPart1_DarknessTower:
- .string "DARKNESS TOWER Clear$"
-
-gGiftRibbonDescriptionPart1_RedTower:
- .string "RED TOWER Clear$"
-
-gGiftRibbonDescriptionPart1_BlackironTower:
- .string "BLACKIRON TOWER Clear$"
-
-gGiftRibbonDescriptionPart1_FinalTower:
- .string "FINAL TOWER Clear$"
-
-gGiftRibbonDescriptionPart1_LegendMaking:
- .string "Legend-making$"
-
-gGiftRibbonDescriptionPart1_PokemonCenterTokyo:
- .string "POKéMON CENTER TOKYO$"
-
-gGiftRibbonDescriptionPart1_PokemonCenterOsaka:
- .string "POKéMON CENTER OSAKA$"
-
-gGiftRibbonDescriptionPart1_PokemonCenterNagoya:
- .string "POKéMON CENTER NAGOYA$"
-
-gGiftRibbonDescriptionPart1_PokemonCenterNY:
- .string "POKéMON CENTER NY$"
-
-gGiftRibbonDescriptionPart1_SummerHolidays:
- .string "Summer Holidays RIBBON$"
-
-gGiftRibbonDescriptionPart2_EmptyString:
- .string "$"
-
-gGiftRibbonDescriptionPart1_WinterHolidays:
- .string "Winter Holidays RIBBON$"
-
-gGiftRibbonDescriptionPart1_SpringHolidays:
- .string "Spring Holidays RIBBON$"
-
-gGiftRibbonDescriptionPart1_Evergreen:
- .string "Evergreen RIBBON$"
-
-gGiftRibbonDescriptionPart1_SpecialHoliday:
- .string "Special Holiday RIBBON$"
-
-gGiftRibbonDescriptionPart1_HardWorker:
- .string "Hard Worker RIBBON$"
-
-gGiftRibbonDescriptionPart1_LotsOfFriends:
- .string "Lots of Friends RIBBON$"
-
-gGiftRibbonDescriptionPart1_FullOfEnergy:
- .string "Full of Energy RIBBON$"
-
-gGiftRibbonDescriptionPart1_LovedPokemon:
- .string "A commemorative RIBBON$"
-
-gGiftRibbonDescriptionPart2_LovedPokemon:
- .string "for a loved POKéMON.$"
-
-gGiftRibbonDescriptionPart1_LoveForPokemon:
- .string "RIBBON that shows$"
-
-gGiftRibbonDescriptionPart2_LoveForPokemon:
- .string "love for POKéMON.$"
-
- .align 2
-gGiftRibbonDescriptions:: @ 83E158C
- .4byte gGiftRibbonDescriptionPart1_2003RegionalTourney, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2003NationalTourney, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2003GlobalCup, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2003RegionalTourney, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2003NationalTourney, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2003GlobalCup, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2003RegionalTourney, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_2003NationalTourney, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_2003GlobalCup, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_2004RegionalTourney, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2004NationalTourney, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2004GlobalCup, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2004RegionalTourney, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2004NationalTourney, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2004GlobalCup, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2004RegionalTourney, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_2004NationalTourney, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_2004GlobalCup, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_2005RegionalTourney, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2005NationalTourney, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2005GlobalCup, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_2005RegionalTourney, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2005NationalTourney, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2005GlobalCup, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_2005RegionalTourney, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_2005NationalTourney, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_2005GlobalCup, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_PokemonBattleCup, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_PokemonBattleCup, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_PokemonBattleCup, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_PokemonBattleCup, gGiftRibbonDescriptionPart2_Participation
- .4byte gGiftRibbonDescriptionPart1_PokemonLeague, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_PokemonLeague, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_PokemonLeague, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_PokemonLeague, gGiftRibbonDescriptionPart2_Participation
- .4byte gGiftRibbonDescriptionPart1_AdvanceCup, gGiftRibbonDescriptionPart2_Champion
- .4byte gGiftRibbonDescriptionPart1_AdvanceCup, gGiftRibbonDescriptionPart2_RunnerUp
- .4byte gGiftRibbonDescriptionPart1_AdvanceCup, gGiftRibbonDescriptionPart2_Semifinalist
- .4byte gGiftRibbonDescriptionPart1_AdvanceCup, gGiftRibbonDescriptionPart2_Participation
- .4byte gGiftRibbonDescriptionPart1_PokemonTournament, gGiftRibbonDescriptionPart2_Participation2
- .4byte gGiftRibbonDescriptionPart1_PokemonEvent, gGiftRibbonDescriptionPart2_Participation2
- .4byte gGiftRibbonDescriptionPart1_PokemonFestival, gGiftRibbonDescriptionPart2_Participation2
- .4byte gGiftRibbonDescriptionPart1_DifficultyClearing, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_ClearingAllDifficulties, gGiftRibbonDescriptionPart2_ClearingAllDifficulties
- .4byte gGiftRibbonDescriptionPart1_100StraightWin, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_DarknessTower, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_RedTower, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_BlackironTower, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_FinalTower, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_LegendMaking, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_PokemonCenterTokyo, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_PokemonCenterOsaka, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_PokemonCenterNagoya, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_PokemonCenterNY, gGiftRibbonDescriptionPart2_Commemorative
- .4byte gGiftRibbonDescriptionPart1_SummerHolidays, gGiftRibbonDescriptionPart2_EmptyString
- .4byte gGiftRibbonDescriptionPart1_WinterHolidays, gGiftRibbonDescriptionPart2_EmptyString
- .4byte gGiftRibbonDescriptionPart1_SpringHolidays, gGiftRibbonDescriptionPart2_EmptyString
- .4byte gGiftRibbonDescriptionPart1_Evergreen, gGiftRibbonDescriptionPart2_EmptyString
- .4byte gGiftRibbonDescriptionPart1_SpecialHoliday, gGiftRibbonDescriptionPart2_EmptyString
- .4byte gGiftRibbonDescriptionPart1_HardWorker, gGiftRibbonDescriptionPart2_EmptyString
- .4byte gGiftRibbonDescriptionPart1_LotsOfFriends, gGiftRibbonDescriptionPart2_EmptyString
- .4byte gGiftRibbonDescriptionPart1_FullOfEnergy, gGiftRibbonDescriptionPart2_EmptyString
- .4byte gGiftRibbonDescriptionPart1_LovedPokemon, gGiftRibbonDescriptionPart2_LovedPokemon
- .4byte gGiftRibbonDescriptionPart1_LoveForPokemon, gGiftRibbonDescriptionPart2_LoveForPokemon
diff --git a/data/text/ribbon_descriptions.inc b/data/text/ribbon_descriptions.inc
deleted file mode 100644
index ebbfc34ff..000000000
--- a/data/text/ribbon_descriptions.inc
+++ /dev/null
@@ -1,84 +0,0 @@
-gRibbonDescriptionPart1_Champion:
- .string "CHAMPION-beating, HALL$"
-
-gRibbonDescriptionPart2_Champion:
- .string "OF FAME Member RIBBON$"
-
-gRibbonDescriptionPart1_CoolContest:
- .string "COOL CONTEST$"
-
-gRibbonDescriptionPart1_BeautyContest:
- .string "BEAUTY CONTEST$"
-
-gRibbonDescriptionPart1_CuteContest:
- .string "CUTE CONTEST$"
-
-gRibbonDescriptionPart1_SmartContest:
- .string "SMART CONTEST$"
-
-gRibbonDescriptionPart1_ToughContest:
- .string "TOUGH CONTEST$"
-
-gRibbonDescriptionPart2_NormalRank:
- .string "Normal Rank winner!$"
-
-gRibbonDescriptionPart2_SuperRank:
- .string "Super Rank winner!$"
-
-gRibbonDescriptionPart2_HyperRank:
- .string "Hyper Rank winner!$"
-
-gRibbonDescriptionPart2_MasterRank:
- .string "Master Rank winner!$"
-
-gRibbonDescriptionPart1_Winning:
- .string "RIBBON for clearing LV50$"
-
-gRibbonDescriptionPart2_Winning:
- .string "at the BATTLE TOWER.$"
-
-gRibbonDescriptionPart1_Victory:
- .string "Won for clearing LV100$"
-
-gRibbonDescriptionPart2_Victory:
- .string "at the BATTLE TOWER.$"
-
-gRibbonDescriptionPart1_Artist:
- .string "RIBBON for being chosen$"
-
-gRibbonDescriptionPart2_Artist:
- .string "as a super sketch model.$"
-
-gRibbonDescriptionPart1_Effort:
- .string "RIBBON awarded for$"
-
-gRibbonDescriptionPart2_Effort:
- .string "being a hard worker.$"
-
- .align 2
-gRibbonDescriptions:: @ 83E113C
- .4byte gRibbonDescriptionPart1_Champion, gRibbonDescriptionPart2_Champion
- .4byte gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_NormalRank
- .4byte gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_SuperRank
- .4byte gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_HyperRank
- .4byte gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_MasterRank
- .4byte gRibbonDescriptionPart1_BeautyContest, gRibbonDescriptionPart2_NormalRank
- .4byte gRibbonDescriptionPart1_BeautyContest, gRibbonDescriptionPart2_SuperRank
- .4byte gRibbonDescriptionPart1_BeautyContest, gRibbonDescriptionPart2_HyperRank
- .4byte gRibbonDescriptionPart1_BeautyContest, gRibbonDescriptionPart2_MasterRank
- .4byte gRibbonDescriptionPart1_CuteContest, gRibbonDescriptionPart2_NormalRank
- .4byte gRibbonDescriptionPart1_CuteContest, gRibbonDescriptionPart2_SuperRank
- .4byte gRibbonDescriptionPart1_CuteContest, gRibbonDescriptionPart2_HyperRank
- .4byte gRibbonDescriptionPart1_CuteContest, gRibbonDescriptionPart2_MasterRank
- .4byte gRibbonDescriptionPart1_SmartContest, gRibbonDescriptionPart2_NormalRank
- .4byte gRibbonDescriptionPart1_SmartContest, gRibbonDescriptionPart2_SuperRank
- .4byte gRibbonDescriptionPart1_SmartContest, gRibbonDescriptionPart2_HyperRank
- .4byte gRibbonDescriptionPart1_SmartContest, gRibbonDescriptionPart2_MasterRank
- .4byte gRibbonDescriptionPart1_ToughContest, gRibbonDescriptionPart2_NormalRank
- .4byte gRibbonDescriptionPart1_ToughContest, gRibbonDescriptionPart2_SuperRank
- .4byte gRibbonDescriptionPart1_ToughContest, gRibbonDescriptionPart2_HyperRank
- .4byte gRibbonDescriptionPart1_ToughContest, gRibbonDescriptionPart2_MasterRank
- .4byte gRibbonDescriptionPart1_Winning, gRibbonDescriptionPart2_Winning
- .4byte gRibbonDescriptionPart1_Victory, gRibbonDescriptionPart2_Victory
- .4byte gRibbonDescriptionPart1_Artist, gRibbonDescriptionPart2_Artist
- .4byte gRibbonDescriptionPart1_Effort, gRibbonDescriptionPart2_Effort
diff --git a/data/text/trainer_eye_descriptions.inc b/data/text/trainer_eye_descriptions.inc
deleted file mode 100644
index 9e20ea8cc..000000000
--- a/data/text/trainer_eye_descriptions.inc
+++ /dev/null
@@ -1,417 +0,0 @@
-TrainerEyeDescription_0:
- .string "Becalm fighting emotions.$"
- .string "Fragrant GRASS POKéMON$"
- .string "Soothing aromas make the$"
- .string "body and mind healthy.$"
-TrainerEyeDescription_1:
- .string "Overwhelm with power!$"
- .string "Craggy ROCK POKéMON$"
- .string "In search of ancient lore,$"
- .string "I travel the world.$"
-TrainerEyeDescription_2:
- .string "I'm going to try hard!$"
- .string "Good swimmer POKéMON$"
- .string "I wish I could swim without$"
- .string "using an inner tube.$"
-TrainerEyeDescription_3:
- .string "I don't know. I'll try hard.$"
- .string "WATER POKéMON are buddies.$"
- .string "It's not like I can't swim.$"
- .string "I just like my inner tube.$"
-TrainerEyeDescription_4:
- .string "We split our duties.$"
- .string "We like friendly POKéMON.$"
- .string "We enjoy POKéMON together$"
- .string "as sister and brother.$"
-TrainerEyeDescription_5:
- .string "Exploit the foe's weakness.$"
- .string "Balance is crucial.$"
- .string "My goal is to become the$"
- .string "POKéMON CHAMPION.$"
-TrainerEyeDescription_6:
- .string "Upset the opponent.$"
- .string "Type doesn't matter.$"
- .string "I'm a top student at the$"
- .string "TRAINER'S SCHOOL.$"
-TrainerEyeDescription_7:
- .string "Slow, steady suffering$"
- .string "Scary to meet at night.$"
- .string "I see things that others$"
- .string "can't see...$"
-TrainerEyeDescription_8:
- .string "Anything to win.$"
- .string "Gorgeous type!$"
- .string "I have a pool specially for$"
- .string "my POKéMON at home.$"
-TrainerEyeDescription_9:
- .string "I'll lead you astray.$"
- .string "Cute, of course.$"
- .string "I love the SAFARI ZONE.$"
- .string "I seem to end up there.$"
-TrainerEyeDescription_10:
- .string "Strategy? Who needs it?$"
- .string "I spent big money on it!$"
- .string "I, being rich, sleep in a$"
- .string "custom POKéMON bed.$"
-TrainerEyeDescription_11:
- .string "Wrestle down with power.$"
- .string "Took all night to catch...$"
- .string "Big, burly, and buff$"
- .string "POKéMON are the best...$"
-TrainerEyeDescription_12:
- .string "Ram at full speed!$"
- .string "Funky WATER type!$"
- .string "If I can't be out swimming,$"
- .string "I'll be pumping weights.$"
-TrainerEyeDescription_13:
- .string "Grand slam pummeling!$"
- .string "FIGHTING type$"
- .string "Not to brag, but I can bust$"
- .string "ten roof tiles!$"
-TrainerEyeDescription_14:
- .string "I'll electrify you!$"
- .string "They're ELECTRIC!$"
- .string "I want to make people cry$"
- .string "with songs from my heart.$"
-TrainerEyeDescription_15:
- .string "Burn it all down!$"
- .string "Burn-inducing POKéMON$"
- .string "When you light a campfire,$"
- .string "be sure there's some water.$"
-TrainerEyeDescription_16:
- .string "Hang in and be tenacious!$"
- .string "I'll raise any POKéMON.$"
- .string "POKéMON raised in the wild$"
- .string "grow strong!$"
-TrainerEyeDescription_17:
- .string "Our love lets us prevail.$"
- .string "We've had them for years.$"
- .string "Married 50 years, we've$"
- .string "devotedly raised POKéMON.$"
-TrainerEyeDescription_18:
- .string "Attack in waves!$"
- .string "BUG POKéMON are cool.$"
- .string "I go into the forest every$"
- .string "day to catch BUG POKéMON.$"
-TrainerEyeDescription_19:
- .string "Daze and confuse!$"
- .string "Ones with weird powers.$"
- .string "I can see through exactly$"
- .string "what you're thinking!$"
-TrainerEyeDescription_20:
- .string "Battle at full power.$"
- .string "POKéMON of many mysteries$"
- .string "When we spoke, I was really$"
- .string "using telepathy.$"
-TrainerEyeDescription_21:
- .string "Calm and collected.$"
- .string "POKéMON of distinction$"
- .string "We enjoy a spot of tea$"
- .string "every day. It's imported.$"
-TrainerEyeDescription_22:
- .string "I use my head to battle.$"
- .string "I love any kind of POKéMON!$"
- .string "My daddy gives me spending$"
- .string "money if I ace a test.$"
-TrainerEyeDescription_23:
- .string "My knowledge rules!$"
- .string "Any smart POKéMON!$"
- .string "I want to be a POKéMON$"
- .string "researcher in the future.$"
-TrainerEyeDescription_24:
- .string "We talk it over first.$"
- .string "POKéMON that we both like.$"
- .string "We're senior and junior$"
- .string "students into POKéMON!$"
-TrainerEyeDescription_25:
- .string "Go for it, my dears!$"
- .string "I have no likes or dislikes.$"
- .string "While out shopping for$"
- .string "supper, I battle too.$"
-TrainerEyeDescription_26:
- .string "I battle with love!$"
- .string "A POKéMON raised with love!$"
- .string "It's important to build$"
- .string "trust with your POKéMON.$"
-TrainerEyeDescription_27:
- .string "I see through your moves!$"
- .string "The essence of FIGHTING.$"
- .string "I'm not ready to give way$"
- .string "to the young yet!$"
-TrainerEyeDescription_28:
- .string "Attack while defending$"
- .string "The FIGHTING type$"
- .string "Being old, I have my own$"
- .string "style of battling.$"
-TrainerEyeDescription_29:
- .string "I do what I can.$"
- .string "I use different types.$"
- .string "I'm going to keep working$"
- .string "until I beat a GYM LEADER.$"
-TrainerEyeDescription_30:
- .string "I battle patiently.$"
- .string "WATER POKéMON to battle!$"
- .string "I'm the world's only guy to$"
- .string "catch a huge POKéMON!$"
-TrainerEyeDescription_31:
- .string "Defense is crucial.$"
- .string "My POKéMON is solid.$"
- .string "I started this for dieting,$"
- .string "but I got right into it.$"
-TrainerEyeDescription_32:
- .string "Push and push again!$"
- .string "The strength of STEEL$"
- .string "If you're sweating, get$"
- .string "fluids into you regularly.$"
-TrainerEyeDescription_33:
- .string "Exploit the environment!$"
- .string "All hail the WATER type!$"
- .string "I won't be beaten by some$"
- .string "beach bum SWIMMER!$"
-TrainerEyeDescription_34:
- .string "All-out offensive!$"
- .string "WATER POKéMON rule!$"
- .string "I must swim over 6 miles$"
- .string "every day.$"
-TrainerEyeDescription_35:
- .string "Speed above all!$"
- .string "I use a speedy POKéMON.$"
- .string "A marathon is a challenge$"
- .string "against your own self.$"
-TrainerEyeDescription_36:
- .string "Strike before stricken!$"
- .string "A fast-running POKéMON!$"
- .string "If you ran and ran, you'd$"
- .string "become one with the wind.$"
-TrainerEyeDescription_37:
- .string "It's about POKéMON power!$"
- .string "See the power of DRAGONS!$"
- .string "I'll become legendary as the$"
- .string "strongest one day!$"
-TrainerEyeDescription_38:
- .string "I'll show you my technique!$"
- .string "Elegantly wheeling BIRDS$"
- .string "My BIRD POKéMON, deliver my$"
- .string "love to that girl!$"
-TrainerEyeDescription_39:
- .string "You'll suffer from poison!$"
- .string "Poisonous POKéMON$"
- .string "I undertake training so$"
- .string "that I may become a ninja.$"
-TrainerEyeDescription_40:
- .string "The first strike wins!$"
- .string "Speedy FIGHTING type$"
- .string "If my POKéMON lose,$"
- .string "I'll carry on the fight!$"
-TrainerEyeDescription_41:
- .string "Go, go, my POKéMON!$"
- .string "I'll raise anything.$"
- .string "UV rays are your skin's$"
- .string "enemy. Get protected.$"
-TrainerEyeDescription_42:
- .string "No mercy!$"
- .string "Cute WATER POKéMON$"
- .string "I have too many fans.$"
- .string "I was interviewed on TV.$"
-TrainerEyeDescription_43:
- .string "I think about this & that.$"
- .string "I like all POKéMON.$"
- .string "What lies beyond that$"
- .string "yonder hill?$"
-TrainerEyeDescription_44:
- .string "We battle together!$"
- .string "We train together!$"
- .string "We like the same POKéMON,$"
- .string "but different desserts.$"
-TrainerEyeDescription_45:
- .string "I force things with power!$"
- .string "WATER and FIGHTING types$"
- .string "Seamen are rough spirits!$"
- .string "Any complaints?$"
-TrainerEyeDescription_46:
- .string "Protect POKéMON from harm.$"
- .string "I love rare POKéMON.$"
- .string "I want to collect all the$"
- .string "world's rare POKéMON.$"
-TrainerEyeDescription_47:
- .string "I count on power.$"
- .string "POKéMON are my children.$"
- .string "It takes knowledge and$"
- .string "love to raise POKéMON.$"
-TrainerEyeDescription_48:
- .string "Full-on attack!$"
- .string "Anything. I'll raise it.$"
- .string "I give them {POKEBLOCK}S for$"
- .string "going after CONTEST titles.$"
-TrainerEyeDescription_49:
- .string "I believe in my POKéMON.$"
- .string "I like strong POKéMON.$"
- .string "I'm training for rescue$"
- .string "work with my POKéMON.$"
-TrainerEyeDescription_50:
- .string "I attack in waves.$"
- .string "Different types$"
- .string "Those who destroy nature$"
- .string "must never be forgiven!$"
-TrainerEyeDescription_51:
- .string "I'll show you some guts!$"
- .string "Cute POKéMON are my faves!$"
- .string "After a battle, I always$"
- .string "bathe with my POKéMON.$"
-TrainerEyeDescription_52:
- .string "Lightning-fast attack!$"
- .string "BUG POKéMON are number 1!$"
- .string "If you want to catch BUG$"
- .string "POKéMON, wake up early.$"
-TrainerEyeDescription_53:
- .string "I battle with power.$"
- .string "Hard-bodied POKéMON$"
- .string "I've been planning a month$"
- .string "for today's hike.$"
-TrainerEyeDescription_54:
- .string "Lovey-dovey strategy!$"
- .string "Lovey-dovey POKéMON!$"
- .string "We're lovey-dovey!$"
- .string "Forever lovey-dovey!$"
-TrainerEyeDescription_55:
- .string "We let it all hang out.$"
- .string "The 1st POKéMON I caught.$"
- .string "POKéMON and I have grown$"
- .string "stronger together.$"
-TrainerEyeDescription_56:
- .string "ROCK-type power attack$"
- .string "Rock-solid types are good.$"
- .string "Through battling, I want to$"
- .string "learn all about POKéMON.$"
-TrainerEyeDescription_57:
- .string "Direct physical action!$"
- .string "FIGHTING POKéMON rule!$"
- .string "The world awaits me as the$"
- .string "next big wave!$"
-TrainerEyeDescription_58:
- .string "I choose to electrify.$"
- .string "Get shocked by electricity!$"
- .string "Wahahahaha! The secret to$"
- .string "health is laughter!$"
-TrainerEyeDescription_59:
- .string "Battle aggressively.$"
- .string "Burn with passion!$"
- .string "Wash away daily fatigue in$"
- .string "hot springs completely!$"
-TrainerEyeDescription_60:
- .string "I flexibly adapt my style.$"
- .string "Grown in a balanced manner.$"
- .string "POKéMON are my life.$"
- .string "My chosen path is harsh...$"
-TrainerEyeDescription_61:
- .string "I take advantage of speed.$"
- .string "Graceful sky dancers$"
- .string "I can see the ebb and flow$"
- .string "of the winds.$"
-TrainerEyeDescription_62:
- .string "We battle in cooperation.$"
- .string "Always friendly POKéMON.$"
- .string "We understand each other,$"
- .string "and we understand others.$"
-TrainerEyeDescription_63:
- .string "Dignity and respect$"
- .string "I prefer POKéMON of grace.$"
- .string "Aquatic illusions best suit$"
- .string "my distinctive elegance.$"
-TrainerEyeDescription_64:
- .string "Offense over defense$"
- .string "The DARK side's beauties$"
- .string "You can talk all you want -$"
- .string "might is right!$"
-TrainerEyeDescription_65:
- .string "Confuse and confound$"
- .string "There's nothing definite.$"
- .string "I wonder how my grandma at$"
- .string "MT. PYRE is doing?$"
-TrainerEyeDescription_66:
- .string "I use items for help.$"
- .string "Flaming passion in icy cold!$"
- .string "The ICE type can be better$"
- .string "trained in this hot land.$"
-TrainerEyeDescription_67:
- .string "Harness strong abilities.$"
- .string "The raw power of DRAGONS!$"
- .string "I live to battle every day$"
- .string "to learn about POKéMON.$"
-TrainerEyeDescription_68:
- .string "Pick on the foe's weakness.$"
- .string "The ultimate STEEL POKéMON$"
- .string "When it comes down to it,$"
- .string "I'm still the strongest!$"
-
- .align 2
-gTrainerEyeDescriptions:: @ 83E309C
- .4byte TrainerEyeDescription_0
- .4byte TrainerEyeDescription_1
- .4byte TrainerEyeDescription_2
- .4byte TrainerEyeDescription_3
- .4byte TrainerEyeDescription_4
- .4byte TrainerEyeDescription_5
- .4byte TrainerEyeDescription_6
- .4byte TrainerEyeDescription_7
- .4byte TrainerEyeDescription_8
- .4byte TrainerEyeDescription_9
- .4byte TrainerEyeDescription_10
- .4byte TrainerEyeDescription_11
- .4byte TrainerEyeDescription_12
- .4byte TrainerEyeDescription_13
- .4byte TrainerEyeDescription_14
- .4byte TrainerEyeDescription_15
- .4byte TrainerEyeDescription_16
- .4byte TrainerEyeDescription_17
- .4byte TrainerEyeDescription_18
- .4byte TrainerEyeDescription_19
- .4byte TrainerEyeDescription_20
- .4byte TrainerEyeDescription_21
- .4byte TrainerEyeDescription_22
- .4byte TrainerEyeDescription_23
- .4byte TrainerEyeDescription_24
- .4byte TrainerEyeDescription_25
- .4byte TrainerEyeDescription_26
- .4byte TrainerEyeDescription_27
- .4byte TrainerEyeDescription_28
- .4byte TrainerEyeDescription_29
- .4byte TrainerEyeDescription_30
- .4byte TrainerEyeDescription_31
- .4byte TrainerEyeDescription_32
- .4byte TrainerEyeDescription_33
- .4byte TrainerEyeDescription_34
- .4byte TrainerEyeDescription_35
- .4byte TrainerEyeDescription_36
- .4byte TrainerEyeDescription_37
- .4byte TrainerEyeDescription_38
- .4byte TrainerEyeDescription_39
- .4byte TrainerEyeDescription_40
- .4byte TrainerEyeDescription_41
- .4byte TrainerEyeDescription_42
- .4byte TrainerEyeDescription_43
- .4byte TrainerEyeDescription_44
- .4byte TrainerEyeDescription_45
- .4byte TrainerEyeDescription_46
- .4byte TrainerEyeDescription_47
- .4byte TrainerEyeDescription_48
- .4byte TrainerEyeDescription_49
- .4byte TrainerEyeDescription_50
- .4byte TrainerEyeDescription_51
- .4byte TrainerEyeDescription_52
- .4byte TrainerEyeDescription_53
- .4byte TrainerEyeDescription_54
- .4byte TrainerEyeDescription_55
- .4byte TrainerEyeDescription_56
- .4byte TrainerEyeDescription_57
- .4byte TrainerEyeDescription_58
- .4byte TrainerEyeDescription_59
- .4byte TrainerEyeDescription_60
- .4byte TrainerEyeDescription_61
- .4byte TrainerEyeDescription_62
- .4byte TrainerEyeDescription_63
- .4byte TrainerEyeDescription_64
- .4byte TrainerEyeDescription_65
- .4byte TrainerEyeDescription_66
- .4byte TrainerEyeDescription_67
- .4byte TrainerEyeDescription_68
diff --git a/ld_script.txt b/ld_script.txt
index 67d452f32..1cadbef7d 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -696,7 +696,6 @@ SECTIONS {
src/easy_chat_2.o(.data);
src/pokenav_before.o(.rodata);
src/pokenav.o(.rodata);
- data/pokenav.o(.rodata);
src/trainers_eye.o(.rodata);
src/mon_markings.o(.rodata);
src/mauville_man.o(.rodata);
diff --git a/src/data/region_map/city_map_entries.h b/src/data/region_map/city_map_entries.h
new file mode 100644
index 000000000..b49ffe4ea
--- /dev/null
+++ b/src/data/region_map/city_map_entries.h
@@ -0,0 +1,19 @@
+const u32 *const gPokenavCityMaps[][2] =
+{
+ {gPokenavCityMap_Littleroot_0, NULL},
+ {gPokenavCityMap_Oldale_0, NULL},
+ {gPokenavCityMap_Dewford_0, NULL},
+ {gPokenavCityMap_Lavaridge_0, NULL},
+ {gPokenavCityMap_Fallarbor_0, NULL},
+ {gPokenavCityMap_Verdanturf_0, NULL},
+ {gPokenavCityMap_Pacifidlog_0, NULL},
+ {gPokenavCityMap_Petalburg_0, NULL},
+ {gPokenavCityMap_Slateport_0, gPokenavCityMap_Slateport_1},
+ {gPokenavCityMap_Mauville_0, gPokenavCityMap_Mauville_1},
+ {gPokenavCityMap_Rustboro_0, gPokenavCityMap_Rustboro_1},
+ {gPokenavCityMap_Fortree_0, NULL},
+ {gPokenavCityMap_Lilycove_0, gPokenavCityMap_Lilycove_1},
+ {gPokenavCityMap_Mossdeep_0, gPokenavCityMap_Mossdeep_1},
+ {gPokenavCityMap_Sootopolis_0, NULL},
+ {gPokenavCityMap_EverGrande_0, gPokenavCityMap_EverGrande_1},
+};
diff --git a/src/data/region_map/city_map_tilemaps.h b/src/data/region_map/city_map_tilemaps.h
new file mode 100644
index 000000000..fed158935
--- /dev/null
+++ b/src/data/region_map/city_map_tilemaps.h
@@ -0,0 +1,22 @@
+const u32 gPokenavCityMap_Lavaridge_0[] = INCBIN_U32("graphics/pokenav/city_maps/lavaridge_0.bin.lz");
+const u32 gPokenavCityMap_Fallarbor_0[] = INCBIN_U32("graphics/pokenav/city_maps/fallarbor_0.bin.lz");
+const u32 gPokenavCityMap_Fortree_0[] = INCBIN_U32("graphics/pokenav/city_maps/fortree_0.bin.lz");
+const u32 gPokenavCityMap_Slateport_0[] = INCBIN_U32("graphics/pokenav/city_maps/slateport_0.bin.lz");
+const u32 gPokenavCityMap_Slateport_1[] = INCBIN_U32("graphics/pokenav/city_maps/slateport_1.bin.lz");
+const u32 gPokenavCityMap_Rustboro_0[] = INCBIN_U32("graphics/pokenav/city_maps/rustboro_0.bin.lz");
+const u32 gPokenavCityMap_Rustboro_1[] = INCBIN_U32("graphics/pokenav/city_maps/rustboro_1.bin.lz");
+const u32 gPokenavCityMap_Pacifidlog_0[] = INCBIN_U32("graphics/pokenav/city_maps/pacifidlog_0.bin.lz");
+const u32 gPokenavCityMap_Mauville_1[] = INCBIN_U32("graphics/pokenav/city_maps/mauville_1.bin.lz");
+const u32 gPokenavCityMap_Mauville_0[] = INCBIN_U32("graphics/pokenav/city_maps/mauville_0.bin.lz");
+const u32 gPokenavCityMap_Oldale_0[] = INCBIN_U32("graphics/pokenav/city_maps/oldale_0.bin.lz");
+const u32 gPokenavCityMap_Lilycove_1[] = INCBIN_U32("graphics/pokenav/city_maps/lilycove_1.bin.lz");
+const u32 gPokenavCityMap_Lilycove_0[] = INCBIN_U32("graphics/pokenav/city_maps/lilycove_0.bin.lz");
+const u32 gPokenavCityMap_Littleroot_0[] = INCBIN_U32("graphics/pokenav/city_maps/littleroot_0.bin.lz");
+const u32 gPokenavCityMap_Dewford_0[] = INCBIN_U32("graphics/pokenav/city_maps/dewford_0.bin.lz");
+const u32 gPokenavCityMap_Sootopolis_0[] = INCBIN_U32("graphics/pokenav/city_maps/sootopolis_0.bin.lz");
+const u32 gPokenavCityMap_EverGrande_0[] = INCBIN_U32("graphics/pokenav/city_maps/ever_grande_0.bin.lz");
+const u32 gPokenavCityMap_EverGrande_1[] = INCBIN_U32("graphics/pokenav/city_maps/ever_grande_1.bin.lz");
+const u32 gPokenavCityMap_Verdanturf_0[] = INCBIN_U32("graphics/pokenav/city_maps/verdanturf_0.bin.lz");
+const u32 gPokenavCityMap_Mossdeep_1[] = INCBIN_U32("graphics/pokenav/city_maps/mossdeep_1.bin.lz");
+const u32 gPokenavCityMap_Mossdeep_0[] = INCBIN_U32("graphics/pokenav/city_maps/mossdeep_0.bin.lz");
+const u32 gPokenavCityMap_Petalburg_0[] = INCBIN_U32("graphics/pokenav/city_maps/petalburg_0.bin.lz");
diff --git a/src/data/text/gift_ribbon_descriptions_de.h b/src/data/text/gift_ribbon_descriptions_de.h
new file mode 100644
index 000000000..6bc57fb2e
--- /dev/null
+++ b/src/data/text/gift_ribbon_descriptions_de.h
@@ -0,0 +1,208 @@
+const u8 gGiftRibbonDescriptionPart1_2003RegionalTourney[] = _(
+ "REGIONALTURNIER 2003");
+
+const u8 gGiftRibbonDescriptionPart2_Champion[] = _(
+ "BAND des CHAMPS");
+
+const u8 gGiftRibbonDescriptionPart1_2003NationalTourney[] = _(
+ "NATIONALTURNIER 2003");
+
+const u8 gGiftRibbonDescriptionPart1_2003GlobalCup[] = _(
+ "WELTPOKAL 2003");
+
+const u8 gGiftRibbonDescriptionPart2_RunnerUp[] = _(
+ "BAND für Platzierungen");
+
+const u8 gGiftRibbonDescriptionPart2_Semifinalist[] = _(
+ "BAND für Halbfinalisten");
+
+const u8 gGiftRibbonDescriptionPart1_2004RegionalTourney[] = _(
+ "REGIONALTURNIER 2004");
+
+const u8 gGiftRibbonDescriptionPart1_2004NationalTourney[] = _(
+ "NATIONALTURNIER 2004");
+
+const u8 gGiftRibbonDescriptionPart1_2004GlobalCup[] = _(
+ "WELTPOKAL 2004");
+
+const u8 gGiftRibbonDescriptionPart1_2005RegionalTourney[] = _(
+ "REGIONALTURNIER 2005");
+
+const u8 gGiftRibbonDescriptionPart1_2005NationalTourney[] = _(
+ "NATIONALTURNIER 2005");
+
+const u8 gGiftRibbonDescriptionPart1_2005GlobalCup[] = _(
+ "WELTPOKAL 2005");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonBattleCup[] = _(
+ "POKéMON-KAMPF-POKAL");
+
+const u8 gGiftRibbonDescriptionPart2_Participation[] = _(
+ "Teilnehmer-BAND");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonLeague[] = _(
+ "POKéMON LIGA");
+
+const u8 gGiftRibbonDescriptionPart1_AdvanceCup[] = _(
+ "TALENTPOKAL");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonTournament[] = _(
+ "POKéMON-Turnier");
+
+const u8 gGiftRibbonDescriptionPart2_Participation2[] = _(
+ "Teilnehmer-BAND");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonEvent[] = _(
+ "POKéMON-Wettkampf");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonFestival[] = _(
+ "POKéMON-Festival");
+
+const u8 gGiftRibbonDescriptionPart1_DifficultyClearing[] = _(
+ "Schw.-Grad-Abschl.");
+
+const u8 gGiftRibbonDescriptionPart2_Commemorative[] = _(
+ "Gedenk-BAND");
+
+const u8 gGiftRibbonDescriptionPart1_ClearingAllDifficulties[] = _(
+ "BAND für erf. Abschluss");
+
+const u8 gGiftRibbonDescriptionPart2_ClearingAllDifficulties[] = _(
+ "aller Schwierigk.-Grade.");
+
+const u8 gGiftRibbonDescriptionPart1_100StraightWin[] = _(
+ "100. Sieg in Folge");
+
+const u8 gGiftRibbonDescriptionPart1_DarknessTower[] = _(
+ "APOKELIPSE-TURM fertig");
+
+const u8 gGiftRibbonDescriptionPart1_RedTower[] = _(
+ "ROTER TURM fertig");
+
+const u8 gGiftRibbonDescriptionPart1_BlackironTower[] = _(
+ "EISERNER TURM fertig");
+
+const u8 gGiftRibbonDescriptionPart1_FinalTower[] = _(
+ "FINAL-TURM-Abschluss");
+
+const u8 gGiftRibbonDescriptionPart1_LegendMaking[] = _(
+ "Legendäres");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonCenterTokyo[] = _(
+ "POKéMON-CENTER TOKIO");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonCenterOsaka[] = _(
+ "POKéMON-CENTER OSAKA");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonCenterNagoya[] = _(
+ "POKéMON-CENTER NAGOYA");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonCenterNY[] = _(
+ "POKéMON-CENTER N. Y.");
+
+const u8 gGiftRibbonDescriptionPart1_SummerHolidays[] = _(
+ "Sommerferien-BAND");
+
+const u8 gGiftRibbonDescriptionPart2_EmptyString[] = _(
+ "");
+
+const u8 gGiftRibbonDescriptionPart1_WinterHolidays[] = _(
+ "Weihnachtsferien-BAND");
+
+const u8 gGiftRibbonDescriptionPart1_SpringHolidays[] = _(
+ "Osterferien-BAND");
+
+const u8 gGiftRibbonDescriptionPart1_Evergreen[] = _(
+ "Evergreen-BAND");
+
+const u8 gGiftRibbonDescriptionPart1_SpecialHoliday[] = _(
+ "Sonderurlaubs-BAND");
+
+const u8 gGiftRibbonDescriptionPart1_HardWorker[] = _(
+ "Fleiß-BAND");
+
+const u8 gGiftRibbonDescriptionPart1_LotsOfFriends[] = _(
+ "Beliebtheits-BAND");
+
+const u8 gGiftRibbonDescriptionPart1_FullOfEnergy[] = _(
+ "Energie-BAND");
+
+const u8 gGiftRibbonDescriptionPart1_LovedPokemon[] = _(
+ "Ein Gedenk-BAND für ein");
+
+const u8 gGiftRibbonDescriptionPart2_LovedPokemon[] = _(
+ "beliebtes POKéMON.");
+
+const u8 gGiftRibbonDescriptionPart1_LoveForPokemon[] = _(
+ "Ein BAND für POKéMON-");
+
+const u8 gGiftRibbonDescriptionPart2_LoveForPokemon[] = _(
+ "Freunde.");
+
+const u8 *const gGiftRibbonDescriptions[][2] =
+{
+ {gGiftRibbonDescriptionPart1_2003RegionalTourney, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2003NationalTourney, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2003GlobalCup, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2003RegionalTourney, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2003NationalTourney, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2003GlobalCup, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2003RegionalTourney, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_2003NationalTourney, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_2003GlobalCup, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_2004RegionalTourney, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2004NationalTourney, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2004GlobalCup, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2004RegionalTourney, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2004NationalTourney, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2004GlobalCup, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2004RegionalTourney, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_2004NationalTourney, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_2004GlobalCup, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_2005RegionalTourney, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2005NationalTourney, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2005GlobalCup, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2005RegionalTourney, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2005NationalTourney, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2005GlobalCup, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2005RegionalTourney, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_2005NationalTourney, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_2005GlobalCup, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_PokemonBattleCup, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_PokemonBattleCup, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_PokemonBattleCup, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_PokemonBattleCup, gGiftRibbonDescriptionPart2_Participation},
+ {gGiftRibbonDescriptionPart1_PokemonLeague, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_PokemonLeague, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_PokemonLeague, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_PokemonLeague, gGiftRibbonDescriptionPart2_Participation},
+ {gGiftRibbonDescriptionPart1_AdvanceCup, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_AdvanceCup, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_AdvanceCup, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_AdvanceCup, gGiftRibbonDescriptionPart2_Participation},
+ {gGiftRibbonDescriptionPart1_PokemonTournament, gGiftRibbonDescriptionPart2_Participation2},
+ {gGiftRibbonDescriptionPart1_PokemonEvent, gGiftRibbonDescriptionPart2_Participation2},
+ {gGiftRibbonDescriptionPart1_PokemonFestival, gGiftRibbonDescriptionPart2_Participation2},
+ {gGiftRibbonDescriptionPart1_DifficultyClearing, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_ClearingAllDifficulties, gGiftRibbonDescriptionPart2_ClearingAllDifficulties},
+ {gGiftRibbonDescriptionPart1_100StraightWin, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_DarknessTower, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_RedTower, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_BlackironTower, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_FinalTower, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_LegendMaking, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_PokemonCenterTokyo, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_PokemonCenterOsaka, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_PokemonCenterNagoya, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_PokemonCenterNY, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_SummerHolidays, gGiftRibbonDescriptionPart2_EmptyString},
+ {gGiftRibbonDescriptionPart1_WinterHolidays, gGiftRibbonDescriptionPart2_EmptyString},
+ {gGiftRibbonDescriptionPart1_SpringHolidays, gGiftRibbonDescriptionPart2_EmptyString},
+ {gGiftRibbonDescriptionPart1_Evergreen, gGiftRibbonDescriptionPart2_EmptyString},
+ {gGiftRibbonDescriptionPart1_SpecialHoliday, gGiftRibbonDescriptionPart2_EmptyString},
+ {gGiftRibbonDescriptionPart1_HardWorker, gGiftRibbonDescriptionPart2_EmptyString},
+ {gGiftRibbonDescriptionPart1_LotsOfFriends, gGiftRibbonDescriptionPart2_EmptyString},
+ {gGiftRibbonDescriptionPart1_FullOfEnergy, gGiftRibbonDescriptionPart2_EmptyString},
+ {gGiftRibbonDescriptionPart1_LovedPokemon, gGiftRibbonDescriptionPart2_LovedPokemon},
+ {gGiftRibbonDescriptionPart1_LoveForPokemon, gGiftRibbonDescriptionPart2_LoveForPokemon},
+};
diff --git a/src/data/text/gift_ribbon_descriptions_en.h b/src/data/text/gift_ribbon_descriptions_en.h
new file mode 100644
index 000000000..14229a22a
--- /dev/null
+++ b/src/data/text/gift_ribbon_descriptions_en.h
@@ -0,0 +1,208 @@
+const u8 gGiftRibbonDescriptionPart1_2003RegionalTourney[] = _(
+ "2003 REGIONAL TOURNEY");
+
+const u8 gGiftRibbonDescriptionPart2_Champion[] = _(
+ "CHAMPION RIBBON");
+
+const u8 gGiftRibbonDescriptionPart1_2003NationalTourney[] = _(
+ "2003 NATIONAL TOURNEY");
+
+const u8 gGiftRibbonDescriptionPart1_2003GlobalCup[] = _(
+ "2003 GLOBAL CUP");
+
+const u8 gGiftRibbonDescriptionPart2_RunnerUp[] = _(
+ "Runner-up RIBBON");
+
+const u8 gGiftRibbonDescriptionPart2_Semifinalist[] = _(
+ "Semifinalist RIBBON");
+
+const u8 gGiftRibbonDescriptionPart1_2004RegionalTourney[] = _(
+ "2004 REGIONAL TOURNEY");
+
+const u8 gGiftRibbonDescriptionPart1_2004NationalTourney[] = _(
+ "2004 NATIONAL TOURNEY");
+
+const u8 gGiftRibbonDescriptionPart1_2004GlobalCup[] = _(
+ "2004 GLOBAL CUP");
+
+const u8 gGiftRibbonDescriptionPart1_2005RegionalTourney[] = _(
+ "2005 REGIONAL TOURNEY");
+
+const u8 gGiftRibbonDescriptionPart1_2005NationalTourney[] = _(
+ "2005 NATIONAL TOURNEY");
+
+const u8 gGiftRibbonDescriptionPart1_2005GlobalCup[] = _(
+ "2005 GLOBAL CUP");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonBattleCup[] = _(
+ "POKéMON BATTLE CUP");
+
+const u8 gGiftRibbonDescriptionPart2_Participation[] = _(
+ "Participation RIBBON");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonLeague[] = _(
+ "POKéMON LEAGUE");
+
+const u8 gGiftRibbonDescriptionPart1_AdvanceCup[] = _(
+ "ADVANCE CUP");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonTournament[] = _(
+ "POKéMON Tournament");
+
+const u8 gGiftRibbonDescriptionPart2_Participation2[] = _(
+ "Participation RIBBON");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonEvent[] = _(
+ "POKéMON Event");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonFestival[] = _(
+ "POKéMON Festival");
+
+const u8 gGiftRibbonDescriptionPart1_DifficultyClearing[] = _(
+ "Difficulty-clearing");
+
+const u8 gGiftRibbonDescriptionPart2_Commemorative[] = _(
+ "Commemorative RIBBON");
+
+const u8 gGiftRibbonDescriptionPart1_ClearingAllDifficulties[] = _(
+ "RIBBON awarded for");
+
+const u8 gGiftRibbonDescriptionPart2_ClearingAllDifficulties[] = _(
+ "clearing all difficulties.");
+
+const u8 gGiftRibbonDescriptionPart1_100StraightWin[] = _(
+ "100-straight Win");
+
+const u8 gGiftRibbonDescriptionPart1_DarknessTower[] = _(
+ "DARKNESS TOWER Clear");
+
+const u8 gGiftRibbonDescriptionPart1_RedTower[] = _(
+ "RED TOWER Clear");
+
+const u8 gGiftRibbonDescriptionPart1_BlackironTower[] = _(
+ "BLACKIRON TOWER Clear");
+
+const u8 gGiftRibbonDescriptionPart1_FinalTower[] = _(
+ "FINAL TOWER Clear");
+
+const u8 gGiftRibbonDescriptionPart1_LegendMaking[] = _(
+ "Legend-making");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonCenterTokyo[] = _(
+ "POKéMON CENTER TOKYO");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonCenterOsaka[] = _(
+ "POKéMON CENTER OSAKA");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonCenterNagoya[] = _(
+ "POKéMON CENTER NAGOYA");
+
+const u8 gGiftRibbonDescriptionPart1_PokemonCenterNY[] = _(
+ "POKéMON CENTER NY");
+
+const u8 gGiftRibbonDescriptionPart1_SummerHolidays[] = _(
+ "Summer Holidays RIBBON");
+
+const u8 gGiftRibbonDescriptionPart2_EmptyString[] = _(
+ "");
+
+const u8 gGiftRibbonDescriptionPart1_WinterHolidays[] = _(
+ "Winter Holidays RIBBON");
+
+const u8 gGiftRibbonDescriptionPart1_SpringHolidays[] = _(
+ "Spring Holidays RIBBON");
+
+const u8 gGiftRibbonDescriptionPart1_Evergreen[] = _(
+ "Evergreen RIBBON");
+
+const u8 gGiftRibbonDescriptionPart1_SpecialHoliday[] = _(
+ "Special Holiday RIBBON");
+
+const u8 gGiftRibbonDescriptionPart1_HardWorker[] = _(
+ "Hard Worker RIBBON");
+
+const u8 gGiftRibbonDescriptionPart1_LotsOfFriends[] = _(
+ "Lots of Friends RIBBON");
+
+const u8 gGiftRibbonDescriptionPart1_FullOfEnergy[] = _(
+ "Full of Energy RIBBON");
+
+const u8 gGiftRibbonDescriptionPart1_LovedPokemon[] = _(
+ "A commemorative RIBBON");
+
+const u8 gGiftRibbonDescriptionPart2_LovedPokemon[] = _(
+ "for a loved POKéMON.");
+
+const u8 gGiftRibbonDescriptionPart1_LoveForPokemon[] = _(
+ "RIBBON that shows");
+
+const u8 gGiftRibbonDescriptionPart2_LoveForPokemon[] = _(
+ "love for POKéMON.");
+
+const u8 *const gGiftRibbonDescriptions[][2] =
+{
+ {gGiftRibbonDescriptionPart1_2003RegionalTourney, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2003NationalTourney, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2003GlobalCup, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2003RegionalTourney, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2003NationalTourney, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2003GlobalCup, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2003RegionalTourney, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_2003NationalTourney, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_2003GlobalCup, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_2004RegionalTourney, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2004NationalTourney, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2004GlobalCup, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2004RegionalTourney, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2004NationalTourney, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2004GlobalCup, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2004RegionalTourney, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_2004NationalTourney, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_2004GlobalCup, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_2005RegionalTourney, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2005NationalTourney, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2005GlobalCup, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_2005RegionalTourney, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2005NationalTourney, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2005GlobalCup, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_2005RegionalTourney, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_2005NationalTourney, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_2005GlobalCup, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_PokemonBattleCup, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_PokemonBattleCup, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_PokemonBattleCup, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_PokemonBattleCup, gGiftRibbonDescriptionPart2_Participation},
+ {gGiftRibbonDescriptionPart1_PokemonLeague, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_PokemonLeague, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_PokemonLeague, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_PokemonLeague, gGiftRibbonDescriptionPart2_Participation},
+ {gGiftRibbonDescriptionPart1_AdvanceCup, gGiftRibbonDescriptionPart2_Champion},
+ {gGiftRibbonDescriptionPart1_AdvanceCup, gGiftRibbonDescriptionPart2_RunnerUp},
+ {gGiftRibbonDescriptionPart1_AdvanceCup, gGiftRibbonDescriptionPart2_Semifinalist},
+ {gGiftRibbonDescriptionPart1_AdvanceCup, gGiftRibbonDescriptionPart2_Participation},
+ {gGiftRibbonDescriptionPart1_PokemonTournament, gGiftRibbonDescriptionPart2_Participation2},
+ {gGiftRibbonDescriptionPart1_PokemonEvent, gGiftRibbonDescriptionPart2_Participation2},
+ {gGiftRibbonDescriptionPart1_PokemonFestival, gGiftRibbonDescriptionPart2_Participation2},
+ {gGiftRibbonDescriptionPart1_DifficultyClearing, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_ClearingAllDifficulties, gGiftRibbonDescriptionPart2_ClearingAllDifficulties},
+ {gGiftRibbonDescriptionPart1_100StraightWin, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_DarknessTower, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_RedTower, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_BlackironTower, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_FinalTower, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_LegendMaking, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_PokemonCenterTokyo, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_PokemonCenterOsaka, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_PokemonCenterNagoya, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_PokemonCenterNY, gGiftRibbonDescriptionPart2_Commemorative},
+ {gGiftRibbonDescriptionPart1_SummerHolidays, gGiftRibbonDescriptionPart2_EmptyString},
+ {gGiftRibbonDescriptionPart1_WinterHolidays, gGiftRibbonDescriptionPart2_EmptyString},
+ {gGiftRibbonDescriptionPart1_SpringHolidays, gGiftRibbonDescriptionPart2_EmptyString},
+ {gGiftRibbonDescriptionPart1_Evergreen, gGiftRibbonDescriptionPart2_EmptyString},
+ {gGiftRibbonDescriptionPart1_SpecialHoliday, gGiftRibbonDescriptionPart2_EmptyString},
+ {gGiftRibbonDescriptionPart1_HardWorker, gGiftRibbonDescriptionPart2_EmptyString},
+ {gGiftRibbonDescriptionPart1_LotsOfFriends, gGiftRibbonDescriptionPart2_EmptyString},
+ {gGiftRibbonDescriptionPart1_FullOfEnergy, gGiftRibbonDescriptionPart2_EmptyString},
+ {gGiftRibbonDescriptionPart1_LovedPokemon, gGiftRibbonDescriptionPart2_LovedPokemon},
+ {gGiftRibbonDescriptionPart1_LoveForPokemon, gGiftRibbonDescriptionPart2_LoveForPokemon},
+};
diff --git a/src/data/text/ribbon_descriptions_de.h b/src/data/text/ribbon_descriptions_de.h
new file mode 100644
index 000000000..2fef7fb7b
--- /dev/null
+++ b/src/data/text/ribbon_descriptions_de.h
@@ -0,0 +1,67 @@
+const u8 gRibbonDescriptionPart1_Champion[] = _(
+ "BAND für unschlagbare");
+const u8 gRibbonDescriptionPart2_Champion[] = _(
+ "RUHMESHALLE-Mitglieder");
+const u8 gRibbonDescriptionPart1_CoolContest[] = _(
+ "COOLNESS-WETTBEWERB");
+const u8 gRibbonDescriptionPart1_BeautyContest[] = _(
+ "SCHÖNHEITSWETTBEWERB");
+const u8 gRibbonDescriptionPart1_CuteContest[] = _(
+ "ANMUT-WETTBEWERB");
+const u8 gRibbonDescriptionPart1_SmartContest[] = _(
+ "KLUGHEITSWETTBEWERB");
+const u8 gRibbonDescriptionPart1_ToughContest[] = _(
+ "STÄRKE-WETTBEWERB");
+const u8 gRibbonDescriptionPart2_NormalRank[] = _(
+ "Sieger in Normal-Klasse!");
+const u8 gRibbonDescriptionPart2_SuperRank[] = _(
+ "Sieger in Super-Klasse!");
+const u8 gRibbonDescriptionPart2_HyperRank[] = _(
+ "Sieger in Hyper-Klasse!");
+const u8 gRibbonDescriptionPart2_MasterRank[] = _(
+ "Sieger in Master-Klasse!");
+const u8 gRibbonDescriptionPart1_Winning[] = _(
+ "BAND für Lv. 50-Erfolg");
+const u8 gRibbonDescriptionPart2_Winning[] = _(
+ "im DUELLTURM.");
+const u8 gRibbonDescriptionPart1_Victory[] = _(
+ "Für Erfolg in Lv. 100");
+const u8 gRibbonDescriptionPart2_Victory[] = _(
+ "im DUELLTURM.");
+const u8 gRibbonDescriptionPart1_Artist[] = _(
+ "Band für auserwählte");
+const u8 gRibbonDescriptionPart2_Artist[] = _(
+ "Porträt-Modelle.");
+const u8 gRibbonDescriptionPart1_Effort[] = _(
+ "BAND für");
+const u8 gRibbonDescriptionPart2_Effort[] = _(
+ "fleißige Arbeiter.");
+
+const u8 *const gRibbonDescriptions[][2] =
+{
+ {gRibbonDescriptionPart1_Champion, gRibbonDescriptionPart2_Champion},
+ {gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_NormalRank},
+ {gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_SuperRank},
+ {gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_HyperRank},
+ {gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_MasterRank},
+ {gRibbonDescriptionPart1_BeautyContest, gRibbonDescriptionPart2_NormalRank},
+ {gRibbonDescriptionPart1_BeautyContest, gRibbonDescriptionPart2_SuperRank},
+ {gRibbonDescriptionPart1_BeautyContest, gRibbonDescriptionPart2_HyperRank},
+ {gRibbonDescriptionPart1_BeautyContest, gRibbonDescriptionPart2_MasterRank},
+ {gRibbonDescriptionPart1_CuteContest, gRibbonDescriptionPart2_NormalRank},
+ {gRibbonDescriptionPart1_CuteContest, gRibbonDescriptionPart2_SuperRank},
+ {gRibbonDescriptionPart1_CuteContest, gRibbonDescriptionPart2_HyperRank},
+ {gRibbonDescriptionPart1_CuteContest, gRibbonDescriptionPart2_MasterRank},
+ {gRibbonDescriptionPart1_SmartContest, gRibbonDescriptionPart2_NormalRank},
+ {gRibbonDescriptionPart1_SmartContest, gRibbonDescriptionPart2_SuperRank},
+ {gRibbonDescriptionPart1_SmartContest, gRibbonDescriptionPart2_HyperRank},
+ {gRibbonDescriptionPart1_SmartContest, gRibbonDescriptionPart2_MasterRank},
+ {gRibbonDescriptionPart1_ToughContest, gRibbonDescriptionPart2_NormalRank},
+ {gRibbonDescriptionPart1_ToughContest, gRibbonDescriptionPart2_SuperRank},
+ {gRibbonDescriptionPart1_ToughContest, gRibbonDescriptionPart2_HyperRank},
+ {gRibbonDescriptionPart1_ToughContest, gRibbonDescriptionPart2_MasterRank},
+ {gRibbonDescriptionPart1_Winning, gRibbonDescriptionPart2_Winning},
+ {gRibbonDescriptionPart1_Victory, gRibbonDescriptionPart2_Victory},
+ {gRibbonDescriptionPart1_Artist, gRibbonDescriptionPart2_Artist},
+ {gRibbonDescriptionPart1_Effort, gRibbonDescriptionPart2_Effort},
+};
diff --git a/src/data/text/ribbon_descriptions_en.h b/src/data/text/ribbon_descriptions_en.h
new file mode 100644
index 000000000..5a314d2a6
--- /dev/null
+++ b/src/data/text/ribbon_descriptions_en.h
@@ -0,0 +1,85 @@
+const u8 gRibbonDescriptionPart1_Champion[] = _(
+ "CHAMPION-beating, HALL");
+
+const u8 gRibbonDescriptionPart2_Champion[] = _(
+ "OF FAME Member RIBBON");
+
+const u8 gRibbonDescriptionPart1_CoolContest[] = _(
+ "COOL CONTEST");
+
+const u8 gRibbonDescriptionPart1_BeautyContest[] = _(
+ "BEAUTY CONTEST");
+
+const u8 gRibbonDescriptionPart1_CuteContest[] = _(
+ "CUTE CONTEST");
+
+const u8 gRibbonDescriptionPart1_SmartContest[] = _(
+ "SMART CONTEST");
+
+const u8 gRibbonDescriptionPart1_ToughContest[] = _(
+ "TOUGH CONTEST");
+
+const u8 gRibbonDescriptionPart2_NormalRank[] = _(
+ "Normal Rank winner!");
+
+const u8 gRibbonDescriptionPart2_SuperRank[] = _(
+ "Super Rank winner!");
+
+const u8 gRibbonDescriptionPart2_HyperRank[] = _(
+ "Hyper Rank winner!");
+
+const u8 gRibbonDescriptionPart2_MasterRank[] = _(
+ "Master Rank winner!");
+
+const u8 gRibbonDescriptionPart1_Winning[] = _(
+ "RIBBON for clearing LV50");
+
+const u8 gRibbonDescriptionPart2_Winning[] = _(
+ "at the BATTLE TOWER.");
+
+const u8 gRibbonDescriptionPart1_Victory[] = _(
+ "Won for clearing LV100");
+
+const u8 gRibbonDescriptionPart2_Victory[] = _(
+ "at the BATTLE TOWER.");
+
+const u8 gRibbonDescriptionPart1_Artist[] = _(
+ "RIBBON for being chosen");
+
+const u8 gRibbonDescriptionPart2_Artist[] = _(
+ "as a super sketch model.");
+
+const u8 gRibbonDescriptionPart1_Effort[] = _(
+ "RIBBON awarded for");
+
+const u8 gRibbonDescriptionPart2_Effort[] = _(
+ "being a hard worker.");
+
+const u8 *const gRibbonDescriptions[][2] =
+{
+ {gRibbonDescriptionPart1_Champion, gRibbonDescriptionPart2_Champion},
+ {gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_NormalRank},
+ {gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_SuperRank},
+ {gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_HyperRank},
+ {gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_MasterRank},
+ {gRibbonDescriptionPart1_BeautyContest, gRibbonDescriptionPart2_NormalRank},
+ {gRibbonDescriptionPart1_BeautyContest, gRibbonDescriptionPart2_SuperRank},
+ {gRibbonDescriptionPart1_BeautyContest, gRibbonDescriptionPart2_HyperRank},
+ {gRibbonDescriptionPart1_BeautyContest, gRibbonDescriptionPart2_MasterRank},
+ {gRibbonDescriptionPart1_CuteContest, gRibbonDescriptionPart2_NormalRank},
+ {gRibbonDescriptionPart1_CuteContest, gRibbonDescriptionPart2_SuperRank},
+ {gRibbonDescriptionPart1_CuteContest, gRibbonDescriptionPart2_HyperRank},
+ {gRibbonDescriptionPart1_CuteContest, gRibbonDescriptionPart2_MasterRank},
+ {gRibbonDescriptionPart1_SmartContest, gRibbonDescriptionPart2_NormalRank},
+ {gRibbonDescriptionPart1_SmartContest, gRibbonDescriptionPart2_SuperRank},
+ {gRibbonDescriptionPart1_SmartContest, gRibbonDescriptionPart2_HyperRank},
+ {gRibbonDescriptionPart1_SmartContest, gRibbonDescriptionPart2_MasterRank},
+ {gRibbonDescriptionPart1_ToughContest, gRibbonDescriptionPart2_NormalRank},
+ {gRibbonDescriptionPart1_ToughContest, gRibbonDescriptionPart2_SuperRank},
+ {gRibbonDescriptionPart1_ToughContest, gRibbonDescriptionPart2_HyperRank},
+ {gRibbonDescriptionPart1_ToughContest, gRibbonDescriptionPart2_MasterRank},
+ {gRibbonDescriptionPart1_Winning, gRibbonDescriptionPart2_Winning},
+ {gRibbonDescriptionPart1_Victory, gRibbonDescriptionPart2_Victory},
+ {gRibbonDescriptionPart1_Artist, gRibbonDescriptionPart2_Artist},
+ {gRibbonDescriptionPart1_Effort, gRibbonDescriptionPart2_Effort},
+};
diff --git a/src/data/text/trainer_eye_descriptions_de.h b/src/data/text/trainer_eye_descriptions_de.h
new file mode 100644
index 000000000..4f3be5fe4
--- /dev/null
+++ b/src/data/text/trainer_eye_descriptions_de.h
@@ -0,0 +1,486 @@
+static const u8 TrainerEyeDescription_AromaLady_Rose[] = _(
+ "Emotionen beruhigen.$"
+ "Duftende PFLANZEN-PKMN.$"
+ "Beruhigende Aromen reini-$"
+ "gen Körper und Geist.");
+
+static const u8 TrainerEyeDescription_RuinManiac_Dusty[] = _(
+ "Durch Stärke überzeugen!$"
+ "Felsige GESTEINS-PKMN.$"
+ "Während des Studiums der$"
+ "Antike sehe ich die Welt.");
+
+static const u8 TrainerEyeDescription_Tuber_Lola[] = _(
+ "Ich strenge mich stets an!$"
+ "PKMN, die gut schwimmen.$"
+ "Ich würde gerne ohne den$"
+ "Reifen schwimmen können.");
+
+static const u8 TrainerEyeDescription_Tuber_Ricky[] = _(
+ "Ich versuche einfach alles.$"
+ "WASSER-PKMN sind Kumpel.$"
+ "Ich kann schwimmen! Ich$"
+ "mag halt den Schwimmreifen!");
+
+static const u8 TrainerEyeDescription_SisAndBro_RitaAndSam[] = _(
+ "Wir teilen die Arbeit auf.$"
+ "Wir lieben freundliche PKMN.$"
+ "Wir teilen die Liebe zu den$"
+ "PKMN. Wir sind Geschwister!");
+
+static const u8 TrainerEyeDescription_Cooltrainer_Brooke[] = _(
+ "Schwächen erkennen.$"
+ "Gleichgewicht ist wichtig.$"
+ "Mein Ziel ist es, der$"
+ "PKMN-CHAMP zu werden.");
+
+static const u8 TrainerEyeDescription_Cooltrainer_Wilton[] = _(
+ "Den Gegner umwerfen.$"
+ "Der PKMN-Typ ist unwichtig.$"
+ "Ich bin der beste Schüler$"
+ "der PKMN TRAINERSCHULE.");
+
+static const u8 TrainerEyeDescription_HexManiac_Valerie[] = _(
+ "Langsames Niederringen.$"
+ "Nachts Furcht einflößend.$"
+ "Ich sehe Dinge, die den$"
+ "anderen verborgen sind...");
+
+static const u8 TrainerEyeDescription_Lady_Cindy[] = _(
+ "Alles, was zum Sieg führt.$"
+ "Hinreißende Wesen!$"
+ "Ich habe zu Hause einen$"
+ "Pool für meine PKMN.");
+
+static const u8 TrainerEyeDescription_Beauty_Jessica[] = _(
+ "Ich bringe dich vom Weg ab.$"
+ "Niedlich, natürlich!$"
+ "Ich liebe die SAFARI-ZONE,$"
+ "dort werde ich bleiben.");
+
+static const u8 TrainerEyeDescription_RichBoy_Winston[] = _(
+ "Wer braucht Strategie?!?$"
+ "Alle, die gut und teuer sind.$"
+ "Ich bin reich. Und daher$"
+ "besitze ich ein PKMN-Bett.");
+
+static const u8 TrainerEyeDescription_PokeManiac_Steve[] = _(
+ "Durch Stärke gewinnen!$"
+ "Habe sie nachts gefangen...$"
+ "Große, kräftige und zähe$"
+ "POKéMON sind die besten...");
+
+static const u8 TrainerEyeDescription_Swimmer_Tony[] = _(
+ "Volle Pulle zuschlagen!$"
+ "Funky WASSER-PKMN!$"
+ "Wenn ich nicht schwimme,$"
+ "stemme ich Gewichte!");
+
+static const u8 TrainerEyeDescription_BlackBelt_Nob[] = _(
+ "Immer gewinnen!$"
+ "KAMPF-PKMN!$"
+ "Ohne zu prahlen: Ich kann$"
+ "10 Ziegel zerschmettern!");
+
+static const u8 TrainerEyeDescription_Guitarist_Dalton[] = _(
+ "Ich elektrisiere dich!$"
+ "Es sind ELEKTRO-PKMN.$"
+ "Ich bringe die Menschen mit$"
+ "meinen Liedern zum Weinen.");
+
+static const u8 TrainerEyeDescription_Kindler_Bernie[] = _(
+ "Alles niederbrennen!$"
+ "Feuergefährliche POKéMON!$"
+ "Neben einem Lagerfeuer$"
+ "sollte stets Wasser stehen!");
+
+static const u8 TrainerEyeDescription_Camper_Ethan[] = _(
+ "Man muss hartnäckig sein.$"
+ "Jede Art von POKéMON.$"
+ "PKMN, die in der Wildnis auf-$"
+ "wachsen, werden stark!");
+
+static const u8 TrainerEyeDescription_OldCouple_JohnAndJay[] = _(
+ "Unsere Liebe schlägt alles.$"
+ "Wir haben sie seit Jahren.$"
+ "In 50 Jahren Ehe waren$"
+ "wir den PKMN immer treu.");
+
+static const u8 TrainerEyeDescription_BugManiac_Brandon[] = _(
+ "Wellenförmiger Angriff!$"
+ "KÄFER-PKMN sind cool!$"
+ "Ich gehe jeden Tag in den$"
+ "Wald, KÄFER-PKMN fangen.");
+
+static const u8 TrainerEyeDescription_Psychic_Cameron[] = _(
+ "Schwächen und verwirren!$"
+ "Solche mit irren Kräften.$"
+ "Ich kann deine Gedanken$"
+ "klar und deutlich lesen.");
+
+static const u8 TrainerEyeDescription_Psychic_Jacki[] = _(
+ "Mit vollem Einsatz kämpfen.$"
+ "Geheimnisvolle POKéMON.$"
+ "Wenn ich spreche,$"
+ "setze ich Telepathie ein.");
+
+static const u8 TrainerEyeDescription_Gentleman_Walter[] = _(
+ "Ruhig, gesammelt vorgehen.$"
+ "Ganz verschiedene PKMN.$"
+ "Wir genießen die tägliche$"
+ "Tasse Tee.");
+
+static const u8 TrainerEyeDescription_SchoolKid_Karen[] = _(
+ "Ich kämpfe mit Köpfchen.$"
+ "Ich liebe jedes PKMN.$"
+ "Schreibe ich gute Noten,$"
+ "gibt Papi mir Geld.");
+
+static const u8 TrainerEyeDescription_SchoolKid_Jerry[] = _(
+ "Mein Wissen ist Macht!$"
+ "Jedes clevere PKMN.$"
+ "Ich will später ein großer$"
+ "PKMN-Forscher werden.");
+
+static const u8 TrainerEyeDescription_SrAndJr_AnnaAndMeg[] = _(
+ "Wir sprechen uns ab.$"
+ "PKMN, die wir beide mögen.$"
+ "Wir sind Senior und Junior$"
+ "im Studium der PKMN.");
+
+static const u8 TrainerEyeDescription_Pokefan_Isabel[] = _(
+ "Los geht's, meine Lieben!$"
+ "Ich mag sie alle!$"
+ "Auch beim Einkaufen lasse$"
+ "ich keinen Kampf aus!");
+
+static const u8 TrainerEyeDescription_Pokefan_Miguel[] = _(
+ "Ich kämpfe mit dem Herzen.$"
+ "PKMN, die Liebe erfahren!$"
+ "PKMN und Menschen müssen$"
+ "Vertrauen aufbauen!");
+
+static const u8 TrainerEyeDescription_Expert_Timothy[] = _(
+ "Ich durchschaue Gegner!$"
+ "Die Basis des Kampfes.$"
+ "Ich bin noch nicht bereit,$"
+ "Jüngeren Platz zu machen.");
+
+static const u8 TrainerEyeDescription_Expert_Shelby[] = _(
+ "Angriff als Verteidigung!$"
+ "KAMPF-PKMN!$"
+ "Ich bin alt und habe daher$"
+ "meinen eigenen Stil.");
+
+static const u8 TrainerEyeDescription_Youngster_Calvin[] = _(
+ "Ich tue, was ich kann.$"
+ "Verschiedene Arten.$"
+ "Ich will irgendwann einen$"
+ "ARENALEITER besiegen!");
+
+static const u8 TrainerEyeDescription_Fisherman_Elliot[] = _(
+ "Geduld und Spucke.$"
+ "WASSER-PKMN!$"
+ "Niemand vor mir hat je$"
+ "etwas Größeres gefangen!");
+
+static const u8 TrainerEyeDescription_Triathlete_Abigail[] = _(
+ "Verteidigung ist die Basis.$"
+ "Kraftvolle PKMN!$"
+ "Dies war als Diät gedacht,$"
+ "jetzt ist es mein Hobby.");
+
+static const u8 TrainerEyeDescription_Triathlete_Benjamin[] = _(
+ "Weiter, immer weiter!$"
+ "Die Stärke von STAHL...$"
+ "Wenn du schwitzt, musst du$"
+ "regelmäßig etwas trinken!");
+
+static const u8 TrainerEyeDescription_Triathlete_Isaiah[] = _(
+ "Die Umgebung erforschen.$"
+ "WASSER-PKMN!$"
+ "Ich lasse mich nicht von$"
+ "Strandhäschen besiegen.");
+
+static const u8 TrainerEyeDescription_Triathlete_Katelyn[] = _(
+ "Stets Offensive zeigen!$"
+ "Nur WASSER-PKMN...$"
+ "Ich muss jeden Tag$"
+ "10 Kilometer schwimmen.");
+
+static const u8 TrainerEyeDescription_Triathlete_Maria[] = _(
+ "Geschwindigkeit ist alles!$"
+ "Ich liebe schnelle PKMN.$"
+ "Beim Marathon forderst du$"
+ "dich selbst heraus.");
+
+static const u8 TrainerEyeDescription_Triathlete_Dylan[] = _(
+ "Schneller als andere sein.$"
+ "Ein rasend schnelles PKMN!$"
+ "Rennt man rasend schnell,$"
+ "wird man eins mit dem Wind.");
+
+static const u8 TrainerEyeDescription_DragonTamer_Nicolas[] = _(
+ "Die Stärke der PKMN nutzen.$"
+ "Sieh die Macht der DRACHEN!$"
+ "Eines Tages werde ich zur$"
+ "Legende!!!");
+
+static const u8 TrainerEyeDescription_BirdKeeper_Robert[] = _(
+ "Ich zeige dir die Technik!$"
+ "Elegant kreisende VÖGEL.$"
+ "Meine VOGEL-PKMN bringen$"
+ "dem Mädchen meine Liebe!");
+
+static const u8 TrainerEyeDescription_NinjaBoy_Lao[] = _(
+ "Du wirst Gift schmecken!$"
+ "Giftige PKMN.$"
+ "Ich trainiere hart, um ein$"
+ "Ninja zu werden.");
+
+static const u8 TrainerEyeDescription_BattleGirl_Cyndy[] = _(
+ "Der Erstschlag siegt!$"
+ "Schnelle KAMPF-PKMN.$"
+ "Wenn mein PKMN verliert,$"
+ "kämpfe ich doch weiter.");
+
+static const u8 TrainerEyeDescription_ParasolLady_Madeline[] = _(
+ "Los, los, meine PKMN!$"
+ "Ich mag alle PKMN.$"
+ "UV-Strahlen sind die Feinde$"
+ "der Haut. Creme dich ein!");
+
+static const u8 TrainerEyeDescription_Swimmer_Jenny[] = _(
+ "Keine Gnade!$"
+ "Niedliche WASSER-PKMN.$"
+ "Ich habe zu viele Fans, ich$"
+ "war nämlich im Fernsehen.");
+
+static const u8 TrainerEyeDescription_Picnicker_Diana[] = _(
+ "Ich probiere dies und das.$"
+ "Ich liebe alle PKMN.$"
+ "Was liegt hinter diesem$"
+ "hohen Berg dort?");
+
+static const u8 TrainerEyeDescription_Twins_AmyAndLiv[] = _(
+ "Wir kämpfen zusammen!$"
+ "Wir trainieren zusammen!$"
+ "Wir lieben die gleichen PKMN$"
+ "und verschiedene Desserts.");
+
+static const u8 TrainerEyeDescription_Sailor_Ernest[] = _(
+ "Ich setze Stärke ein.$"
+ "WASSER- und KAMPF-PKMN.$"
+ "Matrosen sind raue Typen!$"
+ "Irgendwelche Einwände?");
+
+static const u8 TrainerEyeDescription_Collector_Edwin[] = _(
+ "PKMN vor Schaden bewahren.$"
+ "Ich liebe seltene PKMN.$"
+ "Ich möchte seltene PKMN$"
+ "aus aller Welt sammeln.");
+
+static const u8 TrainerEyeDescription_PkmnBreeder_Lydia[] = _(
+ "Meine Stärke...$"
+ "PKMN sind meine Kinder.$"
+ "Man benötigt Wissen und$"
+ "Liebe im Umgang mit PKMN.");
+
+static const u8 TrainerEyeDescription_PkmnBreeder_Isaac[] = _(
+ "Angriff aus vollen Rohren!$"
+ "Jedes PKMN kommt in Frage.$"
+ "Ich gebe ihnen {POKEBLOCK}, um$"
+ "in WETTBEWERBEN zu siegen.");
+
+static const u8 TrainerEyeDescription_PkmnRanger_Catherine[] = _(
+ "Ich glaube an meine PKMN.$"
+ "Ich liebe starke PKMN.$"
+ "Ich bilde meine PKMN zu$"
+ "einem Rettungsteam aus.");
+
+static const u8 TrainerEyeDescription_PkmnRanger_Jackson[] = _(
+ "Ich greife in Etappen an.$"
+ "Verschiedene Arten.$"
+ "Umweltverschmutzern darf$"
+ "man niemals vergeben!");
+
+static const u8 TrainerEyeDescription_Lass_Haley[] = _(
+ "Ich zeige meinen Mut.$"
+ "Ich liebe niedliche PKMN!$"
+ "Nach einem Kampf gehe ich$"
+ "mit meinen PKMN schwimmen.");
+
+static const u8 TrainerEyeDescription_BugCatcher_James[] = _(
+ "Blitzschnelle Attacken.$"
+ "KÄFER-PKMN sind das Beste!$"
+ "Um KÄFER-PKMN zu fangen,$"
+ "musst du früh aufstehen.");
+
+static const u8 TrainerEyeDescription_Hiker_Trent[] = _(
+ "Ich kämpfe mit Stärke.$"
+ "PKMN mit hartem Körper.$"
+ "Ich habe diese Wanderung$"
+ "einen Monat vorbereitet.");
+
+static const u8 TrainerEyeDescription_YoungCouple_LoisAndHal[] = _(
+ "Liebevolle Strategie!$"
+ "Liebevolle PKMN!$"
+ "Wir sind liebevoll!$"
+ "Immer liebevoll!");
+
+static const u8 TrainerEyeDescription_PkmnTrainer_Wally[] = _(
+ "Wir lassen alles raus.$"
+ "Das 1. PKMN, das ich fing.$"
+ "Die PKMN und ich sind$"
+ "zusammen gewachsen.");
+
+static const u8 TrainerEyeDescription_Leader_Roxanne[] = _(
+ "Steinharte Attacken.$"
+ "Steinharte PKMN...$"
+ "Ich möchte durch Kämpfe$"
+ "alles über PKMN lernen.");
+
+static const u8 TrainerEyeDescription_Leader_Brawly[] = _(
+ "Direkte physische Attacke.$"
+ "Ich baue auf KAMPF-PKMN.$"
+ "Die Welt erwartet mich, als$"
+ "neuen, starken Kämpfer.");
+
+static const u8 TrainerEyeDescription_Leader_Wattson[] = _(
+ "Elektrisieren... Britzel...$"
+ "Elektrizität bestimmt alles.$"
+ "Hahahahaha! Lachen hält$"
+ "gesund und jung!");
+
+static const u8 TrainerEyeDescription_Leader_Flannery[] = _(
+ "Aggressiv kämpfen.$"
+ "Brennen vor Leidenschaft!$"
+ "Spül die tägliche Müdigkeit$"
+ "in den Heißen Quellen ab.");
+
+static const u8 TrainerEyeDescription_Leader_Norman[] = _(
+ "Mein Stil ist flexibel.$"
+ "Gleichmäßig gewachsen.$"
+ "PKMN sind mein Leben. Mein$"
+ "Weg des Lebens ist steinig.");
+
+static const u8 TrainerEyeDescription_Leader_Winona[] = _(
+ "Ich nutze die Initiative.$"
+ "Anmutige Himmelstänzer.$"
+ "Ich sehe das Auf und Ab$"
+ "der Winde.");
+
+static const u8 TrainerEyeDescription_Leader_TateAndLiza[] = _(
+ "Wir kämpfen zusammen.$"
+ "Immer freundliche PKMN.$"
+ "Wir verstehen uns.$"
+ "Und wir verstehen andere.");
+
+static const u8 TrainerEyeDescription_Leader_Wallace[] = _(
+ "Würde und Respekt.$"
+ "Ich liebe anmutige PKMN.$"
+ "Wasserillusionen unter-$"
+ "streichen meinen Stil.");
+
+static const u8 TrainerEyeDescription_EliteFour_Sidney[] = _(
+ "Offensive vor Defensive.$"
+ "Das Schöne des UNLICHTS.$"
+ "Du kannst sagen, was du$"
+ "willst, Macht ist alles!");
+
+static const u8 TrainerEyeDescription_EliteFour_Phoebe[] = _(
+ "Verwirrend verwirren.$"
+ "Keine besondere Vorliebe.$"
+ "Wie es wohl meiner Oma am$"
+ "PYROBERG geht?");
+
+static const u8 TrainerEyeDescription_EliteFour_Glacia[] = _(
+ "Ich setze Items ein.$"
+ "Flammendes Inferno in Eis.$"
+ "Der EIS-Typ entwickelt$"
+ "sich gut an warmen Orten.");
+
+static const u8 TrainerEyeDescription_EliteFour_Drake[] = _(
+ "Starke Fähigkeiten nutzen.$"
+ "Die rohe Kraft der DRACHEN.$"
+ "Beim täglichen Kampf lerne$"
+ "ich alles über PKMN.");
+
+static const u8 TrainerEyeDescription_Champion_Steven[] = _(
+ "Die gegn. Schwäche nutzen.$"
+ "Das ultimative STAHL-PKMN.$"
+ "Wenn es drauf ankommt,$"
+ "bin ich am stärksten!");
+
+const u8 *const gTrainerEyeDescriptions[] =
+{
+ TrainerEyeDescription_AromaLady_Rose,
+ TrainerEyeDescription_RuinManiac_Dusty,
+ TrainerEyeDescription_Tuber_Lola,
+ TrainerEyeDescription_Tuber_Ricky,
+ TrainerEyeDescription_SisAndBro_RitaAndSam,
+ TrainerEyeDescription_Cooltrainer_Brooke,
+ TrainerEyeDescription_Cooltrainer_Wilton,
+ TrainerEyeDescription_HexManiac_Valerie,
+ TrainerEyeDescription_Lady_Cindy,
+ TrainerEyeDescription_Beauty_Jessica,
+ TrainerEyeDescription_RichBoy_Winston,
+ TrainerEyeDescription_PokeManiac_Steve,
+ TrainerEyeDescription_Swimmer_Tony,
+ TrainerEyeDescription_BlackBelt_Nob,
+ TrainerEyeDescription_Guitarist_Dalton,
+ TrainerEyeDescription_Kindler_Bernie,
+ TrainerEyeDescription_Camper_Ethan,
+ TrainerEyeDescription_OldCouple_JohnAndJay,
+ TrainerEyeDescription_BugManiac_Brandon,
+ TrainerEyeDescription_Psychic_Cameron,
+ TrainerEyeDescription_Psychic_Jacki,
+ TrainerEyeDescription_Gentleman_Walter,
+ TrainerEyeDescription_SchoolKid_Karen,
+ TrainerEyeDescription_SchoolKid_Jerry,
+ TrainerEyeDescription_SrAndJr_AnnaAndMeg,
+ TrainerEyeDescription_Pokefan_Isabel,
+ TrainerEyeDescription_Pokefan_Miguel,
+ TrainerEyeDescription_Expert_Timothy,
+ TrainerEyeDescription_Expert_Shelby,
+ TrainerEyeDescription_Youngster_Calvin,
+ TrainerEyeDescription_Fisherman_Elliot,
+ TrainerEyeDescription_Triathlete_Abigail,
+ TrainerEyeDescription_Triathlete_Benjamin,
+ TrainerEyeDescription_Triathlete_Isaiah,
+ TrainerEyeDescription_Triathlete_Katelyn,
+ TrainerEyeDescription_Triathlete_Maria,
+ TrainerEyeDescription_Triathlete_Dylan,
+ TrainerEyeDescription_DragonTamer_Nicolas,
+ TrainerEyeDescription_BirdKeeper_Robert,
+ TrainerEyeDescription_NinjaBoy_Lao,
+ TrainerEyeDescription_BattleGirl_Cyndy,
+ TrainerEyeDescription_ParasolLady_Madeline,
+ TrainerEyeDescription_Swimmer_Jenny,
+ TrainerEyeDescription_Picnicker_Diana,
+ TrainerEyeDescription_Twins_AmyAndLiv,
+ TrainerEyeDescription_Sailor_Ernest,
+ TrainerEyeDescription_Collector_Edwin,
+ TrainerEyeDescription_PkmnBreeder_Lydia,
+ TrainerEyeDescription_PkmnBreeder_Isaac,
+ TrainerEyeDescription_PkmnRanger_Catherine,
+ TrainerEyeDescription_PkmnRanger_Jackson,
+ TrainerEyeDescription_Lass_Haley,
+ TrainerEyeDescription_BugCatcher_James,
+ TrainerEyeDescription_Hiker_Trent,
+ TrainerEyeDescription_YoungCouple_LoisAndHal,
+ TrainerEyeDescription_PkmnTrainer_Wally,
+ TrainerEyeDescription_Leader_Roxanne,
+ TrainerEyeDescription_Leader_Brawly,
+ TrainerEyeDescription_Leader_Wattson,
+ TrainerEyeDescription_Leader_Flannery,
+ TrainerEyeDescription_Leader_Norman,
+ TrainerEyeDescription_Leader_Winona,
+ TrainerEyeDescription_Leader_TateAndLiza,
+ TrainerEyeDescription_Leader_Wallace,
+ TrainerEyeDescription_EliteFour_Sidney,
+ TrainerEyeDescription_EliteFour_Phoebe,
+ TrainerEyeDescription_EliteFour_Glacia,
+ TrainerEyeDescription_EliteFour_Drake,
+ TrainerEyeDescription_Champion_Steven
+};
diff --git a/src/data/text/trainer_eye_descriptions_en.h b/src/data/text/trainer_eye_descriptions_en.h
new file mode 100644
index 000000000..bc07c3f5b
--- /dev/null
+++ b/src/data/text/trainer_eye_descriptions_en.h
@@ -0,0 +1,486 @@
+static const u8 TrainerEyeDescription_AromaLady_Rose[] = _(
+ "Becalm fighting emotions.$"
+ "Fragrant GRASS POKéMON$"
+ "Soothing aromas make the$"
+ "body and mind healthy.");
+
+static const u8 TrainerEyeDescription_RuinManiac_Dusty[] = _(
+ "Overwhelm with power!$"
+ "Craggy ROCK POKéMON$"
+ "In search of ancient lore,$"
+ "I travel the world.");
+
+static const u8 TrainerEyeDescription_Tuber_Lola[] = _(
+ "I'm going to try hard!$"
+ "Good swimmer POKéMON$"
+ "I wish I could swim without$"
+ "using an inner tube.");
+
+static const u8 TrainerEyeDescription_Tuber_Ricky[] = _(
+ "I don't know. I'll try hard.$"
+ "WATER POKéMON are buddies.$"
+ "It's not like I can't swim.$"
+ "I just like my inner tube.");
+
+static const u8 TrainerEyeDescription_SisAndBro_RitaAndSam[] = _(
+ "We split our duties.$"
+ "We like friendly POKéMON.$"
+ "We enjoy POKéMON together$"
+ "as sister and brother.");
+
+static const u8 TrainerEyeDescription_Cooltrainer_Brooke[] = _(
+ "Exploit the foe's weakness.$"
+ "Balance is crucial.$"
+ "My goal is to become the$"
+ "POKéMON CHAMPION.");
+
+static const u8 TrainerEyeDescription_Cooltrainer_Wilton[] = _(
+ "Upset the opponent.$"
+ "Type doesn't matter.$"
+ "I'm a top student at the$"
+ "TRAINER'S SCHOOL.");
+
+static const u8 TrainerEyeDescription_HexManiac_Valerie[] = _(
+ "Slow, steady suffering$"
+ "Scary to meet at night.$"
+ "I see things that others$"
+ "can't see...");
+
+static const u8 TrainerEyeDescription_Lady_Cindy[] = _(
+ "Anything to win.$"
+ "Gorgeous type!$"
+ "I have a pool specially for$"
+ "my POKéMON at home.");
+
+static const u8 TrainerEyeDescription_Beauty_Jessica[] = _(
+ "I'll lead you astray.$"
+ "Cute, of course.$"
+ "I love the SAFARI ZONE.$"
+ "I seem to end up there.");
+
+static const u8 TrainerEyeDescription_RichBoy_Winston[] = _(
+ "Strategy? Who needs it?$"
+ "I spent big money on it!$"
+ "I, being rich, sleep in a$"
+ "custom POKéMON bed.");
+
+static const u8 TrainerEyeDescription_PokeManiac_Steve[] = _(
+ "Wrestle down with power.$"
+ "Took all night to catch...$"
+ "Big, burly, and buff$"
+ "POKéMON are the best...");
+
+static const u8 TrainerEyeDescription_Swimmer_Tony[] = _(
+ "Ram at full speed!$"
+ "Funky WATER type!$"
+ "If I can't be out swimming,$"
+ "I'll be pumping weights.");
+
+static const u8 TrainerEyeDescription_BlackBelt_Nob[] = _(
+ "Grand slam pummeling!$"
+ "FIGHTING type$"
+ "Not to brag, but I can bust$"
+ "ten roof tiles!");
+
+static const u8 TrainerEyeDescription_Guitarist_Dalton[] = _(
+ "I'll electrify you!$"
+ "They're ELECTRIC!$"
+ "I want to make people cry$"
+ "with songs from my heart.");
+
+static const u8 TrainerEyeDescription_Kindler_Bernie[] = _(
+ "Burn it all down!$"
+ "Burn-inducing POKéMON$"
+ "When you light a campfire,$"
+ "be sure there's some water.");
+
+static const u8 TrainerEyeDescription_Camper_Ethan[] = _(
+ "Hang in and be tenacious!$"
+ "I'll raise any POKéMON.$"
+ "POKéMON raised in the wild$"
+ "grow strong!");
+
+static const u8 TrainerEyeDescription_OldCouple_JohnAndJay[] = _(
+ "Our love lets us prevail.$"
+ "We've had them for years.$"
+ "Married 50 years, we've$"
+ "devotedly raised POKéMON.");
+
+static const u8 TrainerEyeDescription_BugManiac_Brandon[] = _(
+ "Attack in waves!$"
+ "BUG POKéMON are cool.$"
+ "I go into the forest every$"
+ "day to catch BUG POKéMON.");
+
+static const u8 TrainerEyeDescription_Psychic_Cameron[] = _(
+ "Daze and confuse!$"
+ "Ones with weird powers.$"
+ "I can see through exactly$"
+ "what you're thinking!");
+
+static const u8 TrainerEyeDescription_Psychic_Jacki[] = _(
+ "Battle at full power.$"
+ "POKéMON of many mysteries$"
+ "When we spoke, I was really$"
+ "using telepathy.");
+
+static const u8 TrainerEyeDescription_Gentleman_Walter[] = _(
+ "Calm and collected.$"
+ "POKéMON of distinction$"
+ "We enjoy a spot of tea$"
+ "every day. It's imported.");
+
+static const u8 TrainerEyeDescription_SchoolKid_Karen[] = _(
+ "I use my head to battle.$"
+ "I love any kind of POKéMON!$"
+ "My daddy gives me spending$"
+ "money if I ace a test.");
+
+static const u8 TrainerEyeDescription_SchoolKid_Jerry[] = _(
+ "My knowledge rules!$"
+ "Any smart POKéMON!$"
+ "I want to be a POKéMON$"
+ "researcher in the future.");
+
+static const u8 TrainerEyeDescription_SrAndJr_AnnaAndMeg[] = _(
+ "We talk it over first.$"
+ "POKéMON that we both like.$"
+ "We're senior and junior$"
+ "students into POKéMON!");
+
+static const u8 TrainerEyeDescription_Pokefan_Isabel[] = _(
+ "Go for it, my dears!$"
+ "I have no likes or dislikes.$"
+ "While out shopping for$"
+ "supper, I battle too.");
+
+static const u8 TrainerEyeDescription_Pokefan_Miguel[] = _(
+ "I battle with love!$"
+ "A POKéMON raised with love!$"
+ "It's important to build$"
+ "trust with your POKéMON.");
+
+static const u8 TrainerEyeDescription_Expert_Timothy[] = _(
+ "I see through your moves!$"
+ "The essence of FIGHTING.$"
+ "I'm not ready to give way$"
+ "to the young yet!");
+
+static const u8 TrainerEyeDescription_Expert_Shelby[] = _(
+ "Attack while defending$"
+ "The FIGHTING type$"
+ "Being old, I have my own$"
+ "style of battling.");
+
+static const u8 TrainerEyeDescription_Youngster_Calvin[] = _(
+ "I do what I can.$"
+ "I use different types.$"
+ "I'm going to keep working$"
+ "until I beat a GYM LEADER.");
+
+static const u8 TrainerEyeDescription_Fisherman_Elliot[] = _(
+ "I battle patiently.$"
+ "WATER POKéMON to battle!$"
+ "I'm the world's only guy to$"
+ "catch a huge POKéMON!");
+
+static const u8 TrainerEyeDescription_Triathlete_Abigail[] = _(
+ "Defense is crucial.$"
+ "My POKéMON is solid.$"
+ "I started this for dieting,$"
+ "but I got right into it.");
+
+static const u8 TrainerEyeDescription_Triathlete_Benjamin[] = _(
+ "Push and push again!$"
+ "The strength of STEEL$"
+ "If you're sweating, get$"
+ "fluids into you regularly.");
+
+static const u8 TrainerEyeDescription_Triathlete_Isaiah[] = _(
+ "Exploit the environment!$"
+ "All hail the WATER type!$"
+ "I won't be beaten by some$"
+ "beach bum SWIMMER!");
+
+static const u8 TrainerEyeDescription_Triathlete_Katelyn[] = _(
+ "All-out offensive!$"
+ "WATER POKéMON rule!$"
+ "I must swim over 6 miles$"
+ "every day.");
+
+static const u8 TrainerEyeDescription_Triathlete_Maria[] = _(
+ "Speed above all!$"
+ "I use a speedy POKéMON.$"
+ "A marathon is a challenge$"
+ "against your own self.");
+
+static const u8 TrainerEyeDescription_Triathlete_Dylan[] = _(
+ "Strike before stricken!$"
+ "A fast-running POKéMON!$"
+ "If you ran and ran, you'd$"
+ "become one with the wind.");
+
+static const u8 TrainerEyeDescription_DragonTamer_Nicolas[] = _(
+ "It's about POKéMON power!$"
+ "See the power of DRAGONS!$"
+ "I'll become legendary as the$"
+ "strongest one day!");
+
+static const u8 TrainerEyeDescription_BirdKeeper_Robert[] = _(
+ "I'll show you my technique!$"
+ "Elegantly wheeling BIRDS$"
+ "My BIRD POKéMON, deliver my$"
+ "love to that girl!");
+
+static const u8 TrainerEyeDescription_NinjaBoy_Lao[] = _(
+ "You'll suffer from poison!$"
+ "Poisonous POKéMON$"
+ "I undertake training so$"
+ "that I may become a ninja.");
+
+static const u8 TrainerEyeDescription_BattleGirl_Cyndy[] = _(
+ "The first strike wins!$"
+ "Speedy FIGHTING type$"
+ "If my POKéMON lose,$"
+ "I'll carry on the fight!");
+
+static const u8 TrainerEyeDescription_ParasolLady_Madeline[] = _(
+ "Go, go, my POKéMON!$"
+ "I'll raise anything.$"
+ "UV rays are your skin's$"
+ "enemy. Get protected.");
+
+static const u8 TrainerEyeDescription_Swimmer_Jenny[] = _(
+ "No mercy!$"
+ "Cute WATER POKéMON$"
+ "I have too many fans.$"
+ "I was interviewed on TV.");
+
+static const u8 TrainerEyeDescription_Picnicker_Diana[] = _(
+ "I think about this & that.$"
+ "I like all POKéMON.$"
+ "What lies beyond that$"
+ "yonder hill?");
+
+static const u8 TrainerEyeDescription_Twins_AmyAndLiv[] = _(
+ "We battle together!$"
+ "We train together!$"
+ "We like the same POKéMON,$"
+ "but different desserts.");
+
+static const u8 TrainerEyeDescription_Sailor_Ernest[] = _(
+ "I force things with power!$"
+ "WATER and FIGHTING types$"
+ "Seamen are rough spirits!$"
+ "Any complaints?");
+
+static const u8 TrainerEyeDescription_Collector_Edwin[] = _(
+ "Protect POKéMON from harm.$"
+ "I love rare POKéMON.$"
+ "I want to collect all the$"
+ "world's rare POKéMON.");
+
+static const u8 TrainerEyeDescription_PkmnBreeder_Lydia[] = _(
+ "I count on power.$"
+ "POKéMON are my children.$"
+ "It takes knowledge and$"
+ "love to raise POKéMON.");
+
+static const u8 TrainerEyeDescription_PkmnBreeder_Isaac[] = _(
+ "Full-on attack!$"
+ "Anything. I'll raise it.$"
+ "I give them {POKEBLOCK}S for$"
+ "going after CONTEST titles.");
+
+static const u8 TrainerEyeDescription_PkmnRanger_Catherine[] = _(
+ "I believe in my POKéMON.$"
+ "I like strong POKéMON.$"
+ "I'm training for rescue$"
+ "work with my POKéMON.");
+
+static const u8 TrainerEyeDescription_PkmnRanger_Jackson[] = _(
+ "I attack in waves.$"
+ "Different types$"
+ "Those who destroy nature$"
+ "must never be forgiven!");
+
+static const u8 TrainerEyeDescription_Lass_Haley[] = _(
+ "I'll show you some guts!$"
+ "Cute POKéMON are my faves!$"
+ "After a battle, I always$"
+ "bathe with my POKéMON.");
+
+static const u8 TrainerEyeDescription_BugCatcher_James[] = _(
+ "Lightning-fast attack!$"
+ "BUG POKéMON are number 1!$"
+ "If you want to catch BUG$"
+ "POKéMON, wake up early.");
+
+static const u8 TrainerEyeDescription_Hiker_Trent[] = _(
+ "I battle with power.$"
+ "Hard-bodied POKéMON$"
+ "I've been planning a month$"
+ "for today's hike.");
+
+static const u8 TrainerEyeDescription_YoungCouple_LoisAndHal[] = _(
+ "Lovey-dovey strategy!$"
+ "Lovey-dovey POKéMON!$"
+ "We're lovey-dovey!$"
+ "Forever lovey-dovey!");
+
+static const u8 TrainerEyeDescription_PkmnTrainer_Wally[] = _(
+ "We let it all hang out.$"
+ "The 1st POKéMON I caught.$"
+ "POKéMON and I have grown$"
+ "stronger together.");
+
+static const u8 TrainerEyeDescription_Leader_Roxanne[] = _(
+ "ROCK-type power attack$"
+ "Rock-solid types are good.$"
+ "Through battling, I want to$"
+ "learn all about POKéMON.");
+
+static const u8 TrainerEyeDescription_Leader_Brawly[] = _(
+ "Direct physical action!$"
+ "FIGHTING POKéMON rule!$"
+ "The world awaits me as the$"
+ "next big wave!");
+
+static const u8 TrainerEyeDescription_Leader_Wattson[] = _(
+ "I choose to electrify.$"
+ "Get shocked by electricity!$"
+ "Wahahahaha! The secret to$"
+ "health is laughter!");
+
+static const u8 TrainerEyeDescription_Leader_Flannery[] = _(
+ "Battle aggressively.$"
+ "Burn with passion!$"
+ "Wash away daily fatigue in$"
+ "hot springs completely!");
+
+static const u8 TrainerEyeDescription_Leader_Norman[] = _(
+ "I flexibly adapt my style.$"
+ "Grown in a balanced manner.$"
+ "POKéMON are my life.$"
+ "My chosen path is harsh...");
+
+static const u8 TrainerEyeDescription_Leader_Winona[] = _(
+ "I take advantage of speed.$"
+ "Graceful sky dancers$"
+ "I can see the ebb and flow$"
+ "of the winds.");
+
+static const u8 TrainerEyeDescription_Leader_TateAndLiza[] = _(
+ "We battle in cooperation.$"
+ "Always friendly POKéMON.$"
+ "We understand each other,$"
+ "and we understand others.");
+
+static const u8 TrainerEyeDescription_Leader_Wallace[] = _(
+ "Dignity and respect$"
+ "I prefer POKéMON of grace.$"
+ "Aquatic illusions best suit$"
+ "my distinctive elegance.");
+
+static const u8 TrainerEyeDescription_EliteFour_Sidney[] = _(
+ "Offense over defense$"
+ "The DARK side's beauties$"
+ "You can talk all you want -$"
+ "might is right!");
+
+static const u8 TrainerEyeDescription_EliteFour_Phoebe[] = _(
+ "Confuse and confound$"
+ "There's nothing definite.$"
+ "I wonder how my grandma at$"
+ "MT. PYRE is doing?");
+
+static const u8 TrainerEyeDescription_EliteFour_Glacia[] = _(
+ "I use items for help.$"
+ "Flaming passion in icy cold!$"
+ "The ICE type can be better$"
+ "trained in this hot land.");
+
+static const u8 TrainerEyeDescription_EliteFour_Drake[] = _(
+ "Harness strong abilities.$"
+ "The raw power of DRAGONS!$"
+ "I live to battle every day$"
+ "to learn about POKéMON.");
+
+static const u8 TrainerEyeDescription_Champion_Steven[] = _(
+ "Pick on the foe's weakness.$"
+ "The ultimate STEEL POKéMON$"
+ "When it comes down to it,$"
+ "I'm still the strongest!");
+
+const u8 *const gTrainerEyeDescriptions[] =
+{
+ TrainerEyeDescription_AromaLady_Rose,
+ TrainerEyeDescription_RuinManiac_Dusty,
+ TrainerEyeDescription_Tuber_Lola,
+ TrainerEyeDescription_Tuber_Ricky,
+ TrainerEyeDescription_SisAndBro_RitaAndSam,
+ TrainerEyeDescription_Cooltrainer_Brooke,
+ TrainerEyeDescription_Cooltrainer_Wilton,
+ TrainerEyeDescription_HexManiac_Valerie,
+ TrainerEyeDescription_Lady_Cindy,
+ TrainerEyeDescription_Beauty_Jessica,
+ TrainerEyeDescription_RichBoy_Winston,
+ TrainerEyeDescription_PokeManiac_Steve,
+ TrainerEyeDescription_Swimmer_Tony,
+ TrainerEyeDescription_BlackBelt_Nob,
+ TrainerEyeDescription_Guitarist_Dalton,
+ TrainerEyeDescription_Kindler_Bernie,
+ TrainerEyeDescription_Camper_Ethan,
+ TrainerEyeDescription_OldCouple_JohnAndJay,
+ TrainerEyeDescription_BugManiac_Brandon,
+ TrainerEyeDescription_Psychic_Cameron,
+ TrainerEyeDescription_Psychic_Jacki,
+ TrainerEyeDescription_Gentleman_Walter,
+ TrainerEyeDescription_SchoolKid_Karen,
+ TrainerEyeDescription_SchoolKid_Jerry,
+ TrainerEyeDescription_SrAndJr_AnnaAndMeg,
+ TrainerEyeDescription_Pokefan_Isabel,
+ TrainerEyeDescription_Pokefan_Miguel,
+ TrainerEyeDescription_Expert_Timothy,
+ TrainerEyeDescription_Expert_Shelby,
+ TrainerEyeDescription_Youngster_Calvin,
+ TrainerEyeDescription_Fisherman_Elliot,
+ TrainerEyeDescription_Triathlete_Abigail,
+ TrainerEyeDescription_Triathlete_Benjamin,
+ TrainerEyeDescription_Triathlete_Isaiah,
+ TrainerEyeDescription_Triathlete_Katelyn,
+ TrainerEyeDescription_Triathlete_Maria,
+ TrainerEyeDescription_Triathlete_Dylan,
+ TrainerEyeDescription_DragonTamer_Nicolas,
+ TrainerEyeDescription_BirdKeeper_Robert,
+ TrainerEyeDescription_NinjaBoy_Lao,
+ TrainerEyeDescription_BattleGirl_Cyndy,
+ TrainerEyeDescription_ParasolLady_Madeline,
+ TrainerEyeDescription_Swimmer_Jenny,
+ TrainerEyeDescription_Picnicker_Diana,
+ TrainerEyeDescription_Twins_AmyAndLiv,
+ TrainerEyeDescription_Sailor_Ernest,
+ TrainerEyeDescription_Collector_Edwin,
+ TrainerEyeDescription_PkmnBreeder_Lydia,
+ TrainerEyeDescription_PkmnBreeder_Isaac,
+ TrainerEyeDescription_PkmnRanger_Catherine,
+ TrainerEyeDescription_PkmnRanger_Jackson,
+ TrainerEyeDescription_Lass_Haley,
+ TrainerEyeDescription_BugCatcher_James,
+ TrainerEyeDescription_Hiker_Trent,
+ TrainerEyeDescription_YoungCouple_LoisAndHal,
+ TrainerEyeDescription_PkmnTrainer_Wally,
+ TrainerEyeDescription_Leader_Roxanne,
+ TrainerEyeDescription_Leader_Brawly,
+ TrainerEyeDescription_Leader_Wattson,
+ TrainerEyeDescription_Leader_Flannery,
+ TrainerEyeDescription_Leader_Norman,
+ TrainerEyeDescription_Leader_Winona,
+ TrainerEyeDescription_Leader_TateAndLiza,
+ TrainerEyeDescription_Leader_Wallace,
+ TrainerEyeDescription_EliteFour_Sidney,
+ TrainerEyeDescription_EliteFour_Phoebe,
+ TrainerEyeDescription_EliteFour_Glacia,
+ TrainerEyeDescription_EliteFour_Drake,
+ TrainerEyeDescription_Champion_Steven,
+};
diff --git a/src/pokenav_before.c b/src/pokenav_before.c
index 3150629b7..c9390a070 100644
--- a/src/pokenav_before.c
+++ b/src/pokenav_before.c
@@ -26,6 +26,7 @@
#include "pokemon_summary_screen.h"
#include "use_pokeblock.h"
#include "constants/game_stat.h"
+#include "pokemon.h"
struct UnknownPokenav0
{
@@ -104,6 +105,1016 @@ struct UnkPokenavStruct *const gPokenavStructPtr = (struct UnkPokenavStruct *)gS
extern u16 gKeyRepeatStartDelay;
+// rodata?
+const u8 *const gUnknown_083DFEC8 = gTileBuffer;
+
+const u8 gUnknown_083DFECC[] = INCBIN_U8("graphics/pokenav/83DFECC.gbapal");
+
+const u8 gUnknown_083DFEEC[] = INCBIN_U8("graphics/pokenav/83DFEEC.4bpp");
+const u8 gUnknown_083DFF8C[] = INCBIN_U8("graphics/pokenav/83DFF8C.bin.lz");
+const u16 gUnknown_083E003C[] = INCBIN_U16("graphics/pokenav/83E003C.gbapal");
+
+const u8 gUnknown_083E005C[] = INCBIN_U8("graphics/pokenav/83E005C.4bpp");
+const u8 gUnknown_083E007C[] = INCBIN_U8("graphics/pokenav/83E007C.bin.lz");
+const u16 gUnknown_083E0124[] = INCBIN_U16("graphics/pokenav/83E0124_pal.bin");
+
+const u16 gUnknown_083E0144[] = INCBIN_U16("graphics/pokenav/83E0144_pal.bin");
+
+const u16 gUnknown_083E0164[] = INCBIN_U16("graphics/pokenav/83E0164.bin");//?
+
+const u8 gUnknown_083E01AC[] = INCBIN_U8("graphics/pokenav/83E01AC.bin");
+const u8 gUnknown_083E01F4[] = INCBIN_U8("graphics/pokenav/83E01F4.bin");
+const u8 gUnknown_083E0254[] = INCBIN_U8("graphics/pokenav/83E0254.gbapal");
+const u16 gUnknown_083E0274[] = INCBIN_U16("graphics/pokenav/83E0274.gbapal");
+
+const u16 gPokenavConditionSearch2_Pal[] = INCBIN_U16("graphics/pokenav/condition_search2.gbapal");
+
+const u16 gUnknown_083E02B4[] = INCBIN_U16("graphics/pokenav/83E02B4.gbapal");
+
+const u16 gUnknown_083E02D4[] = INCBIN_U16("graphics/pokenav/83E02D4.bin");//?
+
+const u8 gUnknown_083E0314[] = INCBIN_U8("graphics/pokenav/83E0314.gbapal");
+const u8 gUnknown_083E0334[] = INCBIN_U8("graphics/pokenav/trainereyes_misc_pal.bin");
+
+const u8 gUnknown_083E0354[] = INCBIN_U8("graphics/pokenav/trainereyes_misc.4bpp.lz");
+
+const u8 gUnknown_083E039C[][4] =
+{
+ {0x80, 0x42, 0x82, 0x42},
+};
+
+const u8 gUnknown_083E03A0[][8] =
+{
+ {0x00, 0x40, 0x00, 0x40, 0x81, 0x42, 0x83, 0x42},
+};
+
+const u16 gUnknown_083E03A8[] = INCBIN_U16("graphics/pokenav/83E03A8.gbapal");
+const u16 gUnknown_083E03C8[] = INCBIN_U16("graphics/pokenav/83E03C8.bin");
+const u8 gUnknown_083E040C[] = INCBIN_U8("graphics/misc/ribbons_half.4bpp.lz");
+const u8 gPokenavOutlinePalette[] = INCBIN_U8("graphics/pokenav/outline.gbapal");
+const u8 gPokenavOutlineTiles[] = INCBIN_U8("graphics/pokenav/outline.4bpp.lz");
+const u8 gPokenavOutlineTilemap[] = INCBIN_U8("graphics/pokenav/outline_map.bin.lz");
+
+#include "data/region_map/city_map_tilemaps.h"
+
+#ifdef ENGLISH
+#include "data/text/ribbon_descriptions_en.h"
+#include "data/text/gift_ribbon_descriptions_en.h"
+#include "data/text/trainer_eye_descriptions_en.h"
+#elif GERMAN
+#include "data/text/ribbon_descriptions_de.h"
+#include "data/text/gift_ribbon_descriptions_de.h"
+#include "data/text/trainer_eye_descriptions_de.h"
+#endif
+
+const u8 *const gUnknown_083E31B0[] =
+{
+ PCText_CheckMap,
+ PCText_CheckPoke,
+ PCText_CheckTrainer,
+ PCText_CheckRibbons,
+ PCText_PutAwayNav,
+ PCText_NoRibbonWin,
+ PCText_NoTrainers,
+};
+
+const u8 *const gUnknown_083E31CC[] =
+{
+ PCText_CheckParty,
+ PCText_CheckPokeAll,
+ PCText_ReturnToNav,
+};
+
+const u8 *const gUnknown_083E31D8[] =
+{
+ PCText_FindCool,
+ PCText_FindBeauty,
+ PCText_FindCute,
+ PCText_FindSmart,
+ PCText_FindTough,
+ PCText_ReturnToCondition,
+};
+
+#include "data/region_map/city_map_entries.h"
+
+void sub_80F0A24(u16, u16);
+void sub_80F0A74(u16, u16);
+
+void (*const gUnknown_083E3270[])(u16, u16) =
+{
+ sub_80F0A24,
+ sub_80F0A24,
+ sub_80F0A74,
+};
+
+const u16 gPokenavIconPalette[] = INCBIN_U16("graphics/pokenav/icon.gbapal");
+const u8 gUnknown_083E329C[] = INCBIN_U8("graphics/pokenav/icon.4bpp.lz");
+const u8 gPokenavPokeballTiles[] = INCBIN_U8("graphics/pokenav/pokeball.4bpp");
+const u8 gUnknown_083E3780[] = INCBIN_U8("graphics/pokenav/83E3780.4bpp");
+const u16 gPokenavSparkle_Pal[] = INCBIN_U16("graphics/pokenav/sparkle.gbapal");
+const u8 gPokenavSparkle_Gfx[] = INCBIN_U8("graphics/pokenav/sparkle.4bpp");
+const u8 gPokenavUpDownArrows_Gfx[] = INCBIN_U8("graphics/pokenav/arrows.4bpp");
+const u8 gUnknown_083E3BC0[] = INCBIN_U8("graphics/pokenav/83E3BC0.bin");
+const u8 gTiles_083E3BE0[] = INCBIN_U8("graphics/unknown/unknown_3E3BE0.4bpp");
+
+const u16 gUnknown_083E3C60[][16] =
+{
+ INCBIN_U16("graphics/misc/ribbons_cool.gbapal"),
+ INCBIN_U16("graphics/misc/ribbons_beauty.gbapal"),
+ INCBIN_U16("graphics/misc/ribbons_cute.gbapal"),
+ INCBIN_U16("graphics/misc/ribbons_smart.gbapal"),
+ INCBIN_U16("graphics/misc/ribbons_tough.gbapal"),
+};
+
+const u8 gUnknown_083E3D00[] = INCBIN_U8("graphics/misc/ribbons_full.4bpp.lz");
+const u16 PokenavBlueLightPalette[] = INCBIN_U16("graphics/pokenav/blue_light.gbapal");
+const u8 PokenavBlueLightTiles[] = INCBIN_U8("graphics/pokenav/blue_light.4bpp");
+const u16 Palette_3E42D8[] = INCBIN_U16("graphics/pokenav/83E42D8.gbapal");
+
+const u16 gUnknown_083E42F8[] =
+{
+ BLDALPHA_BLEND(8, 4),
+ BLDALPHA_BLEND(8, 4),
+ BLDALPHA_BLEND(7, 5),
+ BLDALPHA_BLEND(7, 5),
+ BLDALPHA_BLEND(6, 6),
+ BLDALPHA_BLEND(6, 6),
+ BLDALPHA_BLEND(5, 8),
+ BLDALPHA_BLEND(5, 8),
+ BLDALPHA_BLEND(4, 10),
+ BLDALPHA_BLEND(4, 10),
+ BLDALPHA_BLEND(3, 12),
+ BLDALPHA_BLEND(3, 12),
+ BLDALPHA_BLEND(2, 14),
+ BLDALPHA_BLEND(2, 14),
+ BLDALPHA_BLEND(0, 16),
+ BLDALPHA_BLEND(0, 16),
+};
+
+const struct OamData gOamData_83E4318 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const union AnimCmd sSpriteAnim_83E4320[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E4328[] =
+{
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E4330[] =
+{
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E4338[] =
+{
+ ANIMCMD_FRAME(24, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E4340[] =
+{
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E4348[] =
+{
+ ANIMCMD_FRAME(40, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E4350[] =
+{
+ ANIMCMD_FRAME(48, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E4358[] =
+{
+ ANIMCMD_FRAME(56, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E4360[] =
+{
+ ANIMCMD_FRAME(64, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E4368[] =
+{
+ ANIMCMD_FRAME(72, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E4370[] =
+{
+ ANIMCMD_FRAME(80, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E4378[] =
+{
+ ANIMCMD_FRAME(88, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E4380[] =
+{
+ ANIMCMD_FRAME(96, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E4388[] =
+{
+ ANIMCMD_FRAME(104, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E4390[] =
+{
+ ANIMCMD_FRAME(112, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E4398[] =
+{
+ ANIMCMD_FRAME(120, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E43A0[] =
+{
+ ANIMCMD_FRAME(128, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E43A8[] =
+{
+ ANIMCMD_FRAME(136, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E43B0[] =
+{
+ ANIMCMD_FRAME(144, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E43B8[] =
+{
+ ANIMCMD_FRAME(152, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E43C0[] =
+{
+ ANIMCMD_FRAME(160, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E43C8[] =
+{
+ ANIMCMD_FRAME(168, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E43D0[] =
+{
+ ANIMCMD_FRAME(176, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sSpriteAnim_83E43D8[] =
+{
+ ANIMCMD_FRAME(184, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83E43E0[] =
+{
+ sSpriteAnim_83E4320,
+ sSpriteAnim_83E4328,
+ sSpriteAnim_83E4330,
+ sSpriteAnim_83E4338,
+ sSpriteAnim_83E4340,
+ sSpriteAnim_83E4348,
+ sSpriteAnim_83E4350,
+ sSpriteAnim_83E4358,
+ sSpriteAnim_83E4360,
+ sSpriteAnim_83E4368,
+ sSpriteAnim_83E4370,
+ sSpriteAnim_83E4378,
+ sSpriteAnim_83E4380,
+ sSpriteAnim_83E4388,
+ sSpriteAnim_83E4390,
+ sSpriteAnim_83E4398,
+ sSpriteAnim_83E43A0,
+ sSpriteAnim_83E43A8,
+ sSpriteAnim_83E43B0,
+ sSpriteAnim_83E43B8,
+ sSpriteAnim_83E43C0,
+ sSpriteAnim_83E43C8,
+ sSpriteAnim_83E43D0,
+ sSpriteAnim_83E43D8,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_83E4440[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 16),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_83E4450[] =
+{
+ gSpriteAffineAnim_83E4440,
+};
+
+const struct SpriteTemplate gSpriteTemplate_83E4454 =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gOamData_83E4318,
+ .anims = gSpriteAnimTable_83E43E0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+// sizeof(PokenavBlueLightTiles) ?
+const struct SpriteSheet gSpriteSheet_PokenavBlueLight = {PokenavBlueLightTiles, 0x100, 25};
+
+const struct SpritePalette gSpritePalette_PokenavBlueLight = {PokenavBlueLightPalette, 17};
+
+const struct OamData gOamData_83E447C =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+void sub_80F2654(struct Sprite *);
+
+const struct SpriteTemplate gSpriteTemplate_83E4484 =
+{
+ .tileTag = 25,
+ .paletteTag = 17,
+ .oam = &gOamData_83E447C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80F2654,
+};
+
+extern const u16 gPokenavMenuOptions3_Pal[];
+extern const u16 gPokenavCondition5_Pal[];
+
+const struct SpritePalette gUnknown_083E449C[] =
+{
+ {gPokenavMenuOptions3_Pal, 2},
+ {gPokenavCondition5_Pal, 3},
+ {0x0, 0},
+};
+
+const struct OamData gOamData_83E44B4 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = ST_OAM_H_RECTANGLE,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const union AnimCmd gSpriteAnim_83E44BC[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83E44C4[] =
+{
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83E44CC[] =
+{
+ ANIMCMD_FRAME(64, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83E44D4[] =
+{
+ gSpriteAnim_83E44BC,
+ gSpriteAnim_83E44C4,
+ gSpriteAnim_83E44CC,
+};
+
+void sub_80F2BBC(struct Sprite *);
+
+const struct SpriteTemplate gSpriteTemplate_83E44E0 =
+{
+ .tileTag = 1,
+ .paletteTag = 2,
+ .oam = &gOamData_83E44B4,
+ .anims = gSpriteAnimTable_83E44D4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80F2BBC,
+};
+
+const struct SpriteTemplate gSpriteTemplate_83E44F8 =
+{
+ .tileTag = 1,
+ .paletteTag = 3,
+ .oam = &gOamData_83E44B4,
+ .anims = gSpriteAnimTable_83E44D4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80F2BBC,
+};
+
+const struct OamData gOamData_83E4510 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = ST_OAM_H_RECTANGLE,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const union AnimCmd gSpriteAnim_83E4518[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83E4520[] =
+{
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83E4528[] =
+{
+ gSpriteAnim_83E4518,
+ gSpriteAnim_83E4520,
+};
+
+const struct SpriteTemplate gSpriteTemplate_83E4530 =
+{
+ .tileTag = 2,
+ .paletteTag = 2,
+ .oam = &gOamData_83E4510,
+ .anims = gSpriteAnimTable_83E4528,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80F2BBC,
+};
+
+const struct SpriteTemplate gSpriteTemplate_83E4548 =
+{
+ .tileTag = 2,
+ .paletteTag = 3,
+ .oam = &gOamData_83E4510,
+ .anims = gSpriteAnimTable_83E4528,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80F2BBC,
+};
+
+const struct OamData gOamData_83E4560 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = ST_OAM_SQUARE,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const struct SpriteSheet gUnknown_083E4568 = {NULL, 0x800, 6};
+
+void sub_80F2E00(struct Sprite *);
+
+const struct SpriteTemplate gSpriteTemplate_83E4570 =
+{
+ .tileTag = 6,
+ .paletteTag = 6,
+ .oam = &gOamData_83E4560,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80F2E00,
+};
+
+const struct SpritePalette gUnknown_083E4588 = {NULL, 6};
+extern const u8 gPokenavArrow_Gfx[];
+
+const struct SpriteSheet gUnknown_083E4590[] =
+{
+ {gPokenavArrow_Gfx, 0x40, 9},
+ {gPokenavUpDownArrows_Gfx, 0x80, 10},
+ {},
+};
+
+extern const u16 gPokenavArrowsPalette[];
+
+const struct SpritePalette gUnknown_083E45A8 = {gPokenavArrowsPalette, 9};
+
+const struct OamData gOamData_83E45B0 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = ST_OAM_V_RECTANGLE,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 0,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+void sub_80F3190(struct Sprite *);
+
+const struct SpriteTemplate gSpriteTemplate_83E45B8 =
+{
+ .tileTag = 9,
+ .paletteTag = 9,
+ .oam = &gOamData_83E45B0,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80F3190,
+};
+
+const union AnimCmd gSpriteAnim_83E45D0[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83E45D8[] =
+{
+ ANIMCMD_FRAME(2, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83E45E0[] =
+{
+ gSpriteAnim_83E45D0,
+ gSpriteAnim_83E45D8,
+};
+
+const struct OamData gOamData_83E45E8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = ST_OAM_H_RECTANGLE,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 0,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+void sub_80F31AC(struct Sprite *);
+
+const struct SpriteTemplate gSpriteTemplate_83E45F0 =
+{
+ .tileTag = 10,
+ .paletteTag = 9,
+ .oam = &gOamData_83E45E8,
+ .anims = gSpriteAnimTable_83E45E0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80F31AC,
+};
+
+const struct OamData gOamData_83E4608 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = ST_OAM_SQUARE,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 1,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const union AnimCmd gSpriteAnim_83E4610[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83E4618[] =
+{
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83E4620[] =
+{
+ gSpriteAnim_83E4610,
+ gSpriteAnim_83E4618,
+};
+
+extern const u8 gPokenavConditionMenuCancel_Gfx[];
+
+const struct SpriteSheet gUnknown_083E4628[] =
+{
+ {gPokenavPokeballTiles, 0x100, 3},
+ {gUnknown_083E3780, 0x20, 4},
+ {gPokenavConditionMenuCancel_Gfx, 0x100, 5},
+ {},
+};
+
+extern const u16 gPokenavConditionPokeball_Pal[];
+extern const u16 gPokenavCondition4_Pal[];
+
+const struct SpritePalette gUnknown_083E4648[] =
+{
+ {gPokenavConditionPokeball_Pal, 4},
+ {gPokenavCondition4_Pal, 5},
+ {NULL, 0},
+};
+
+void sub_80F3328(struct Sprite *);
+
+const struct SpriteTemplate gSpriteTemplate_83E4660 =
+{
+ .tileTag = 3,
+ .paletteTag = 4,
+ .oam = &gOamData_83E4608,
+ .anims = gSpriteAnimTable_83E4620,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80F3328,
+};
+
+const u16 gUnknown_083E4678[] = INCBIN_U16("graphics/pokenav/83E4678.gbapal");
+
+const u16 gPokenavRibbonsIconGfx[][2] =
+{
+ {0, 0},
+ {1, 0},
+ {2, 0},
+ {3, 0},
+ {4, 0},
+ {1, 1},
+ {2, 1},
+ {3, 1},
+ {4, 1},
+ {1, 2},
+ {2, 2},
+ {3, 2},
+ {4, 2},
+ {1, 3},
+ {2, 3},
+ {3, 3},
+ {4, 3},
+ {1, 4},
+ {2, 4},
+ {3, 4},
+ {4, 4},
+ {5, 0},
+ {6, 0},
+ {7, 1},
+ {8, 2},
+ {9, 1},
+ {9, 3},
+ {9, 4},
+ {10, 3},
+ {10, 4},
+ {11, 0},
+ {11, 1},
+};
+
+const struct OamData gOamData_83E4718 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = ST_OAM_SQUARE,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_83E4720[] =
+{
+ AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_83E4730[] =
+{
+ AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
+ AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 4),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_83E4748[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFE0, 0xFFE0, 0, 4),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_83E4760[] =
+{
+ gSpriteAffineAnim_83E4720,
+ gSpriteAffineAnim_83E4730,
+ gSpriteAffineAnim_83E4748,
+};
+
+const struct SpriteTemplate gSpriteTemplate_83E476C =
+{
+ .tileTag = 11,
+ .paletteTag = 10,
+ .oam = &gOamData_83E4718,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_83E4760,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct SpriteSheet gUnknown_083E4784 = {gPokenavSparkle_Gfx, sizeof(gPokenavSparkle_Gfx), 0x0017};
+const struct SpritePalette gUnknown_083E478C = {gPokenavSparkle_Pal, 0x000f};
+
+const s16 gUnknown_083E4794[][2] =
+{
+ { 0 , -35},
+ { 20, -28},
+ { 33, -10},
+ { 33, 10},
+ { 20, 28},
+ { 0 , 35},
+ {-20, 28},
+ {-33, 10},
+ {-33, -10},
+ {-20, -28},
+};
+
+const struct OamData gOamData_83E47BC =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = ST_OAM_SQUARE,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 1,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const union AnimCmd gSpriteAnim_83E47C4[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_FRAME(12, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(20, 5),
+ ANIMCMD_FRAME(24, 5),
+ ANIMCMD_END,
+};
+
+// sparkles around pokemon on condition page of pokenav
+const union AnimCmd *const gSpriteAnimTable_83E47E4[] =
+{
+ &gSpriteAnim_83E47C4[0],
+ &gSpriteAnim_83E47C4[2],
+ &gSpriteAnim_83E47C4[4],
+ &gSpriteAnim_83E47C4[6],
+ &gSpriteAnim_83E47C4[8],
+ &gSpriteAnim_83E47C4[10],
+ &gSpriteAnim_83E47C4[12],
+};
+
+void sub_80F3E9C(struct Sprite *sprite);
+
+const struct SpriteTemplate gSpriteTemplate_83E4800 =
+{
+ .tileTag = 23,
+ .paletteTag = 15,
+ .oam = &gOamData_83E47BC,
+ .anims = gSpriteAnimTable_83E47E4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80F3E9C,
+};
+
+const struct SpritePalette gUnknown_083E4818 = {gPokenavIconPalette, 16};
+
+const union AnimCmd gSpriteAnim_83E4820[] =
+{
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(16, 12),
+ ANIMCMD_FRAME(32, 12),
+ ANIMCMD_FRAME(48, 12),
+ ANIMCMD_FRAME(64, 12),
+ ANIMCMD_FRAME(80, 12),
+ ANIMCMD_FRAME(96, 12),
+ ANIMCMD_FRAME(112, 12),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gSpriteAnimTable_83E4844[] =
+{
+ gSpriteAnim_83E4820,
+};
+
+const struct OamData gOamData_83E4848 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = ST_OAM_SQUARE,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+void sub_80F4138(struct Sprite *);
+
+const struct SpriteTemplate gSpriteTemplate_83E4850 =
+{
+ .tileTag = 24,
+ .paletteTag = 16,
+ .oam = &gOamData_83E4848,
+ .anims = gSpriteAnimTable_83E4844,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80F4138,
+};
+
+const struct SpritePalette gUnknown_083E4868 = {Palette_3E42D8, 18};
+
+const struct OamData gOamData_83E4870 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = ST_OAM_H_RECTANGLE,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 3,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const struct SpriteTemplate gSpriteTemplate_83E4878 =
+{
+ .tileTag = 26,
+ .paletteTag = 18,
+ .oam = &gOamData_83E4870,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const u8 gUnknown_083E4890[] =
+{
+ 4, 5, 6, 7, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 13,
+ 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 17,
+ 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19,
+ 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21,
+ 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+ 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27,
+ 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+ 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
+ 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
+ 31, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34,
+ 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 35,
+};
+
+const struct ScanlineEffectParams gUnknown_083E4990 =
+{
+ (void *)REG_ADDR_WIN0H,
+ ((DMA_ENABLE | DMA_START_HBLANK | DMA_32BIT | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1,
+ 1,
+ 0,
+};
+
+const u16 gUnknown_083E499C[] =
+{
+ MON_DATA_CHAMPION_RIBBON,
+ MON_DATA_COOL_RIBBON,
+ MON_DATA_BEAUTY_RIBBON,
+ MON_DATA_CUTE_RIBBON,
+ MON_DATA_SMART_RIBBON,
+ MON_DATA_TOUGH_RIBBON,
+ MON_DATA_WINNING_RIBBON,
+ MON_DATA_VICTORY_RIBBON,
+ MON_DATA_ARTIST_RIBBON,
+ MON_DATA_EFFORT_RIBBON,
+ MON_DATA_GIFT_RIBBON_1,
+ MON_DATA_GIFT_RIBBON_2,
+ MON_DATA_GIFT_RIBBON_3,
+ MON_DATA_GIFT_RIBBON_4,
+ MON_DATA_GIFT_RIBBON_5,
+ MON_DATA_GIFT_RIBBON_6,
+ MON_DATA_GIFT_RIBBON_7,
+};
+
void sub_80EBA5C()
{
switch (gMain.state)