summaryrefslogtreecommitdiff
path: root/src/data
diff options
context:
space:
mode:
Diffstat (limited to 'src/data')
-rw-r--r--src/data/contest_opponents.h16
-rw-r--r--src/data/pokemon_graphics/unknown_table.h444
-rw-r--r--src/data/trade.h502
-rw-r--r--src/data/wallpapers.h393
4 files changed, 1101 insertions, 254 deletions
diff --git a/src/data/contest_opponents.h b/src/data/contest_opponents.h
index 127457bbe..b5466904b 100644
--- a/src/data/contest_opponents.h
+++ b/src/data/contest_opponents.h
@@ -138,7 +138,7 @@
const struct ContestWinner gDefaultContestWinners[] =
{
- {
+ [CONTEST_WINNER_HALL_1 - 1] = {
.personality = 0,
.trainerId = 0xFFFF,
.species = SPECIES_ELECTRIKE,
@@ -147,7 +147,7 @@ const struct ContestWinner gDefaultContestWinners[] =
.trainerName = _("EZRA"),
.contestRank = CONTEST_RANK_NORMAL
},
- {
+ [CONTEST_WINNER_HALL_2 - 1] = {
.personality = 0,
.trainerId = 0xFFFF,
.species = SPECIES_TROPIUS,
@@ -156,7 +156,7 @@ const struct ContestWinner gDefaultContestWinners[] =
.trainerName = _("ALLAN"),
.contestRank = CONTEST_RANK_HYPER
},
- {
+ [CONTEST_WINNER_HALL_3 - 1] = {
.personality = 0,
.trainerId = 0xFFFF,
.species = SPECIES_XATU,
@@ -165,7 +165,7 @@ const struct ContestWinner gDefaultContestWinners[] =
.trainerName = _("JULIET"),
.contestRank = CONTEST_RANK_NORMAL
},
- {
+ [CONTEST_WINNER_HALL_4 - 1] = {
.personality = 0,
.trainerId = 0xFFFF,
.species = SPECIES_PLUSLE,
@@ -174,7 +174,7 @@ const struct ContestWinner gDefaultContestWinners[] =
.trainerName = _("BAILY"),
.contestRank = CONTEST_RANK_MASTER
},
- {
+ [CONTEST_WINNER_HALL_5 - 1] = {
.personality = 0,
.trainerId = 0xFFFF,
.species = SPECIES_SHUPPET,
@@ -183,7 +183,7 @@ const struct ContestWinner gDefaultContestWinners[] =
.trainerName = _("MELANY"),
.contestRank = CONTEST_RANK_SUPER
},
- {
+ [CONTEST_WINNER_HALL_6 - 1] = {
.personality = 0,
.trainerId = 0xFFFF,
.species = SPECIES_ZANGOOSE,
@@ -192,7 +192,7 @@ const struct ContestWinner gDefaultContestWinners[] =
.trainerName = _("HANA"),
.contestRank = CONTEST_RANK_HYPER
},
- {
+ [CONTEST_WINNER_HALL_UNUSED_1 - 1] = {
.personality = 0,
.trainerId = 0xFFFF,
.species = SPECIES_LOUDRED,
@@ -201,7 +201,7 @@ const struct ContestWinner gDefaultContestWinners[] =
.trainerName = _("BRYANT"),
.contestRank = CONTEST_RANK_HYPER
},
- {
+ [CONTEST_WINNER_HALL_UNUSED_2 - 1] = {
.personality = 0,
.trainerId = 0xFFFF,
.species = SPECIES_DELCATTY,
diff --git a/src/data/pokemon_graphics/unknown_table.h b/src/data/pokemon_graphics/unknown_table.h
new file mode 100644
index 000000000..737b79c1b
--- /dev/null
+++ b/src/data/pokemon_graphics/unknown_table.h
@@ -0,0 +1,444 @@
+// Unknown and unused
+static const u32 sUnused[] =
+{
+ [SPECIES_NONE] = 0x888,
+ [SPECIES_BULBASAUR] = 0x888,
+ [SPECIES_IVYSAUR] = 0x888,
+ [SPECIES_VENUSAUR] = 0x888,
+ [SPECIES_CHARMANDER] = 0x88,
+ [SPECIES_CHARMELEON] = 0x888,
+ [SPECIES_CHARIZARD] = 0x888,
+ [SPECIES_SQUIRTLE] = 0x886,
+ [SPECIES_WARTORTLE] = 0x888,
+ [SPECIES_BLASTOISE] = 0x886,
+ [SPECIES_CATERPIE] = 0x888,
+ [SPECIES_METAPOD] = 0x888,
+ [SPECIES_BUTTERFREE] = 0x888,
+ [SPECIES_WEEDLE] = 0x888,
+ [SPECIES_KAKUNA] = 0x888,
+ [SPECIES_BEEDRILL] = 0x888,
+ [SPECIES_PIDGEY] = 0x886,
+ [SPECIES_PIDGEOTTO] = 0x888,
+ [SPECIES_PIDGEOT] = 0x888,
+ [SPECIES_RATTATA] = 0x888,
+ [SPECIES_RATICATE] = 0x888,
+ [SPECIES_SPEAROW] = 0x888,
+ [SPECIES_FEAROW] = 0x886,
+ [SPECIES_EKANS] = 0x886,
+ [SPECIES_ARBOK] = 0x888,
+ [SPECIES_PIKACHU] = 0x88,
+ [SPECIES_RAICHU] = 0x88,
+ [SPECIES_SANDSHREW] = 0x88,
+ [SPECIES_SANDSLASH] = 0x88,
+ [SPECIES_NIDORAN_F] = 0x888,
+ [SPECIES_NIDORINA] = 0x886,
+ [SPECIES_NIDOQUEEN] = 0x888,
+ [SPECIES_NIDORAN_M] = 0x888,
+ [SPECIES_NIDORINO] = 0x888,
+ [SPECIES_NIDOKING] = 0x886,
+ [SPECIES_CLEFAIRY] = 0x886,
+ [SPECIES_CLEFABLE] = 0x888,
+ [SPECIES_VULPIX] = 0x88,
+ [SPECIES_NINETALES] = 0x88,
+ [SPECIES_JIGGLYPUFF] = 0x88,
+ [SPECIES_WIGGLYTUFF] = 0x88,
+ [SPECIES_ZUBAT] = 0x886,
+ [SPECIES_GOLBAT] = 0x886,
+ [SPECIES_ODDISH] = 0x88,
+ [SPECIES_GLOOM] = 0x886,
+ [SPECIES_VILEPLUME] = 0x886,
+ [SPECIES_PARAS] = 0x888,
+ [SPECIES_PARASECT] = 0x888,
+ [SPECIES_VENONAT] = 0x888,
+ [SPECIES_VENOMOTH] = 0x888,
+ [SPECIES_DIGLETT] = 0x888,
+ [SPECIES_DUGTRIO] = 0x888,
+ [SPECIES_MEOWTH] = 0x886,
+ [SPECIES_PERSIAN] = 0x888,
+ [SPECIES_PSYDUCK] = 0x88,
+ [SPECIES_GOLDUCK] = 0x88,
+ [SPECIES_MANKEY] = 0x888,
+ [SPECIES_PRIMEAPE] = 0x888,
+ [SPECIES_GROWLITHE] = 0x888,
+ [SPECIES_ARCANINE] = 0x886,
+ [SPECIES_POLIWAG] = 0x888,
+ [SPECIES_POLIWHIRL] = 0x888,
+ [SPECIES_POLIWRATH] = 0x888,
+ [SPECIES_ABRA] = 0x886,
+ [SPECIES_KADABRA] = 0x886,
+ [SPECIES_ALAKAZAM] = 0x886,
+ [SPECIES_MACHOP] = 0x886,
+ [SPECIES_MACHOKE] = 0x886,
+ [SPECIES_MACHAMP] = 0x886,
+ [SPECIES_BELLSPROUT] = 0x886,
+ [SPECIES_WEEPINBELL] = 0x888,
+ [SPECIES_VICTREEBEL] = 0x888,
+ [SPECIES_TENTACOOL] = 0x886,
+ [SPECIES_TENTACRUEL] = 0x886,
+ [SPECIES_GEODUDE] = 0x886,
+ [SPECIES_GRAVELER] = 0x886,
+ [SPECIES_GOLEM] = 0x886,
+ [SPECIES_PONYTA] = 0x888,
+ [SPECIES_RAPIDASH] = 0x888,
+ [SPECIES_SLOWPOKE] = 0x888,
+ [SPECIES_SLOWBRO] = 0x888,
+ [SPECIES_MAGNEMITE] = 0x886,
+ [SPECIES_MAGNETON] = 0x886,
+ [SPECIES_FARFETCHD] = 0x888,
+ [SPECIES_DODUO] = 0x886,
+ [SPECIES_DODRIO] = 0x886,
+ [SPECIES_SEEL] = 0x888,
+ [SPECIES_DEWGONG] = 0x888,
+ [SPECIES_GRIMER] = 0x88,
+ [SPECIES_MUK] = 0x88,
+ [SPECIES_SHELLDER] = 0x888,
+ [SPECIES_CLOYSTER] = 0x888,
+ [SPECIES_GASTLY] = 0x888,
+ [SPECIES_HAUNTER] = 0x888,
+ [SPECIES_GENGAR] = 0x888,
+ [SPECIES_ONIX] = 0x888,
+ [SPECIES_DROWZEE] = 0x888,
+ [SPECIES_HYPNO] = 0x888,
+ [SPECIES_KRABBY] = 0x888,
+ [SPECIES_KINGLER] = 0x888,
+ [SPECIES_VOLTORB] = 0x886,
+ [SPECIES_ELECTRODE] = 0x886,
+ [SPECIES_EXEGGCUTE] = 0x888,
+ [SPECIES_EXEGGUTOR] = 0x888,
+ [SPECIES_CUBONE] = 0x888,
+ [SPECIES_MAROWAK] = 0x888,
+ [SPECIES_HITMONLEE] = 0x88,
+ [SPECIES_HITMONCHAN] = 0x886,
+ [SPECIES_LICKITUNG] = 0x888,
+ [SPECIES_KOFFING] = 0x88,
+ [SPECIES_WEEZING] = 0x88,
+ [SPECIES_RHYHORN] = 0x88,
+ [SPECIES_RHYDON] = 0x88,
+ [SPECIES_CHANSEY] = 0x888,
+ [SPECIES_TANGELA] = 0x886,
+ [SPECIES_KANGASKHAN] = 0x888,
+ [SPECIES_HORSEA] = 0x88,
+ [SPECIES_SEADRA] = 0x88,
+ [SPECIES_GOLDEEN] = 0x886,
+ [SPECIES_SEAKING] = 0x886,
+ [SPECIES_STARYU] = 0x88,
+ [SPECIES_STARMIE] = 0x88,
+ [SPECIES_MR_MIME] = 0x888,
+ [SPECIES_SCYTHER] = 0x886,
+ [SPECIES_JYNX] = 0x886,
+ [SPECIES_ELECTABUZZ] = 0x888,
+ [SPECIES_MAGMAR] = 0x888,
+ [SPECIES_PINSIR] = 0x88,
+ [SPECIES_TAUROS] = 0x888,
+ [SPECIES_MAGIKARP] = 0x886,
+ [SPECIES_GYARADOS] = 0x886,
+ [SPECIES_LAPRAS] = 0x888,
+ [SPECIES_DITTO] = 0x886,
+ [SPECIES_EEVEE] = 0x888,
+ [SPECIES_VAPOREON] = 0x888,
+ [SPECIES_JOLTEON] = 0x886,
+ [SPECIES_FLAREON] = 0x888,
+ [SPECIES_PORYGON] = 0x888,
+ [SPECIES_OMANYTE] = 0x888,
+ [SPECIES_OMASTAR] = 0x888,
+ [SPECIES_KABUTO] = 0x888,
+ [SPECIES_KABUTOPS] = 0x888,
+ [SPECIES_AERODACTYL] = 0x888,
+ [SPECIES_SNORLAX] = 0x888,
+ [SPECIES_ARTICUNO] = 0x888,
+ [SPECIES_ZAPDOS] = 0x888,
+ [SPECIES_MOLTRES] = 0x888,
+ [SPECIES_DRATINI] = 0x888,
+ [SPECIES_DRAGONAIR] = 0x888,
+ [SPECIES_DRAGONITE] = 0x888,
+ [SPECIES_MEWTWO] = 0x88,
+ [SPECIES_MEW] = 0x888,
+ [SPECIES_CHIKORITA] = 0x888,
+ [SPECIES_BAYLEEF] = 0x888,
+ [SPECIES_MEGANIUM] = 0x888,
+ [SPECIES_CYNDAQUIL] = 0x888,
+ [SPECIES_QUILAVA] = 0x88,
+ [SPECIES_TYPHLOSION] = 0x888,
+ [SPECIES_TOTODILE] = 0x888,
+ [SPECIES_CROCONAW] = 0x886,
+ [SPECIES_FERALIGATR] = 0x886,
+ [SPECIES_SENTRET] = 0x888,
+ [SPECIES_FURRET] = 0x888,
+ [SPECIES_HOOTHOOT] = 0x888,
+ [SPECIES_NOCTOWL] = 0x888,
+ [SPECIES_LEDYBA] = 0x888,
+ [SPECIES_LEDIAN] = 0x888,
+ [SPECIES_SPINARAK] = 0x886,
+ [SPECIES_ARIADOS] = 0x888,
+ [SPECIES_CROBAT] = 0x886,
+ [SPECIES_CHINCHOU] = 0x88,
+ [SPECIES_LANTURN] = 0x88,
+ [SPECIES_PICHU] = 0x88,
+ [SPECIES_CLEFFA] = 0x888,
+ [SPECIES_IGGLYBUFF] = 0x88,
+ [SPECIES_TOGEPI] = 0x888,
+ [SPECIES_TOGETIC] = 0x888,
+ [SPECIES_NATU] = 0x88,
+ [SPECIES_XATU] = 0x88,
+ [SPECIES_MAREEP] = 0x888,
+ [SPECIES_FLAAFFY] = 0x886,
+ [SPECIES_AMPHAROS] = 0x888,
+ [SPECIES_BELLOSSOM] = 0x886,
+ [SPECIES_MARILL] = 0x886,
+ [SPECIES_AZUMARILL] = 0x886,
+ [SPECIES_SUDOWOODO] = 0x888,
+ [SPECIES_POLITOED] = 0x888,
+ [SPECIES_HOPPIP] = 0x888,
+ [SPECIES_SKIPLOOM] = 0x88,
+ [SPECIES_JUMPLUFF] = 0x888,
+ [SPECIES_AIPOM] = 0x888,
+ [SPECIES_SUNKERN] = 0x888,
+ [SPECIES_SUNFLORA] = 0x88,
+ [SPECIES_YANMA] = 0x888,
+ [SPECIES_WOOPER] = 0x888,
+ [SPECIES_QUAGSIRE] = 0x888,
+ [SPECIES_ESPEON] = 0x888,
+ [SPECIES_UMBREON] = 0x888,
+ [SPECIES_MURKROW] = 0x888,
+ [SPECIES_SLOWKING] = 0x888,
+ [SPECIES_MISDREAVUS] = 0x888,
+ [SPECIES_UNOWN] = 0x888,
+ [SPECIES_WOBBUFFET] = 0x88,
+ [SPECIES_GIRAFARIG] = 0x88,
+ [SPECIES_PINECO] = 0x886,
+ [SPECIES_FORRETRESS] = 0x888,
+ [SPECIES_DUNSPARCE] = 0x888,
+ [SPECIES_GLIGAR] = 0x888,
+ [SPECIES_STEELIX] = 0x888,
+ [SPECIES_SNUBBULL] = 0x888,
+ [SPECIES_GRANBULL] = 0x888,
+ [SPECIES_QWILFISH] = 0x888,
+ [SPECIES_SCIZOR] = 0x888,
+ [SPECIES_SHUCKLE] = 0x888,
+ [SPECIES_HERACROSS] = 0x88,
+ [SPECIES_SNEASEL] = 0x888,
+ [SPECIES_TEDDIURSA] = 0x886,
+ [SPECIES_URSARING] = 0x888,
+ [SPECIES_SLUGMA] = 0x88,
+ [SPECIES_MAGCARGO] = 0x88,
+ [SPECIES_SWINUB] = 0x888,
+ [SPECIES_PILOSWINE] = 0x888,
+ [SPECIES_CORSOLA] = 0x88,
+ [SPECIES_REMORAID] = 0x888,
+ [SPECIES_OCTILLERY] = 0x888,
+ [SPECIES_DELIBIRD] = 0x888,
+ [SPECIES_MANTINE] = 0x888,
+ [SPECIES_SKARMORY] = 0x88,
+ [SPECIES_HOUNDOUR] = 0x888,
+ [SPECIES_HOUNDOOM] = 0x888,
+ [SPECIES_KINGDRA] = 0x88,
+ [SPECIES_PHANPY] = 0x88,
+ [SPECIES_DONPHAN] = 0x88,
+ [SPECIES_PORYGON2] = 0x888,
+ [SPECIES_STANTLER] = 0x88,
+ [SPECIES_SMEARGLE] = 0x888,
+ [SPECIES_TYROGUE] = 0x888,
+ [SPECIES_HITMONTOP] = 0x888,
+ [SPECIES_SMOOCHUM] = 0x888,
+ [SPECIES_ELEKID] = 0x888,
+ [SPECIES_MAGBY] = 0x888,
+ [SPECIES_MILTANK] = 0x888,
+ [SPECIES_BLISSEY] = 0x888,
+ [SPECIES_RAIKOU] = 0x888,
+ [SPECIES_ENTEI] = 0x888,
+ [SPECIES_SUICUNE] = 0x888,
+ [SPECIES_LARVITAR] = 0x888,
+ [SPECIES_PUPITAR] = 0x888,
+ [SPECIES_TYRANITAR] = 0x888,
+ [SPECIES_LUGIA] = 0x886,
+ [SPECIES_HO_OH] = 0x888,
+ [SPECIES_CELEBI] = 0x888,
+ [SPECIES_OLD_UNOWN_B] = 0x888,
+ [SPECIES_OLD_UNOWN_C] = 0x888,
+ [SPECIES_OLD_UNOWN_D] = 0x888,
+ [SPECIES_OLD_UNOWN_E] = 0x888,
+ [SPECIES_OLD_UNOWN_F] = 0x888,
+ [SPECIES_OLD_UNOWN_G] = 0x888,
+ [SPECIES_OLD_UNOWN_H] = 0x888,
+ [SPECIES_OLD_UNOWN_I] = 0x888,
+ [SPECIES_OLD_UNOWN_J] = 0x888,
+ [SPECIES_OLD_UNOWN_K] = 0x888,
+ [SPECIES_OLD_UNOWN_L] = 0x888,
+ [SPECIES_OLD_UNOWN_M] = 0x888,
+ [SPECIES_OLD_UNOWN_N] = 0x888,
+ [SPECIES_OLD_UNOWN_O] = 0x888,
+ [SPECIES_OLD_UNOWN_P] = 0x888,
+ [SPECIES_OLD_UNOWN_Q] = 0x888,
+ [SPECIES_OLD_UNOWN_R] = 0x888,
+ [SPECIES_OLD_UNOWN_S] = 0x888,
+ [SPECIES_OLD_UNOWN_T] = 0x888,
+ [SPECIES_OLD_UNOWN_U] = 0x888,
+ [SPECIES_OLD_UNOWN_V] = 0x888,
+ [SPECIES_OLD_UNOWN_W] = 0x888,
+ [SPECIES_OLD_UNOWN_X] = 0x888,
+ [SPECIES_OLD_UNOWN_Y] = 0x888,
+ [SPECIES_OLD_UNOWN_Z] = 0x888,
+ [SPECIES_TREECKO] = 0x886,
+ [SPECIES_GROVYLE] = 0x886,
+ [SPECIES_SCEPTILE] = 0x886,
+ [SPECIES_TORCHIC] = 0x88,
+ [SPECIES_COMBUSKEN] = 0x88,
+ [SPECIES_BLAZIKEN] = 0x88,
+ [SPECIES_MUDKIP] = 0x886,
+ [SPECIES_MARSHTOMP] = 0x88,
+ [SPECIES_SWAMPERT] = 0x886,
+ [SPECIES_POOCHYENA] = 0x886,
+ [SPECIES_MIGHTYENA] = 0x886,
+ [SPECIES_ZIGZAGOON] = 0x88,
+ [SPECIES_LINOONE] = 0x886,
+ [SPECIES_WURMPLE] = 0x88,
+ [SPECIES_SILCOON] = 0x88,
+ [SPECIES_BEAUTIFLY] = 0x88,
+ [SPECIES_CASCOON] = 0x88,
+ [SPECIES_DUSTOX] = 0x88,
+ [SPECIES_LOTAD] = 0x886,
+ [SPECIES_LOMBRE] = 0x886,
+ [SPECIES_LUDICOLO] = 0x886,
+ [SPECIES_SEEDOT] = 0x888,
+ [SPECIES_NUZLEAF] = 0x888,
+ [SPECIES_SHIFTRY] = 0x886,
+ [SPECIES_NINCADA] = 0x886,
+ [SPECIES_NINJASK] = 0x886,
+ [SPECIES_SHEDINJA] = 0x886,
+ [SPECIES_TAILLOW] = 0x88,
+ [SPECIES_SWELLOW] = 0x88,
+ [SPECIES_SHROOMISH] = 0x886,
+ [SPECIES_BRELOOM] = 0x886,
+ [SPECIES_SPINDA] = 0x1882,
+ [SPECIES_WINGULL] = 0x88,
+ [SPECIES_PELIPPER] = 0x88,
+ [SPECIES_SURSKIT] = 0x88,
+ [SPECIES_MASQUERAIN] = 0x88,
+ [SPECIES_WAILMER] = 0x886,
+ [SPECIES_WAILORD] = 0x886,
+ [SPECIES_SKITTY] = 0x886,
+ [SPECIES_DELCATTY] = 0x88,
+ [SPECIES_KECLEON] = 0x88,
+ [SPECIES_BALTOY] = 0x88,
+ [SPECIES_CLAYDOL] = 0x88,
+ [SPECIES_NOSEPASS] = 0x886,
+ [SPECIES_TORKOAL] = 0x88,
+ [SPECIES_SABLEYE] = 0x886,
+ [SPECIES_BARBOACH] = 0x88,
+ [SPECIES_WHISCASH] = 0x88,
+ [SPECIES_LUVDISC] = 0x88,
+ [SPECIES_CORPHISH] = 0x88,
+ [SPECIES_CRAWDAUNT] = 0x88,
+ [SPECIES_FEEBAS] = 0x88,
+ [SPECIES_MILOTIC] = 0x88,
+ [SPECIES_CARVANHA] = 0x886,
+ [SPECIES_SHARPEDO] = 0x886,
+ [SPECIES_TRAPINCH] = 0x88,
+ [SPECIES_VIBRAVA] = 0x88,
+ [SPECIES_FLYGON] = 0x88,
+ [SPECIES_MAKUHITA] = 0x886,
+ [SPECIES_HARIYAMA] = 0x886,
+ [SPECIES_ELECTRIKE] = 0x88,
+ [SPECIES_MANECTRIC] = 0x88,
+ [SPECIES_NUMEL] = 0x88,
+ [SPECIES_CAMERUPT] = 0x88,
+ [SPECIES_SPHEAL] = 0x88,
+ [SPECIES_SEALEO] = 0x88,
+ [SPECIES_WALREIN] = 0x88,
+ [SPECIES_CACNEA] = 0x88,
+ [SPECIES_CACTURNE] = 0x88,
+ [SPECIES_SNORUNT] = 0x88,
+ [SPECIES_GLALIE] = 0x88,
+ [SPECIES_LUNATONE] = 0x88,
+ [SPECIES_SOLROCK] = 0x88,
+ [SPECIES_AZURILL] = 0x886,
+ [SPECIES_SPOINK] = 0x88,
+ [SPECIES_GRUMPIG] = 0x88,
+ [SPECIES_PLUSLE] = 0x886,
+ [SPECIES_MINUN] = 0x886,
+ [SPECIES_MAWILE] = 0x886,
+ [SPECIES_MEDITITE] = 0x886,
+ [SPECIES_MEDICHAM] = 0x886,
+ [SPECIES_SWABLU] = 0x88,
+ [SPECIES_ALTARIA] = 0x88,
+ [SPECIES_WYNAUT] = 0x88,
+ [SPECIES_DUSKULL] = 0x88,
+ [SPECIES_DUSCLOPS] = 0x88,
+ [SPECIES_ROSELIA] = 0x886,
+ [SPECIES_SLAKOTH] = 0x886,
+ [SPECIES_VIGOROTH] = 0x886,
+ [SPECIES_SLAKING] = 0x886,
+ [SPECIES_GULPIN] = 0x88,
+ [SPECIES_SWALOT] = 0x886,
+ [SPECIES_TROPIUS] = 0x88,
+ [SPECIES_WHISMUR] = 0x886,
+ [SPECIES_LOUDRED] = 0x886,
+ [SPECIES_EXPLOUD] = 0x886,
+ [SPECIES_CLAMPERL] = 0x88,
+ [SPECIES_HUNTAIL] = 0x88,
+ [SPECIES_GOREBYSS] = 0x88,
+ [SPECIES_ABSOL] = 0x88,
+ [SPECIES_SHUPPET] = 0x88,
+ [SPECIES_BANETTE] = 0x88,
+ [SPECIES_SEVIPER] = 0x88,
+ [SPECIES_ZANGOOSE] = 0x88,
+ [SPECIES_RELICANTH] = 0x88,
+ [SPECIES_ARON] = 0x886,
+ [SPECIES_LAIRON] = 0x886,
+ [SPECIES_AGGRON] = 0x886,
+ [SPECIES_CASTFORM] = 0x888,
+ [SPECIES_VOLBEAT] = 0x886,
+ [SPECIES_ILLUMISE] = 0x886,
+ [SPECIES_LILEEP] = 0x88,
+ [SPECIES_CRADILY] = 0x88,
+ [SPECIES_ANORITH] = 0x88,
+ [SPECIES_ARMALDO] = 0x88,
+ [SPECIES_RALTS] = 0x886,
+ [SPECIES_KIRLIA] = 0x886,
+ [SPECIES_GARDEVOIR] = 0x88,
+ [SPECIES_BAGON] = 0x88,
+ [SPECIES_SHELGON] = 0x88,
+ [SPECIES_SALAMENCE] = 0x88,
+ [SPECIES_BELDUM] = 0x88,
+ [SPECIES_METANG] = 0x88,
+ [SPECIES_METAGROSS] = 0x88,
+ [SPECIES_REGIROCK] = 0x88,
+ [SPECIES_REGICE] = 0x88,
+ [SPECIES_REGISTEEL] = 0x88,
+ [SPECIES_KYOGRE] = 0x88,
+ [SPECIES_GROUDON] = 0x88,
+ [SPECIES_RAYQUAZA] = 0x88,
+ [SPECIES_LATIAS] = 0x88,
+ [SPECIES_LATIOS] = 0x88,
+ [SPECIES_JIRACHI] = 0x88,
+ [SPECIES_DEOXYS] = 0x88,
+ [SPECIES_CHIMECHO] = 0x88,
+ [SPECIES_EGG] = 0x88,
+ [SPECIES_UNOWN_B] = 0x888,
+ [SPECIES_UNOWN_C] = 0x888,
+ [SPECIES_UNOWN_D] = 0x888,
+ [SPECIES_UNOWN_E] = 0x888,
+ [SPECIES_UNOWN_F] = 0x888,
+ [SPECIES_UNOWN_G] = 0x888,
+ [SPECIES_UNOWN_H] = 0x888,
+ [SPECIES_UNOWN_I] = 0x888,
+ [SPECIES_UNOWN_J] = 0x888,
+ [SPECIES_UNOWN_K] = 0x888,
+ [SPECIES_UNOWN_L] = 0x888,
+ [SPECIES_UNOWN_M] = 0x888,
+ [SPECIES_UNOWN_N] = 0x888,
+ [SPECIES_UNOWN_O] = 0x888,
+ [SPECIES_UNOWN_P] = 0x888,
+ [SPECIES_UNOWN_Q] = 0x888,
+ [SPECIES_UNOWN_R] = 0x888,
+ [SPECIES_UNOWN_S] = 0x888,
+ [SPECIES_UNOWN_T] = 0x888,
+ [SPECIES_UNOWN_U] = 0x888,
+ [SPECIES_UNOWN_V] = 0x888,
+ [SPECIES_UNOWN_W] = 0x888,
+ [SPECIES_UNOWN_X] = 0x888,
+ [SPECIES_UNOWN_Y] = 0x888,
+ [SPECIES_UNOWN_Z] = 0x888,
+ [SPECIES_UNOWN_EMARK] = 0x888,
+ [SPECIES_UNOWN_QMARK] = 0x888,
+};
diff --git a/src/data/trade.h b/src/data/trade.h
index b29e7c3d1..752971c11 100644
--- a/src/data/trade.h
+++ b/src/data/trade.h
@@ -1,3 +1,17 @@
+#define GFXTAG_MENU_TEXT 200 // Used as a base tag in CB2_CreateTradeMenu and CB2_ReturnToTradeMenu
+#define GFXTAG_CURSOR 300
+#define GFXTAG_LINK_MON_GLOW 5550
+#define GFXTAG_LINK_MON_SHADOW 5552
+#define GFXTAG_CABLE_END 5554
+#define GFXTAG_GBA_SCREEN 5556
+#define GFXTAG_POKEBALL 5557
+
+#define PALTAG_CURSOR 2345
+#define PALTAG_MENU_TEXT 4925
+#define PALTAG_LINK_MON 5551
+#define PALTAG_GBA 5555
+#define PALTAG_POKEBALL 5558
+
// Exists unused in RS as well
static const u32 sUnusedStructSizes[] =
{
@@ -25,7 +39,7 @@ static const u8 sText_Slash[] = _("/");
static const u8 sText_Lv[] = _("Lv. ");
static const u8 sText_ThreeDashes[] = _("---");
static const u8 sText_FourQuestionMarks[] = _("????");
-static const u8 sText_832DAE4[] = _("");
+static const u8 sText_UnusedEmpty[] = _("");
static const u8 sText_IsThisTradeOkay[] = _("Is this trade okay?");
static const u8 sText_Cancel[] = _("CANCEL");
static const u8 sText_ChooseAPkmn[] = _("Choose a POKéMON.");
@@ -48,107 +62,113 @@ static const struct OamData sTradeOamData_32x16 =
.priority = 1
};
-static const struct OamData sTradeOamData_64x32 =
+static const struct OamData sOamData_Cursor =
{
.shape = SPRITE_SHAPE(64x32),
.size = SPRITE_SIZE(64x32),
.priority = 1
};
-static const union AnimCmd gSpriteAnim_832DC24[] =
+static const union AnimCmd sAnim_Cursor_Normal[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_832DC2C[] =
+static const union AnimCmd sAnim_Cursor_OnCancel[] =
{
ANIMCMD_FRAME(32, 5),
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_832DC34[] =
+enum {
+ CURSOR_ANIM_NORMAL,
+ CURSOR_ANIM_ON_CANCEL,
+};
+
+static const union AnimCmd *const sAnims_Cursor[] =
{
- gSpriteAnim_832DC24,
- gSpriteAnim_832DC2C
+ [CURSOR_ANIM_NORMAL] = sAnim_Cursor_Normal,
+ [CURSOR_ANIM_ON_CANCEL] = sAnim_Cursor_OnCancel
};
-static const struct SpriteSheet sTradeButtonsSpriteSheet =
+static const struct SpriteSheet sCursor_SpriteSheet =
{
- .data = gTradeButtons_Gfx,
+ .data = gTradeCursor_Gfx,
.size = 0x800,
- .tag = 300
+ .tag = GFXTAG_CURSOR
};
-static const struct SpritePalette gUnknown_0832DC44 =
+static const struct SpritePalette sCursor_SpritePalette =
{
- .data = gUnknown_08DDB444,
- .tag = 2345
+ .data = gTradeCursor_Pal,
+ .tag = PALTAG_CURSOR
};
-static const union AnimCmd gSpriteAnim_832DC4C[] =
+static const union AnimCmd sAnim_MenuText_0[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_832DC54[] =
+static const union AnimCmd sAnim_MenuText_1[] =
{
ANIMCMD_FRAME(8, 5),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_832DC5C[] =
+static const union AnimCmd sAnim_MenuText_2[] =
{
ANIMCMD_FRAME(16, 5),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_832DC64[] =
+static const union AnimCmd sAnim_MenuText_3[] =
{
ANIMCMD_FRAME(24, 5),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_832DC6C[] =
+static const union AnimCmd sAnim_MenuText_4[] =
{
ANIMCMD_FRAME(32, 5),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_832DC74[] =
+static const union AnimCmd sAnim_MenuText_5[] =
{
ANIMCMD_FRAME(40, 5),
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_832DC7C[] =
+// These anims are not used
+static const union AnimCmd *const sAnims_MenuText[] =
{
- gSpriteAnim_832DC4C,
- gSpriteAnim_832DC54,
- gSpriteAnim_832DC5C,
- gSpriteAnim_832DC64,
- gSpriteAnim_832DC6C,
- gSpriteAnim_832DC74
+ sAnim_MenuText_0,
+ sAnim_MenuText_1,
+ sAnim_MenuText_2,
+ sAnim_MenuText_3,
+ sAnim_MenuText_4,
+ sAnim_MenuText_5
};
-static const struct SpriteTemplate gSpriteTemplate_832DC94 =
+static const struct SpriteTemplate sSpriteTemplate_Cursor =
{
- .tileTag = 300,
- .paletteTag = 2345,
- .oam = &sTradeOamData_64x32,
- .anims = gSpriteAnimTable_832DC34,
+ .tileTag = GFXTAG_CURSOR,
+ .paletteTag = PALTAG_CURSOR,
+ .oam = &sOamData_Cursor,
+ .anims = sAnims_Cursor,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
};
-static const struct SpriteTemplate gSpriteTemplate_832DCAC =
+static const struct SpriteTemplate sSpriteTemplate_MenuText =
{
- .tileTag = 200,
- .paletteTag = 4925,
+ .tileTag = GFXTAG_MENU_TEXT,
+ .paletteTag = PALTAG_MENU_TEXT,
.oam = &sTradeOamData_32x16,
- .anims = gSpriteAnimTable_832DC7C,
+ .anims = sAnims_MenuText,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
@@ -158,7 +178,7 @@ static const u16 TradeScreenTextPalette[] = INCBIN_U16("graphics/trade/text.gbap
static const struct SpritePalette gSpritePalette_TradeScreenText =
{
.data = TradeScreenTextPalette,
- .tag = 4925
+ .tag = PALTAG_MENU_TEXT
};
// This is used to determine the next mon to select when the D-Pad is
@@ -337,26 +357,26 @@ static const u8 sTradeMonBoxCoords[][2][2] =
},
};
-static const u8 sUnref_0832DE6E[] =
-{
- 0x00, 0x0e,
- 0x0f, 0x1d,
- 0x03, 0x05,
- 0x03, 0x07,
- 0x12, 0x05,
- 0x12, 0x07,
- 0x08, 0x07,
- 0x16, 0x0c,
- 0x08, 0x07,
- 0x16, 0x0c,
- 0x06, 0x07,
- 0x18, 0x0c,
- 0x06, 0x07,
- 0x18, 0x0c,
- 0x08, 0x07,
- 0x16, 0x0c,
- 0x07, 0x07,
- 0x17, 0x0c
+static const u8 sUnusedCoords[][2] =
+{
+ { 0, 14},
+ {15, 29},
+ { 3, 5},
+ { 3, 7},
+ {18, 5},
+ {18, 7},
+ { 8, 7},
+ {22, 12},
+ { 8, 7},
+ {22, 12},
+ { 6, 7},
+ {24, 12},
+ { 6, 7},
+ {24, 12},
+ { 8, 7},
+ {22, 12},
+ { 7, 7},
+ {23, 12}
};
static const u8 *const sTradeActionTexts[] =
@@ -620,42 +640,42 @@ static const u8 sTradeMenuPartyMonBoxDimensions[3][2] =
[TRADE_PARTNER] = {19, 3}
};
-static const u16 sTradePal_PokeBall[] = INCBIN_U16("graphics/trade/pokeball.gbapal");
-static const u8 sTradeGfx_PokeBall[] = INCBIN_U8("graphics/trade/pokeball.4bpp");
-static const u8 sTradeGfx_PokeBallSymbol[] = INCBIN_U8("graphics/trade/pokeball_symbol.8bpp"); // unused?
-static const u16 sTradeTilemap_Cable[] = INCBIN_U16("graphics/trade/cable_closeup_map.bin");
+static const u16 sPokeball_Pal[] = INCBIN_U16("graphics/trade/pokeball.gbapal");
+static const u8 sPokeball_Gfx[] = INCBIN_U8("graphics/trade/pokeball.4bpp");
+static const u8 sPokeballSymbol_Gfx[] = INCBIN_U8("graphics/trade/pokeball_symbol.8bpp"); // unused
+static const u16 sCrossingHighlightCable_Tilemap[] = INCBIN_U16("graphics/trade/crossing_highlight_cable.bin");
static const u16 sTradeTilemap_PokeBallSymbol[] = INCBIN_U16("graphics/trade/pokeball_symbol_map.bin"); // unused?
-static const u16 sUnref_083308C0[] = INCBIN_U16("graphics/trade/unknown_3308C0.gbapal");
-static const u16 sTradePal_Gba[] = INCBIN_U16("graphics/trade/gba.gbapal");
-static const u16 sTradePal_ShadowUnused[] = INCBIN_U16("graphics/trade/shadow.gbapal");
-static const u16 sTradePal_BlackUnused[] = INCBIN_U16("graphics/trade/black.gbapal");
-static const u16 sTradePal_Misc[] = INCBIN_U16("graphics/trade/misc.gbapal");
-static const u8 sTradeGfx_Glow1[] = INCBIN_U8("graphics/trade/glow1.4bpp");
-static const u8 sTradeGfx_Glow2[] = INCBIN_U8("graphics/trade/glow2.4bpp");
-static const u8 sTradeGfx_CableEnd[] = INCBIN_U8("graphics/trade/cable_end.4bpp");
-static const u8 sTradeGfx_GbaScreen[] = INCBIN_U8("graphics/trade/gba_screen.4bpp");
-const u16 gUnknown_08331F60[] = INCBIN_U16("graphics/trade/shadow_map.bin");
-static const u8 sTradeAffine_Gba[] = INCBIN_U8("graphics/trade/gba_affine.8bpp");
-static const u8 sFiller_08335760[64] = {};
-static const u8 sTradeAffineMap_GbaCable[] = INCBIN_U8("graphics/trade/gba_affine_map_cable.bin");
-static const u8 sTradeAffineMap_GbaWireless[] = INCBIN_U8("graphics/trade/gba_affine_map_wireless.bin");
-static const u16 sTradeTilemap_GbaWireless[] = INCBIN_U16("graphics/trade/gba_map_wireless.bin");
-static const u16 sTradeTilemap_GbaCable[] = INCBIN_U16("graphics/trade/gba_map_cable.bin");
-static const u32 gUnknown_083379A0[] = INCBIN_U32("graphics/trade/unknown_3379A0.bin.lz"); //some wireless tilemap
-static const u16 sTradePal_WirelessSignalSend[] = INCBIN_U16("graphics/trade/wireless_signal_send.gbapal");
-static const u16 sTradePal_WirelessSignalReceive[] = INCBIN_U16("graphics/trade/wireless_signal_receive.gbapal");
-static const u16 sTradePal_Black[] = INCBIN_U16("graphics/trade/black.gbapal");
-static const u32 sTradeGfx_WirelessSignal[] = INCBIN_U32("graphics/trade/wireless_signal.4bpp.lz");
-static const u32 sTradeTilemap_WirelessSignal[] = INCBIN_U32("graphics/trade/wireless_signal.bin.lz");
-
-static const struct OamData sTradeOamData_16x16 =
+static const u16 sUnusedPal1[] = INCBIN_U16("graphics/trade/unused1.gbapal");
+static const u16 sGba_Pal[] = INCBIN_U16("graphics/trade/gba.gbapal");
+static const u16 sUnusedPal2[] = INCBIN_U16("graphics/trade/unused2.gbapal");
+static const u16 sWirelessSignalNone_Pal_Unused[] = INCBIN_U16("graphics/trade/wireless_signal_none.gbapal");
+static const u16 sLinkMon_Pal[] = INCBIN_U16("graphics/trade/link_mon.gbapal");
+static const u8 sLinkMonGlow_Gfx[] = INCBIN_U8("graphics/trade/link_mon_glow.4bpp");
+static const u8 sLinkMonShadow_Gfx[] = INCBIN_U8("graphics/trade/link_mon_shadow.4bpp");
+static const u8 sCableEnd_Gfx[] = INCBIN_U8("graphics/trade/cable_end.4bpp");
+static const u8 sGbaScreen_Gfx[] = INCBIN_U8("graphics/trade/gba_screen.4bpp");
+const u16 gTradePlatform_Tilemap[] = INCBIN_U16("graphics/trade/platform.bin");
+static const u8 sGbaAffine_Gfx[] = INCBIN_U8("graphics/trade/gba_affine.8bpp"); // Only the gfx for when the GBA is zooming in/out
+static const u8 sEmptyGfx[64] = {};
+static const u8 sGbaCable_AffineTilemap[] = INCBIN_U8("graphics/trade/gba_affine_map_cable.bin");
+static const u8 sGbaWireless_AffineTilemap[] = INCBIN_U8("graphics/trade/gba_affine_map_wireless.bin");
+static const u16 sGbaWireless_Tilemap[] = INCBIN_U16("graphics/trade/gba_map_wireless.bin");
+static const u16 sGbaCable_Tilemap[] = INCBIN_U16("graphics/trade/gba_map_cable.bin");
+static const u32 sCrossingHighlightWireless_Tilemap[] = INCBIN_U32("graphics/trade/crossing_highlight_wireless.bin.lz");
+static const u16 sWirelessSignalSend_Pal[] = INCBIN_U16("graphics/trade/wireless_signal_send.gbapal");
+static const u16 sWirelessSignalRecv_Pal[] = INCBIN_U16("graphics/trade/wireless_signal_receive.gbapal");
+static const u16 sWirelessSignalNone_Pal[] = INCBIN_U16("graphics/trade/wireless_signal_none.gbapal");
+static const u32 sWirelessSignal_Gfx[] = INCBIN_U32("graphics/trade/wireless_signal.4bpp.lz");
+static const u32 sWirelessSignal_Tilemap[] = INCBIN_U32("graphics/trade/wireless_signal.bin.lz");
+
+static const struct OamData sOamData_Pokeball =
{
.affineMode = ST_OAM_AFFINE_NORMAL,
.shape = SPRITE_SHAPE(16x16),
.size = SPRITE_SIZE(16x16)
};
-static const union AnimCmd gSpriteAnim_8338C4C[] =
+static const union AnimCmd sAnim_Pokeball_SpinOnce[] =
{
ANIMCMD_FRAME( 0, 3),
ANIMCMD_FRAME( 4, 3),
@@ -674,7 +694,7 @@ static const union AnimCmd gSpriteAnim_8338C4C[] =
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_8338C88[] =
+static const union AnimCmd sAnim_Pokeball_SpinTwice[] =
{
ANIMCMD_FRAME( 0, 3),
ANIMCMD_FRAME( 4, 3),
@@ -693,25 +713,25 @@ static const union AnimCmd gSpriteAnim_8338C88[] =
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_8338C88[] =
+static const union AnimCmd *const sAnims_Pokeball[] =
{
- gSpriteAnim_8338C4C,
- gSpriteAnim_8338C88
+ sAnim_Pokeball_SpinOnce,
+ sAnim_Pokeball_SpinTwice
};
-static const union AffineAnimCmd gSpriteAffineAnim_8338CCC[] =
+static const union AffineAnimCmd sAffineAnim_Pokeball_Normal[] =
{
AFFINEANIMCMD_FRAME(0, 0, 0, 1),
AFFINEANIMCMD_END
};
-static const union AffineAnimCmd gSpriteAffineAnim_8338CDC[] =
+static const union AffineAnimCmd sAffineAnim_Pokeball_Squish[] =
{
AFFINEANIMCMD_FRAME(-8, 0, 0, 20),
AFFINEANIMCMD_END
};
-static const union AffineAnimCmd gSpriteAffineAnim_8338CEC[] =
+static const union AffineAnimCmd sAffineAnim_Pokeball_Unsquish[] =
{
AFFINEANIMCMD_FRAME(0x60, 0x100, 0, 0),
AFFINEANIMCMD_FRAME( 0, 0, 0, 5),
@@ -719,38 +739,38 @@ static const union AffineAnimCmd gSpriteAffineAnim_8338CEC[] =
AFFINEANIMCMD_END
};
-static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D0C[] =
+static const union AffineAnimCmd *const sAffineAnims_Pokeball[] =
{
- gSpriteAffineAnim_8338CCC,
- gSpriteAffineAnim_8338CDC,
- gSpriteAffineAnim_8338CEC
+ sAffineAnim_Pokeball_Normal,
+ sAffineAnim_Pokeball_Squish,
+ sAffineAnim_Pokeball_Unsquish
};
static const struct SpriteSheet sPokeBallSpriteSheet =
{
- .data = sTradeGfx_PokeBall,
+ .data = sPokeball_Gfx,
.size = 0x600,
- .tag = 5557
+ .tag = GFXTAG_POKEBALL
};
static const struct SpritePalette sPokeBallSpritePalette =
{
- .data = sTradePal_PokeBall,
- .tag = 5558
+ .data = sPokeball_Pal,
+ .tag = PALTAG_POKEBALL
};
-static const struct SpriteTemplate gSpriteTemplate_8338D28 =
+static const struct SpriteTemplate sSpriteTemplate_Pokeball =
{
- .tileTag = 5557,
- .paletteTag = 5558,
- .oam = &sTradeOamData_16x16,
- .anims = gSpriteAnimTable_8338C88,
+ .tileTag = GFXTAG_POKEBALL,
+ .paletteTag = PALTAG_POKEBALL,
+ .oam = &sOamData_Pokeball,
+ .anims = sAnims_Pokeball,
.images = NULL,
- .affineAnims = gSpriteAffineAnimTable_8338D0C,
- .callback = sub_807E55C
+ .affineAnims = sAffineAnims_Pokeball,
+ .callback = SpriteCB_BouncingPokeball
};
-static const struct OamData sTradeOamData_32x32 =
+static const struct OamData sOamData_LinkMonGlow =
{
.affineMode = ST_OAM_AFFINE_NORMAL,
.objMode = ST_OAM_OBJ_BLEND,
@@ -759,146 +779,151 @@ static const struct OamData sTradeOamData_32x32 =
.priority = 1
};
-static const union AnimCmd gSpriteAnim_8338D48[] =
+static const union AnimCmd sAnim_LinkMonGlow[] =
{
- ANIMCMD_FRAME(0, 5, .hFlip = TRUE, .vFlip = TRUE),
+ ANIMCMD_FRAME(0, 5, .hFlip = TRUE, .vFlip = TRUE), // ? The graphic is a perfect circle, no need to flip
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_8338D50[] =
+static const union AnimCmd *const sAnims_LinkMonGlow[] =
{
- gSpriteAnim_8338D48
+ sAnim_LinkMonGlow
};
-static const union AffineAnimCmd gSpriteAffineAnim_8338D54[] =
+static const union AffineAnimCmd sAffineAnim_LinkMonGlow[] =
{
AFFINEANIMCMD_FRAME(-10, -10, 0, 5),
AFFINEANIMCMD_FRAME(10, 10, 0, 5),
AFFINEANIMCMD_JUMP(0)
};
-static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D6C[] =
+static const union AffineAnimCmd *const sAffineAnims_LinkMonGlow[] =
{
- gSpriteAffineAnim_8338D54
+ sAffineAnim_LinkMonGlow
};
-static const struct SpriteSheet sGlow1SpriteSheet =
+static const struct SpriteSheet sSpriteSheet_LinkMonGlow =
{
- .data = sTradeGfx_Glow1,
+ .data = sLinkMonGlow_Gfx,
.size = 0x200,
- .tag = 5550
+ .tag = GFXTAG_LINK_MON_GLOW
};
-static const struct SpritePalette sMiscTradeSpritePalette =
+static const struct SpritePalette sSpritePalette_LinkMon =
{
- .data = sTradePal_Misc,
- .tag = 5551
+ .data = sLinkMon_Pal,
+ .tag = PALTAG_LINK_MON
};
-static const struct SpritePalette sGbaSpritePalette =
+static const struct SpritePalette sSpritePalette_Gba =
{
- .data = sTradePal_Gba,
- .tag = 5555
+ .data = sGba_Pal,
+ .tag = PALTAG_GBA
};
-static const struct SpriteTemplate gUnknown_08338D88 =
+static const struct SpriteTemplate sSpriteTemplate_LinkMonGlow =
{
- .tileTag = 5550,
- .paletteTag = 5551,
- .oam = &sTradeOamData_32x32,
- .anims = gSpriteAnimTable_8338D50,
+ .tileTag = GFXTAG_LINK_MON_GLOW,
+ .paletteTag = PALTAG_LINK_MON,
+ .oam = &sOamData_LinkMonGlow,
+ .anims = sAnims_LinkMonGlow,
.images = NULL,
- .affineAnims = gSpriteAffineAnimTable_8338D6C,
- .callback = sub_807AA28
+ .affineAnims = sAffineAnims_LinkMonGlow,
+ .callback = SpriteCB_LinkMonGlow
};
-static const struct OamData sTradeOamData_16x32 =
+static const struct OamData sOamData_LinkMonShadow =
{
.shape = SPRITE_SHAPE(16x32),
.size = SPRITE_SIZE(16x32),
.priority = 1
};
-static const union AnimCmd gSpriteAnim_8338DA8[] =
+static const union AnimCmd sAnim_LinkMonShadow_Big[] =
{
ANIMCMD_FRAME(0, 5, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_8338DB0[] =
+static const union AnimCmd sAnim_LinkMonShadow_Small[] =
{
ANIMCMD_FRAME(8, 5, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_8338DB8[] =
+enum {
+ ANIM_LINKMON_BIG,
+ ANIM_LINKMON_SMALL,
+};
+
+static const union AnimCmd *const sAnims_LinkMonShadow[] =
{
- gSpriteAnim_8338DA8,
- gSpriteAnim_8338DB0
+ [ANIM_LINKMON_BIG] = sAnim_LinkMonShadow_Big,
+ [ANIM_LINKMON_SMALL] = sAnim_LinkMonShadow_Small
};
-static const struct SpriteSheet sGlow2SpriteSheet =
+static const struct SpriteSheet sSpriteSheet_LinkMonShadow =
{
- .data = sTradeGfx_Glow2,
+ .data = sLinkMonShadow_Gfx,
.size = 0x300,
- .tag = 5552
+ .tag = GFXTAG_LINK_MON_SHADOW
};
-static const struct SpriteTemplate sGlowBallSpriteTemplate =
+static const struct SpriteTemplate sSpriteTemplate_LinkMonShadow =
{
- .tileTag = 5552,
- .paletteTag = 5551,
- .oam = &sTradeOamData_16x32,
- .anims = gSpriteAnimTable_8338DB8,
+ .tileTag = GFXTAG_LINK_MON_SHADOW,
+ .paletteTag = PALTAG_LINK_MON,
+ .oam = &sOamData_LinkMonShadow,
+ .anims = sAnims_LinkMonShadow,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_807AA7C
+ .callback = SpriteCB_LinkMonShadow
};
-static const struct OamData sTradeOamData_16x32_2 =
+static const struct OamData sOamData_CableEnd =
{
.shape = SPRITE_SHAPE(16x32),
.size = SPRITE_SIZE(16x32),
.priority = 1
};
-static const union AnimCmd gSpriteAnim_8338DE8[] =
+static const union AnimCmd sAnim_CableEnd[] =
{
ANIMCMD_FRAME(0, 10),
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_8338DF0[] =
+static const union AnimCmd *const sAnims_CableEnd[] =
{
- gSpriteAnim_8338DE8
+ sAnim_CableEnd
};
-static const struct SpriteSheet sCableEndSpriteSheet =
+static const struct SpriteSheet sSpriteSheet_CableEnd =
{
- .data = sTradeGfx_CableEnd,
+ .data = sCableEnd_Gfx,
.size = 0x100,
- .tag = 5554
+ .tag = GFXTAG_CABLE_END
};
-static const struct SpriteTemplate gSpriteTemplate_8338DFC =
+static const struct SpriteTemplate sSpriteTemplate_CableEnd =
{
- .tileTag = 5554,
- .paletteTag = 5555,
- .oam = &sTradeOamData_16x32_2,
- .anims = gSpriteAnimTable_8338DF0,
+ .tileTag = GFXTAG_CABLE_END,
+ .paletteTag = PALTAG_GBA,
+ .oam = &sOamData_CableEnd,
+ .anims = sAnims_CableEnd,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_807AABC
+ .callback = SpriteCB_CableEndSending
};
-static const struct OamData sTradeOamData_64x32_2 =
+static const struct OamData sOamData_GbaScreen =
{
.shape = SPRITE_SHAPE(64x32),
.size = SPRITE_SIZE(64x32),
.priority = 1
};
-static const union AnimCmd gSpriteAnim_8338E1C[] =
+static const union AnimCmd sAnim_GbaScreen_Long[] =
{
ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE),
@@ -911,7 +936,7 @@ static const union AnimCmd gSpriteAnim_8338E1C[] =
ANIMCMD_END
};
-static const union AnimCmd gSpriteAnim_8338E40[] =
+static const union AnimCmd sAnim_GbaScreen_Short[] =
{
ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE),
@@ -924,56 +949,56 @@ static const union AnimCmd gSpriteAnim_8338E40[] =
ANIMCMD_END
};
-static const union AnimCmd *const gSpriteAnimTable_8338E64[] =
+static const union AnimCmd *const sAnims_GbaScreen_Long[] =
{
- gSpriteAnim_8338E1C
+ sAnim_GbaScreen_Long
};
-static const union AnimCmd *const gSpriteAnimTable_8338E68[] =
+static const union AnimCmd *const sAnims_GbaScreen_Short[] =
{
- gSpriteAnim_8338E40
+ sAnim_GbaScreen_Short
};
-static const struct SpriteSheet sGbaScreenSpriteSheet =
+static const struct SpriteSheet sSpriteSheet_GbaScreen =
{
- .data = sTradeGfx_GbaScreen,
+ .data = sGbaScreen_Gfx,
.size = 0x1000,
- .tag = 5556
+ .tag = GFXTAG_GBA_SCREEN
};
-static const struct SpriteTemplate gSpriteTemplate_8338E74 =
+static const struct SpriteTemplate sSpriteTemplate_GbaScreenFlash_Long =
{
- .tileTag = 5556,
- .paletteTag = 5555,
- .oam = &sTradeOamData_64x32_2,
- .anims = gSpriteAnimTable_8338E64,
+ .tileTag = GFXTAG_GBA_SCREEN,
+ .paletteTag = PALTAG_GBA,
+ .oam = &sOamData_GbaScreen,
+ .anims = sAnims_GbaScreen_Long,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_807AB04
+ .callback = SpriteCB_GbaScreen
};
-static const struct SpriteTemplate gSpriteTemplate_8338E8C =
+static const struct SpriteTemplate sSpriteTemplate_GbaScreenFlash_Short =
{
- .tileTag = 5556,
- .paletteTag = 5555,
- .oam = &sTradeOamData_64x32_2,
- .anims = gSpriteAnimTable_8338E68,
+ .tileTag = GFXTAG_GBA_SCREEN,
+ .paletteTag = PALTAG_GBA,
+ .oam = &sOamData_GbaScreen,
+ .anims = sAnims_GbaScreen_Short,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_807AB04
+ .callback = SpriteCB_GbaScreen
};
-static const u16 gUnknown_08338EA4[] = INCBIN_U16("graphics/trade/unknown_338EA4.gbapal");
+static const u16 sLinkMonShadow_Pal[] = INCBIN_U16("graphics/trade/link_mon_shadow.gbapal");
-static const union AffineAnimCmd gSpriteAffineAnim_8338EBC[] =
+static const union AffineAnimCmd sAffineAnim_CrossingMonPic[] =
{
AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0),
AFFINEANIMCMD_JUMP(0)
};
-static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338ECC[] =
+static const union AffineAnimCmd *const sAffineAnims_CrossingMonPics[] =
{
- gSpriteAffineAnim_8338EBC
+ sAffineAnim_CrossingMonPic
};
static const struct InGameTrade sIngameTrades[] =
@@ -1146,69 +1171,54 @@ static const struct BgTemplate sTradeSequenceBgTemplates[] =
static const s8 sTradeBallVerticalVelocityTable[] =
{
- 0, 0, 1, 0,
- 1, 0, 1, 1,
- 1, 1, 2, 2,
- 2, 2, 3, 3,
- 3, 3, 4, 4,
- 4, 4, -4, -4,
- -4, -3, -3, -3,
- -3, -2, -2, -2,
- -2, -1, -1, -1,
- -1, 0, -1, 0,
- -1, 0, 0, 0,
- 0, 0, 1, 0,
- 1, 0, 1, 1,
- 1, 1, 2, 2,
- 2, 2, 3, 3,
- 3, 3, 4, 4,
- 4, 4, -4, -3,
- -3, -2, -2, -1,
- -1, -1, 0, -1,
- 0, 0, 0, 0,
- 0, 0, 1, 0,
- 1, 1, 1, 2,
- 2, 3, 3, 4,
- -4, -3, -2, -1,
- -1, -1, 0, 0,
- 0, 0, 1, 0,
- 1, 1, 2, 3
+ 0, 0, 1, 0, 1, 0, 1, 1, 1,
+ 1, 2, 2, 2, 2, 3, 3, 3, 3,
+ 4, 4, 4, 4, -4, -4, -4, -3, -3,
+ -3, -3, -2, -2, -2, -2, -1, -1, -1,
+ -1, 0, -1, 0, -1, 0, 0, 0, 0,
+ 0, 1, 0, 1, 0, 1, 1, 1, 1,
+ 2, 2, 2, 2, 3, 3, 3, 3, 4,
+ 4, 4, 4, -4, -3, -3, -2, -2, -1,
+ -1, -1, 0, -1, 0, 0, 0, 0, 0,
+ 0, 1, 0, 1, 1, 1, 2, 2, 3,
+ 3, 4, -4, -3, -2, -1, -1, -1, 0,
+ 0, 0, 0, 1, 0, 1, 1, 2, 3
};
static const u8 sWirelessSignalTiming[][2] =
{
- {0, 1},
- {1, 1},
- {2, 1},
- {3, 1},
- {4, 1},
- {5, 2},
- {6, 2},
- {7, 2},
- {8, 2},
- {9, 2},
- {10, 3},
- {11, 3},
- {12, 3},
- {13, 4},
- {14, 5},
- {15, 2},
- {0, 1},
- {1, 1},
- {2, 1},
- {3, 1},
- {4, 1},
- {5, 2},
- {6, 2},
- {7, 2},
- {8, 2},
- {9, 2},
- {10, 3},
- {11, 3},
- {12, 3},
- {13, 4},
- {14, 5},
- {16, 1},
- {16, 255},
- {0, 0}
+ { 0, 1},
+ { 1, 1},
+ { 2, 1},
+ { 3, 1},
+ { 4, 1},
+ { 5, 2},
+ { 6, 2},
+ { 7, 2},
+ { 8, 2},
+ { 9, 2},
+ {10, 3},
+ {11, 3},
+ {12, 3},
+ {13, 4},
+ {14, 5},
+ {15, 2},
+ { 0, 1},
+ { 1, 1},
+ { 2, 1},
+ { 3, 1},
+ { 4, 1},
+ { 5, 2},
+ { 6, 2},
+ { 7, 2},
+ { 8, 2},
+ { 9, 2},
+ {10, 3},
+ {11, 3},
+ {12, 3},
+ {13, 4},
+ {14, 5},
+ {16, 1},
+ {16, -1},
+ {}
};
diff --git a/src/data/wallpapers.h b/src/data/wallpapers.h
new file mode 100644
index 000000000..64c61fe2d
--- /dev/null
+++ b/src/data/wallpapers.h
@@ -0,0 +1,393 @@
+enum {
+ WALLPAPER_FOREST,
+ WALLPAPER_CITY,
+ WALLPAPER_DESERT,
+ WALLPAPER_SAVANNA,
+ WALLPAPER_CRAG,
+ WALLPAPER_VOLCANO,
+ WALLPAPER_SNOW,
+ WALLPAPER_CAVE,
+ WALLPAPER_BEACH,
+ WALLPAPER_SEAFLOOR,
+ WALLPAPER_RIVER,
+ WALLPAPER_SKY,
+ WALLPAPER_POLKADOT,
+ WALLPAPER_POKECENTER,
+ WALLPAPER_MACHINE,
+ WALLPAPER_PLAIN,
+ WALLPAPER_FRIENDS, // The one received as a gift from Walda's parents.
+ WALLPAPER_COUNT
+};
+#define MAX_DEFAULT_WALLPAPER WALLPAPER_SAVANNA
+
+static const u16 sWallpaperPalettes_Forest[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/forest/frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/forest/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Forest[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/forest/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Forest[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/forest/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_City[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/city/frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/city/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_City[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/city/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_City[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/city/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Desert[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/desert/frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/desert/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Desert[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/desert/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Desert[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/desert/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Savanna[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/savanna/frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/savanna/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Savanna[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/savanna/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Savanna[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/savanna/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Crag[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/crag/frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/crag/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Crag[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/crag/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Crag[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/crag/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Volcano[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/volcano/frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/volcano/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Volcano[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/volcano/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Volcano[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/volcano/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Snow[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/snow/frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/snow/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Snow[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/snow/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Snow[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/snow/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Cave[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/cave/frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/cave/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Cave[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/cave/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Cave[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/cave/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Beach[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/beach/frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/beach/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Beach[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/beach/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Beach[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/beach/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Seafloor[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/seafloor/frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/seafloor/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Seafloor[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/seafloor/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Seafloor[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/seafloor/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_River[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/river/frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/river/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_River[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/river/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_River[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/river/tilemap.bin.lz");
+static const u16 sWallpaperPalettes_Sky[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/sky/frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/sky/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Sky[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/sky/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Sky[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/sky/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_PolkaDot[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/polkadot/frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/polkadot/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_PolkaDot[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/polkadot/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_PolkaDot[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/polkadot/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Pokecenter[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/pokecenter/frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/pokecenter/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Pokecenter[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/pokecenter/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Pokecenter[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/pokecenter/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Machine[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/machine/frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/machine/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Machine[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/machine/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Machine[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/machine/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Plain[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/plain/frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/plain/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Plain[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/plain/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Plain[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/plain/tilemap.bin.lz");
+
+// 12x18 tilemap
+static const u32 sWallpaperTilemap_Unused[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/unused.bin");
+
+// Shadow color, text color
+static const u16 sBoxTitleColors[WALLPAPER_COUNT][2] =
+{
+ [WALLPAPER_FOREST] = {RGB(7, 7, 7), RGB_WHITE},
+ [WALLPAPER_CITY] = {RGB(7, 7, 7), RGB_WHITE},
+ [WALLPAPER_DESERT] = {RGB(7, 7, 7), RGB_WHITE},
+ [WALLPAPER_SAVANNA] = {RGB(7, 7, 7), RGB_WHITE},
+ [WALLPAPER_CRAG] = {RGB(7, 7, 7), RGB_WHITE},
+ [WALLPAPER_VOLCANO] = {RGB(7, 7, 7), RGB_WHITE},
+ [WALLPAPER_SNOW] = {RGB(7, 7, 7), RGB_WHITE},
+ [WALLPAPER_CAVE] = {RGB(7, 7, 7), RGB_WHITE},
+ [WALLPAPER_BEACH] = {RGB(7, 7, 7), RGB_WHITE},
+ [WALLPAPER_SEAFLOOR] = {RGB(7, 7, 7), RGB_WHITE},
+ [WALLPAPER_RIVER] = {RGB(7, 7, 7), RGB_WHITE},
+ [WALLPAPER_SKY] = {RGB(7, 7, 7), RGB_WHITE},
+ [WALLPAPER_POLKADOT] = {RGB(7, 7, 7), RGB_WHITE},
+ [WALLPAPER_POKECENTER] = {RGB(7, 7, 7), RGB_WHITE},
+ [WALLPAPER_MACHINE] = {RGB(7, 7, 7), RGB_WHITE},
+ [WALLPAPER_PLAIN] = {RGB(7, 7, 7), RGB_WHITE},
+ [WALLPAPER_FRIENDS] = {RGB(7, 7, 7), RGB_WHITE}
+};
+
+#define WALLPAPER_ENTRY(name) {sWallpaperTiles_##name, sWallpaperTilemap_##name, sWallpaperPalettes_##name[0]}
+// A few wallpapers are not defined in this file
+#define WALLPAPER_ENTRY_G(name) {gWallpaperTiles_##name, gWallpaperTilemap_##name, gWallpaperPalettes_##name[0]}
+
+static const struct Wallpaper sWallpapers[WALLPAPER_COUNT - 1] =
+{
+ [WALLPAPER_FOREST] = WALLPAPER_ENTRY(Forest),
+ [WALLPAPER_CITY] = WALLPAPER_ENTRY(City),
+ [WALLPAPER_DESERT] = WALLPAPER_ENTRY(Desert),
+ [WALLPAPER_SAVANNA] = WALLPAPER_ENTRY(Savanna),
+ [WALLPAPER_CRAG] = WALLPAPER_ENTRY(Crag),
+ [WALLPAPER_VOLCANO] = WALLPAPER_ENTRY(Volcano),
+ [WALLPAPER_SNOW] = WALLPAPER_ENTRY(Snow),
+ [WALLPAPER_CAVE] = WALLPAPER_ENTRY(Cave),
+ [WALLPAPER_BEACH] = WALLPAPER_ENTRY(Beach),
+ [WALLPAPER_SEAFLOOR] = WALLPAPER_ENTRY(Seafloor),
+ [WALLPAPER_RIVER] = WALLPAPER_ENTRY(River),
+ [WALLPAPER_SKY] = WALLPAPER_ENTRY(Sky),
+ [WALLPAPER_POLKADOT] = WALLPAPER_ENTRY(PolkaDot),
+ [WALLPAPER_POKECENTER] = WALLPAPER_ENTRY(Pokecenter),
+ [WALLPAPER_MACHINE] = WALLPAPER_ENTRY(Machine),
+ [WALLPAPER_PLAIN] = WALLPAPER_ENTRY(Plain),
+};
+
+static const u8 sArrow_Gfx[] = INCBIN_U8("graphics/pokemon_storage/arrow.4bpp");
+
+static const u16 sWallpaperPalettes_Zigzagoon[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/friends_frame1.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/zigzagoon/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Zigzagoon[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/zigzagoon/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Zigzagoon[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/zigzagoon/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Screen[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/friends_frame1.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/screen/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Screen[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/screen/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Screen[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/screen/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Diagonal[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/friends_frame1.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/diagonal/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Diagonal[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/diagonal/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Diagonal[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/diagonal/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Block[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/block/bg.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/block/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Block[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/block/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Block[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/block/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Pokecenter2[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/pokecenter2/bg.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/pokecenter2/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Pokecenter2[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/pokecenter2/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Pokecenter2[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/pokecenter2/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Frame[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/frame/bg.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/frame/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Frame[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/frame/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Frame[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/frame/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Blank[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/friends_frame1.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/zigzagoon/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Blank[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/blank/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Blank[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/blank/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Circles[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/friends_frame2.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/circles/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Circles[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/circles/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Circles[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/circles/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Azumarill[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/friends_frame2.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/azumarill/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Azumarill[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/azumarill/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Azumarill[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/azumarill/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Pikachu[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/friends_frame2.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/pikachu/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Pikachu[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/pikachu/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Pikachu[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/pikachu/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Legendary[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/friends_frame2.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/legendary/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Legendary[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/legendary/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Legendary[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/legendary/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Dusclops[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/friends_frame2.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/dusclops/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Dusclops[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/dusclops/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Dusclops[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/dusclops/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Ludicolo[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/friends_frame2.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/ludicolo/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Ludicolo[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/ludicolo/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Ludicolo[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/ludicolo/tilemap.bin.lz");
+
+static const u16 sWallpaperPalettes_Whiscash[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/friends_frame2.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/wallpapers/whiscash/bg.gbapal"),
+};
+static const u32 sWallpaperTiles_Whiscash[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/whiscash/tiles.4bpp.lz");
+static const u32 sWallpaperTilemap_Whiscash[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/whiscash/tilemap.bin.lz");
+
+static const u32 sWallpaperIcon_Aqua[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/aqua.4bpp.lz");
+static const u32 sWallpaperIcon_Heart[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/heart.4bpp.lz");
+static const u32 sWallpaperIcon_FiveStar[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/five_star.4bpp.lz");
+static const u32 sWallpaperIcon_Brick[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/brick.4bpp.lz");
+static const u32 sWallpaperIcon_FourStar[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/four_star.4bpp.lz");
+static const u32 sWallpaperIcon_Asterisk[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/asterisk.4bpp.lz");
+static const u32 sWallpaperIcon_Dot[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/dot.4bpp.lz");
+static const u32 sWallpaperIcon_LineCircle[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/line_circle.4bpp.lz");
+static const u32 sWallpaperIcon_PokeBall[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/pokeball.4bpp.lz");
+static const u32 sWallpaperIcon_Maze[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/maze.4bpp.lz");
+static const u32 sWallpaperIcon_Footprint[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/footprint.4bpp.lz");
+static const u32 sWallpaperIcon_BigAsterisk[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/big_asterisk.4bpp.lz");
+static const u32 sWallpaperIcon_Circle[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/circle.4bpp.lz");
+static const u32 sWallpaperIcon_Koffing[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/koffing.4bpp.lz");
+static const u32 sWallpaperIcon_Ribbon[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/ribbon.4bpp.lz");
+static const u32 sWallpaperIcon_FourCircles[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/four_circles.4bpp.lz");
+static const u32 sWallpaperIcon_Lotad[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/lotad.4bpp.lz");
+static const u32 sWallpaperIcon_Crystal[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/crystal.4bpp.lz");
+static const u32 sWallpaperIcon_Pichu[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/pichu.4bpp.lz");
+static const u32 sWallpaperIcon_Diglett[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/diglett.4bpp.lz");
+static const u32 sWallpaperIcon_Luvdisc[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/luvdisc.4bpp.lz");
+static const u32 sWallpaperIcon_StarInCircle[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/star_in_circle.4bpp.lz");
+static const u32 sWallpaperIcon_Spinda[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/spinda.4bpp.lz");
+static const u32 sWallpaperIcon_Latis[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/latis.4bpp.lz");
+static const u32 sWallpaperIcon_Minun[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/minun.4bpp.lz");
+static const u32 sWallpaperIcon_Togepi[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/togepi.4bpp.lz");
+static const u32 sWallpaperIcon_Magma[] = INCBIN_U32("graphics/pokemon_storage/wallpapers/icons/magma.4bpp.lz");
+
+static const struct Wallpaper sWaldaWallpapers[] =
+{
+ WALLPAPER_ENTRY(Zigzagoon),
+ WALLPAPER_ENTRY(Screen),
+ WALLPAPER_ENTRY_G(Horizontal),
+ WALLPAPER_ENTRY(Diagonal),
+ WALLPAPER_ENTRY(Block),
+ WALLPAPER_ENTRY_G(Ribbon),
+ WALLPAPER_ENTRY(Pokecenter2),
+ WALLPAPER_ENTRY(Frame),
+ WALLPAPER_ENTRY(Blank),
+ WALLPAPER_ENTRY(Circles),
+ WALLPAPER_ENTRY(Azumarill),
+ WALLPAPER_ENTRY(Pikachu),
+ WALLPAPER_ENTRY(Legendary),
+ WALLPAPER_ENTRY(Dusclops),
+ WALLPAPER_ENTRY(Ludicolo),
+ WALLPAPER_ENTRY(Whiscash),
+};
+
+static const u32 *const sWaldaWallpaperIcons[] =
+{
+ sWallpaperIcon_Aqua,
+ sWallpaperIcon_Heart,
+ sWallpaperIcon_FiveStar,
+ sWallpaperIcon_Brick,
+ sWallpaperIcon_FourStar,
+ sWallpaperIcon_Asterisk,
+ sWallpaperIcon_Dot,
+ gWallpaperIcon_Cross,
+ sWallpaperIcon_LineCircle,
+ sWallpaperIcon_PokeBall,
+ sWallpaperIcon_Maze,
+ sWallpaperIcon_Footprint,
+ sWallpaperIcon_BigAsterisk,
+ sWallpaperIcon_Circle,
+ sWallpaperIcon_Koffing,
+ sWallpaperIcon_Ribbon,
+ gWallpaperIcon_Bolt,
+ sWallpaperIcon_FourCircles,
+ sWallpaperIcon_Lotad,
+ sWallpaperIcon_Crystal,
+ sWallpaperIcon_Pichu,
+ sWallpaperIcon_Diglett,
+ sWallpaperIcon_Luvdisc,
+ sWallpaperIcon_StarInCircle,
+ sWallpaperIcon_Spinda,
+ sWallpaperIcon_Latis,
+ gWallpaperIcon_Plusle,
+ sWallpaperIcon_Minun,
+ sWallpaperIcon_Togepi,
+ sWallpaperIcon_Magma,
+};