summaryrefslogtreecommitdiff
path: root/src/pokemon/pokemon_icon.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pokemon/pokemon_icon.c')
-rw-r--r--src/pokemon/pokemon_icon.c1276
1 files changed, 0 insertions, 1276 deletions
diff --git a/src/pokemon/pokemon_icon.c b/src/pokemon/pokemon_icon.c
deleted file mode 100644
index b1b462761..000000000
--- a/src/pokemon/pokemon_icon.c
+++ /dev/null
@@ -1,1276 +0,0 @@
-#include "global.h"
-#include "graphics.h"
-#include "mail_data.h"
-#include "constants/species.h"
-#include "sprite.h"
-
-#define POKE_ICON_BASE_PAL_TAG 56000
-
-struct MonIconSpriteTemplate
-{
- const struct OamData *oam;
- const u8 *image;
- const union AnimCmd *const *anims;
- const union AffineAnimCmd *const *affineAnims;
- void (*callback)(struct Sprite *);
- u16 paletteTag;
-};
-
-const u8 * const gMonIconTable[] =
-{
- gMonIcon_Bulbasaur,
- gMonIcon_Bulbasaur,
- gMonIcon_Ivysaur,
- gMonIcon_Venusaur,
- gMonIcon_Charmander,
- gMonIcon_Charmeleon,
- gMonIcon_Charizard,
- gMonIcon_Squirtle,
- gMonIcon_Wartortle,
- gMonIcon_Blastoise,
- gMonIcon_Caterpie,
- gMonIcon_Metapod,
- gMonIcon_Butterfree,
- gMonIcon_Weedle,
- gMonIcon_Kakuna,
- gMonIcon_Beedrill,
- gMonIcon_Pidgey,
- gMonIcon_Pidgeotto,
- gMonIcon_Pidgeot,
- gMonIcon_Rattata,
- gMonIcon_Raticate,
- gMonIcon_Spearow,
- gMonIcon_Fearow,
- gMonIcon_Ekans,
- gMonIcon_Arbok,
- gMonIcon_Pikachu,
- gMonIcon_Raichu,
- gMonIcon_Sandshrew,
- gMonIcon_Sandslash,
- gMonIcon_NidoranF,
- gMonIcon_Nidorina,
- gMonIcon_Nidoqueen,
- gMonIcon_NidoranM,
- gMonIcon_Nidorino,
- gMonIcon_Nidoking,
- gMonIcon_Clefairy,
- gMonIcon_Clefable,
- gMonIcon_Vulpix,
- gMonIcon_Ninetales,
- gMonIcon_Jigglypuff,
- gMonIcon_Wigglytuff,
- gMonIcon_Zubat,
- gMonIcon_Golbat,
- gMonIcon_Oddish,
- gMonIcon_Gloom,
- gMonIcon_Vileplume,
- gMonIcon_Paras,
- gMonIcon_Parasect,
- gMonIcon_Venonat,
- gMonIcon_Venomoth,
- gMonIcon_Diglett,
- gMonIcon_Dugtrio,
- gMonIcon_Meowth,
- gMonIcon_Persian,
- gMonIcon_Psyduck,
- gMonIcon_Golduck,
- gMonIcon_Mankey,
- gMonIcon_Primeape,
- gMonIcon_Growlithe,
- gMonIcon_Arcanine,
- gMonIcon_Poliwag,
- gMonIcon_Poliwhirl,
- gMonIcon_Poliwrath,
- gMonIcon_Abra,
- gMonIcon_Kadabra,
- gMonIcon_Alakazam,
- gMonIcon_Machop,
- gMonIcon_Machoke,
- gMonIcon_Machamp,
- gMonIcon_Bellsprout,
- gMonIcon_Weepinbell,
- gMonIcon_Victreebel,
- gMonIcon_Tentacool,
- gMonIcon_Tentacruel,
- gMonIcon_Geodude,
- gMonIcon_Graveler,
- gMonIcon_Golem,
- gMonIcon_Ponyta,
- gMonIcon_Rapidash,
- gMonIcon_Slowpoke,
- gMonIcon_Slowbro,
- gMonIcon_Magnemite,
- gMonIcon_Magneton,
- gMonIcon_Farfetchd,
- gMonIcon_Doduo,
- gMonIcon_Dodrio,
- gMonIcon_Seel,
- gMonIcon_Dewgong,
- gMonIcon_Grimer,
- gMonIcon_Muk,
- gMonIcon_Shellder,
- gMonIcon_Cloyster,
- gMonIcon_Gastly,
- gMonIcon_Haunter,
- gMonIcon_Gengar,
- gMonIcon_Onix,
- gMonIcon_Drowzee,
- gMonIcon_Hypno,
- gMonIcon_Krabby,
- gMonIcon_Kingler,
- gMonIcon_Voltorb,
- gMonIcon_Electrode,
- gMonIcon_Exeggcute,
- gMonIcon_Exeggutor,
- gMonIcon_Cubone,
- gMonIcon_Marowak,
- gMonIcon_Hitmonlee,
- gMonIcon_Hitmonchan,
- gMonIcon_Lickitung,
- gMonIcon_Koffing,
- gMonIcon_Weezing,
- gMonIcon_Rhyhorn,
- gMonIcon_Rhydon,
- gMonIcon_Chansey,
- gMonIcon_Tangela,
- gMonIcon_Kangaskhan,
- gMonIcon_Horsea,
- gMonIcon_Seadra,
- gMonIcon_Goldeen,
- gMonIcon_Seaking,
- gMonIcon_Staryu,
- gMonIcon_Starmie,
- gMonIcon_Mrmime,
- gMonIcon_Scyther,
- gMonIcon_Jynx,
- gMonIcon_Electabuzz,
- gMonIcon_Magmar,
- gMonIcon_Pinsir,
- gMonIcon_Tauros,
- gMonIcon_Magikarp,
- gMonIcon_Gyarados,
- gMonIcon_Lapras,
- gMonIcon_Ditto,
- gMonIcon_Eevee,
- gMonIcon_Vaporeon,
- gMonIcon_Jolteon,
- gMonIcon_Flareon,
- gMonIcon_Porygon,
- gMonIcon_Omanyte,
- gMonIcon_Omastar,
- gMonIcon_Kabuto,
- gMonIcon_Kabutops,
- gMonIcon_Aerodactyl,
- gMonIcon_Snorlax,
- gMonIcon_Articuno,
- gMonIcon_Zapdos,
- gMonIcon_Moltres,
- gMonIcon_Dratini,
- gMonIcon_Dragonair,
- gMonIcon_Dragonite,
- gMonIcon_Mewtwo,
- gMonIcon_Mew,
- gMonIcon_Chikorita,
- gMonIcon_Bayleef,
- gMonIcon_Meganium,
- gMonIcon_Cyndaquil,
- gMonIcon_Quilava,
- gMonIcon_Typhlosion,
- gMonIcon_Totodile,
- gMonIcon_Croconaw,
- gMonIcon_Feraligatr,
- gMonIcon_Sentret,
- gMonIcon_Furret,
- gMonIcon_Hoothoot,
- gMonIcon_Noctowl,
- gMonIcon_Ledyba,
- gMonIcon_Ledian,
- gMonIcon_Spinarak,
- gMonIcon_Ariados,
- gMonIcon_Crobat,
- gMonIcon_Chinchou,
- gMonIcon_Lanturn,
- gMonIcon_Pichu,
- gMonIcon_Cleffa,
- gMonIcon_Igglybuff,
- gMonIcon_Togepi,
- gMonIcon_Togetic,
- gMonIcon_Natu,
- gMonIcon_Xatu,
- gMonIcon_Mareep,
- gMonIcon_Flaaffy,
- gMonIcon_Ampharos,
- gMonIcon_Bellossom,
- gMonIcon_Marill,
- gMonIcon_Azumarill,
- gMonIcon_Sudowoodo,
- gMonIcon_Politoed,
- gMonIcon_Hoppip,
- gMonIcon_Skiploom,
- gMonIcon_Jumpluff,
- gMonIcon_Aipom,
- gMonIcon_Sunkern,
- gMonIcon_Sunflora,
- gMonIcon_Yanma,
- gMonIcon_Wooper,
- gMonIcon_Quagsire,
- gMonIcon_Espeon,
- gMonIcon_Umbreon,
- gMonIcon_Murkrow,
- gMonIcon_Slowking,
- gMonIcon_Misdreavus,
- gMonIcon_UnownA,
- gMonIcon_Wobbuffet,
- gMonIcon_Girafarig,
- gMonIcon_Pineco,
- gMonIcon_Forretress,
- gMonIcon_Dunsparce,
- gMonIcon_Gligar,
- gMonIcon_Steelix,
- gMonIcon_Snubbull,
- gMonIcon_Granbull,
- gMonIcon_Qwilfish,
- gMonIcon_Scizor,
- gMonIcon_Shuckle,
- gMonIcon_Heracross,
- gMonIcon_Sneasel,
- gMonIcon_Teddiursa,
- gMonIcon_Ursaring,
- gMonIcon_Slugma,
- gMonIcon_Magcargo,
- gMonIcon_Swinub,
- gMonIcon_Piloswine,
- gMonIcon_Corsola,
- gMonIcon_Remoraid,
- gMonIcon_Octillery,
- gMonIcon_Delibird,
- gMonIcon_Mantine,
- gMonIcon_Skarmory,
- gMonIcon_Houndour,
- gMonIcon_Houndoom,
- gMonIcon_Kingdra,
- gMonIcon_Phanpy,
- gMonIcon_Donphan,
- gMonIcon_Porygon2,
- gMonIcon_Stantler,
- gMonIcon_Smeargle,
- gMonIcon_Tyrogue,
- gMonIcon_Hitmontop,
- gMonIcon_Smoochum,
- gMonIcon_Elekid,
- gMonIcon_Magby,
- gMonIcon_Miltank,
- gMonIcon_Blissey,
- gMonIcon_Raikou,
- gMonIcon_Entei,
- gMonIcon_Suicune,
- gMonIcon_Larvitar,
- gMonIcon_Pupitar,
- gMonIcon_Tyranitar,
- gMonIcon_Lugia,
- gMonIcon_HoOh,
- gMonIcon_Celebi,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_QuestionMark,
- gMonIcon_Treecko,
- gMonIcon_Grovyle,
- gMonIcon_Sceptile,
- gMonIcon_Torchic,
- gMonIcon_Combusken,
- gMonIcon_Blaziken,
- gMonIcon_Mudkip,
- gMonIcon_Marshtomp,
- gMonIcon_Swampert,
- gMonIcon_Poochyena,
- gMonIcon_Mightyena,
- gMonIcon_Zigzagoon,
- gMonIcon_Linoone,
- gMonIcon_Wurmple,
- gMonIcon_Silcoon,
- gMonIcon_Beautifly,
- gMonIcon_Cascoon,
- gMonIcon_Dustox,
- gMonIcon_Lotad,
- gMonIcon_Lombre,
- gMonIcon_Ludicolo,
- gMonIcon_Seedot,
- gMonIcon_Nuzleaf,
- gMonIcon_Shiftry,
- gMonIcon_Nincada,
- gMonIcon_Ninjask,
- gMonIcon_Shedinja,
- gMonIcon_Taillow,
- gMonIcon_Swellow,
- gMonIcon_Shroomish,
- gMonIcon_Breloom,
- gMonIcon_Spinda,
- gMonIcon_Wingull,
- gMonIcon_Pelipper,
- gMonIcon_Surskit,
- gMonIcon_Masquerain,
- gMonIcon_Wailmer,
- gMonIcon_Wailord,
- gMonIcon_Skitty,
- gMonIcon_Delcatty,
- gMonIcon_Kecleon,
- gMonIcon_Baltoy,
- gMonIcon_Claydol,
- gMonIcon_Nosepass,
- gMonIcon_Torkoal,
- gMonIcon_Sableye,
- gMonIcon_Barboach,
- gMonIcon_Whiscash,
- gMonIcon_Luvdisc,
- gMonIcon_Corphish,
- gMonIcon_Crawdaunt,
- gMonIcon_Feebas,
- gMonIcon_Milotic,
- gMonIcon_Carvanha,
- gMonIcon_Sharpedo,
- gMonIcon_Trapinch,
- gMonIcon_Vibrava,
- gMonIcon_Flygon,
- gMonIcon_Makuhita,
- gMonIcon_Hariyama,
- gMonIcon_Electrike,
- gMonIcon_Manectric,
- gMonIcon_Numel,
- gMonIcon_Camerupt,
- gMonIcon_Spheal,
- gMonIcon_Sealeo,
- gMonIcon_Walrein,
- gMonIcon_Cacnea,
- gMonIcon_Cacturne,
- gMonIcon_Snorunt,
- gMonIcon_Glalie,
- gMonIcon_Lunatone,
- gMonIcon_Solrock,
- gMonIcon_Azurill,
- gMonIcon_Spoink,
- gMonIcon_Grumpig,
- gMonIcon_Plusle,
- gMonIcon_Minun,
- gMonIcon_Mawile,
- gMonIcon_Meditite,
- gMonIcon_Medicham,
- gMonIcon_Swablu,
- gMonIcon_Altaria,
- gMonIcon_Wynaut,
- gMonIcon_Duskull,
- gMonIcon_Dusclops,
- gMonIcon_Roselia,
- gMonIcon_Slakoth,
- gMonIcon_Vigoroth,
- gMonIcon_Slaking,
- gMonIcon_Gulpin,
- gMonIcon_Swalot,
- gMonIcon_Tropius,
- gMonIcon_Whismur,
- gMonIcon_Loudred,
- gMonIcon_Exploud,
- gMonIcon_Clamperl,
- gMonIcon_Huntail,
- gMonIcon_Gorebyss,
- gMonIcon_Absol,
- gMonIcon_Shuppet,
- gMonIcon_Banette,
- gMonIcon_Seviper,
- gMonIcon_Zangoose,
- gMonIcon_Relicanth,
- gMonIcon_Aron,
- gMonIcon_Lairon,
- gMonIcon_Aggron,
- gMonIcon_Castform,
- gMonIcon_Volbeat,
- gMonIcon_Illumise,
- gMonIcon_Lileep,
- gMonIcon_Cradily,
- gMonIcon_Anorith,
- gMonIcon_Armaldo,
- gMonIcon_Ralts,
- gMonIcon_Kirlia,
- gMonIcon_Gardevoir,
- gMonIcon_Bagon,
- gMonIcon_Shelgon,
- gMonIcon_Salamence,
- gMonIcon_Beldum,
- gMonIcon_Metang,
- gMonIcon_Metagross,
- gMonIcon_Regirock,
- gMonIcon_Regice,
- gMonIcon_Registeel,
- gMonIcon_Kyogre,
- gMonIcon_Groudon,
- gMonIcon_Rayquaza,
- gMonIcon_Latias,
- gMonIcon_Latios,
- gMonIcon_Jirachi,
- gMonIcon_Deoxys,
- gMonIcon_Chimecho,
- gMonIcon_Egg,
- gMonIcon_UnownB,
- gMonIcon_UnownC,
- gMonIcon_UnownD,
- gMonIcon_UnownE,
- gMonIcon_UnownF,
- gMonIcon_UnownG,
- gMonIcon_UnownH,
- gMonIcon_UnownI,
- gMonIcon_UnownJ,
- gMonIcon_UnownK,
- gMonIcon_UnownL,
- gMonIcon_UnownM,
- gMonIcon_UnownN,
- gMonIcon_UnownO,
- gMonIcon_UnownP,
- gMonIcon_UnownQ,
- gMonIcon_UnownR,
- gMonIcon_UnownS,
- gMonIcon_UnownT,
- gMonIcon_UnownU,
- gMonIcon_UnownV,
- gMonIcon_UnownW,
- gMonIcon_UnownX,
- gMonIcon_UnownY,
- gMonIcon_UnownZ,
- gMonIcon_UnownExclamationMark,
- gMonIcon_UnownQuestionMark,
-};
-
-const u8 gMonIconPaletteIndices[] =
-{
- 0, // ??????????
- 1, // Bulbasaur
- 1, // Ivysaur
- 1, // Venusaur
- 0, // Charmander
- 0, // Charmeleon
- 0, // Charizard
- 0, // Squirtle
- 2, // Wartortle
- 2, // Blastoise
- 1, // Caterpie
- 1, // Metapod
- 0, // Butterfree
- 1, // Weedle
- 2, // Kakuna
- 2, // Beedrill
- 0, // Pidgey
- 0, // Pidgeotto
- 0, // Pidgeot
- 2, // Rattata
- 1, // Raticate
- 0, // Spearow
- 0, // Fearow
- 2, // Ekans
- 2, // Arbok
- 2, // Pikachu
- 0, // Raichu
- 2, // Sandshrew
- 2, // Sandslash
- 2, // Nidoran♀
- 2, // Nidorina
- 2, // Nidoqueen
- 2, // Nidoran♂
- 2, // Nidorino
- 2, // Nidoking
- 0, // Clefairy
- 0, // Clefable
- 2, // Vulpix
- 1, // Ninetales
- 0, // Jigglypuff
- 0, // Wigglytuff
- 2, // Zubat
- 2, // Golbat
- 1, // Oddish
- 0, // Gloom
- 0, // Vileplume
- 0, // Paras
- 0, // Parasect
- 0, // Venonat
- 2, // Venomoth
- 2, // Diglett
- 2, // Dugtrio
- 1, // Meowth
- 1, // Persian
- 1, // Psyduck
- 2, // Golduck
- 1, // Mankey
- 2, // Primeape
- 0, // Growlithe
- 0, // Arcanine
- 0, // Poliwag
- 0, // Poliwhirl
- 0, // Poliwrath
- 2, // Abra
- 2, // Kadabra
- 2, // Alakazam
- 0, // Machop
- 2, // Machoke
- 0, // Machamp
- 1, // Bellsprout
- 1, // Weepinbell
- 1, // Victreebel
- 2, // Tentacool
- 2, // Tentacruel
- 1, // Geodude
- 1, // Graveler
- 1, // Golem
- 0, // Ponyta
- 0, // Rapidash
- 0, // Slowpoke
- 0, // Slowbro
- 0, // Magnemite
- 0, // Magneton
- 1, // Farfetch'd
- 2, // Doduo
- 2, // Dodrio
- 2, // Seel
- 2, // Dewgong
- 2, // Grimer
- 2, // Muk
- 2, // Shellder
- 2, // Cloyster
- 2, // Gastly
- 2, // Haunter
- 2, // Gengar
- 2, // Onix
- 2, // Drowzee
- 1, // Hypno
- 2, // Krabby
- 2, // Kingler
- 0, // Voltorb
- 0, // Electrode
- 0, // Exeggcute
- 1, // Exeggutor
- 1, // Cubone
- 1, // Marowak
- 2, // Hitmonlee
- 2, // Hitmonchan
- 1, // Lickitung
- 2, // Koffing
- 2, // Weezing
- 1, // Rhyhorn
- 1, // Rhydon
- 0, // Chansey
- 0, // Tangela
- 1, // Kangaskhan
- 0, // Horsea
- 0, // Seadra
- 0, // Goldeen
- 0, // Seaking
- 2, // Staryu
- 2, // Starmie
- 0, // Mr. mime
- 1, // Scyther
- 2, // Jynx
- 1, // Electabuzz
- 0, // Magmar
- 2, // Pinsir
- 2, // Tauros
- 0, // Magikarp
- 0, // Gyarados
- 2, // Lapras
- 2, // Ditto
- 2, // Eevee
- 0, // Vaporeon
- 0, // Jolteon
- 0, // Flareon
- 0, // Porygon
- 0, // Omanyte
- 0, // Omastar
- 2, // Kabuto
- 2, // Kabutops
- 0, // Aerodactyl
- 1, // Snorlax
- 0, // Articuno
- 0, // Zapdos
- 0, // Moltres
- 0, // Dratini
- 0, // Dragonair
- 2, // Dragonite
- 2, // Mewtwo
- 0, // Mew
- 1, // Chikorita
- 1, // Bayleef
- 1, // Meganium
- 1, // Cyndaquil
- 1, // Quilava
- 1, // Typhlosion
- 2, // Totodile
- 2, // Croconaw
- 2, // Feraligatr
- 2, // Sentret
- 2, // Furret
- 2, // Hoothoot
- 2, // Noctowl
- 0, // Ledyba
- 0, // Ledian
- 1, // Spinarak
- 0, // Ariados
- 2, // Crobat
- 2, // Chinchou
- 0, // Lanturn
- 0, // Pichu
- 0, // Cleffa
- 1, // Igglybuff
- 2, // Togepi
- 2, // Togetic
- 0, // Natu
- 0, // Xatu
- 2, // Mareep
- 0, // Flaaffy
- 0, // Ampharos
- 1, // Bellossom
- 2, // Marill
- 2, // Azumarill
- 1, // Sudowoodo
- 1, // Politoed
- 1, // Hoppip
- 1, // Skiploom
- 2, // Jumpluff
- 2, // Aipom
- 1, // Sunkern
- 1, // Sunflora
- 1, // Yanma
- 0, // Wooper
- 0, // Quagsire
- 2, // Espeon
- 2, // Umbreon
- 2, // Murkrow
- 0, // Slowking
- 0, // Misdreavus
- 0, // Unown A
- 0, // Wobbuffet
- 1, // Girafarig
- 0, // Pineco
- 2, // Forretress
- 2, // Dunsparce
- 2, // Gligar
- 0, // Steelix
- 0, // Snubbull
- 2, // Granbull
- 0, // Qwilfish
- 0, // Scizor
- 1, // Shuckle
- 2, // Heracross
- 0, // Sneasel
- 0, // Teddiursa
- 2, // Ursaring
- 0, // Slugma
- 0, // Magcargo
- 2, // Swinub
- 2, // Piloswine
- 0, // Corsola
- 0, // Remoraid
- 0, // Octillery
- 0, // Delibird
- 2, // Mantine
- 0, // Skarmory
- 0, // Houndour
- 0, // Houndoom
- 0, // Kingdra
- 0, // Phanpy
- 0, // Donphan
- 0, // Porygon2
- 2, // Stantler
- 1, // Smeargle
- 2, // Tyrogue
- 2, // Hitmontop
- 1, // Smoochum
- 1, // Elekid
- 1, // Magby
- 1, // Miltank
- 1, // Blissey
- 0, // Raikou
- 2, // Entei
- 0, // Suicune
- 1, // Larvitar
- 0, // Pupitar
- 1, // Tyranitar
- 0, // Lugia
- 1, // Ho-Oh
- 1, // Celebi
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 1, // Treecko
- 0, // Grovyle
- 1, // Sceptile
- 0, // Torchic
- 0, // Combusken
- 0, // Blaziken
- 0, // Mudkip
- 0, // Marshtomp
- 0, // Swampert
- 2, // Poochyena
- 2, // Mightyena
- 2, // Zigzagoon
- 2, // Linoone
- 0, // Wurmple
- 2, // Silcoon
- 0, // Beautifly
- 2, // Cascoon
- 1, // Dustox
- 1, // Lotad
- 1, // Lombre
- 1, // Ludicolo
- 1, // Seedot
- 1, // Nuzleaf
- 0, // Shiftry
- 1, // Nincada
- 1, // Ninjask
- 1, // Shedinja
- 2, // Taillow
- 2, // Swellow
- 1, // Shroomish
- 1, // Breloom
- 1, // Spinda
- 0, // Wingull
- 0, // Pelipper
- 2, // Surskit
- 0, // Masquerain
- 2, // Wailmer
- 0, // Wailord
- 0, // Skitty
- 2, // Delcatty
- 1, // Kecleon
- 1, // Baltoy
- 0, // Claydol
- 0, // Nosepass
- 1, // Torkoal
- 2, // Sableye
- 0, // Barboach
- 0, // Whiscash
- 0, // Luvdisc
- 0, // Corphish
- 0, // Crawdaunt
- 2, // Feebas
- 0, // Milotic
- 0, // Carvanha
- 0, // Sharpedo
- 1, // Trapinch
- 1, // Vibrava
- 1, // Flygon
- 2, // Makuhita
- 1, // Hariyama
- 1, // Electrike
- 0, // Manectric
- 1, // Numel
- 0, // Camerupt
- 2, // Spheal
- 2, // Sealeo
- 0, // Walrein
- 1, // Cacnea
- 1, // Cacturne
- 2, // Snorunt
- 0, // Glalie
- 1, // Lunatone
- 0, // Solrock
- 2, // Azurill
- 0, // Spoink
- 2, // Grumpig
- 0, // Plusle
- 0, // Minun
- 2, // Mawile
- 0, // Meditite
- 0, // Medicham
- 0, // Swablu
- 0, // Altaria
- 0, // Wynaut
- 0, // Duskull
- 0, // Dusclops
- 0, // Roselia
- 2, // Slakoth
- 2, // Vigoroth
- 1, // Slaking
- 1, // Gulpin
- 2, // Swalot
- 1, // Tropius
- 0, // Whismur
- 2, // Loudred
- 2, // Exploud
- 0, // Clamperl
- 0, // Huntail
- 0, // Gorebyss
- 0, // Absol
- 0, // Shuppet
- 0, // Banette
- 2, // Seviper
- 0, // Zangoose
- 1, // Relicanth
- 2, // Aron
- 2, // Lairon
- 2, // Aggron
- 0, // Castform
- 0, // Volbeat
- 2, // Illumise
- 2, // Lileep
- 0, // Cradily
- 0, // Anorith
- 0, // Armaldo
- 1, // Ralts
- 1, // Kirlia
- 1, // Gardevoir
- 2, // Bagon
- 2, // Shelgon
- 0, // Salamence
- 0, // Beldum
- 0, // Metang
- 0, // Metagross
- 2, // Regirock
- 2, // Regice
- 2, // Registeel
- 2, // Kyogre
- 0, // Groudon
- 1, // Rayquaza
- 0, // Latias
- 2, // Latios
- 0, // Jirachi
- 0, // Deoxys
- 0, // Chimecho
- 1, // Egg
- 0, // Unown B
- 0, // Unown C
- 0, // Unown D
- 0, // Unown E
- 0, // Unown F
- 0, // Unown G
- 0, // Unown H
- 0, // Unown I
- 0, // Unown J
- 0, // Unown K
- 0, // Unown L
- 0, // Unown M
- 0, // Unown N
- 0, // Unown O
- 0, // Unown P
- 0, // Unown Q
- 0, // Unown R
- 0, // Unown S
- 0, // Unown T
- 0, // Unown U
- 0, // Unown V
- 0, // Unown W
- 0, // Unown X
- 0, // Unown Y
- 0, // Unown Z
- 0, // Unown Exclamation Mark
- 0, // Unown Question Mark
-};
-
-const struct SpritePalette gMonIconPaletteTable[] =
-{
- { gMonIconPalettes[0], POKE_ICON_BASE_PAL_TAG + 0 },
- { gMonIconPalettes[1], POKE_ICON_BASE_PAL_TAG + 1 },
- { gMonIconPalettes[2], POKE_ICON_BASE_PAL_TAG + 2 },
-
-// There are only 3 actual palettes. The following are unused
-// and don't point to valid data.
- { gMonIconPalettes[3], POKE_ICON_BASE_PAL_TAG + 3 },
- { gMonIconPalettes[4], POKE_ICON_BASE_PAL_TAG + 4 },
- { gMonIconPalettes[5], POKE_ICON_BASE_PAL_TAG + 5 },
-};
-
-static const struct OamData sMonIconOamData =
-{
- .size = 2,
- .priority = 1,
-};
-
-// fastest to slowest
-
-static const union AnimCmd sAnim_0[] =
-{
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(1, 6),
- ANIMCMD_JUMP(0),
-};
-
-static const union AnimCmd sAnim_1[] =
-{
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(1, 8),
- ANIMCMD_JUMP(0),
-};
-
-static const union AnimCmd sAnim_2[] =
-{
- ANIMCMD_FRAME(0, 14),
- ANIMCMD_FRAME(1, 14),
- ANIMCMD_JUMP(0),
-};
-
-static const union AnimCmd sAnim_3[] =
-{
- ANIMCMD_FRAME(0, 22),
- ANIMCMD_FRAME(1, 22),
- ANIMCMD_JUMP(0),
-};
-
-static const union AnimCmd sAnim_4[] =
-{
- ANIMCMD_FRAME(0, 29),
- ANIMCMD_FRAME(0, 29), // frame 0 is repeated
- ANIMCMD_JUMP(0),
-};
-
-static const union AnimCmd *const sMonIconAnims[] =
-{
- sAnim_0,
- sAnim_1,
- sAnim_2,
- sAnim_3,
- sAnim_4,
-};
-
-static const union AffineAnimCmd sAffineAnim_0[] =
-{
- AFFINEANIMCMD_FRAME(0, 0, 0, 10),
- AFFINEANIMCMD_END,
-};
-
-static const union AffineAnimCmd sAffineAnim_1[] =
-{
- AFFINEANIMCMD_FRAME(-2, -2, 0, 122),
- AFFINEANIMCMD_END,
-};
-
-static const union AffineAnimCmd *const sMonIconAffineAnims[] =
-{
- sAffineAnim_0,
- sAffineAnim_1,
-};
-
-const u16 sSpriteImageSizes[3][4] =
-{
- // square
- {
- 0x20, // 1×1
- 0x80, // 2×2
- 0x200, // 4×4
- 0x800, // 8×8
- },
-
- // horizontal rectangle
- {
- 0x40, // 2×1
- 0x80, // 4×1
- 0x100, // 4×2
- 0x400, // 8×4
- },
-
- // vertical rectangle
- {
- 0x40, // 1×2
- 0x80, // 1×4
- 0x100, // 2×4
- 0x400, // 4×8
- },
-};
-
-u16 GetUnownLetterByPersonality(u32);
-const u8 *GetMonIconPtr(u16, u32 personality);
-u8 UpdateMonIconFrame(struct Sprite *);
-u8 CreateMonIconSprite(struct MonIconSpriteTemplate *, s16, s16, u8);
-void sub_809D7E8(struct Sprite *);
-
-// duplicate of sub_809D3A4
-u8 unref_sub_809D26C(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority)
-{
- u8 spriteId;
- struct MonIconSpriteTemplate iconTemplate =
- {
- .oam = &sMonIconOamData,
- .image = gMonIconTable[species],
- .anims = sMonIconAnims,
- .affineAnims = sMonIconAffineAnims,
- .callback = callback,
- .paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndices[species],
- };
-
- spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority);
-
- UpdateMonIconFrame(&gSprites[spriteId]);
-
- return spriteId;
-}
-
-u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality)
-{
- u8 spriteId;
- struct MonIconSpriteTemplate iconTemplate =
- {
- .oam = &sMonIconOamData,
- .image = GetMonIconPtr(species, personality),
- .anims = sMonIconAnims,
- .affineAnims = sMonIconAffineAnims,
- .callback = callback,
- .paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndices[species],
- };
-
- if (species > SPECIES_EGG)
- iconTemplate.paletteTag = POKE_ICON_BASE_PAL_TAG;
-
- spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority);
-
- UpdateMonIconFrame(&gSprites[spriteId]);
-
- return spriteId;
-}
-
-u8 sub_809D3A4(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority)
-{
- u8 spriteId;
- struct MonIconSpriteTemplate iconTemplate =
- {
- .oam = &sMonIconOamData,
- .image = gMonIconTable[species],
- .anims = sMonIconAnims,
- .affineAnims = sMonIconAffineAnims,
- .callback = callback,
- .paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndices[species],
- };
-
- spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority);
-
- UpdateMonIconFrame(&gSprites[spriteId]);
-
- return spriteId;
-}
-
-u16 mon_icon_convert_unown_species_id(u16 species, u32 personality)
-{
- u16 result;
-
- if (species == SPECIES_UNOWN)
- {
- u16 letter = GetUnownLetterByPersonality(personality);
- if (letter == 0)
- letter = SPECIES_UNOWN;
- else
- letter += (SPECIES_UNOWN_B - 1);
- result = letter;
- }
- else
- {
- if (species > SPECIES_EGG)
- result = 260;
- else
- result = species;
- }
-
- return result;
-}
-
-u16 GetUnownLetterByPersonality(u32 personality)
-{
- return (((personality & 0x3000000) >> 18) | ((personality & 0x30000) >> 12) | ((personality & 0x300) >> 6) | (personality & 0x3)) % 0x1C;
-}
-
-u16 sub_809D4A8(u16 species)
-{
- u16 value;
-
- if (MailSpeciesToSpecies(species, &value) == SPECIES_UNOWN)
- {
- if (value == 0)
- value += SPECIES_UNOWN;
- else
- value += (SPECIES_UNOWN_B - 1);
- return value;
- }
- else
- {
- return mon_icon_convert_unown_species_id(species, 0);
- }
-}
-
-const u8 *GetMonIconPtr(u16 species, u32 personality)
-{
- u16 convertedSpecies = mon_icon_convert_unown_species_id(species, personality);
- return gMonIconTable[convertedSpecies];
-}
-
-void sub_809D510(struct Sprite *sprite)
-{
- sub_809D7E8(sprite);
-}
-
-void sub_809D51C(void)
-{
- u8 i;
- for (i = 0; i < 6; i++)
- LoadSpritePalette(&gMonIconPaletteTable[i]);
-}
-
-// unused
-void SafeLoadMonIconPalette(u16 species)
-{
- u8 palIndex;
- if (species > SPECIES_EGG)
- species = 260;
- palIndex = gMonIconPaletteIndices[species];
- if (IndexOfSpritePaletteTag(gMonIconPaletteTable[palIndex].tag) == 0xFF)
- LoadSpritePalette(&gMonIconPaletteTable[palIndex]);
-}
-
-void sub_809D580(u16 species)
-{
- u8 palIndex = gMonIconPaletteIndices[species];
- if (IndexOfSpritePaletteTag(gMonIconPaletteTable[palIndex].tag) == 0xFF)
- LoadSpritePalette(&gMonIconPaletteTable[palIndex]);
-}
-
-// unused
-void FreeMonIconPalettes(void)
-{
- u8 i;
- for (i = 0; i < 6; i++)
- FreeSpritePaletteByTag(gMonIconPaletteTable[i].tag);
-}
-
-// unused
-void SafeFreeMonIconPalette(u16 species)
-{
- u8 palIndex;
- if (species > SPECIES_EGG)
- species = 260;
- palIndex = gMonIconPaletteIndices[species];
- FreeSpritePaletteByTag(gMonIconPaletteTable[palIndex].tag);
-}
-
-void sub_809D608(u16 species)
-{
- u8 palIndex;
- palIndex = gMonIconPaletteIndices[species];
- FreeSpritePaletteByTag(gMonIconPaletteTable[palIndex].tag);
-}
-
-void sub_809D62C(struct Sprite *sprite)
-{
- UpdateMonIconFrame(sprite);
-}
-
-// TODO: try to find a way to avoid using asm statement
-u8 UpdateMonIconFrame(struct Sprite *sprite)
-{
- u8 result = 0;
-
- if (sprite->animDelayCounter == 0)
- {
- s16 frame = sprite->anims[sprite->animNum][sprite->animCmdIndex].frame.imageValue;
-
- switch (frame)
- {
- case -1:
- break;
- case -2:
- sprite->animCmdIndex = 0;
- break;
- default:
- RequestSpriteCopy(
- // pointer arithmetic is needed to get the correct pointer to perform the sprite copy on.
- // because sprite->images is a struct def, it has to be casted to (u8 *) before any
- // arithmetic can be performed.
- (u8 *)sprite->images + (sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] * frame),
- OBJ_VRAM0 + sprite->oam.tileNum * TILE_SIZE_4BPP,
- sSpriteImageSizes[sprite->oam.shape][sprite->oam.size]);
- {
- register u8 duration asm("r0") = sprite->anims[sprite->animNum][sprite->animCmdIndex].frame.duration;
- sprite->animDelayCounter = duration;
- }
- sprite->animCmdIndex++;
- result = sprite->animCmdIndex;
- break;
- }
- }
- else
- {
- sprite->animDelayCounter--;
- }
- return result;
-}
-
-u8 CreateMonIconSprite(struct MonIconSpriteTemplate *iconTemplate, s16 x, s16 y, u8 subpriority)
-{
- u8 spriteId;
-
- struct SpriteFrameImage image = { NULL, sSpriteImageSizes[iconTemplate->oam->shape][iconTemplate->oam->size] };
-
- struct SpriteTemplate spriteTemplate =
- {
- .tileTag = 0xFFFF,
- .paletteTag = iconTemplate->paletteTag,
- .oam = iconTemplate->oam,
- .anims = iconTemplate->anims,
- .images = &image,
- .affineAnims = iconTemplate->affineAnims,
- .callback = iconTemplate->callback,
- };
-
- spriteId = CreateSprite(&spriteTemplate, x, y, subpriority);
- gSprites[spriteId].animPaused = TRUE;
- gSprites[spriteId].animBeginning = FALSE;
- gSprites[spriteId].images = (const struct SpriteFrameImage *)iconTemplate->image;
- return spriteId;
-}
-
-void sub_809D7E8(struct Sprite *sprite)
-{
- struct SpriteFrameImage image = { NULL, sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] };
- sprite->images = &image;
- DestroySprite(sprite);
-}
-
-void sub_809D824(struct Sprite *sprite, u8 animNum)
-{
- sprite->animNum = animNum;
- sprite->animDelayCounter = 0;
- sprite->animCmdIndex = 0;
-}