fixing merge conflicts

This commit is contained in:
golem galvanize
2018-12-07 14:47:20 -05:00
1142 changed files with 128897 additions and 161276 deletions
+416 -416
View File
@@ -1,424 +1,424 @@
#include "global.h"
const u8 gMonFrontPic_CircledQuestionMark[] = INCBIN_U8("graphics/pokemon/anim_front_pics/circled_question_mark_front_pic.4bpp.lz");
const u32 gMonFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/anim_front_pics/circled_question_mark_front_pic.4bpp.lz");
const u8 gMonFrontPic_Bulbasaur[] = INCBIN_U8("graphics/pokemon/anim_front_pics/bulbasaur_front_pic.4bpp.lz");
const u8 gMonFrontPic_Ivysaur[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ivysaur_front_pic.4bpp.lz");
const u8 gMonFrontPic_Venusaur[] = INCBIN_U8("graphics/pokemon/anim_front_pics/venusaur_front_pic.4bpp.lz");
const u8 gMonFrontPic_Charmander[] = INCBIN_U8("graphics/pokemon/anim_front_pics/charmander_front_pic.4bpp.lz");
const u8 gMonFrontPic_Charmeleon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/charmeleon_front_pic.4bpp.lz");
const u8 gMonFrontPic_Charizard[] = INCBIN_U8("graphics/pokemon/anim_front_pics/charizard_front_pic.4bpp.lz");
const u8 gMonFrontPic_Squirtle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/squirtle_front_pic.4bpp.lz");
const u8 gMonFrontPic_Wartortle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wartortle_front_pic.4bpp.lz");
const u8 gMonFrontPic_Blastoise[] = INCBIN_U8("graphics/pokemon/anim_front_pics/blastoise_front_pic.4bpp.lz");
const u8 gMonFrontPic_Caterpie[] = INCBIN_U8("graphics/pokemon/anim_front_pics/caterpie_front_pic.4bpp.lz");
const u8 gMonFrontPic_Metapod[] = INCBIN_U8("graphics/pokemon/anim_front_pics/metapod_front_pic.4bpp.lz");
const u8 gMonFrontPic_Butterfree[] = INCBIN_U8("graphics/pokemon/anim_front_pics/butterfree_front_pic.4bpp.lz");
const u8 gMonFrontPic_Weedle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/weedle_front_pic.4bpp.lz");
const u8 gMonFrontPic_Kakuna[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kakuna_front_pic.4bpp.lz");
const u8 gMonFrontPic_Beedrill[] = INCBIN_U8("graphics/pokemon/anim_front_pics/beedrill_front_pic.4bpp.lz");
const u8 gMonFrontPic_Pidgey[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pidgey_front_pic.4bpp.lz");
const u8 gMonFrontPic_Pidgeotto[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pidgeotto_front_pic.4bpp.lz");
const u8 gMonFrontPic_Pidgeot[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pidgeot_front_pic.4bpp.lz");
const u8 gMonFrontPic_Rattata[] = INCBIN_U8("graphics/pokemon/anim_front_pics/rattata_front_pic.4bpp.lz");
const u8 gMonFrontPic_Raticate[] = INCBIN_U8("graphics/pokemon/anim_front_pics/raticate_front_pic.4bpp.lz");
const u8 gMonFrontPic_Spearow[] = INCBIN_U8("graphics/pokemon/anim_front_pics/spearow_front_pic.4bpp.lz");
const u8 gMonFrontPic_Fearow[] = INCBIN_U8("graphics/pokemon/anim_front_pics/fearow_front_pic.4bpp.lz");
const u8 gMonFrontPic_Ekans[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ekans_front_pic.4bpp.lz");
const u8 gMonFrontPic_Arbok[] = INCBIN_U8("graphics/pokemon/anim_front_pics/arbok_front_pic.4bpp.lz");
const u8 gMonFrontPic_Pikachu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pikachu_front_pic.4bpp.lz");
const u8 gMonFrontPic_Raichu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/raichu_front_pic.4bpp.lz");
const u8 gMonFrontPic_Sandshrew[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sandshrew_front_pic.4bpp.lz");
const u8 gMonFrontPic_Sandslash[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sandslash_front_pic.4bpp.lz");
const u8 gMonFrontPic_NidoranF[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidoran_f_front_pic.4bpp.lz");
const u8 gMonFrontPic_Nidorina[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidorina_front_pic.4bpp.lz");
const u8 gMonFrontPic_Nidoqueen[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidoqueen_front_pic.4bpp.lz");
const u8 gMonFrontPic_NidoranM[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidoran_m_front_pic.4bpp.lz");
const u8 gMonFrontPic_Nidorino[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidorino_front_pic.4bpp.lz");
const u8 gMonFrontPic_Nidoking[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidoking_front_pic.4bpp.lz");
const u8 gMonFrontPic_Clefairy[] = INCBIN_U8("graphics/pokemon/anim_front_pics/clefairy_front_pic.4bpp.lz");
const u8 gMonFrontPic_Clefable[] = INCBIN_U8("graphics/pokemon/anim_front_pics/clefable_front_pic.4bpp.lz");
const u8 gMonFrontPic_Vulpix[] = INCBIN_U8("graphics/pokemon/anim_front_pics/vulpix_front_pic.4bpp.lz");
const u8 gMonFrontPic_Ninetales[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ninetales_front_pic.4bpp.lz");
const u8 gMonFrontPic_Jigglypuff[] = INCBIN_U8("graphics/pokemon/anim_front_pics/jigglypuff_front_pic.4bpp.lz");
const u8 gMonFrontPic_Wigglytuff[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wigglytuff_front_pic.4bpp.lz");
const u8 gMonFrontPic_Zubat[] = INCBIN_U8("graphics/pokemon/anim_front_pics/zubat_front_pic.4bpp.lz");
const u8 gMonFrontPic_Golbat[] = INCBIN_U8("graphics/pokemon/anim_front_pics/golbat_front_pic.4bpp.lz");
const u8 gMonFrontPic_Oddish[] = INCBIN_U8("graphics/pokemon/anim_front_pics/oddish_front_pic.4bpp.lz");
const u8 gMonFrontPic_Gloom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gloom_front_pic.4bpp.lz");
const u8 gMonFrontPic_Vileplume[] = INCBIN_U8("graphics/pokemon/anim_front_pics/vileplume_front_pic.4bpp.lz");
const u8 gMonFrontPic_Paras[] = INCBIN_U8("graphics/pokemon/anim_front_pics/paras_front_pic.4bpp.lz");
const u8 gMonFrontPic_Parasect[] = INCBIN_U8("graphics/pokemon/anim_front_pics/parasect_front_pic.4bpp.lz");
const u8 gMonFrontPic_Venonat[] = INCBIN_U8("graphics/pokemon/anim_front_pics/venonat_front_pic.4bpp.lz");
const u8 gMonFrontPic_Venomoth[] = INCBIN_U8("graphics/pokemon/anim_front_pics/venomoth_front_pic.4bpp.lz");
const u8 gMonFrontPic_Diglett[] = INCBIN_U8("graphics/pokemon/anim_front_pics/diglett_front_pic.4bpp.lz");
const u8 gMonFrontPic_Dugtrio[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dugtrio_front_pic.4bpp.lz");
const u8 gMonFrontPic_Meowth[] = INCBIN_U8("graphics/pokemon/anim_front_pics/meowth_front_pic.4bpp.lz");
const u8 gMonFrontPic_Persian[] = INCBIN_U8("graphics/pokemon/anim_front_pics/persian_front_pic.4bpp.lz");
const u8 gMonFrontPic_Psyduck[] = INCBIN_U8("graphics/pokemon/anim_front_pics/psyduck_front_pic.4bpp.lz");
const u8 gMonFrontPic_Golduck[] = INCBIN_U8("graphics/pokemon/anim_front_pics/golduck_front_pic.4bpp.lz");
const u8 gMonFrontPic_Mankey[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mankey_front_pic.4bpp.lz");
const u8 gMonFrontPic_Primeape[] = INCBIN_U8("graphics/pokemon/anim_front_pics/primeape_front_pic.4bpp.lz");
const u8 gMonFrontPic_Growlithe[] = INCBIN_U8("graphics/pokemon/anim_front_pics/growlithe_front_pic.4bpp.lz");
const u8 gMonFrontPic_Arcanine[] = INCBIN_U8("graphics/pokemon/anim_front_pics/arcanine_front_pic.4bpp.lz");
const u8 gMonFrontPic_Poliwag[] = INCBIN_U8("graphics/pokemon/anim_front_pics/poliwag_front_pic.4bpp.lz");
const u8 gMonFrontPic_Poliwhirl[] = INCBIN_U8("graphics/pokemon/anim_front_pics/poliwhirl_front_pic.4bpp.lz");
const u8 gMonFrontPic_Poliwrath[] = INCBIN_U8("graphics/pokemon/anim_front_pics/poliwrath_front_pic.4bpp.lz");
const u8 gMonFrontPic_Abra[] = INCBIN_U8("graphics/pokemon/anim_front_pics/abra_front_pic.4bpp.lz");
const u8 gMonFrontPic_Kadabra[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kadabra_front_pic.4bpp.lz");
const u8 gMonFrontPic_Alakazam[] = INCBIN_U8("graphics/pokemon/anim_front_pics/alakazam_front_pic.4bpp.lz");
const u8 gMonFrontPic_Machop[] = INCBIN_U8("graphics/pokemon/anim_front_pics/machop_front_pic.4bpp.lz");
const u8 gMonFrontPic_Machoke[] = INCBIN_U8("graphics/pokemon/anim_front_pics/machoke_front_pic.4bpp.lz");
const u8 gMonFrontPic_Machamp[] = INCBIN_U8("graphics/pokemon/anim_front_pics/machamp_front_pic.4bpp.lz");
const u8 gMonFrontPic_Bellsprout[] = INCBIN_U8("graphics/pokemon/anim_front_pics/bellsprout_front_pic.4bpp.lz");
const u8 gMonFrontPic_Weepinbell[] = INCBIN_U8("graphics/pokemon/anim_front_pics/weepinbell_front_pic.4bpp.lz");
const u8 gMonFrontPic_Victreebel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/victreebel_front_pic.4bpp.lz");
const u8 gMonFrontPic_Tentacool[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tentacool_front_pic.4bpp.lz");
const u8 gMonFrontPic_Tentacruel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tentacruel_front_pic.4bpp.lz");
const u8 gMonFrontPic_Geodude[] = INCBIN_U8("graphics/pokemon/anim_front_pics/geodude_front_pic.4bpp.lz");
const u8 gMonFrontPic_Graveler[] = INCBIN_U8("graphics/pokemon/anim_front_pics/graveler_front_pic.4bpp.lz");
const u8 gMonFrontPic_Golem[] = INCBIN_U8("graphics/pokemon/anim_front_pics/golem_front_pic.4bpp.lz");
const u8 gMonFrontPic_Ponyta[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ponyta_front_pic.4bpp.lz");
const u8 gMonFrontPic_Rapidash[] = INCBIN_U8("graphics/pokemon/anim_front_pics/rapidash_front_pic.4bpp.lz");
const u8 gMonFrontPic_Slowpoke[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slowpoke_front_pic.4bpp.lz");
const u8 gMonFrontPic_Slowbro[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slowbro_front_pic.4bpp.lz");
const u8 gMonFrontPic_Magnemite[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magnemite_front_pic.4bpp.lz");
const u8 gMonFrontPic_Magneton[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magneton_front_pic.4bpp.lz");
const u8 gMonFrontPic_Farfetchd[] = INCBIN_U8("graphics/pokemon/anim_front_pics/farfetch_d_front_pic.4bpp.lz");
const u8 gMonFrontPic_Doduo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/doduo_front_pic.4bpp.lz");
const u8 gMonFrontPic_Dodrio[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dodrio_front_pic.4bpp.lz");
const u8 gMonFrontPic_Seel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/seel_front_pic.4bpp.lz");
const u8 gMonFrontPic_Dewgong[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dewgong_front_pic.4bpp.lz");
const u8 gMonFrontPic_Grimer[] = INCBIN_U8("graphics/pokemon/anim_front_pics/grimer_front_pic.4bpp.lz");
const u8 gMonFrontPic_Muk[] = INCBIN_U8("graphics/pokemon/anim_front_pics/muk_front_pic.4bpp.lz");
const u8 gMonFrontPic_Shellder[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shellder_front_pic.4bpp.lz");
const u8 gMonFrontPic_Cloyster[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cloyster_front_pic.4bpp.lz");
const u8 gMonFrontPic_Gastly[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gastly_front_pic.4bpp.lz");
const u8 gMonFrontPic_Haunter[] = INCBIN_U8("graphics/pokemon/anim_front_pics/haunter_front_pic.4bpp.lz");
const u8 gMonFrontPic_Gengar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gengar_front_pic.4bpp.lz");
const u8 gMonFrontPic_Onix[] = INCBIN_U8("graphics/pokemon/anim_front_pics/onix_front_pic.4bpp.lz");
const u8 gMonFrontPic_Drowzee[] = INCBIN_U8("graphics/pokemon/anim_front_pics/drowzee_front_pic.4bpp.lz");
const u8 gMonFrontPic_Hypno[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hypno_front_pic.4bpp.lz");
const u8 gMonFrontPic_Krabby[] = INCBIN_U8("graphics/pokemon/anim_front_pics/krabby_front_pic.4bpp.lz");
const u8 gMonFrontPic_Kingler[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kingler_front_pic.4bpp.lz");
const u8 gMonFrontPic_Voltorb[] = INCBIN_U8("graphics/pokemon/anim_front_pics/voltorb_front_pic.4bpp.lz");
const u8 gMonFrontPic_Electrode[] = INCBIN_U8("graphics/pokemon/anim_front_pics/electrode_front_pic.4bpp.lz");
const u8 gMonFrontPic_Exeggcute[] = INCBIN_U8("graphics/pokemon/anim_front_pics/exeggcute_front_pic.4bpp.lz");
const u8 gMonFrontPic_Exeggutor[] = INCBIN_U8("graphics/pokemon/anim_front_pics/exeggutor_front_pic.4bpp.lz");
const u8 gMonFrontPic_Cubone[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cubone_front_pic.4bpp.lz");
const u8 gMonFrontPic_Marowak[] = INCBIN_U8("graphics/pokemon/anim_front_pics/marowak_front_pic.4bpp.lz");
const u8 gMonFrontPic_Hitmonlee[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hitmonlee_front_pic.4bpp.lz");
const u8 gMonFrontPic_Hitmonchan[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hitmonchan_front_pic.4bpp.lz");
const u8 gMonFrontPic_Lickitung[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lickitung_front_pic.4bpp.lz");
const u8 gMonFrontPic_Koffing[] = INCBIN_U8("graphics/pokemon/anim_front_pics/koffing_front_pic.4bpp.lz");
const u8 gMonFrontPic_Weezing[] = INCBIN_U8("graphics/pokemon/anim_front_pics/weezing_front_pic.4bpp.lz");
const u8 gMonFrontPic_Rhyhorn[] = INCBIN_U8("graphics/pokemon/anim_front_pics/rhyhorn_front_pic.4bpp.lz");
const u8 gMonFrontPic_Rhydon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/rhydon_front_pic.4bpp.lz");
const u8 gMonFrontPic_Chansey[] = INCBIN_U8("graphics/pokemon/anim_front_pics/chansey_front_pic.4bpp.lz");
const u8 gMonFrontPic_Tangela[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tangela_front_pic.4bpp.lz");
const u8 gMonFrontPic_Kangaskhan[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kangaskhan_front_pic.4bpp.lz");
const u8 gMonFrontPic_Horsea[] = INCBIN_U8("graphics/pokemon/anim_front_pics/horsea_front_pic.4bpp.lz");
const u8 gMonFrontPic_Seadra[] = INCBIN_U8("graphics/pokemon/anim_front_pics/seadra_front_pic.4bpp.lz");
const u8 gMonFrontPic_Goldeen[] = INCBIN_U8("graphics/pokemon/anim_front_pics/goldeen_front_pic.4bpp.lz");
const u8 gMonFrontPic_Seaking[] = INCBIN_U8("graphics/pokemon/anim_front_pics/seaking_front_pic.4bpp.lz");
const u8 gMonFrontPic_Staryu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/staryu_front_pic.4bpp.lz");
const u8 gMonFrontPic_Starmie[] = INCBIN_U8("graphics/pokemon/anim_front_pics/starmie_front_pic.4bpp.lz");
const u8 gMonFrontPic_Mrmime[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mr_mime_front_pic.4bpp.lz");
const u8 gMonFrontPic_Scyther[] = INCBIN_U8("graphics/pokemon/anim_front_pics/scyther_front_pic.4bpp.lz");
const u8 gMonFrontPic_Jynx[] = INCBIN_U8("graphics/pokemon/anim_front_pics/jynx_front_pic.4bpp.lz");
const u8 gMonFrontPic_Electabuzz[] = INCBIN_U8("graphics/pokemon/anim_front_pics/electabuzz_front_pic.4bpp.lz");
const u8 gMonFrontPic_Magmar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magmar_front_pic.4bpp.lz");
const u8 gMonFrontPic_Pinsir[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pinsir_front_pic.4bpp.lz");
const u8 gMonFrontPic_Tauros[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tauros_front_pic.4bpp.lz");
const u8 gMonFrontPic_Magikarp[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magikarp_front_pic.4bpp.lz");
const u8 gMonFrontPic_Gyarados[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gyarados_front_pic.4bpp.lz");
const u8 gMonFrontPic_Lapras[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lapras_front_pic.4bpp.lz");
const u8 gMonFrontPic_Ditto[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ditto_front_pic.4bpp.lz");
const u8 gMonFrontPic_Eevee[] = INCBIN_U8("graphics/pokemon/anim_front_pics/eevee_front_pic.4bpp.lz");
const u8 gMonFrontPic_Vaporeon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/vaporeon_front_pic.4bpp.lz");
const u8 gMonFrontPic_Jolteon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/jolteon_front_pic.4bpp.lz");
const u8 gMonFrontPic_Flareon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/flareon_front_pic.4bpp.lz");
const u8 gMonFrontPic_Porygon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/porygon_front_pic.4bpp.lz");
const u8 gMonFrontPic_Omanyte[] = INCBIN_U8("graphics/pokemon/anim_front_pics/omanyte_front_pic.4bpp.lz");
const u8 gMonFrontPic_Omastar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/omastar_front_pic.4bpp.lz");
const u8 gMonFrontPic_Kabuto[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kabuto_front_pic.4bpp.lz");
const u8 gMonFrontPic_Kabutops[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kabutops_front_pic.4bpp.lz");
const u8 gMonFrontPic_Aerodactyl[] = INCBIN_U8("graphics/pokemon/anim_front_pics/aerodactyl_front_pic.4bpp.lz");
const u8 gMonFrontPic_Snorlax[] = INCBIN_U8("graphics/pokemon/anim_front_pics/snorlax_front_pic.4bpp.lz");
const u8 gMonFrontPic_Articuno[] = INCBIN_U8("graphics/pokemon/anim_front_pics/articuno_front_pic.4bpp.lz");
const u8 gMonFrontPic_Zapdos[] = INCBIN_U8("graphics/pokemon/anim_front_pics/zapdos_front_pic.4bpp.lz");
const u8 gMonFrontPic_Moltres[] = INCBIN_U8("graphics/pokemon/anim_front_pics/moltres_front_pic.4bpp.lz");
const u8 gMonFrontPic_Dratini[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dratini_front_pic.4bpp.lz");
const u8 gMonFrontPic_Dragonair[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dragonair_front_pic.4bpp.lz");
const u8 gMonFrontPic_Dragonite[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dragonite_front_pic.4bpp.lz");
const u8 gMonFrontPic_Mewtwo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mewtwo_front_pic.4bpp.lz");
const u8 gMonFrontPic_Mew[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mew_front_pic.4bpp.lz");
const u32 gMonFrontPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/anim_front_pics/bulbasaur_front_pic.4bpp.lz");
const u32 gMonFrontPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ivysaur_front_pic.4bpp.lz");
const u32 gMonFrontPic_Venusaur[] = INCBIN_U32("graphics/pokemon/anim_front_pics/venusaur_front_pic.4bpp.lz");
const u32 gMonFrontPic_Charmander[] = INCBIN_U32("graphics/pokemon/anim_front_pics/charmander_front_pic.4bpp.lz");
const u32 gMonFrontPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/charmeleon_front_pic.4bpp.lz");
const u32 gMonFrontPic_Charizard[] = INCBIN_U32("graphics/pokemon/anim_front_pics/charizard_front_pic.4bpp.lz");
const u32 gMonFrontPic_Squirtle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/squirtle_front_pic.4bpp.lz");
const u32 gMonFrontPic_Wartortle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wartortle_front_pic.4bpp.lz");
const u32 gMonFrontPic_Blastoise[] = INCBIN_U32("graphics/pokemon/anim_front_pics/blastoise_front_pic.4bpp.lz");
const u32 gMonFrontPic_Caterpie[] = INCBIN_U32("graphics/pokemon/anim_front_pics/caterpie_front_pic.4bpp.lz");
const u32 gMonFrontPic_Metapod[] = INCBIN_U32("graphics/pokemon/anim_front_pics/metapod_front_pic.4bpp.lz");
const u32 gMonFrontPic_Butterfree[] = INCBIN_U32("graphics/pokemon/anim_front_pics/butterfree_front_pic.4bpp.lz");
const u32 gMonFrontPic_Weedle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/weedle_front_pic.4bpp.lz");
const u32 gMonFrontPic_Kakuna[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kakuna_front_pic.4bpp.lz");
const u32 gMonFrontPic_Beedrill[] = INCBIN_U32("graphics/pokemon/anim_front_pics/beedrill_front_pic.4bpp.lz");
const u32 gMonFrontPic_Pidgey[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pidgey_front_pic.4bpp.lz");
const u32 gMonFrontPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pidgeotto_front_pic.4bpp.lz");
const u32 gMonFrontPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pidgeot_front_pic.4bpp.lz");
const u32 gMonFrontPic_Rattata[] = INCBIN_U32("graphics/pokemon/anim_front_pics/rattata_front_pic.4bpp.lz");
const u32 gMonFrontPic_Raticate[] = INCBIN_U32("graphics/pokemon/anim_front_pics/raticate_front_pic.4bpp.lz");
const u32 gMonFrontPic_Spearow[] = INCBIN_U32("graphics/pokemon/anim_front_pics/spearow_front_pic.4bpp.lz");
const u32 gMonFrontPic_Fearow[] = INCBIN_U32("graphics/pokemon/anim_front_pics/fearow_front_pic.4bpp.lz");
const u32 gMonFrontPic_Ekans[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ekans_front_pic.4bpp.lz");
const u32 gMonFrontPic_Arbok[] = INCBIN_U32("graphics/pokemon/anim_front_pics/arbok_front_pic.4bpp.lz");
const u32 gMonFrontPic_Pikachu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pikachu_front_pic.4bpp.lz");
const u32 gMonFrontPic_Raichu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/raichu_front_pic.4bpp.lz");
const u32 gMonFrontPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sandshrew_front_pic.4bpp.lz");
const u32 gMonFrontPic_Sandslash[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sandslash_front_pic.4bpp.lz");
const u32 gMonFrontPic_NidoranF[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidoran_f_front_pic.4bpp.lz");
const u32 gMonFrontPic_Nidorina[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidorina_front_pic.4bpp.lz");
const u32 gMonFrontPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidoqueen_front_pic.4bpp.lz");
const u32 gMonFrontPic_NidoranM[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidoran_m_front_pic.4bpp.lz");
const u32 gMonFrontPic_Nidorino[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidorino_front_pic.4bpp.lz");
const u32 gMonFrontPic_Nidoking[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidoking_front_pic.4bpp.lz");
const u32 gMonFrontPic_Clefairy[] = INCBIN_U32("graphics/pokemon/anim_front_pics/clefairy_front_pic.4bpp.lz");
const u32 gMonFrontPic_Clefable[] = INCBIN_U32("graphics/pokemon/anim_front_pics/clefable_front_pic.4bpp.lz");
const u32 gMonFrontPic_Vulpix[] = INCBIN_U32("graphics/pokemon/anim_front_pics/vulpix_front_pic.4bpp.lz");
const u32 gMonFrontPic_Ninetales[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ninetales_front_pic.4bpp.lz");
const u32 gMonFrontPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/anim_front_pics/jigglypuff_front_pic.4bpp.lz");
const u32 gMonFrontPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wigglytuff_front_pic.4bpp.lz");
const u32 gMonFrontPic_Zubat[] = INCBIN_U32("graphics/pokemon/anim_front_pics/zubat_front_pic.4bpp.lz");
const u32 gMonFrontPic_Golbat[] = INCBIN_U32("graphics/pokemon/anim_front_pics/golbat_front_pic.4bpp.lz");
const u32 gMonFrontPic_Oddish[] = INCBIN_U32("graphics/pokemon/anim_front_pics/oddish_front_pic.4bpp.lz");
const u32 gMonFrontPic_Gloom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gloom_front_pic.4bpp.lz");
const u32 gMonFrontPic_Vileplume[] = INCBIN_U32("graphics/pokemon/anim_front_pics/vileplume_front_pic.4bpp.lz");
const u32 gMonFrontPic_Paras[] = INCBIN_U32("graphics/pokemon/anim_front_pics/paras_front_pic.4bpp.lz");
const u32 gMonFrontPic_Parasect[] = INCBIN_U32("graphics/pokemon/anim_front_pics/parasect_front_pic.4bpp.lz");
const u32 gMonFrontPic_Venonat[] = INCBIN_U32("graphics/pokemon/anim_front_pics/venonat_front_pic.4bpp.lz");
const u32 gMonFrontPic_Venomoth[] = INCBIN_U32("graphics/pokemon/anim_front_pics/venomoth_front_pic.4bpp.lz");
const u32 gMonFrontPic_Diglett[] = INCBIN_U32("graphics/pokemon/anim_front_pics/diglett_front_pic.4bpp.lz");
const u32 gMonFrontPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dugtrio_front_pic.4bpp.lz");
const u32 gMonFrontPic_Meowth[] = INCBIN_U32("graphics/pokemon/anim_front_pics/meowth_front_pic.4bpp.lz");
const u32 gMonFrontPic_Persian[] = INCBIN_U32("graphics/pokemon/anim_front_pics/persian_front_pic.4bpp.lz");
const u32 gMonFrontPic_Psyduck[] = INCBIN_U32("graphics/pokemon/anim_front_pics/psyduck_front_pic.4bpp.lz");
const u32 gMonFrontPic_Golduck[] = INCBIN_U32("graphics/pokemon/anim_front_pics/golduck_front_pic.4bpp.lz");
const u32 gMonFrontPic_Mankey[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mankey_front_pic.4bpp.lz");
const u32 gMonFrontPic_Primeape[] = INCBIN_U32("graphics/pokemon/anim_front_pics/primeape_front_pic.4bpp.lz");
const u32 gMonFrontPic_Growlithe[] = INCBIN_U32("graphics/pokemon/anim_front_pics/growlithe_front_pic.4bpp.lz");
const u32 gMonFrontPic_Arcanine[] = INCBIN_U32("graphics/pokemon/anim_front_pics/arcanine_front_pic.4bpp.lz");
const u32 gMonFrontPic_Poliwag[] = INCBIN_U32("graphics/pokemon/anim_front_pics/poliwag_front_pic.4bpp.lz");
const u32 gMonFrontPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/anim_front_pics/poliwhirl_front_pic.4bpp.lz");
const u32 gMonFrontPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/anim_front_pics/poliwrath_front_pic.4bpp.lz");
const u32 gMonFrontPic_Abra[] = INCBIN_U32("graphics/pokemon/anim_front_pics/abra_front_pic.4bpp.lz");
const u32 gMonFrontPic_Kadabra[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kadabra_front_pic.4bpp.lz");
const u32 gMonFrontPic_Alakazam[] = INCBIN_U32("graphics/pokemon/anim_front_pics/alakazam_front_pic.4bpp.lz");
const u32 gMonFrontPic_Machop[] = INCBIN_U32("graphics/pokemon/anim_front_pics/machop_front_pic.4bpp.lz");
const u32 gMonFrontPic_Machoke[] = INCBIN_U32("graphics/pokemon/anim_front_pics/machoke_front_pic.4bpp.lz");
const u32 gMonFrontPic_Machamp[] = INCBIN_U32("graphics/pokemon/anim_front_pics/machamp_front_pic.4bpp.lz");
const u32 gMonFrontPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/anim_front_pics/bellsprout_front_pic.4bpp.lz");
const u32 gMonFrontPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/anim_front_pics/weepinbell_front_pic.4bpp.lz");
const u32 gMonFrontPic_Victreebel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/victreebel_front_pic.4bpp.lz");
const u32 gMonFrontPic_Tentacool[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tentacool_front_pic.4bpp.lz");
const u32 gMonFrontPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tentacruel_front_pic.4bpp.lz");
const u32 gMonFrontPic_Geodude[] = INCBIN_U32("graphics/pokemon/anim_front_pics/geodude_front_pic.4bpp.lz");
const u32 gMonFrontPic_Graveler[] = INCBIN_U32("graphics/pokemon/anim_front_pics/graveler_front_pic.4bpp.lz");
const u32 gMonFrontPic_Golem[] = INCBIN_U32("graphics/pokemon/anim_front_pics/golem_front_pic.4bpp.lz");
const u32 gMonFrontPic_Ponyta[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ponyta_front_pic.4bpp.lz");
const u32 gMonFrontPic_Rapidash[] = INCBIN_U32("graphics/pokemon/anim_front_pics/rapidash_front_pic.4bpp.lz");
const u32 gMonFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slowpoke_front_pic.4bpp.lz");
const u32 gMonFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slowbro_front_pic.4bpp.lz");
const u32 gMonFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magnemite_front_pic.4bpp.lz");
const u32 gMonFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magneton_front_pic.4bpp.lz");
const u32 gMonFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/anim_front_pics/farfetch_d_front_pic.4bpp.lz");
const u32 gMonFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/doduo_front_pic.4bpp.lz");
const u32 gMonFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dodrio_front_pic.4bpp.lz");
const u32 gMonFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/seel_front_pic.4bpp.lz");
const u32 gMonFrontPic_Dewgong[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dewgong_front_pic.4bpp.lz");
const u32 gMonFrontPic_Grimer[] = INCBIN_U32("graphics/pokemon/anim_front_pics/grimer_front_pic.4bpp.lz");
const u32 gMonFrontPic_Muk[] = INCBIN_U32("graphics/pokemon/anim_front_pics/muk_front_pic.4bpp.lz");
const u32 gMonFrontPic_Shellder[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shellder_front_pic.4bpp.lz");
const u32 gMonFrontPic_Cloyster[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cloyster_front_pic.4bpp.lz");
const u32 gMonFrontPic_Gastly[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gastly_front_pic.4bpp.lz");
const u32 gMonFrontPic_Haunter[] = INCBIN_U32("graphics/pokemon/anim_front_pics/haunter_front_pic.4bpp.lz");
const u32 gMonFrontPic_Gengar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gengar_front_pic.4bpp.lz");
const u32 gMonFrontPic_Onix[] = INCBIN_U32("graphics/pokemon/anim_front_pics/onix_front_pic.4bpp.lz");
const u32 gMonFrontPic_Drowzee[] = INCBIN_U32("graphics/pokemon/anim_front_pics/drowzee_front_pic.4bpp.lz");
const u32 gMonFrontPic_Hypno[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hypno_front_pic.4bpp.lz");
const u32 gMonFrontPic_Krabby[] = INCBIN_U32("graphics/pokemon/anim_front_pics/krabby_front_pic.4bpp.lz");
const u32 gMonFrontPic_Kingler[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kingler_front_pic.4bpp.lz");
const u32 gMonFrontPic_Voltorb[] = INCBIN_U32("graphics/pokemon/anim_front_pics/voltorb_front_pic.4bpp.lz");
const u32 gMonFrontPic_Electrode[] = INCBIN_U32("graphics/pokemon/anim_front_pics/electrode_front_pic.4bpp.lz");
const u32 gMonFrontPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/anim_front_pics/exeggcute_front_pic.4bpp.lz");
const u32 gMonFrontPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/anim_front_pics/exeggutor_front_pic.4bpp.lz");
const u32 gMonFrontPic_Cubone[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cubone_front_pic.4bpp.lz");
const u32 gMonFrontPic_Marowak[] = INCBIN_U32("graphics/pokemon/anim_front_pics/marowak_front_pic.4bpp.lz");
const u32 gMonFrontPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hitmonlee_front_pic.4bpp.lz");
const u32 gMonFrontPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hitmonchan_front_pic.4bpp.lz");
const u32 gMonFrontPic_Lickitung[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lickitung_front_pic.4bpp.lz");
const u32 gMonFrontPic_Koffing[] = INCBIN_U32("graphics/pokemon/anim_front_pics/koffing_front_pic.4bpp.lz");
const u32 gMonFrontPic_Weezing[] = INCBIN_U32("graphics/pokemon/anim_front_pics/weezing_front_pic.4bpp.lz");
const u32 gMonFrontPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/anim_front_pics/rhyhorn_front_pic.4bpp.lz");
const u32 gMonFrontPic_Rhydon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/rhydon_front_pic.4bpp.lz");
const u32 gMonFrontPic_Chansey[] = INCBIN_U32("graphics/pokemon/anim_front_pics/chansey_front_pic.4bpp.lz");
const u32 gMonFrontPic_Tangela[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tangela_front_pic.4bpp.lz");
const u32 gMonFrontPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kangaskhan_front_pic.4bpp.lz");
const u32 gMonFrontPic_Horsea[] = INCBIN_U32("graphics/pokemon/anim_front_pics/horsea_front_pic.4bpp.lz");
const u32 gMonFrontPic_Seadra[] = INCBIN_U32("graphics/pokemon/anim_front_pics/seadra_front_pic.4bpp.lz");
const u32 gMonFrontPic_Goldeen[] = INCBIN_U32("graphics/pokemon/anim_front_pics/goldeen_front_pic.4bpp.lz");
const u32 gMonFrontPic_Seaking[] = INCBIN_U32("graphics/pokemon/anim_front_pics/seaking_front_pic.4bpp.lz");
const u32 gMonFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/staryu_front_pic.4bpp.lz");
const u32 gMonFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/anim_front_pics/starmie_front_pic.4bpp.lz");
const u32 gMonFrontPic_Mrmime[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mr_mime_front_pic.4bpp.lz");
const u32 gMonFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/anim_front_pics/scyther_front_pic.4bpp.lz");
const u32 gMonFrontPic_Jynx[] = INCBIN_U32("graphics/pokemon/anim_front_pics/jynx_front_pic.4bpp.lz");
const u32 gMonFrontPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/anim_front_pics/electabuzz_front_pic.4bpp.lz");
const u32 gMonFrontPic_Magmar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magmar_front_pic.4bpp.lz");
const u32 gMonFrontPic_Pinsir[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pinsir_front_pic.4bpp.lz");
const u32 gMonFrontPic_Tauros[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tauros_front_pic.4bpp.lz");
const u32 gMonFrontPic_Magikarp[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magikarp_front_pic.4bpp.lz");
const u32 gMonFrontPic_Gyarados[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gyarados_front_pic.4bpp.lz");
const u32 gMonFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lapras_front_pic.4bpp.lz");
const u32 gMonFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ditto_front_pic.4bpp.lz");
const u32 gMonFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/anim_front_pics/eevee_front_pic.4bpp.lz");
const u32 gMonFrontPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/vaporeon_front_pic.4bpp.lz");
const u32 gMonFrontPic_Jolteon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/jolteon_front_pic.4bpp.lz");
const u32 gMonFrontPic_Flareon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/flareon_front_pic.4bpp.lz");
const u32 gMonFrontPic_Porygon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/porygon_front_pic.4bpp.lz");
const u32 gMonFrontPic_Omanyte[] = INCBIN_U32("graphics/pokemon/anim_front_pics/omanyte_front_pic.4bpp.lz");
const u32 gMonFrontPic_Omastar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/omastar_front_pic.4bpp.lz");
const u32 gMonFrontPic_Kabuto[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kabuto_front_pic.4bpp.lz");
const u32 gMonFrontPic_Kabutops[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kabutops_front_pic.4bpp.lz");
const u32 gMonFrontPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/anim_front_pics/aerodactyl_front_pic.4bpp.lz");
const u32 gMonFrontPic_Snorlax[] = INCBIN_U32("graphics/pokemon/anim_front_pics/snorlax_front_pic.4bpp.lz");
const u32 gMonFrontPic_Articuno[] = INCBIN_U32("graphics/pokemon/anim_front_pics/articuno_front_pic.4bpp.lz");
const u32 gMonFrontPic_Zapdos[] = INCBIN_U32("graphics/pokemon/anim_front_pics/zapdos_front_pic.4bpp.lz");
const u32 gMonFrontPic_Moltres[] = INCBIN_U32("graphics/pokemon/anim_front_pics/moltres_front_pic.4bpp.lz");
const u32 gMonFrontPic_Dratini[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dratini_front_pic.4bpp.lz");
const u32 gMonFrontPic_Dragonair[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dragonair_front_pic.4bpp.lz");
const u32 gMonFrontPic_Dragonite[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dragonite_front_pic.4bpp.lz");
const u32 gMonFrontPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mewtwo_front_pic.4bpp.lz");
const u32 gMonFrontPic_Mew[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mew_front_pic.4bpp.lz");
const u8 gMonFrontPic_Chikorita[] = INCBIN_U8("graphics/pokemon/anim_front_pics/chikorita_front_pic.4bpp.lz");
const u8 gMonFrontPic_Bayleef[] = INCBIN_U8("graphics/pokemon/anim_front_pics/bayleef_front_pic.4bpp.lz");
const u8 gMonFrontPic_Meganium[] = INCBIN_U8("graphics/pokemon/anim_front_pics/meganium_front_pic.4bpp.lz");
const u8 gMonFrontPic_Cyndaquil[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cyndaquil_front_pic.4bpp.lz");
const u8 gMonFrontPic_Quilava[] = INCBIN_U8("graphics/pokemon/anim_front_pics/quilava_front_pic.4bpp.lz");
const u8 gMonFrontPic_Typhlosion[] = INCBIN_U8("graphics/pokemon/anim_front_pics/typhlosion_front_pic.4bpp.lz");
const u8 gMonFrontPic_Totodile[] = INCBIN_U8("graphics/pokemon/anim_front_pics/totodile_front_pic.4bpp.lz");
const u8 gMonFrontPic_Croconaw[] = INCBIN_U8("graphics/pokemon/anim_front_pics/croconaw_front_pic.4bpp.lz");
const u8 gMonFrontPic_Feraligatr[] = INCBIN_U8("graphics/pokemon/anim_front_pics/feraligatr_front_pic.4bpp.lz");
const u8 gMonFrontPic_Sentret[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sentret_front_pic.4bpp.lz");
const u8 gMonFrontPic_Furret[] = INCBIN_U8("graphics/pokemon/anim_front_pics/furret_front_pic.4bpp.lz");
const u8 gMonFrontPic_Hoothoot[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hoothoot_front_pic.4bpp.lz");
const u8 gMonFrontPic_Noctowl[] = INCBIN_U8("graphics/pokemon/anim_front_pics/noctowl_front_pic.4bpp.lz");
const u8 gMonFrontPic_Ledyba[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ledyba_front_pic.4bpp.lz");
const u8 gMonFrontPic_Ledian[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ledian_front_pic.4bpp.lz");
const u8 gMonFrontPic_Spinarak[] = INCBIN_U8("graphics/pokemon/anim_front_pics/spinarak_front_pic.4bpp.lz");
const u8 gMonFrontPic_Ariados[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ariados_front_pic.4bpp.lz");
const u8 gMonFrontPic_Crobat[] = INCBIN_U8("graphics/pokemon/anim_front_pics/crobat_front_pic.4bpp.lz");
const u8 gMonFrontPic_Chinchou[] = INCBIN_U8("graphics/pokemon/anim_front_pics/chinchou_front_pic.4bpp.lz");
const u8 gMonFrontPic_Lanturn[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lanturn_front_pic.4bpp.lz");
const u8 gMonFrontPic_Pichu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pichu_front_pic.4bpp.lz");
const u8 gMonFrontPic_Cleffa[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cleffa_front_pic.4bpp.lz");
const u8 gMonFrontPic_Igglybuff[] = INCBIN_U8("graphics/pokemon/anim_front_pics/igglybuff_front_pic.4bpp.lz");
const u8 gMonFrontPic_Togepi[] = INCBIN_U8("graphics/pokemon/anim_front_pics/togepi_front_pic.4bpp.lz");
const u8 gMonFrontPic_Togetic[] = INCBIN_U8("graphics/pokemon/anim_front_pics/togetic_front_pic.4bpp.lz");
const u8 gMonFrontPic_Natu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/natu_front_pic.4bpp.lz");
const u8 gMonFrontPic_Xatu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/xatu_front_pic.4bpp.lz");
const u8 gMonFrontPic_Mareep[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mareep_front_pic.4bpp.lz");
const u8 gMonFrontPic_Flaaffy[] = INCBIN_U8("graphics/pokemon/anim_front_pics/flaaffy_front_pic.4bpp.lz");
const u8 gMonFrontPic_Ampharos[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ampharos_front_pic.4bpp.lz");
const u8 gMonFrontPic_Bellossom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/bellossom_front_pic.4bpp.lz");
const u8 gMonFrontPic_Marill[] = INCBIN_U8("graphics/pokemon/anim_front_pics/marill_front_pic.4bpp.lz");
const u8 gMonFrontPic_Azumarill[] = INCBIN_U8("graphics/pokemon/anim_front_pics/azumarill_front_pic.4bpp.lz");
const u8 gMonFrontPic_Sudowoodo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sudowoodo_front_pic.4bpp.lz");
const u8 gMonFrontPic_Politoed[] = INCBIN_U8("graphics/pokemon/anim_front_pics/politoed_front_pic.4bpp.lz");
const u8 gMonFrontPic_Hoppip[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hoppip_front_pic.4bpp.lz");
const u8 gMonFrontPic_Skiploom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/skiploom_front_pic.4bpp.lz");
const u8 gMonFrontPic_Jumpluff[] = INCBIN_U8("graphics/pokemon/anim_front_pics/jumpluff_front_pic.4bpp.lz");
const u8 gMonFrontPic_Aipom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/aipom_front_pic.4bpp.lz");
const u8 gMonFrontPic_Sunkern[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sunkern_front_pic.4bpp.lz");
const u8 gMonFrontPic_Sunflora[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sunflora_front_pic.4bpp.lz");
const u8 gMonFrontPic_Yanma[] = INCBIN_U8("graphics/pokemon/anim_front_pics/yanma_front_pic.4bpp.lz");
const u8 gMonFrontPic_Wooper[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wooper_front_pic.4bpp.lz");
const u8 gMonFrontPic_Quagsire[] = INCBIN_U8("graphics/pokemon/anim_front_pics/quagsire_front_pic.4bpp.lz");
const u8 gMonFrontPic_Espeon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/espeon_front_pic.4bpp.lz");
const u8 gMonFrontPic_Umbreon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/umbreon_front_pic.4bpp.lz");
const u8 gMonFrontPic_Murkrow[] = INCBIN_U8("graphics/pokemon/anim_front_pics/murkrow_front_pic.4bpp.lz");
const u8 gMonFrontPic_Slowking[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slowking_front_pic.4bpp.lz");
const u8 gMonFrontPic_Misdreavus[] = INCBIN_U8("graphics/pokemon/anim_front_pics/misdreavus_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownA[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_a_front_pic.4bpp.lz");
const u8 gMonFrontPic_Wobbuffet[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wobbuffet_front_pic.4bpp.lz");
const u8 gMonFrontPic_Girafarig[] = INCBIN_U8("graphics/pokemon/anim_front_pics/girafarig_front_pic.4bpp.lz");
const u8 gMonFrontPic_Pineco[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pineco_front_pic.4bpp.lz");
const u8 gMonFrontPic_Forretress[] = INCBIN_U8("graphics/pokemon/anim_front_pics/forretress_front_pic.4bpp.lz");
const u8 gMonFrontPic_Dunsparce[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dunsparce_front_pic.4bpp.lz");
const u8 gMonFrontPic_Gligar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gligar_front_pic.4bpp.lz");
const u8 gMonFrontPic_Steelix[] = INCBIN_U8("graphics/pokemon/anim_front_pics/steelix_front_pic.4bpp.lz");
const u8 gMonFrontPic_Snubbull[] = INCBIN_U8("graphics/pokemon/anim_front_pics/snubbull_front_pic.4bpp.lz");
const u8 gMonFrontPic_Granbull[] = INCBIN_U8("graphics/pokemon/anim_front_pics/granbull_front_pic.4bpp.lz");
const u8 gMonFrontPic_Qwilfish[] = INCBIN_U8("graphics/pokemon/anim_front_pics/qwilfish_front_pic.4bpp.lz");
const u8 gMonFrontPic_Scizor[] = INCBIN_U8("graphics/pokemon/anim_front_pics/scizor_front_pic.4bpp.lz");
const u8 gMonFrontPic_Shuckle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shuckle_front_pic.4bpp.lz");
const u8 gMonFrontPic_Heracross[] = INCBIN_U8("graphics/pokemon/anim_front_pics/heracross_front_pic.4bpp.lz");
const u8 gMonFrontPic_Sneasel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sneasel_front_pic.4bpp.lz");
const u8 gMonFrontPic_Teddiursa[] = INCBIN_U8("graphics/pokemon/anim_front_pics/teddiursa_front_pic.4bpp.lz");
const u8 gMonFrontPic_Ursaring[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ursaring_front_pic.4bpp.lz");
const u8 gMonFrontPic_Slugma[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slugma_front_pic.4bpp.lz");
const u8 gMonFrontPic_Magcargo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magcargo_front_pic.4bpp.lz");
const u8 gMonFrontPic_Swinub[] = INCBIN_U8("graphics/pokemon/anim_front_pics/swinub_front_pic.4bpp.lz");
const u8 gMonFrontPic_Piloswine[] = INCBIN_U8("graphics/pokemon/anim_front_pics/piloswine_front_pic.4bpp.lz");
const u8 gMonFrontPic_Corsola[] = INCBIN_U8("graphics/pokemon/anim_front_pics/corsola_front_pic.4bpp.lz");
const u8 gMonFrontPic_Remoraid[] = INCBIN_U8("graphics/pokemon/anim_front_pics/remoraid_front_pic.4bpp.lz");
const u8 gMonFrontPic_Octillery[] = INCBIN_U8("graphics/pokemon/anim_front_pics/octillery_front_pic.4bpp.lz");
const u8 gMonFrontPic_Delibird[] = INCBIN_U8("graphics/pokemon/anim_front_pics/delibird_front_pic.4bpp.lz");
const u8 gMonFrontPic_Mantine[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mantine_front_pic.4bpp.lz");
const u8 gMonFrontPic_Skarmory[] = INCBIN_U8("graphics/pokemon/anim_front_pics/skarmory_front_pic.4bpp.lz");
const u8 gMonFrontPic_Houndour[] = INCBIN_U8("graphics/pokemon/anim_front_pics/houndour_front_pic.4bpp.lz");
const u8 gMonFrontPic_Houndoom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/houndoom_front_pic.4bpp.lz");
const u8 gMonFrontPic_Kingdra[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kingdra_front_pic.4bpp.lz");
const u8 gMonFrontPic_Phanpy[] = INCBIN_U8("graphics/pokemon/anim_front_pics/phanpy_front_pic.4bpp.lz");
const u8 gMonFrontPic_Donphan[] = INCBIN_U8("graphics/pokemon/anim_front_pics/donphan_front_pic.4bpp.lz");
const u8 gMonFrontPic_Porygon2[] = INCBIN_U8("graphics/pokemon/anim_front_pics/porygon2_front_pic.4bpp.lz");
const u8 gMonFrontPic_Stantler[] = INCBIN_U8("graphics/pokemon/anim_front_pics/stantler_front_pic.4bpp.lz");
const u8 gMonFrontPic_Smeargle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/smeargle_front_pic.4bpp.lz");
const u8 gMonFrontPic_Tyrogue[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tyrogue_front_pic.4bpp.lz");
const u8 gMonFrontPic_Hitmontop[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hitmontop_front_pic.4bpp.lz");
const u8 gMonFrontPic_Smoochum[] = INCBIN_U8("graphics/pokemon/anim_front_pics/smoochum_front_pic.4bpp.lz");
const u8 gMonFrontPic_Elekid[] = INCBIN_U8("graphics/pokemon/anim_front_pics/elekid_front_pic.4bpp.lz");
const u8 gMonFrontPic_Magby[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magby_front_pic.4bpp.lz");
const u8 gMonFrontPic_Miltank[] = INCBIN_U8("graphics/pokemon/anim_front_pics/miltank_front_pic.4bpp.lz");
const u8 gMonFrontPic_Blissey[] = INCBIN_U8("graphics/pokemon/anim_front_pics/blissey_front_pic.4bpp.lz");
const u8 gMonFrontPic_Raikou[] = INCBIN_U8("graphics/pokemon/anim_front_pics/raikou_front_pic.4bpp.lz");
const u8 gMonFrontPic_Entei[] = INCBIN_U8("graphics/pokemon/anim_front_pics/entei_front_pic.4bpp.lz");
const u8 gMonFrontPic_Suicune[] = INCBIN_U8("graphics/pokemon/anim_front_pics/suicune_front_pic.4bpp.lz");
const u8 gMonFrontPic_Larvitar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/larvitar_front_pic.4bpp.lz");
const u8 gMonFrontPic_Pupitar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pupitar_front_pic.4bpp.lz");
const u8 gMonFrontPic_Tyranitar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tyranitar_front_pic.4bpp.lz");
const u8 gMonFrontPic_Lugia[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lugia_front_pic.4bpp.lz");
const u8 gMonFrontPic_HoOh[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ho_oh_front_pic.4bpp.lz");
const u8 gMonFrontPic_Celebi[] = INCBIN_U8("graphics/pokemon/anim_front_pics/celebi_front_pic.4bpp.lz");
const u32 gMonFrontPic_Chikorita[] = INCBIN_U32("graphics/pokemon/anim_front_pics/chikorita_front_pic.4bpp.lz");
const u32 gMonFrontPic_Bayleef[] = INCBIN_U32("graphics/pokemon/anim_front_pics/bayleef_front_pic.4bpp.lz");
const u32 gMonFrontPic_Meganium[] = INCBIN_U32("graphics/pokemon/anim_front_pics/meganium_front_pic.4bpp.lz");
const u32 gMonFrontPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cyndaquil_front_pic.4bpp.lz");
const u32 gMonFrontPic_Quilava[] = INCBIN_U32("graphics/pokemon/anim_front_pics/quilava_front_pic.4bpp.lz");
const u32 gMonFrontPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/anim_front_pics/typhlosion_front_pic.4bpp.lz");
const u32 gMonFrontPic_Totodile[] = INCBIN_U32("graphics/pokemon/anim_front_pics/totodile_front_pic.4bpp.lz");
const u32 gMonFrontPic_Croconaw[] = INCBIN_U32("graphics/pokemon/anim_front_pics/croconaw_front_pic.4bpp.lz");
const u32 gMonFrontPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/anim_front_pics/feraligatr_front_pic.4bpp.lz");
const u32 gMonFrontPic_Sentret[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sentret_front_pic.4bpp.lz");
const u32 gMonFrontPic_Furret[] = INCBIN_U32("graphics/pokemon/anim_front_pics/furret_front_pic.4bpp.lz");
const u32 gMonFrontPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hoothoot_front_pic.4bpp.lz");
const u32 gMonFrontPic_Noctowl[] = INCBIN_U32("graphics/pokemon/anim_front_pics/noctowl_front_pic.4bpp.lz");
const u32 gMonFrontPic_Ledyba[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ledyba_front_pic.4bpp.lz");
const u32 gMonFrontPic_Ledian[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ledian_front_pic.4bpp.lz");
const u32 gMonFrontPic_Spinarak[] = INCBIN_U32("graphics/pokemon/anim_front_pics/spinarak_front_pic.4bpp.lz");
const u32 gMonFrontPic_Ariados[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ariados_front_pic.4bpp.lz");
const u32 gMonFrontPic_Crobat[] = INCBIN_U32("graphics/pokemon/anim_front_pics/crobat_front_pic.4bpp.lz");
const u32 gMonFrontPic_Chinchou[] = INCBIN_U32("graphics/pokemon/anim_front_pics/chinchou_front_pic.4bpp.lz");
const u32 gMonFrontPic_Lanturn[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lanturn_front_pic.4bpp.lz");
const u32 gMonFrontPic_Pichu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pichu_front_pic.4bpp.lz");
const u32 gMonFrontPic_Cleffa[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cleffa_front_pic.4bpp.lz");
const u32 gMonFrontPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/anim_front_pics/igglybuff_front_pic.4bpp.lz");
const u32 gMonFrontPic_Togepi[] = INCBIN_U32("graphics/pokemon/anim_front_pics/togepi_front_pic.4bpp.lz");
const u32 gMonFrontPic_Togetic[] = INCBIN_U32("graphics/pokemon/anim_front_pics/togetic_front_pic.4bpp.lz");
const u32 gMonFrontPic_Natu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/natu_front_pic.4bpp.lz");
const u32 gMonFrontPic_Xatu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/xatu_front_pic.4bpp.lz");
const u32 gMonFrontPic_Mareep[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mareep_front_pic.4bpp.lz");
const u32 gMonFrontPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/anim_front_pics/flaaffy_front_pic.4bpp.lz");
const u32 gMonFrontPic_Ampharos[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ampharos_front_pic.4bpp.lz");
const u32 gMonFrontPic_Bellossom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/bellossom_front_pic.4bpp.lz");
const u32 gMonFrontPic_Marill[] = INCBIN_U32("graphics/pokemon/anim_front_pics/marill_front_pic.4bpp.lz");
const u32 gMonFrontPic_Azumarill[] = INCBIN_U32("graphics/pokemon/anim_front_pics/azumarill_front_pic.4bpp.lz");
const u32 gMonFrontPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sudowoodo_front_pic.4bpp.lz");
const u32 gMonFrontPic_Politoed[] = INCBIN_U32("graphics/pokemon/anim_front_pics/politoed_front_pic.4bpp.lz");
const u32 gMonFrontPic_Hoppip[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hoppip_front_pic.4bpp.lz");
const u32 gMonFrontPic_Skiploom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/skiploom_front_pic.4bpp.lz");
const u32 gMonFrontPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/anim_front_pics/jumpluff_front_pic.4bpp.lz");
const u32 gMonFrontPic_Aipom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/aipom_front_pic.4bpp.lz");
const u32 gMonFrontPic_Sunkern[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sunkern_front_pic.4bpp.lz");
const u32 gMonFrontPic_Sunflora[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sunflora_front_pic.4bpp.lz");
const u32 gMonFrontPic_Yanma[] = INCBIN_U32("graphics/pokemon/anim_front_pics/yanma_front_pic.4bpp.lz");
const u32 gMonFrontPic_Wooper[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wooper_front_pic.4bpp.lz");
const u32 gMonFrontPic_Quagsire[] = INCBIN_U32("graphics/pokemon/anim_front_pics/quagsire_front_pic.4bpp.lz");
const u32 gMonFrontPic_Espeon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/espeon_front_pic.4bpp.lz");
const u32 gMonFrontPic_Umbreon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/umbreon_front_pic.4bpp.lz");
const u32 gMonFrontPic_Murkrow[] = INCBIN_U32("graphics/pokemon/anim_front_pics/murkrow_front_pic.4bpp.lz");
const u32 gMonFrontPic_Slowking[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slowking_front_pic.4bpp.lz");
const u32 gMonFrontPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/anim_front_pics/misdreavus_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownA[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_a_front_pic.4bpp.lz");
const u32 gMonFrontPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wobbuffet_front_pic.4bpp.lz");
const u32 gMonFrontPic_Girafarig[] = INCBIN_U32("graphics/pokemon/anim_front_pics/girafarig_front_pic.4bpp.lz");
const u32 gMonFrontPic_Pineco[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pineco_front_pic.4bpp.lz");
const u32 gMonFrontPic_Forretress[] = INCBIN_U32("graphics/pokemon/anim_front_pics/forretress_front_pic.4bpp.lz");
const u32 gMonFrontPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dunsparce_front_pic.4bpp.lz");
const u32 gMonFrontPic_Gligar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gligar_front_pic.4bpp.lz");
const u32 gMonFrontPic_Steelix[] = INCBIN_U32("graphics/pokemon/anim_front_pics/steelix_front_pic.4bpp.lz");
const u32 gMonFrontPic_Snubbull[] = INCBIN_U32("graphics/pokemon/anim_front_pics/snubbull_front_pic.4bpp.lz");
const u32 gMonFrontPic_Granbull[] = INCBIN_U32("graphics/pokemon/anim_front_pics/granbull_front_pic.4bpp.lz");
const u32 gMonFrontPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/anim_front_pics/qwilfish_front_pic.4bpp.lz");
const u32 gMonFrontPic_Scizor[] = INCBIN_U32("graphics/pokemon/anim_front_pics/scizor_front_pic.4bpp.lz");
const u32 gMonFrontPic_Shuckle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shuckle_front_pic.4bpp.lz");
const u32 gMonFrontPic_Heracross[] = INCBIN_U32("graphics/pokemon/anim_front_pics/heracross_front_pic.4bpp.lz");
const u32 gMonFrontPic_Sneasel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sneasel_front_pic.4bpp.lz");
const u32 gMonFrontPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/anim_front_pics/teddiursa_front_pic.4bpp.lz");
const u32 gMonFrontPic_Ursaring[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ursaring_front_pic.4bpp.lz");
const u32 gMonFrontPic_Slugma[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slugma_front_pic.4bpp.lz");
const u32 gMonFrontPic_Magcargo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magcargo_front_pic.4bpp.lz");
const u32 gMonFrontPic_Swinub[] = INCBIN_U32("graphics/pokemon/anim_front_pics/swinub_front_pic.4bpp.lz");
const u32 gMonFrontPic_Piloswine[] = INCBIN_U32("graphics/pokemon/anim_front_pics/piloswine_front_pic.4bpp.lz");
const u32 gMonFrontPic_Corsola[] = INCBIN_U32("graphics/pokemon/anim_front_pics/corsola_front_pic.4bpp.lz");
const u32 gMonFrontPic_Remoraid[] = INCBIN_U32("graphics/pokemon/anim_front_pics/remoraid_front_pic.4bpp.lz");
const u32 gMonFrontPic_Octillery[] = INCBIN_U32("graphics/pokemon/anim_front_pics/octillery_front_pic.4bpp.lz");
const u32 gMonFrontPic_Delibird[] = INCBIN_U32("graphics/pokemon/anim_front_pics/delibird_front_pic.4bpp.lz");
const u32 gMonFrontPic_Mantine[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mantine_front_pic.4bpp.lz");
const u32 gMonFrontPic_Skarmory[] = INCBIN_U32("graphics/pokemon/anim_front_pics/skarmory_front_pic.4bpp.lz");
const u32 gMonFrontPic_Houndour[] = INCBIN_U32("graphics/pokemon/anim_front_pics/houndour_front_pic.4bpp.lz");
const u32 gMonFrontPic_Houndoom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/houndoom_front_pic.4bpp.lz");
const u32 gMonFrontPic_Kingdra[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kingdra_front_pic.4bpp.lz");
const u32 gMonFrontPic_Phanpy[] = INCBIN_U32("graphics/pokemon/anim_front_pics/phanpy_front_pic.4bpp.lz");
const u32 gMonFrontPic_Donphan[] = INCBIN_U32("graphics/pokemon/anim_front_pics/donphan_front_pic.4bpp.lz");
const u32 gMonFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/anim_front_pics/porygon2_front_pic.4bpp.lz");
const u32 gMonFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/anim_front_pics/stantler_front_pic.4bpp.lz");
const u32 gMonFrontPic_Smeargle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/smeargle_front_pic.4bpp.lz");
const u32 gMonFrontPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tyrogue_front_pic.4bpp.lz");
const u32 gMonFrontPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hitmontop_front_pic.4bpp.lz");
const u32 gMonFrontPic_Smoochum[] = INCBIN_U32("graphics/pokemon/anim_front_pics/smoochum_front_pic.4bpp.lz");
const u32 gMonFrontPic_Elekid[] = INCBIN_U32("graphics/pokemon/anim_front_pics/elekid_front_pic.4bpp.lz");
const u32 gMonFrontPic_Magby[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magby_front_pic.4bpp.lz");
const u32 gMonFrontPic_Miltank[] = INCBIN_U32("graphics/pokemon/anim_front_pics/miltank_front_pic.4bpp.lz");
const u32 gMonFrontPic_Blissey[] = INCBIN_U32("graphics/pokemon/anim_front_pics/blissey_front_pic.4bpp.lz");
const u32 gMonFrontPic_Raikou[] = INCBIN_U32("graphics/pokemon/anim_front_pics/raikou_front_pic.4bpp.lz");
const u32 gMonFrontPic_Entei[] = INCBIN_U32("graphics/pokemon/anim_front_pics/entei_front_pic.4bpp.lz");
const u32 gMonFrontPic_Suicune[] = INCBIN_U32("graphics/pokemon/anim_front_pics/suicune_front_pic.4bpp.lz");
const u32 gMonFrontPic_Larvitar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/larvitar_front_pic.4bpp.lz");
const u32 gMonFrontPic_Pupitar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pupitar_front_pic.4bpp.lz");
const u32 gMonFrontPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tyranitar_front_pic.4bpp.lz");
const u32 gMonFrontPic_Lugia[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lugia_front_pic.4bpp.lz");
const u32 gMonFrontPic_HoOh[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ho_oh_front_pic.4bpp.lz");
const u32 gMonFrontPic_Celebi[] = INCBIN_U32("graphics/pokemon/anim_front_pics/celebi_front_pic.4bpp.lz");
const u8 gMonFrontPic_DoubleQuestionMark[] = INCBIN_U8("graphics/pokemon/anim_front_pics/double_question_mark_front_pic.4bpp.lz");
const u32 gMonFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/anim_front_pics/double_question_mark_front_pic.4bpp.lz");
const u8 gMonFrontPic_Treecko[] = INCBIN_U8("graphics/pokemon/anim_front_pics/treecko_front_pic.4bpp.lz");
const u8 gMonFrontPic_Grovyle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/grovyle_front_pic.4bpp.lz");
const u8 gMonFrontPic_Sceptile[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sceptile_front_pic.4bpp.lz");
const u8 gMonFrontPic_Torchic[] = INCBIN_U8("graphics/pokemon/anim_front_pics/torchic_front_pic.4bpp.lz");
const u8 gMonFrontPic_Combusken[] = INCBIN_U8("graphics/pokemon/anim_front_pics/combusken_front_pic.4bpp.lz");
const u8 gMonFrontPic_Blaziken[] = INCBIN_U8("graphics/pokemon/anim_front_pics/blaziken_front_pic.4bpp.lz");
const u8 gMonFrontPic_Mudkip[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mudkip_front_pic.4bpp.lz");
const u8 gMonFrontPic_Marshtomp[] = INCBIN_U8("graphics/pokemon/anim_front_pics/marshtomp_front_pic.4bpp.lz");
const u8 gMonFrontPic_Swampert[] = INCBIN_U8("graphics/pokemon/anim_front_pics/swampert_front_pic.4bpp.lz");
const u8 gMonFrontPic_Poochyena[] = INCBIN_U8("graphics/pokemon/anim_front_pics/poochyena_front_pic.4bpp.lz");
const u8 gMonFrontPic_Mightyena[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mightyena_front_pic.4bpp.lz");
const u8 gMonFrontPic_Zigzagoon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/zigzagoon_front_pic.4bpp.lz");
const u8 gMonFrontPic_Linoone[] = INCBIN_U8("graphics/pokemon/anim_front_pics/linoone_front_pic.4bpp.lz");
const u8 gMonFrontPic_Wurmple[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wurmple_front_pic.4bpp.lz");
const u8 gMonFrontPic_Silcoon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/silcoon_front_pic.4bpp.lz");
const u8 gMonFrontPic_Beautifly[] = INCBIN_U8("graphics/pokemon/anim_front_pics/beautifly_front_pic.4bpp.lz");
const u8 gMonFrontPic_Cascoon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cascoon_front_pic.4bpp.lz");
const u8 gMonFrontPic_Dustox[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dustox_front_pic.4bpp.lz");
const u8 gMonFrontPic_Lotad[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lotad_front_pic.4bpp.lz");
const u8 gMonFrontPic_Lombre[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lombre_front_pic.4bpp.lz");
const u8 gMonFrontPic_Ludicolo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ludicolo_front_pic.4bpp.lz");
const u8 gMonFrontPic_Seedot[] = INCBIN_U8("graphics/pokemon/anim_front_pics/seedot_front_pic.4bpp.lz");
const u8 gMonFrontPic_Nuzleaf[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nuzleaf_front_pic.4bpp.lz");
const u8 gMonFrontPic_Shiftry[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shiftry_front_pic.4bpp.lz");
const u8 gMonFrontPic_Nincada[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nincada_front_pic.4bpp.lz");
const u8 gMonFrontPic_Ninjask[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ninjask_front_pic.4bpp.lz");
const u8 gMonFrontPic_Shedinja[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shedinja_front_pic.4bpp.lz");
const u8 gMonFrontPic_Taillow[] = INCBIN_U8("graphics/pokemon/anim_front_pics/taillow_front_pic.4bpp.lz");
const u8 gMonFrontPic_Swellow[] = INCBIN_U8("graphics/pokemon/anim_front_pics/swellow_front_pic.4bpp.lz");
const u8 gMonFrontPic_Shroomish[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shroomish_front_pic.4bpp.lz");
const u8 gMonFrontPic_Breloom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/breloom_front_pic.4bpp.lz");
const u8 gMonFrontPic_Spinda[] = INCBIN_U8("graphics/pokemon/anim_front_pics/spinda_front_pic.4bpp.lz");
const u8 gMonFrontPic_Wingull[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wingull_front_pic.4bpp.lz");
const u8 gMonFrontPic_Pelipper[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pelipper_front_pic.4bpp.lz");
const u8 gMonFrontPic_Surskit[] = INCBIN_U8("graphics/pokemon/anim_front_pics/surskit_front_pic.4bpp.lz");
const u8 gMonFrontPic_Masquerain[] = INCBIN_U8("graphics/pokemon/anim_front_pics/masquerain_front_pic.4bpp.lz");
const u8 gMonFrontPic_Wailmer[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wailmer_front_pic.4bpp.lz");
const u8 gMonFrontPic_Wailord[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wailord_front_pic.4bpp.lz");
const u8 gMonFrontPic_Skitty[] = INCBIN_U8("graphics/pokemon/anim_front_pics/skitty_front_pic.4bpp.lz");
const u8 gMonFrontPic_Delcatty[] = INCBIN_U8("graphics/pokemon/anim_front_pics/delcatty_front_pic.4bpp.lz");
const u8 gMonFrontPic_Kecleon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kecleon_front_pic.4bpp.lz");
const u8 gMonFrontPic_Baltoy[] = INCBIN_U8("graphics/pokemon/anim_front_pics/baltoy_front_pic.4bpp.lz");
const u8 gMonFrontPic_Claydol[] = INCBIN_U8("graphics/pokemon/anim_front_pics/claydol_front_pic.4bpp.lz");
const u8 gMonFrontPic_Nosepass[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nosepass_front_pic.4bpp.lz");
const u8 gMonFrontPic_Torkoal[] = INCBIN_U8("graphics/pokemon/anim_front_pics/torkoal_front_pic.4bpp.lz");
const u8 gMonFrontPic_Sableye[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sableye_front_pic.4bpp.lz");
const u8 gMonFrontPic_Barboach[] = INCBIN_U8("graphics/pokemon/anim_front_pics/barboach_front_pic.4bpp.lz");
const u8 gMonFrontPic_Whiscash[] = INCBIN_U8("graphics/pokemon/anim_front_pics/whiscash_front_pic.4bpp.lz");
const u8 gMonFrontPic_Luvdisc[] = INCBIN_U8("graphics/pokemon/anim_front_pics/luvdisc_front_pic.4bpp.lz");
const u8 gMonFrontPic_Corphish[] = INCBIN_U8("graphics/pokemon/anim_front_pics/corphish_front_pic.4bpp.lz");
const u8 gMonFrontPic_Crawdaunt[] = INCBIN_U8("graphics/pokemon/anim_front_pics/crawdaunt_front_pic.4bpp.lz");
const u8 gMonFrontPic_Feebas[] = INCBIN_U8("graphics/pokemon/anim_front_pics/feebas_front_pic.4bpp.lz");
const u8 gMonFrontPic_Milotic[] = INCBIN_U8("graphics/pokemon/anim_front_pics/milotic_front_pic.4bpp.lz");
const u8 gMonFrontPic_Carvanha[] = INCBIN_U8("graphics/pokemon/anim_front_pics/carvanha_front_pic.4bpp.lz");
const u8 gMonFrontPic_Sharpedo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sharpedo_front_pic.4bpp.lz");
const u8 gMonFrontPic_Trapinch[] = INCBIN_U8("graphics/pokemon/anim_front_pics/trapinch_front_pic.4bpp.lz");
const u8 gMonFrontPic_Vibrava[] = INCBIN_U8("graphics/pokemon/anim_front_pics/vibrava_front_pic.4bpp.lz");
const u8 gMonFrontPic_Flygon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/flygon_front_pic.4bpp.lz");
const u8 gMonFrontPic_Makuhita[] = INCBIN_U8("graphics/pokemon/anim_front_pics/makuhita_front_pic.4bpp.lz");
const u8 gMonFrontPic_Hariyama[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hariyama_front_pic.4bpp.lz");
const u8 gMonFrontPic_Electrike[] = INCBIN_U8("graphics/pokemon/anim_front_pics/electrike_front_pic.4bpp.lz");
const u8 gMonFrontPic_Manectric[] = INCBIN_U8("graphics/pokemon/anim_front_pics/manectric_front_pic.4bpp.lz");
const u8 gMonFrontPic_Numel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/numel_front_pic.4bpp.lz");
const u8 gMonFrontPic_Camerupt[] = INCBIN_U8("graphics/pokemon/anim_front_pics/camerupt_front_pic.4bpp.lz");
const u8 gMonFrontPic_Spheal[] = INCBIN_U8("graphics/pokemon/anim_front_pics/spheal_front_pic.4bpp.lz");
const u8 gMonFrontPic_Sealeo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sealeo_front_pic.4bpp.lz");
const u8 gMonFrontPic_Walrein[] = INCBIN_U8("graphics/pokemon/anim_front_pics/walrein_front_pic.4bpp.lz");
const u8 gMonFrontPic_Cacnea[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cacnea_front_pic.4bpp.lz");
const u8 gMonFrontPic_Cacturne[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cacturne_front_pic.4bpp.lz");
const u8 gMonFrontPic_Snorunt[] = INCBIN_U8("graphics/pokemon/anim_front_pics/snorunt_front_pic.4bpp.lz");
const u8 gMonFrontPic_Glalie[] = INCBIN_U8("graphics/pokemon/anim_front_pics/glalie_front_pic.4bpp.lz");
const u8 gMonFrontPic_Lunatone[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lunatone_front_pic.4bpp.lz");
const u8 gMonFrontPic_Solrock[] = INCBIN_U8("graphics/pokemon/anim_front_pics/solrock_front_pic.4bpp.lz");
const u8 gMonFrontPic_Azurill[] = INCBIN_U8("graphics/pokemon/anim_front_pics/azurill_front_pic.4bpp.lz");
const u8 gMonFrontPic_Spoink[] = INCBIN_U8("graphics/pokemon/anim_front_pics/spoink_front_pic.4bpp.lz");
const u8 gMonFrontPic_Grumpig[] = INCBIN_U8("graphics/pokemon/anim_front_pics/grumpig_front_pic.4bpp.lz");
const u8 gMonFrontPic_Plusle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/plusle_front_pic.4bpp.lz");
const u8 gMonFrontPic_Minun[] = INCBIN_U8("graphics/pokemon/anim_front_pics/minun_front_pic.4bpp.lz");
const u8 gMonFrontPic_Mawile[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mawile_front_pic.4bpp.lz");
const u8 gMonFrontPic_Meditite[] = INCBIN_U8("graphics/pokemon/anim_front_pics/meditite_front_pic.4bpp.lz");
const u8 gMonFrontPic_Medicham[] = INCBIN_U8("graphics/pokemon/anim_front_pics/medicham_front_pic.4bpp.lz");
const u8 gMonFrontPic_Swablu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/swablu_front_pic.4bpp.lz");
const u8 gMonFrontPic_Altaria[] = INCBIN_U8("graphics/pokemon/anim_front_pics/altaria_front_pic.4bpp.lz");
const u8 gMonFrontPic_Wynaut[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wynaut_front_pic.4bpp.lz");
const u8 gMonFrontPic_Duskull[] = INCBIN_U8("graphics/pokemon/anim_front_pics/duskull_front_pic.4bpp.lz");
const u8 gMonFrontPic_Dusclops[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dusclops_front_pic.4bpp.lz");
const u8 gMonFrontPic_Roselia[] = INCBIN_U8("graphics/pokemon/anim_front_pics/roselia_front_pic.4bpp.lz");
const u8 gMonFrontPic_Slakoth[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slakoth_front_pic.4bpp.lz");
const u8 gMonFrontPic_Vigoroth[] = INCBIN_U8("graphics/pokemon/anim_front_pics/vigoroth_front_pic.4bpp.lz");
const u8 gMonFrontPic_Slaking[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slaking_front_pic.4bpp.lz");
const u8 gMonFrontPic_Gulpin[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gulpin_front_pic.4bpp.lz");
const u8 gMonFrontPic_Swalot[] = INCBIN_U8("graphics/pokemon/anim_front_pics/swalot_front_pic.4bpp.lz");
const u8 gMonFrontPic_Tropius[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tropius_front_pic.4bpp.lz");
const u8 gMonFrontPic_Whismur[] = INCBIN_U8("graphics/pokemon/anim_front_pics/whismur_front_pic.4bpp.lz");
const u8 gMonFrontPic_Loudred[] = INCBIN_U8("graphics/pokemon/anim_front_pics/loudred_front_pic.4bpp.lz");
const u8 gMonFrontPic_Exploud[] = INCBIN_U8("graphics/pokemon/anim_front_pics/exploud_front_pic.4bpp.lz");
const u8 gMonFrontPic_Clamperl[] = INCBIN_U8("graphics/pokemon/anim_front_pics/clamperl_front_pic.4bpp.lz");
const u8 gMonFrontPic_Huntail[] = INCBIN_U8("graphics/pokemon/anim_front_pics/huntail_front_pic.4bpp.lz");
const u8 gMonFrontPic_Gorebyss[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gorebyss_front_pic.4bpp.lz");
const u8 gMonFrontPic_Absol[] = INCBIN_U8("graphics/pokemon/anim_front_pics/absol_front_pic.4bpp.lz");
const u8 gMonFrontPic_Shuppet[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shuppet_front_pic.4bpp.lz");
const u8 gMonFrontPic_Banette[] = INCBIN_U8("graphics/pokemon/anim_front_pics/banette_front_pic.4bpp.lz");
const u8 gMonFrontPic_Seviper[] = INCBIN_U8("graphics/pokemon/anim_front_pics/seviper_front_pic.4bpp.lz");
const u8 gMonFrontPic_Zangoose[] = INCBIN_U8("graphics/pokemon/anim_front_pics/zangoose_front_pic.4bpp.lz");
const u8 gMonFrontPic_Relicanth[] = INCBIN_U8("graphics/pokemon/anim_front_pics/relicanth_front_pic.4bpp.lz");
const u8 gMonFrontPic_Aron[] = INCBIN_U8("graphics/pokemon/anim_front_pics/aron_front_pic.4bpp.lz");
const u8 gMonFrontPic_Lairon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lairon_front_pic.4bpp.lz");
const u8 gMonFrontPic_Aggron[] = INCBIN_U8("graphics/pokemon/anim_front_pics/aggron_front_pic.4bpp.lz");
const u8 gMonFrontPic_Castform[] = INCBIN_U8("graphics/pokemon/anim_front_pics/castform_front_pic.4bpp.lz");
const u8 gMonFrontPic_Volbeat[] = INCBIN_U8("graphics/pokemon/anim_front_pics/volbeat_front_pic.4bpp.lz");
const u8 gMonFrontPic_Illumise[] = INCBIN_U8("graphics/pokemon/anim_front_pics/illumise_front_pic.4bpp.lz");
const u8 gMonFrontPic_Lileep[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lileep_front_pic.4bpp.lz");
const u8 gMonFrontPic_Cradily[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cradily_front_pic.4bpp.lz");
const u8 gMonFrontPic_Anorith[] = INCBIN_U8("graphics/pokemon/anim_front_pics/anorith_front_pic.4bpp.lz");
const u8 gMonFrontPic_Armaldo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/armaldo_front_pic.4bpp.lz");
const u8 gMonFrontPic_Ralts[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ralts_front_pic.4bpp.lz");
const u8 gMonFrontPic_Kirlia[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kirlia_front_pic.4bpp.lz");
const u8 gMonFrontPic_Gardevoir[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gardevoir_front_pic.4bpp.lz");
const u8 gMonFrontPic_Bagon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/bagon_front_pic.4bpp.lz");
const u8 gMonFrontPic_Shelgon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shelgon_front_pic.4bpp.lz");
const u8 gMonFrontPic_Salamence[] = INCBIN_U8("graphics/pokemon/anim_front_pics/salamence_front_pic.4bpp.lz");
const u8 gMonFrontPic_Beldum[] = INCBIN_U8("graphics/pokemon/anim_front_pics/beldum_front_pic.4bpp.lz");
const u8 gMonFrontPic_Metang[] = INCBIN_U8("graphics/pokemon/anim_front_pics/metang_front_pic.4bpp.lz");
const u8 gMonFrontPic_Metagross[] = INCBIN_U8("graphics/pokemon/anim_front_pics/metagross_front_pic.4bpp.lz");
const u8 gMonFrontPic_Regirock[] = INCBIN_U8("graphics/pokemon/anim_front_pics/regirock_front_pic.4bpp.lz");
const u8 gMonFrontPic_Regice[] = INCBIN_U8("graphics/pokemon/anim_front_pics/regice_front_pic.4bpp.lz");
const u8 gMonFrontPic_Registeel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/registeel_front_pic.4bpp.lz");
const u8 gMonFrontPic_Kyogre[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kyogre_front_pic.4bpp.lz");
const u8 gMonFrontPic_Groudon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/groudon_front_pic.4bpp.lz");
const u8 gMonFrontPic_Rayquaza[] = INCBIN_U8("graphics/pokemon/anim_front_pics/rayquaza_front_pic.4bpp.lz");
const u8 gMonFrontPic_Latias[] = INCBIN_U8("graphics/pokemon/anim_front_pics/latias_front_pic.4bpp.lz");
const u8 gMonFrontPic_Latios[] = INCBIN_U8("graphics/pokemon/anim_front_pics/latios_front_pic.4bpp.lz");
const u8 gMonFrontPic_Jirachi[] = INCBIN_U8("graphics/pokemon/anim_front_pics/jirachi_front_pic.4bpp.lz");
const u8 gMonFrontPic_Deoxys[] = INCBIN_U8("graphics/pokemon/anim_front_pics/deoxys_front_pic.4bpp.lz");
const u8 gMonFrontPic_Chimecho[] = INCBIN_U8("graphics/pokemon/anim_front_pics/chimecho_front_pic.4bpp.lz");
const u32 gMonFrontPic_Treecko[] = INCBIN_U32("graphics/pokemon/anim_front_pics/treecko_front_pic.4bpp.lz");
const u32 gMonFrontPic_Grovyle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/grovyle_front_pic.4bpp.lz");
const u32 gMonFrontPic_Sceptile[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sceptile_front_pic.4bpp.lz");
const u32 gMonFrontPic_Torchic[] = INCBIN_U32("graphics/pokemon/anim_front_pics/torchic_front_pic.4bpp.lz");
const u32 gMonFrontPic_Combusken[] = INCBIN_U32("graphics/pokemon/anim_front_pics/combusken_front_pic.4bpp.lz");
const u32 gMonFrontPic_Blaziken[] = INCBIN_U32("graphics/pokemon/anim_front_pics/blaziken_front_pic.4bpp.lz");
const u32 gMonFrontPic_Mudkip[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mudkip_front_pic.4bpp.lz");
const u32 gMonFrontPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/anim_front_pics/marshtomp_front_pic.4bpp.lz");
const u32 gMonFrontPic_Swampert[] = INCBIN_U32("graphics/pokemon/anim_front_pics/swampert_front_pic.4bpp.lz");
const u32 gMonFrontPic_Poochyena[] = INCBIN_U32("graphics/pokemon/anim_front_pics/poochyena_front_pic.4bpp.lz");
const u32 gMonFrontPic_Mightyena[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mightyena_front_pic.4bpp.lz");
const u32 gMonFrontPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/zigzagoon_front_pic.4bpp.lz");
const u32 gMonFrontPic_Linoone[] = INCBIN_U32("graphics/pokemon/anim_front_pics/linoone_front_pic.4bpp.lz");
const u32 gMonFrontPic_Wurmple[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wurmple_front_pic.4bpp.lz");
const u32 gMonFrontPic_Silcoon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/silcoon_front_pic.4bpp.lz");
const u32 gMonFrontPic_Beautifly[] = INCBIN_U32("graphics/pokemon/anim_front_pics/beautifly_front_pic.4bpp.lz");
const u32 gMonFrontPic_Cascoon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cascoon_front_pic.4bpp.lz");
const u32 gMonFrontPic_Dustox[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dustox_front_pic.4bpp.lz");
const u32 gMonFrontPic_Lotad[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lotad_front_pic.4bpp.lz");
const u32 gMonFrontPic_Lombre[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lombre_front_pic.4bpp.lz");
const u32 gMonFrontPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ludicolo_front_pic.4bpp.lz");
const u32 gMonFrontPic_Seedot[] = INCBIN_U32("graphics/pokemon/anim_front_pics/seedot_front_pic.4bpp.lz");
const u32 gMonFrontPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nuzleaf_front_pic.4bpp.lz");
const u32 gMonFrontPic_Shiftry[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shiftry_front_pic.4bpp.lz");
const u32 gMonFrontPic_Nincada[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nincada_front_pic.4bpp.lz");
const u32 gMonFrontPic_Ninjask[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ninjask_front_pic.4bpp.lz");
const u32 gMonFrontPic_Shedinja[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shedinja_front_pic.4bpp.lz");
const u32 gMonFrontPic_Taillow[] = INCBIN_U32("graphics/pokemon/anim_front_pics/taillow_front_pic.4bpp.lz");
const u32 gMonFrontPic_Swellow[] = INCBIN_U32("graphics/pokemon/anim_front_pics/swellow_front_pic.4bpp.lz");
const u32 gMonFrontPic_Shroomish[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shroomish_front_pic.4bpp.lz");
const u32 gMonFrontPic_Breloom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/breloom_front_pic.4bpp.lz");
const u32 gMonFrontPic_Spinda[] = INCBIN_U32("graphics/pokemon/anim_front_pics/spinda_front_pic.4bpp.lz");
const u32 gMonFrontPic_Wingull[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wingull_front_pic.4bpp.lz");
const u32 gMonFrontPic_Pelipper[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pelipper_front_pic.4bpp.lz");
const u32 gMonFrontPic_Surskit[] = INCBIN_U32("graphics/pokemon/anim_front_pics/surskit_front_pic.4bpp.lz");
const u32 gMonFrontPic_Masquerain[] = INCBIN_U32("graphics/pokemon/anim_front_pics/masquerain_front_pic.4bpp.lz");
const u32 gMonFrontPic_Wailmer[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wailmer_front_pic.4bpp.lz");
const u32 gMonFrontPic_Wailord[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wailord_front_pic.4bpp.lz");
const u32 gMonFrontPic_Skitty[] = INCBIN_U32("graphics/pokemon/anim_front_pics/skitty_front_pic.4bpp.lz");
const u32 gMonFrontPic_Delcatty[] = INCBIN_U32("graphics/pokemon/anim_front_pics/delcatty_front_pic.4bpp.lz");
const u32 gMonFrontPic_Kecleon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kecleon_front_pic.4bpp.lz");
const u32 gMonFrontPic_Baltoy[] = INCBIN_U32("graphics/pokemon/anim_front_pics/baltoy_front_pic.4bpp.lz");
const u32 gMonFrontPic_Claydol[] = INCBIN_U32("graphics/pokemon/anim_front_pics/claydol_front_pic.4bpp.lz");
const u32 gMonFrontPic_Nosepass[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nosepass_front_pic.4bpp.lz");
const u32 gMonFrontPic_Torkoal[] = INCBIN_U32("graphics/pokemon/anim_front_pics/torkoal_front_pic.4bpp.lz");
const u32 gMonFrontPic_Sableye[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sableye_front_pic.4bpp.lz");
const u32 gMonFrontPic_Barboach[] = INCBIN_U32("graphics/pokemon/anim_front_pics/barboach_front_pic.4bpp.lz");
const u32 gMonFrontPic_Whiscash[] = INCBIN_U32("graphics/pokemon/anim_front_pics/whiscash_front_pic.4bpp.lz");
const u32 gMonFrontPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/anim_front_pics/luvdisc_front_pic.4bpp.lz");
const u32 gMonFrontPic_Corphish[] = INCBIN_U32("graphics/pokemon/anim_front_pics/corphish_front_pic.4bpp.lz");
const u32 gMonFrontPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/anim_front_pics/crawdaunt_front_pic.4bpp.lz");
const u32 gMonFrontPic_Feebas[] = INCBIN_U32("graphics/pokemon/anim_front_pics/feebas_front_pic.4bpp.lz");
const u32 gMonFrontPic_Milotic[] = INCBIN_U32("graphics/pokemon/anim_front_pics/milotic_front_pic.4bpp.lz");
const u32 gMonFrontPic_Carvanha[] = INCBIN_U32("graphics/pokemon/anim_front_pics/carvanha_front_pic.4bpp.lz");
const u32 gMonFrontPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sharpedo_front_pic.4bpp.lz");
const u32 gMonFrontPic_Trapinch[] = INCBIN_U32("graphics/pokemon/anim_front_pics/trapinch_front_pic.4bpp.lz");
const u32 gMonFrontPic_Vibrava[] = INCBIN_U32("graphics/pokemon/anim_front_pics/vibrava_front_pic.4bpp.lz");
const u32 gMonFrontPic_Flygon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/flygon_front_pic.4bpp.lz");
const u32 gMonFrontPic_Makuhita[] = INCBIN_U32("graphics/pokemon/anim_front_pics/makuhita_front_pic.4bpp.lz");
const u32 gMonFrontPic_Hariyama[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hariyama_front_pic.4bpp.lz");
const u32 gMonFrontPic_Electrike[] = INCBIN_U32("graphics/pokemon/anim_front_pics/electrike_front_pic.4bpp.lz");
const u32 gMonFrontPic_Manectric[] = INCBIN_U32("graphics/pokemon/anim_front_pics/manectric_front_pic.4bpp.lz");
const u32 gMonFrontPic_Numel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/numel_front_pic.4bpp.lz");
const u32 gMonFrontPic_Camerupt[] = INCBIN_U32("graphics/pokemon/anim_front_pics/camerupt_front_pic.4bpp.lz");
const u32 gMonFrontPic_Spheal[] = INCBIN_U32("graphics/pokemon/anim_front_pics/spheal_front_pic.4bpp.lz");
const u32 gMonFrontPic_Sealeo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sealeo_front_pic.4bpp.lz");
const u32 gMonFrontPic_Walrein[] = INCBIN_U32("graphics/pokemon/anim_front_pics/walrein_front_pic.4bpp.lz");
const u32 gMonFrontPic_Cacnea[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cacnea_front_pic.4bpp.lz");
const u32 gMonFrontPic_Cacturne[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cacturne_front_pic.4bpp.lz");
const u32 gMonFrontPic_Snorunt[] = INCBIN_U32("graphics/pokemon/anim_front_pics/snorunt_front_pic.4bpp.lz");
const u32 gMonFrontPic_Glalie[] = INCBIN_U32("graphics/pokemon/anim_front_pics/glalie_front_pic.4bpp.lz");
const u32 gMonFrontPic_Lunatone[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lunatone_front_pic.4bpp.lz");
const u32 gMonFrontPic_Solrock[] = INCBIN_U32("graphics/pokemon/anim_front_pics/solrock_front_pic.4bpp.lz");
const u32 gMonFrontPic_Azurill[] = INCBIN_U32("graphics/pokemon/anim_front_pics/azurill_front_pic.4bpp.lz");
const u32 gMonFrontPic_Spoink[] = INCBIN_U32("graphics/pokemon/anim_front_pics/spoink_front_pic.4bpp.lz");
const u32 gMonFrontPic_Grumpig[] = INCBIN_U32("graphics/pokemon/anim_front_pics/grumpig_front_pic.4bpp.lz");
const u32 gMonFrontPic_Plusle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/plusle_front_pic.4bpp.lz");
const u32 gMonFrontPic_Minun[] = INCBIN_U32("graphics/pokemon/anim_front_pics/minun_front_pic.4bpp.lz");
const u32 gMonFrontPic_Mawile[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mawile_front_pic.4bpp.lz");
const u32 gMonFrontPic_Meditite[] = INCBIN_U32("graphics/pokemon/anim_front_pics/meditite_front_pic.4bpp.lz");
const u32 gMonFrontPic_Medicham[] = INCBIN_U32("graphics/pokemon/anim_front_pics/medicham_front_pic.4bpp.lz");
const u32 gMonFrontPic_Swablu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/swablu_front_pic.4bpp.lz");
const u32 gMonFrontPic_Altaria[] = INCBIN_U32("graphics/pokemon/anim_front_pics/altaria_front_pic.4bpp.lz");
const u32 gMonFrontPic_Wynaut[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wynaut_front_pic.4bpp.lz");
const u32 gMonFrontPic_Duskull[] = INCBIN_U32("graphics/pokemon/anim_front_pics/duskull_front_pic.4bpp.lz");
const u32 gMonFrontPic_Dusclops[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dusclops_front_pic.4bpp.lz");
const u32 gMonFrontPic_Roselia[] = INCBIN_U32("graphics/pokemon/anim_front_pics/roselia_front_pic.4bpp.lz");
const u32 gMonFrontPic_Slakoth[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slakoth_front_pic.4bpp.lz");
const u32 gMonFrontPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/anim_front_pics/vigoroth_front_pic.4bpp.lz");
const u32 gMonFrontPic_Slaking[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slaking_front_pic.4bpp.lz");
const u32 gMonFrontPic_Gulpin[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gulpin_front_pic.4bpp.lz");
const u32 gMonFrontPic_Swalot[] = INCBIN_U32("graphics/pokemon/anim_front_pics/swalot_front_pic.4bpp.lz");
const u32 gMonFrontPic_Tropius[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tropius_front_pic.4bpp.lz");
const u32 gMonFrontPic_Whismur[] = INCBIN_U32("graphics/pokemon/anim_front_pics/whismur_front_pic.4bpp.lz");
const u32 gMonFrontPic_Loudred[] = INCBIN_U32("graphics/pokemon/anim_front_pics/loudred_front_pic.4bpp.lz");
const u32 gMonFrontPic_Exploud[] = INCBIN_U32("graphics/pokemon/anim_front_pics/exploud_front_pic.4bpp.lz");
const u32 gMonFrontPic_Clamperl[] = INCBIN_U32("graphics/pokemon/anim_front_pics/clamperl_front_pic.4bpp.lz");
const u32 gMonFrontPic_Huntail[] = INCBIN_U32("graphics/pokemon/anim_front_pics/huntail_front_pic.4bpp.lz");
const u32 gMonFrontPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gorebyss_front_pic.4bpp.lz");
const u32 gMonFrontPic_Absol[] = INCBIN_U32("graphics/pokemon/anim_front_pics/absol_front_pic.4bpp.lz");
const u32 gMonFrontPic_Shuppet[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shuppet_front_pic.4bpp.lz");
const u32 gMonFrontPic_Banette[] = INCBIN_U32("graphics/pokemon/anim_front_pics/banette_front_pic.4bpp.lz");
const u32 gMonFrontPic_Seviper[] = INCBIN_U32("graphics/pokemon/anim_front_pics/seviper_front_pic.4bpp.lz");
const u32 gMonFrontPic_Zangoose[] = INCBIN_U32("graphics/pokemon/anim_front_pics/zangoose_front_pic.4bpp.lz");
const u32 gMonFrontPic_Relicanth[] = INCBIN_U32("graphics/pokemon/anim_front_pics/relicanth_front_pic.4bpp.lz");
const u32 gMonFrontPic_Aron[] = INCBIN_U32("graphics/pokemon/anim_front_pics/aron_front_pic.4bpp.lz");
const u32 gMonFrontPic_Lairon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lairon_front_pic.4bpp.lz");
const u32 gMonFrontPic_Aggron[] = INCBIN_U32("graphics/pokemon/anim_front_pics/aggron_front_pic.4bpp.lz");
const u32 gMonFrontPic_Castform[] = INCBIN_U32("graphics/pokemon/anim_front_pics/castform_front_pic.4bpp.lz");
const u32 gMonFrontPic_Volbeat[] = INCBIN_U32("graphics/pokemon/anim_front_pics/volbeat_front_pic.4bpp.lz");
const u32 gMonFrontPic_Illumise[] = INCBIN_U32("graphics/pokemon/anim_front_pics/illumise_front_pic.4bpp.lz");
const u32 gMonFrontPic_Lileep[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lileep_front_pic.4bpp.lz");
const u32 gMonFrontPic_Cradily[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cradily_front_pic.4bpp.lz");
const u32 gMonFrontPic_Anorith[] = INCBIN_U32("graphics/pokemon/anim_front_pics/anorith_front_pic.4bpp.lz");
const u32 gMonFrontPic_Armaldo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/armaldo_front_pic.4bpp.lz");
const u32 gMonFrontPic_Ralts[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ralts_front_pic.4bpp.lz");
const u32 gMonFrontPic_Kirlia[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kirlia_front_pic.4bpp.lz");
const u32 gMonFrontPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gardevoir_front_pic.4bpp.lz");
const u32 gMonFrontPic_Bagon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/bagon_front_pic.4bpp.lz");
const u32 gMonFrontPic_Shelgon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shelgon_front_pic.4bpp.lz");
const u32 gMonFrontPic_Salamence[] = INCBIN_U32("graphics/pokemon/anim_front_pics/salamence_front_pic.4bpp.lz");
const u32 gMonFrontPic_Beldum[] = INCBIN_U32("graphics/pokemon/anim_front_pics/beldum_front_pic.4bpp.lz");
const u32 gMonFrontPic_Metang[] = INCBIN_U32("graphics/pokemon/anim_front_pics/metang_front_pic.4bpp.lz");
const u32 gMonFrontPic_Metagross[] = INCBIN_U32("graphics/pokemon/anim_front_pics/metagross_front_pic.4bpp.lz");
const u32 gMonFrontPic_Regirock[] = INCBIN_U32("graphics/pokemon/anim_front_pics/regirock_front_pic.4bpp.lz");
const u32 gMonFrontPic_Regice[] = INCBIN_U32("graphics/pokemon/anim_front_pics/regice_front_pic.4bpp.lz");
const u32 gMonFrontPic_Registeel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/registeel_front_pic.4bpp.lz");
const u32 gMonFrontPic_Kyogre[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kyogre_front_pic.4bpp.lz");
const u32 gMonFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/groudon_front_pic.4bpp.lz");
const u32 gMonFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/anim_front_pics/rayquaza_front_pic.4bpp.lz");
const u32 gMonFrontPic_Latias[] = INCBIN_U32("graphics/pokemon/anim_front_pics/latias_front_pic.4bpp.lz");
const u32 gMonFrontPic_Latios[] = INCBIN_U32("graphics/pokemon/anim_front_pics/latios_front_pic.4bpp.lz");
const u32 gMonFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/anim_front_pics/jirachi_front_pic.4bpp.lz");
const u32 gMonFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/anim_front_pics/deoxys_front_pic.4bpp.lz");
const u32 gMonFrontPic_Chimecho[] = INCBIN_U32("graphics/pokemon/anim_front_pics/chimecho_front_pic.4bpp.lz");
const u8 gMonFrontPic_Egg[] = INCBIN_U8("graphics/pokemon/anim_front_pics/egg_front_pic.4bpp.lz");
const u32 gMonFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/anim_front_pics/egg_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownB[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_b_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownC[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_c_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownD[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_d_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownE[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_e_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownF[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_f_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownG[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_g_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownH[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_h_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownI[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_i_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownJ[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_j_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownK[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_k_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownL[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_l_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownM[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_m_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownN[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_n_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownO[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_o_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownP[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_p_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownQ[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_q_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownR[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_r_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownS[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_s_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownT[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_t_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownU[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_u_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownV[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_v_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownW[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_w_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownX[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_x_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownY[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_y_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownZ[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_z_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_exclamation_mark_front_pic.4bpp.lz");
const u8 gMonFrontPic_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_question_mark_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_b_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_c_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_d_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownE[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_e_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownF[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_f_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownG[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_g_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownH[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_h_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownI[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_i_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownJ[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_j_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownK[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_k_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownL[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_l_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownM[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_m_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownN[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_n_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownO[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_o_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownP[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_p_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownQ[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_q_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownR[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_r_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownS[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_s_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownT[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_t_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownU[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_u_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownV[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_v_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownW[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_w_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownX[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_x_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_y_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_z_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_exclamation_mark_front_pic.4bpp.lz");
const u32 gMonFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_question_mark_front_pic.4bpp.lz");
+70 -65
View File
@@ -340,16 +340,10 @@ extern const u8 gText_082B7185[];
extern const u8 gText_082B71C1[];
extern const u8 gText_082B71F9[];
extern struct Unk030062ECStruct *gUnknown_030062EC;
extern struct Unk030062F0Struct *gUnknown_030062F0;
extern void (*gUnknown_030062F4)(void);
extern void sub_8165AE8(struct Apprentice *);
extern const u8 gUnknown_085DCEDC[];
extern const u8 gUnknown_085DCF0E[];
extern const u8 gUnknown_085DCEFA[];
extern const u8 gUnknown_085DCF2C[];
// IWRAM common
struct Unk030062ECStruct *gUnknown_030062EC;
struct Unk030062F0Struct *gUnknown_030062F0;
void (*gUnknown_030062F4)(void);
// This file's functions.
static u16 sub_819FF98(u8 arg0);
@@ -382,7 +376,7 @@ static void sub_81A1218(void);
static void sub_81A1224(void);
static void sub_81A1438(void);
static void sub_81A150C(void);
static void sub_81A15A4(void);
static void Script_SetPlayerApprenticeTrainerGfxId(void);
static void sub_81A1644(void);
static void sub_81A1370(void);
@@ -395,112 +389,128 @@ const struct ApprenticeTrainer gApprentices[] =
.otId = 0xBDC9,
.facilityClass = 0x43,
.species = {SPECIES_BEAUTIFLY, SPECIES_DUSTOX, SPECIES_ILLUMISE, SPECIES_SHIFTRY, SPECIES_BRELOOM, SPECIES_NINJASK, SPECIES_SHEDINJA, SPECIES_PINSIR, SPECIES_HERACROSS, SPECIES_VOLBEAT},
.rest = {0, 0, 0x1D, 8, 0x3e, 20, 0, 12, 1, 10, 0x30, 6, 0x44, 20},
.id = 0,
.easyChatWords = {0x81D, 0x143E, 0xC00, 0xA01, 0x630, 0x1444},
},
{
.name = {_("ヒロオ"), _("LIONEL"), _("LIONEL"), _("CAIO"), _("LUDWIG"), _("LEO")},
.otId = 0xCF09,
.facilityClass = 0x2B,
.species = {SPECIES_SWELLOW, SPECIES_SWALOT, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_TORKOAL, SPECIES_HARIYAMA, SPECIES_MIGHTYENA, SPECIES_LUDICOLO, SPECIES_CRAWDAUNT, SPECIES_WHISCASH},
.rest = {1, 0, 0x38, 12, 1, 10, 0x30, 6, 6, 10, 0x20, 0x10, 0x13, 0x22},
.id = 1,
.easyChatWords = {0xC38, 0xA01, 0x630, 0xA06, 0x1020, 0x2213},
},
{
.name = {_("ケイジ"), _("SONNY"), _("HERVE"), _("FEDRO"), _("WENZEL"), _("SANTI")},
.otId = 0x2E34,
.facilityClass = 0x26,
.species = {SPECIES_LINOONE, SPECIES_MIGHTYENA, SPECIES_WHISCASH, SPECIES_ZANGOOSE, SPECIES_SEVIPER, SPECIES_NINETALES, SPECIES_KECLEON, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_MACHAMP},
.rest = {2, 0, 1, 10, 10, 0x16, 0x15, 14, 0x30, 6, 0x3b, 12, 0x4, 12},
.id = 2,
.easyChatWords = {0xA01, 0x160A, 0xE15, 0x630, 0xC3B, 0xC04},
},
{
.name = {_("ユラ"), _("LAYLA"), _("LAYLA"), _("ASTRID"), _("SONJA"), _("LOLA")},
.otId = 0x84EF,
.facilityClass = 0x47,
.species = {SPECIES_SWALOT, SPECIES_XATU, SPECIES_ALTARIA, SPECIES_GOLDUCK, SPECIES_FLYGON, SPECIES_ALAKAZAM, SPECIES_GARDEVOIR, SPECIES_WAILORD, SPECIES_GRUMPIG, SPECIES_MIGHTYENA},
.rest = {3, 0, 11, 16, 15, 0x1e, 0x39, 16, 0x21, 0x14, 0x3, 12, 0xff, 0xff},
.id = 3,
.easyChatWords = {0x100B, 0x1E0F, 0x1039, 0x1421, 0xC03, 0xFFFF},
},
{
.name = {_("ヨウカ"), _("MACY"), _("AMELIE"), _("CLEO"), _("MARIA"), _("ELISA")},
.otId = 0x1E43,
.facilityClass = 0x27,
.species = {SPECIES_WIGGLYTUFF, SPECIES_LINOONE, SPECIES_KINGDRA, SPECIES_DELCATTY, SPECIES_RAICHU, SPECIES_FEAROW, SPECIES_STARMIE, SPECIES_MEDICHAM, SPECIES_SHIFTRY, SPECIES_BEAUTIFLY},
.rest = {4, 0, 15, 0x1e, 0x14, 16, 6, 16, 15, 0x28, 0x1c, 0x1c, 0x13, 0x1c},
.id = 4,
.easyChatWords = {0x1E0F, 0x1014, 0x1006, 0x280F, 0x1C1C, 0x1C13},
},
{
.name = {_("ヤスシ"), _("DONTE"), _("BRAHIM"), _("GLAUCO"), _("JOSEF"), _("ROQUE")},
.otId = 0x379F,
.facilityClass = 0x30,
.species = {SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_AGGRON, SPECIES_MAGNETON, SPECIES_MACHAMP, SPECIES_ARMALDO, SPECIES_HERACROSS, SPECIES_NOSEPASS, SPECIES_EXPLOUD, SPECIES_MIGHTYENA},
.rest = {5, 0, 0x29, 0x0A, 0x08, 0x14, 0x2F, 0x10, 0x38, 0x16, 0x20, 0x08, 0x00, 0x0C},
.id = 5,
.easyChatWords = {0xA29, 0x1408, 0x102F, 0x1638, 0x820, 0xC00},
},
{
.name = {_("ミサオ"), _("AMIRA"), _("LAURE"), _("DAFNE"), _("AMELIE"), _("LARA")},
.otId = 0xF555,
.facilityClass = 0x31,
.species = {SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_MAGNETON, SPECIES_MEDICHAM, SPECIES_MIGHTYENA, SPECIES_GLALIE, SPECIES_GOLEM, SPECIES_ELECTRODE, SPECIES_PELIPPER, SPECIES_SHARPEDO},
.rest = {6, 0, 0x0B, 0x0C, 0x3E, 0x12, 0x00, 0x0C, 0x31, 0x0A, 0x30, 0x14, 0x00, 0x0C},
.id = 6,
.easyChatWords = {0xC0B, 0x123E, 0xC00, 0xA31, 0x1430, 0xC00},
},
{
.name = {_("カズサ"), _("KALI"), _("JODIE"), _("ILENIA"), _("KARO"), _("ELSA")},
.otId = 0x8D26,
.facilityClass = 0x14,
.species = {SPECIES_NINETALES, SPECIES_ALAKAZAM, SPECIES_SCEPTILE, SPECIES_SALAMENCE, SPECIES_GOLDUCK, SPECIES_MAWILE, SPECIES_WEEZING, SPECIES_LANTURN, SPECIES_GARDEVOIR, SPECIES_MILOTIC},
.rest = {7, 0, 0x06, 0x0A, 0x20, 0x06, 0x1F, 0x0A, 0x02, 0x0A, 0x03, 0x0C, 0xFF, 0xFF},
.id = 7,
.easyChatWords = {0xA06, 0x620, 0xA1F, 0xA02, 0xC03, 0xFFFF},
},
{
.name = {_("スミレ"), _("ANNIE"), _("ANNIE"), _("IMELDA"), _("INES"), _("ROSA")},
.otId = 0x800C,
.facilityClass = 0xD,
.species = {SPECIES_SCEPTILE, SPECIES_VILEPLUME, SPECIES_BELLOSSOM, SPECIES_ROSELIA, SPECIES_CORSOLA, SPECIES_FLYGON, SPECIES_BRELOOM, SPECIES_MILOTIC, SPECIES_ALTARIA, SPECIES_CRADILY},
.rest = {8, 0, 0x22, 0x1E, 0x33, 0x04, 0x0E, 0x02, 0x02, 0x0A, 0x1E, 0x10, 0x00, 0x0C},
.id = 8,
.easyChatWords = {0x1E22, 0x433, 0x20E, 0xA02, 0x101E, 0xC00},
},
{
.name = {_("アキノリ"), _("DILLEN"), _("RENE"), _("INDRO"), _("DETLEF"), _("PEDRO")},
.otId = 0x469f,
.facilityClass = 0,
.species = {SPECIES_SKARMORY, SPECIES_GOLEM, SPECIES_BLAZIKEN, SPECIES_CAMERUPT, SPECIES_DONPHAN, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_TROPIUS, SPECIES_SOLROCK, SPECIES_RHYDON},
.rest = {9, 0, 0x3D, 0x0A, 0x11, 0x10, 0x1E, 0x0E, 0x1C, 0x20, 0x04, 0x0C, 0xFF, 0xFF},
.id = 9,
.easyChatWords = {0xA3D, 0x1011, 0xE1E, 0x201C, 0xC04, 0xFFFF},
},
{
.name = {_("トウゾウ"), _("DALLAS"), _("BRUNO"), _("LEARCO"), _("ANSGAR"), _("MANOLO")},
.otId = 0x71FC,
.facilityClass = 0x2D,
.species = {SPECIES_SEAKING, SPECIES_STARMIE, SPECIES_GOLDUCK, SPECIES_TENTACRUEL, SPECIES_OCTILLERY, SPECIES_GOREBYSS, SPECIES_GLALIE, SPECIES_WAILORD, SPECIES_SHARPEDO, SPECIES_KINGDRA},
.rest = {10, 0, 0x05, 0x0A, 0x06, 0x06, 0x0E, 0x16, 0x14, 0x0A, 0x00, 0x0C, 0xFF, 0xFF},
.id = 10,
.easyChatWords = {0xA05, 0x606, 0x160E, 0xA14, 0xC00, 0xFFFF},
},
{
.name = {_("セイヤ"), _("FRANK"), _("FRANK"), _("OLINDO"), _("FRANK"), _("MAURO")},
.otId = 0xA39E,
.facilityClass = 0x3A,
.species = {SPECIES_QUAGSIRE, SPECIES_STARMIE, SPECIES_PELIPPER, SPECIES_CRAWDAUNT, SPECIES_WAILORD, SPECIES_GYARADOS, SPECIES_SWAMPERT, SPECIES_LANTURN, SPECIES_WHISCASH, SPECIES_SHUCKLE},
.rest = {11, 0, 0x0E, 0x28, 0x3D, 0x10, 0x0F, 0x24, 0x14, 0x0A, 0x23, 0x1E, 0x24, 0x10},
.id = 11,
.easyChatWords = {0x280E, 0x103D, 0x240F, 0xA14, 0x1E23, 0x1024},
},
{
.name = {_("リュウジ"), _("LAMONT"), _("XAV"), _("ORFEO"), _("JÜRGEN"), _("JORGE")},
.otId = 0xE590,
.facilityClass = 0x19,
.species = {SPECIES_ABSOL, SPECIES_CROBAT, SPECIES_EXPLOUD, SPECIES_MAGNETON, SPECIES_SHARPEDO, SPECIES_MANECTRIC, SPECIES_METAGROSS, SPECIES_ELECTRODE, SPECIES_NOSEPASS, SPECIES_WEEZING},
.rest = {12, 0, 0x20, 0x10, 0x2E, 0x06, 0x0B, 0x10, 0x22, 0x1E, 0x0F, 0x1E, 0x0B, 0x10},
.id = 12,
.easyChatWords = {0x1020, 0x62E, 0x100B, 0x1E22, 0x1E0F, 0x100B},
},
{
.name = {_("カツアキ"), _("TYRESE"), _("ANDY"), _("PARIDE"), _("DAVID"), _("CHICHO")},
.otId = 0xD018,
.facilityClass = 10,
.species = {SPECIES_BLAZIKEN, SPECIES_GOLEM, SPECIES_MACHAMP, SPECIES_RHYDON, SPECIES_HARIYAMA, SPECIES_AGGRON, SPECIES_MEDICHAM, SPECIES_ZANGOOSE, SPECIES_VIGOROTH, SPECIES_SLAKING},
.rest = {13, 0, 0x29, 0x0A, 0x3A, 0x06, 0x15, 0x0E, 0x35, 0x14, 0x34, 0x10, 0x1E, 0x06},
.id = 13,
.easyChatWords = {0xA29, 0x63A, 0xE15, 0x1435, 0x1034, 0x61E},
},
{
.name = {_("トシミツ"), _("DANTE"), _("DANTE"), _("RAOUL"), _("LOTHAR"), _("PABLO")},
.otId = 0xBC75,
.facilityClass = 14,
.species = {SPECIES_SCEPTILE, SPECIES_SANDSLASH, SPECIES_FLYGON, SPECIES_CLAYDOL, SPECIES_ARMALDO, SPECIES_CROBAT, SPECIES_CRADILY, SPECIES_SOLROCK, SPECIES_LUNATONE, SPECIES_GOLEM},
.rest = {14, 0, 0x01, 0x0A, 0x17, 0x10, 0x43, 0x12, 0x22, 0x1E, 0x0B, 0x10, 0x0F, 0x28},
.id = 14,
.easyChatWords = {0xA01, 0x1017, 0x1243, 0x1E22, 0x100B, 0x280F},
},
{
.name = {_("ローウェン"), _("ARTURO"), _("ARTURO"), _("ROMOLO"), _("BRIAN"), _("ARTURO")},
.otId = 0xFA02,
.facilityClass = 0x20,
.species = {SPECIES_ABSOL, SPECIES_MIGHTYENA, SPECIES_ALAKAZAM, SPECIES_BANETTE, SPECIES_NINETALES, SPECIES_CLAYDOL, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_WALREIN, SPECIES_DUSCLOPS},
.rest = {15, 0, 0x0F, 0x1E, 0x04, 0x14, 0x2F, 0x10, 0x06, 0x10, 0x20, 0x10, 0x03, 0x0E},
.id = 15,
.easyChatWords = {0x1E0F, 0x1404, 0x102F, 0x1006, 0x1020, 0xE03},
},
};
@@ -1030,7 +1040,7 @@ static void (* const sApprenticeFunctions[])(void) =
sub_81A1224,
sub_81A1438,
sub_81A150C,
sub_81A15A4,
Script_SetPlayerApprenticeTrainerGfxId,
sub_81A1644,
sub_81A1370,
};
@@ -1092,7 +1102,7 @@ void ResetAllApprenticeData(void)
for (j = 0; j < 4; j++)
gSaveBlock2Ptr->apprentices[i].playerId[j] = 0;
gSaveBlock2Ptr->apprentices[i].language = gGameLanguage;
gSaveBlock2Ptr->apprentices[i].unk40 = 0;
gSaveBlock2Ptr->apprentices[i].checksum = 0;
}
Script_ResetPlayerApprentice();
@@ -1435,16 +1445,16 @@ static void sub_81A0390(u8 arg0)
for (i = 0; i < 3; i++)
{
gSaveBlock2Ptr->apprentices[0].monData[i].species = 0;
gSaveBlock2Ptr->apprentices[0].monData[i].item = 0;
gSaveBlock2Ptr->apprentices[0].party[i].species = 0;
gSaveBlock2Ptr->apprentices[0].party[i].item = 0;
for (j = 0; j < 4; j++)
gSaveBlock2Ptr->apprentices[0].monData[i].moves[j] = 0;
gSaveBlock2Ptr->apprentices[0].party[i].moves[j] = 0;
}
j = PLAYER_APPRENTICE.field_B1_2;
for (i = 0; i < 3; i++)
{
apprenticeMons[j] = &gSaveBlock2Ptr->apprentices[0].monData[i];
apprenticeMons[j] = &gSaveBlock2Ptr->apprentices[0].party[i];
j = (j + 1) % 3;
}
@@ -1570,9 +1580,9 @@ static void Task_ChooseAnswer(u8 taskId)
s16 *data = gTasks[taskId].data;
if (!tWrapAround)
input = Menu_ProcessInputNoWrapAround();
input = Menu_ProcessInputNoWrap();
else
input = ProcessMenuInput();
input = Menu_ProcessInput();
switch (input)
{
@@ -1975,7 +1985,7 @@ static void sub_81A0FFC(void)
StringCopy(stringDst, gText_OpenLevel);
break;
case APPRENTICE_BUFF_EASY_CHAT:
ConvertBattleFrontierTrainerSpeechToString(gSaveBlock2Ptr->apprentices[0].easyChatWords);
FrontierSpeechToString(gSaveBlock2Ptr->apprentices[0].easyChatWords);
StringCopy(stringDst, gStringVar4);
break;
case APPRENTICE_BUFF_SPECIES4:
@@ -2229,7 +2239,7 @@ static void sub_81A1370(void)
r9 = -1;
for (i = 1; i < 4; i++)
{
if (ReadUnalignedWord(gSaveBlock2Ptr->apprentices[i].playerId) == ReadUnalignedWord(gSaveBlock2Ptr->playerTrainerId)
if (GetTrainerId(gSaveBlock2Ptr->apprentices[i].playerId) == GetTrainerId(gSaveBlock2Ptr->playerTrainerId)
&& gSaveBlock2Ptr->apprentices[i].number < r10)
{
r10 = gSaveBlock2Ptr->apprentices[i].number;
@@ -2261,7 +2271,7 @@ static void sub_81A1438(void)
StringCopy(gSaveBlock2Ptr->apprentices[0].playerName, gSaveBlock2Ptr->playerName);
gSaveBlock2Ptr->apprentices[0].language = gGameLanguage;
sub_8165AE8(&gSaveBlock2Ptr->apprentices[0]);
CalcApprenticeChecksum(&gSaveBlock2Ptr->apprentices[0]);
}
static void sub_81A150C(void)
@@ -2270,51 +2280,46 @@ static void sub_81A150C(void)
u8 mapObjectGfxId;
u8 class = gApprentices[gSaveBlock2Ptr->apprentices[0].id].facilityClass;
for (i = 0; i < 30 && gUnknown_085DCEDC[i] != class; i++)
// Search male classes.
for (i = 0; i < ARRAY_COUNT(gTowerMaleFacilityClasses) && gTowerMaleFacilityClasses[i] != class; i++)
;
if (i != 30)
if (i != ARRAY_COUNT(gTowerMaleFacilityClasses))
{
mapObjectGfxId = gUnknown_085DCF0E[i];
mapObjectGfxId = gTowerMaleTrainerGfxIds[i];
VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId);
return;
}
else
{
for (i = 0; i < 20 && gUnknown_085DCEFA[i] != class; i++)
;
if (i != 20)
{
mapObjectGfxId = gUnknown_085DCF2C[i];
VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId);
}
for (i = 0; i < ARRAY_COUNT(gTowerFemaleFacilityClasses) && gTowerFemaleFacilityClasses[i] != class; i++)
;
if (i != ARRAY_COUNT(gTowerFemaleFacilityClasses))
{
mapObjectGfxId = gTowerFemaleTrainerGfxIds[i];
VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId);
}
}
static void sub_81A15A4(void)
static void Script_SetPlayerApprenticeTrainerGfxId(void)
{
u8 i;
u8 mapObjectGfxId;
u8 class = gApprentices[PLAYER_APPRENTICE.id].facilityClass;
for (i = 0; i < 30 && gUnknown_085DCEDC[i] != class; i++)
for (i = 0; i < ARRAY_COUNT(gTowerMaleFacilityClasses) && gTowerMaleFacilityClasses[i] != class; i++)
;
if (i != 30)
if (i != ARRAY_COUNT(gTowerMaleFacilityClasses))
{
mapObjectGfxId = gUnknown_085DCF0E[i];
mapObjectGfxId = gTowerMaleTrainerGfxIds[i];
VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId);
return;
}
else
{
for (i = 0; i < 20 && gUnknown_085DCEFA[i] != class; i++)
;
if (i != 20)
{
mapObjectGfxId = gUnknown_085DCF2C[i];
VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId);
}
for (i = 0; i < ARRAY_COUNT(gTowerFemaleFacilityClasses) && gTowerFemaleFacilityClasses[i] != class; i++)
;
if (i != ARRAY_COUNT(gTowerFemaleFacilityClasses))
{
mapObjectGfxId = gTowerFemaleTrainerGfxIds[i];
VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId);
}
}
+9 -10
View File
@@ -1,17 +1,18 @@
#include "global.h"
#include "battle_ai_script_commands.h"
#include "pokemon.h"
#include "battle.h"
#include "battle_ai_script_commands.h"
#include "battle_factory.h"
#include "battle_setup.h"
#include "recorded_battle.h"
#include "constants/species.h"
#include "constants/abilities.h"
#include "random.h"
#include "item.h"
#include "pokemon.h"
#include "random.h"
#include "recorded_battle.h"
#include "util.h"
#include "constants/abilities.h"
#include "constants/battle_ai.h"
#include "constants/battle_move_effects.h"
#include "constants/moves.h"
#include "util.h"
#include "constants/battle_ai.h"
#include "constants/species.h"
#define AI_ACTION_DONE 0x0001
#define AI_ACTION_FLEE 0x0002
@@ -44,8 +45,6 @@ AI scripts.
extern const u8 *const gBattleAI_ScriptsTable[];
extern u32 GetAiScriptsInBattleFactory();
static u8 ChooseMoveOrAction_Singles(void);
static u8 ChooseMoveOrAction_Doubles(void);
static void RecordLastUsedMoveByTarget(void);
+4 -4
View File
@@ -1,13 +1,13 @@
#include "global.h"
#include "battle.h"
#include "battle_controllers.h"
#include "constants/abilities.h"
#include "constants/moves.h"
#include "pokemon.h"
#include "constants/species.h"
#include "random.h"
#include "util.h"
#include "constants/abilities.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/species.h"
// this file's functions
static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng);
@@ -310,7 +310,7 @@ static bool8 AreStatsRaised(void)
u8 buffedStatsValue = 0;
s32 i;
for (i = 0; i < BATTLE_STATS_NO; i++)
for (i = 0; i < NUM_BATTLE_STATS; i++)
{
if (gBattleMons[gActiveBattler].statStages[i] > 6)
buffedStatsValue += gBattleMons[gActiveBattler].statStages[i] - 6;
+1301 -41
View File
File diff suppressed because it is too large Load Diff
+27 -31
View File
@@ -1,21 +1,21 @@
#include "global.h"
#include "constants/battle_anim.h"
#include "constants/species.h"
#include "battle.h"
#include "battle_anim.h"
#include "bg.h"
#include "contest.h"
#include "data2.h"
#include "decompress.h"
#include "dma3.h"
#include "gpu_regs.h"
#include "malloc.h"
#include "palette.h"
#include "pokemon_icon.h"
#include "sprite.h"
#include "task.h"
#include "trig.h"
#include "util.h"
#include "gpu_regs.h"
#include "bg.h"
#include "malloc.h"
#include "dma3.h"
#include "constants/battle_anim.h"
#include "constants/species.h"
#define GET_UNOWN_LETTER(personality) (( \
(((personality & 0x03000000) >> 24) << 6) \
@@ -36,9 +36,7 @@ extern const union AffineAnimCmd *gUnknown_082FF6C0[];
// This file's functions.
void sub_80A64EC(struct Sprite *sprite);
void sub_80A653C(struct Sprite *sprite);
void InitAnimLinearTranslation(struct Sprite *sprite);
void sub_80A6FB4(struct Sprite *sprite);
void sub_80A6F98(struct Sprite *sprite);
void sub_80A7144(struct Sprite *sprite);
void sub_80A791C(struct Sprite *sprite);
void sub_80A8DFC(struct Sprite *sprite);
@@ -50,8 +48,6 @@ void sub_80A7AFC(u8 taskId);
void sub_80A8CAC(u8 taskId);
void AnimTask_BlendMonInAndOutStep(u8 taskId);
bool8 sub_80A7238(void);
void sub_80A8048(s16 *bottom, s16 *top, const void *ptr);
void *sub_80A8050(s16 bottom, s16 top);
u8 sub_80A82E4(u8 battlerId);
void sub_80A8D78(struct Task *task, u8 taskId);
@@ -159,7 +155,7 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId)
if (shared19348.unk4_0)
species = shared19348.unk2;
else
species = shared19348.unk0;
species = shared19348.species;
}
else
{
@@ -324,7 +320,7 @@ u8 GetBattlerSpriteCoord2(u8 battlerId, u8 attributeId)
if (shared19348.unk4_0)
species = shared19348.unk2;
else
species = shared19348.unk0;
species = shared19348.species;
}
else
{
@@ -532,7 +528,7 @@ void sub_80A6450(struct Sprite *sprite)
// Simply waits until the sprite's data[0] hits zero.
// This is used to let sprite anims or affine anims to run for a designated
// duration.
void sub_80A64B0(struct Sprite *sprite)
void WaitAnimForDuration(struct Sprite *sprite)
{
if (sprite->data[0] > 0)
sprite->data[0]--;
@@ -745,7 +741,7 @@ void sub_80A6864(struct Sprite *sprite, s16 a2)
}
}
void sub_80A68D4(struct Sprite *sprite)
void InitAnimArcTranslation(struct Sprite *sprite)
{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
@@ -791,7 +787,7 @@ void sub_80A6980(struct Sprite *sprite, bool8 a2)
sprite->pos1.y += gBattleAnimArgs[1];
}
void sub_80A69CC(struct Sprite *sprite, u8 a2)
void InitAnimSpritePos(struct Sprite *sprite, u8 a2)
{
if (!a2)
{
@@ -940,18 +936,18 @@ void sub_80A6BFC(struct UnknownAnimStruct2 *unk)
}
}
void sub_80A6C68(u32 arg0)
void sub_80A6C68(u32 bgId)
{
struct UnknownAnimStruct2 unkStruct;
sub_80A6B90(&unkStruct, arg0);
sub_80A6B90(&unkStruct, bgId);
CpuFill32(0, unkStruct.bgTiles, 0x2000);
LoadBgTiles(unkStruct.bgId, unkStruct.bgTiles, 0x2000, unkStruct.tilesOffset);
FillBgTilemapBufferRect(unkStruct.bgId, 0, 0, 0, 0x20, 0x40, 0x11);
CopyBgTilemapBufferToVram(unkStruct.bgId);
}
void sub_80A6CC0(u32 bgId, void *src, u32 tilesOffset)
void sub_80A6CC0(u32 bgId, const void *src, u32 tilesOffset)
{
CpuFill32(0, gUnknown_0202305C, 0x2000);
LZDecompressWram(src, gUnknown_0202305C);
@@ -1004,12 +1000,12 @@ void sub_80A6DEC(struct Sprite *sprite)
{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
sub_80A6E14(sprite);
InitSpriteDataForLinearTranslation(sprite);
sprite->callback = sub_80A65A8;
sprite->callback(sprite);
}
void sub_80A6E14(struct Sprite *sprite)
void InitSpriteDataForLinearTranslation(struct Sprite *sprite)
{
s16 x = (sprite->data[2] - sprite->data[1]) << 8;
s16 y = (sprite->data[4] - sprite->data[3]) << 8;
@@ -1047,7 +1043,7 @@ void InitAnimLinearTranslation(struct Sprite *sprite)
sprite->data[3] = 0;
}
void sub_80A6EEC(struct Sprite *sprite)
void StartAnimLinearTranslation(struct Sprite *sprite)
{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
@@ -1476,7 +1472,7 @@ void sub_80A77C8(struct Sprite *sprite)
else
var = FALSE;
if (!gBattleAnimArgs[2])
sub_80A69CC(sprite, var);
InitAnimSpritePos(sprite, var);
else
sub_80A6980(sprite, var);
sprite->data[0]++;
@@ -1511,27 +1507,27 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
else
attributeId = BATTLER_COORD_Y;
sub_80A69CC(sprite, v1);
InitAnimSpritePos(sprite, v1);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, attributeId) + gBattleAnimArgs[3];
sprite->callback = sub_80A6EEC;
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
void sub_80A78AC(struct Sprite *sprite)
{
sub_80A69CC(sprite, 1);
InitAnimSpritePos(sprite, 1);
if (GetBattlerSide(gBattleAnimAttacker))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
sprite->data[5] = gBattleAnimArgs[5];
sub_80A68D4(sprite);
InitAnimArcTranslation(sprite);
sprite->callback = sub_80A791C;
}
@@ -1558,7 +1554,7 @@ void sub_80A7938(struct Sprite *sprite)
}
if (!gBattleAnimArgs[5])
{
sub_80A69CC(sprite, r4);
InitAnimSpritePos(sprite, r4);
battlerId = gBattleAnimAttacker;
}
else
@@ -1572,7 +1568,7 @@ void sub_80A7938(struct Sprite *sprite)
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
sprite->data[4] = GetBattlerSpriteCoord(battlerId, attributeId) + gBattleAnimArgs[3];
sprite->callback = sub_80A6EEC;
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -1854,7 +1850,7 @@ u16 sub_80A7F18(u8 spriteId)
{
if (IsContest())
{
species = shared19348.unk0;
species = shared19348.species;
return gMonBackPicCoords[species].y_offset;
}
else
@@ -2112,7 +2108,7 @@ s16 sub_80A861C(u8 battlerId, u8 a2)
}
else
{
species = shared19348.unk0;
species = shared19348.species;
personality = shared19348.unk8;
}
if (species == SPECIES_UNOWN)
@@ -2454,6 +2450,6 @@ void sub_80A8EE4(struct Sprite *sprite)
sprite->pos1.x += x;
sprite->pos1.y = gBattleAnimArgs[5] - 80;
}
sprite->callback = sub_80A6EEC;
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
+8 -10
View File
@@ -1,15 +1,15 @@
#include "global.h"
#include "battle.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "constants/rgb.h"
#include "util.h"
#include "decompress.h"
#include "gpu_regs.h"
#include "palette.h"
#include "sprite.h"
#include "task.h"
#include "trig.h"
#include "gpu_regs.h"
#include "util.h"
#include "constants/battle_anim.h"
#include "constants/rgb.h"
extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
@@ -17,8 +17,6 @@ extern const u8 *const gBattleAnims_StatusConditions[];
extern const struct OamData gUnknown_08524904;
extern const struct OamData gUnknown_08524A3C;
extern void sub_8116EB4(u8 taskId);
// This file's functions.
static void sub_80A9DB4(u8 taskId);
static void sub_80A9FD0(u8 taskId);
@@ -56,8 +54,8 @@ static const struct SpriteTemplate gUnknown_0853EF48 =
static const struct SpriteTemplate gUnknown_0853EF60 =
{
.tileTag = ANIM_TAG_136,
.paletteTag = ANIM_TAG_136,
.tileTag = ANIM_TAG_CIRCLE_IMPACT,
.paletteTag = ANIM_TAG_CIRCLE_IMPACT,
.oam = &gUnknown_08524904,
.anims = gDummySpriteAnimTable,
.images = NULL,
@@ -73,8 +71,8 @@ u8 sub_80A9C70(u8 battlerId, bool8 b)
u8 spriteId2;
u8 i;
LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_136)]);
LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_136)]);
LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]);
LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]);
gTasks[taskId].data[0] = battlerId;
if (b)
{
+76 -21
View File
@@ -11,15 +11,15 @@ void AnimTask_ShakeMon2Step(u8 taskId);
void AnimTask_ShakeMonInPlaceStep(u8 taskId);
void AnimTask_ShakeAndSinkMonStep(u8 taskId);
void sub_80D57B8(u8 taskId);
void DoHorizontalLunge(struct Sprite *sprite);
void ReverseHorizontalLungeDirection(struct Sprite *sprite);
void DoVerticalDip(struct Sprite *sprite);
void ReverseVerticalDipDirection(struct Sprite* sprite);
void SlideMonToOriginalPos(struct Sprite *sprite);
void SlideMonToOriginalPosStep(struct Sprite *sprite);
void SlideMonToOffset(struct Sprite *sprite);
void sub_80D5B48(struct Sprite *sprite);
void sub_80D5C20(struct Sprite *sprite);
static void DoHorizontalLunge(struct Sprite *sprite);
static void ReverseHorizontalLungeDirection(struct Sprite *sprite);
static void DoVerticalDip(struct Sprite *sprite);
static void ReverseVerticalDipDirection(struct Sprite* sprite);
static void SlideMonToOriginalPos(struct Sprite *sprite);
static void SlideMonToOriginalPosStep(struct Sprite *sprite);
static void SlideMonToOffset(struct Sprite *sprite);
static void sub_80D5B48(struct Sprite *sprite);
static void sub_80D5C20(struct Sprite *sprite);
void AnimTask_WindUpLungePart1(u8 taskId);
void AnimTask_WindUpLungePart2(u8 taskId);
void AnimTask_SwayMonStep(u8 taskId);
@@ -28,6 +28,61 @@ void sub_80D6308(u8 taskId);
void sub_80D646C(u8 taskId);
void sub_80A8B3C(u8 taskId);
const struct SpriteTemplate gHorizontalLungeSpriteTemplate =
{
.tileTag = 0,
.paletteTag = 0,
.oam = &gDummyOamData,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = DoHorizontalLunge,
};
const struct SpriteTemplate gVerticalDipSpriteTemplate =
{
.tileTag = 0,
.paletteTag = 0,
.oam = &gDummyOamData,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = DoVerticalDip,
};
const struct SpriteTemplate gSlideMonToOriginalPosSpriteTemplate =
{
.tileTag = 0,
.paletteTag = 0,
.oam = &gDummyOamData,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SlideMonToOriginalPos,
};
const struct SpriteTemplate gSlideMonToOffsetSpriteTemplate =
{
.tileTag = 0,
.paletteTag = 0,
.oam = &gDummyOamData,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SlideMonToOffset,
};
const struct SpriteTemplate gUnknown_0857FE88 =
{
.tileTag = 0,
.paletteTag = 0,
.oam = &gDummyOamData,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80D5B48,
};
// Task to facilitate simple shaking of a pokemon's picture in battle.
// The shaking alternates between the original position and the target position.
// arg 0: anim battler
@@ -373,7 +428,7 @@ void AnimTask_TranslateMonEllipticalRespectSide(u8 taskId)
// horizontally, and then moves back in the opposite direction.
// arg 0: duration of single lunge direction
// arg 1: x pixel delta that is applied each frame
void DoHorizontalLunge(struct Sprite *sprite)
static void DoHorizontalLunge(struct Sprite *sprite)
{
sprite->invisible = TRUE;
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
@@ -389,7 +444,7 @@ void DoHorizontalLunge(struct Sprite *sprite)
sprite->callback = sub_80A6630;
}
void ReverseHorizontalLungeDirection(struct Sprite *sprite)
static void ReverseHorizontalLungeDirection(struct Sprite *sprite)
{
sprite->data[0] = sprite->data[4];
sprite->data[1] = -sprite->data[1];
@@ -402,7 +457,7 @@ void ReverseHorizontalLungeDirection(struct Sprite *sprite)
// arg 0: duration of single dip direction
// arg 1: y pixel delta that is applied each frame
// arg 2: battler
void DoVerticalDip(struct Sprite *sprite)
static void DoVerticalDip(struct Sprite *sprite)
{
u8 spriteId;
sprite->invisible = TRUE;
@@ -416,7 +471,7 @@ void DoVerticalDip(struct Sprite *sprite)
sprite->callback = sub_80A6630;
}
void ReverseVerticalDipDirection(struct Sprite *sprite)
static void ReverseVerticalDipDirection(struct Sprite *sprite)
{
sprite->data[0] = sprite->data[4];
sprite->data[2] = -sprite->data[2];
@@ -429,7 +484,7 @@ void ReverseVerticalDipDirection(struct Sprite *sprite)
// arg 0: 1 = target or 0 = attacker
// arg 1: direction (0 = horizontal and vertical, 1 = horizontal only, 2 = vertical only)
// arg 2: duration
void SlideMonToOriginalPos(struct Sprite *sprite)
static void SlideMonToOriginalPos(struct Sprite *sprite)
{
u32 monSpriteId;
if (!gBattleAnimArgs[0])
@@ -442,7 +497,7 @@ void SlideMonToOriginalPos(struct Sprite *sprite)
sprite->data[2] = gSprites[monSpriteId].pos1.x;
sprite->data[3] = gSprites[monSpriteId].pos1.y + gSprites[monSpriteId].pos2.y;
sprite->data[4] = gSprites[monSpriteId].pos1.y;
sub_80A6E14(sprite);
InitSpriteDataForLinearTranslation(sprite);
sprite->data[3] = 0;
sprite->data[4] = 0;
sprite->data[5] = gSprites[monSpriteId].pos2.x;
@@ -459,7 +514,7 @@ void SlideMonToOriginalPos(struct Sprite *sprite)
sprite->callback = SlideMonToOriginalPosStep;
}
void SlideMonToOriginalPosStep(struct Sprite *sprite)
static void SlideMonToOriginalPosStep(struct Sprite *sprite)
{
s8 monSpriteId;
u8 lo;
@@ -496,7 +551,7 @@ void SlideMonToOriginalPosStep(struct Sprite *sprite)
// arg 2: target y pixel offset
// arg 3: mirror vertical translation for opposite battle side
// arg 4: duration
void SlideMonToOffset(struct Sprite *sprite)
static void SlideMonToOffset(struct Sprite *sprite)
{
u8 battler;
u8 monSpriteId;
@@ -520,7 +575,7 @@ void SlideMonToOffset(struct Sprite *sprite)
sprite->data[2] = gSprites[monSpriteId].pos1.x + gBattleAnimArgs[1];
sprite->data[3] = gSprites[monSpriteId].pos1.y;
sprite->data[4] = gSprites[monSpriteId].pos1.y + gBattleAnimArgs[2];
sub_80A6E14(sprite);
InitSpriteDataForLinearTranslation(sprite);
sprite->data[3] = 0;
sprite->data[4] = 0;
sprite->data[5] = monSpriteId;
@@ -529,7 +584,7 @@ void SlideMonToOffset(struct Sprite *sprite)
sprite->callback = sub_80A6680;
}
void sub_80D5B48(struct Sprite *sprite)
static void sub_80D5B48(struct Sprite *sprite)
{
u8 spriteId;
u8 battlerId;
@@ -556,7 +611,7 @@ void sub_80D5B48(struct Sprite *sprite)
sprite->data[2] = sprite->data[1] + gBattleAnimArgs[1];
sprite->data[3] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y;
sprite->data[4] = sprite->data[3] + gBattleAnimArgs[2];
sub_80A6E14(sprite);
InitSpriteDataForLinearTranslation(sprite);
sprite->data[3] = gSprites[spriteId].pos2.x << 8;
sprite->data[4] = gSprites[spriteId].pos2.y << 8;
sprite->data[5] = spriteId;
@@ -573,7 +628,7 @@ void sub_80D5B48(struct Sprite *sprite)
}
void sub_80D5C20(struct Sprite *sprite)
static void sub_80D5C20(struct Sprite *sprite)
{
gSprites[sprite->data[5]].pos2.x = 0;
gSprites[sprite->data[5]].pos2.y = 0;
+13 -13
View File
@@ -1,11 +1,11 @@
#include "global.h"
#include "battle.h"
#include "battle_anim.h"
#include "contest.h"
#include "sound.h"
#include "task.h"
#include "constants/battle_anim.h"
#include "constants/species.h"
#include "battle_anim.h"
#include "task.h"
#include "sound.h"
#include "contest.h"
// this file's functions
static void sub_8158B98(u8 taskId);
@@ -23,8 +23,8 @@ void sub_8158B30(u8 taskId)
gTasks[taskId].data[0] = gBattleAnimArgs[0];
gTasks[taskId].data[1] = gBattleAnimArgs[1];
pan1 = BattleAnimAdjustPanning(PAN_SIDE_PLAYER);
pan2 = BattleAnimAdjustPanning(PAN_SIDE_OPPONENT);
pan1 = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER);
pan2 = BattleAnimAdjustPanning(SOUND_PAN_TARGET);
panIncrement = CalculatePanIncrement(pan1, pan2, 2);
gTasks[taskId].data[2] = pan1;
@@ -64,7 +64,7 @@ static void sub_8158C04(u8 taskId)
s8 pan;
gTasks[taskId].data[10] = 0;
pan = BattleAnimAdjustPanning(PAN_SIDE_OPPONENT);
pan = BattleAnimAdjustPanning(SOUND_PAN_TARGET);
PlaySE12WithPanning(gTasks[taskId].data[1], pan);
if (++gTasks[taskId].data[11] == 2)
DestroyAnimSoundTask(taskId);
@@ -127,11 +127,11 @@ static void sub_8158D08(u8 taskId)
void sub_8158D8C(u8 taskId)
{
u16 species = 0;
s8 pan = BattleAnimAdjustPanning(PAN_SIDE_PLAYER);
s8 pan = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER);
if (IsContest())
{
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
species = gContestResources->field_18->unk0;
species = gContestResources->field_18->species;
else
DestroyAnimVisualTask(taskId); // UB: function should return upon destroying task.
}
@@ -173,11 +173,11 @@ void sub_8158D8C(u8 taskId)
void sub_8158E9C(u8 taskId)
{
u16 species = 0;
s8 pan = BattleAnimAdjustPanning(PAN_SIDE_PLAYER);
s8 pan = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER);
if (IsContest())
{
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
species = gContestResources->field_18->unk0;
species = gContestResources->field_18->species;
else
DestroyAnimVisualTask(taskId); // UB: function should return upon destroying task.
}
@@ -278,10 +278,10 @@ void sub_81590B8(u8 taskId)
s8 pan;
gTasks[taskId].data[10] = gBattleAnimArgs[0];
pan = BattleAnimAdjustPanning(PAN_SIDE_PLAYER);
pan = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER);
if (IsContest())
species = gContestResources->field_18->unk0;
species = gContestResources->field_18->species;
else
species = gAnimBattlerSpecies[gBattleAnimAttacker];
File diff suppressed because it is too large Load Diff
+926
View File
@@ -0,0 +1,926 @@
#include "global.h"
#include "battle.h"
#include "battle_arena.h"
#include "battle_message.h"
#include "battle_setup.h"
#include "battle_tower.h"
#include "bg.h"
#include "decompress.h"
#include "event_data.h"
#include "frontier_util.h"
#include "gpu_regs.h"
#include "item.h"
#include "m4a.h"
#include "overworld.h"
#include "palette.h"
#include "random.h"
#include "sound.h"
#include "string_util.h"
#include "text.h"
#include "util.h"
#include "constants/songs.h"
#include "constants/battle_string_ids.h"
#include "constants/battle_frontier.h"
#include "constants/moves.h"
extern const u32 gUnknown_08D854E8[];
extern const u16 gUnknown_08D855E8[];
// This file's functions.
static void sub_81A58B4(void);
static void sub_81A5964(void);
static void sub_81A59FC(void);
static void sub_81A5AC4(void);
static void sub_81A5B08(void);
static void sub_81A5B88(void);
static void sub_81A5BE0(void);
static void SpriteCb_JudgmentIcon(struct Sprite *sprite);
static void ShowJudgmentSprite(u8 x, u8 y, u8 arg2, u8 battler);
// Const rom data.
static const s8 sMindRatings[] =
{
[MOVE_NONE] = 0,
[MOVE_POUND] = 1,
[MOVE_KARATE_CHOP] = 1,
[MOVE_DOUBLE_SLAP] = 1,
[MOVE_COMET_PUNCH] = 1,
[MOVE_MEGA_PUNCH] = 1,
[MOVE_PAY_DAY] = 1,
[MOVE_FIRE_PUNCH] = 1,
[MOVE_ICE_PUNCH] = 1,
[MOVE_THUNDER_PUNCH] = 1,
[MOVE_SCRATCH] = 1,
[MOVE_VICE_GRIP] = 1,
[MOVE_GUILLOTINE] = 1,
[MOVE_RAZOR_WIND] = 1,
[MOVE_SWORDS_DANCE] = 0,
[MOVE_CUT] = 1,
[MOVE_GUST] = 1,
[MOVE_WING_ATTACK] = 1,
[MOVE_WHIRLWIND] = 0,
[MOVE_FLY] = 1,
[MOVE_BIND] = 1,
[MOVE_SLAM] = 1,
[MOVE_VINE_WHIP] = 1,
[MOVE_STOMP] = 1,
[MOVE_DOUBLE_KICK] = 1,
[MOVE_MEGA_KICK] = 1,
[MOVE_JUMP_KICK] = 1,
[MOVE_ROLLING_KICK] = 1,
[MOVE_SAND_ATTACK] = 0,
[MOVE_HEADBUTT] = 1,
[MOVE_HORN_ATTACK] = 1,
[MOVE_FURY_ATTACK] = 1,
[MOVE_HORN_DRILL] = 1,
[MOVE_TACKLE] = 1,
[MOVE_BODY_SLAM] = 1,
[MOVE_WRAP] = 1,
[MOVE_TAKE_DOWN] = 1,
[MOVE_THRASH] = 1,
[MOVE_DOUBLE_EDGE] = 1,
[MOVE_TAIL_WHIP] = 0,
[MOVE_POISON_STING] = 1,
[MOVE_TWINEEDLE] = 1,
[MOVE_PIN_MISSILE] = 1,
[MOVE_LEER] = 0,
[MOVE_BITE] = 1,
[MOVE_GROWL] = 0,
[MOVE_ROAR] = 0,
[MOVE_SING] = 0,
[MOVE_SUPERSONIC] = 0,
[MOVE_SONIC_BOOM] = 1,
[MOVE_DISABLE] = 0,
[MOVE_ACID] = 1,
[MOVE_EMBER] = 1,
[MOVE_FLAMETHROWER] = 1,
[MOVE_MIST] = 0,
[MOVE_WATER_GUN] = 1,
[MOVE_HYDRO_PUMP] = 1,
[MOVE_SURF] = 1,
[MOVE_ICE_BEAM] = 1,
[MOVE_BLIZZARD] = 1,
[MOVE_PSYBEAM] = 1,
[MOVE_BUBBLE_BEAM] = 1,
[MOVE_AURORA_BEAM] = 1,
[MOVE_HYPER_BEAM] = 1,
[MOVE_PECK] = 1,
[MOVE_DRILL_PECK] = 1,
[MOVE_SUBMISSION] = 1,
[MOVE_LOW_KICK] = 1,
[MOVE_COUNTER] = 0,
[MOVE_SEISMIC_TOSS] = 1,
[MOVE_STRENGTH] = 1,
[MOVE_ABSORB] = 1,
[MOVE_MEGA_DRAIN] = 1,
[MOVE_LEECH_SEED] = 0,
[MOVE_GROWTH] = 0,
[MOVE_RAZOR_LEAF] = 1,
[MOVE_SOLAR_BEAM] = 1,
[MOVE_POISON_POWDER] = 0,
[MOVE_STUN_SPORE] = 0,
[MOVE_SLEEP_POWDER] = 0,
[MOVE_PETAL_DANCE] = 1,
[MOVE_STRING_SHOT] = 0,
[MOVE_DRAGON_RAGE] = 1,
[MOVE_FIRE_SPIN] = 1,
[MOVE_THUNDER_SHOCK] = 1,
[MOVE_THUNDERBOLT] = 1,
[MOVE_THUNDER_WAVE] = 0,
[MOVE_THUNDER] = 1,
[MOVE_ROCK_THROW] = 1,
[MOVE_EARTHQUAKE] = 1,
[MOVE_FISSURE] = 1,
[MOVE_DIG] = 1,
[MOVE_TOXIC] = 0,
[MOVE_CONFUSION] = 1,
[MOVE_PSYCHIC] = 1,
[MOVE_HYPNOSIS] = 0,
[MOVE_MEDITATE] = 0,
[MOVE_AGILITY] = 0,
[MOVE_QUICK_ATTACK] = 1,
[MOVE_RAGE] = 1,
[MOVE_TELEPORT] = 0,
[MOVE_NIGHT_SHADE] = 1,
[MOVE_MIMIC] = 0,
[MOVE_SCREECH] = 0,
[MOVE_DOUBLE_TEAM] = 0,
[MOVE_RECOVER] = 0,
[MOVE_HARDEN] = 0,
[MOVE_MINIMIZE] = 0,
[MOVE_SMOKESCREEN] = 0,
[MOVE_CONFUSE_RAY] = 0,
[MOVE_WITHDRAW] = 0,
[MOVE_DEFENSE_CURL] = 0,
[MOVE_BARRIER] = 0,
[MOVE_LIGHT_SCREEN] = 0,
[MOVE_HAZE] = 0,
[MOVE_REFLECT] = 0,
[MOVE_FOCUS_ENERGY] = 0,
[MOVE_BIDE] = 0,
[MOVE_METRONOME] = 0,
[MOVE_MIRROR_MOVE] = 0,
[MOVE_SELF_DESTRUCT] = 1,
[MOVE_EGG_BOMB] = 1,
[MOVE_LICK] = 1,
[MOVE_SMOG] = 1,
[MOVE_SLUDGE] = 1,
[MOVE_BONE_CLUB] = 1,
[MOVE_FIRE_BLAST] = 1,
[MOVE_WATERFALL] = 1,
[MOVE_CLAMP] = 1,
[MOVE_SWIFT] = 1,
[MOVE_SKULL_BASH] = 1,
[MOVE_SPIKE_CANNON] = 1,
[MOVE_CONSTRICT] = 1,
[MOVE_AMNESIA] = 0,
[MOVE_KINESIS] = 0,
[MOVE_SOFT_BOILED] = 0,
[MOVE_HI_JUMP_KICK] = 1,
[MOVE_GLARE] = 0,
[MOVE_DREAM_EATER] = 1,
[MOVE_POISON_GAS] = 0,
[MOVE_BARRAGE] = 1,
[MOVE_LEECH_LIFE] = 1,
[MOVE_LOVELY_KISS] = 0,
[MOVE_SKY_ATTACK] = 1,
[MOVE_TRANSFORM] = 0,
[MOVE_BUBBLE] = 1,
[MOVE_DIZZY_PUNCH] = 1,
[MOVE_SPORE] = 0,
[MOVE_FLASH] = 0,
[MOVE_PSYWAVE] = 1,
[MOVE_SPLASH] = 0,
[MOVE_ACID_ARMOR] = 0,
[MOVE_CRABHAMMER] = 1,
[MOVE_EXPLOSION] = 1,
[MOVE_FURY_SWIPES] = 1,
[MOVE_BONEMERANG] = 1,
[MOVE_REST] = 0,
[MOVE_ROCK_SLIDE] = 1,
[MOVE_HYPER_FANG] = 1,
[MOVE_SHARPEN] = 0,
[MOVE_CONVERSION] = 0,
[MOVE_TRI_ATTACK] = 1,
[MOVE_SUPER_FANG] = 1,
[MOVE_SLASH] = 1,
[MOVE_SUBSTITUTE] = 0,
[MOVE_STRUGGLE] = 1,
[MOVE_SKETCH] = 0,
[MOVE_TRIPLE_KICK] = 1,
[MOVE_THIEF] = 1,
[MOVE_SPIDER_WEB] = 0,
[MOVE_MIND_READER] = 0,
[MOVE_NIGHTMARE] = 0,
[MOVE_FLAME_WHEEL] = 1,
[MOVE_SNORE] = 1,
[MOVE_CURSE] = 0,
[MOVE_FLAIL] = 1,
[MOVE_CONVERSION_2] = 0,
[MOVE_AEROBLAST] = 1,
[MOVE_COTTON_SPORE] = 0,
[MOVE_REVERSAL] = 1,
[MOVE_SPITE] = 0,
[MOVE_POWDER_SNOW] = 1,
[MOVE_PROTECT] = -1,
[MOVE_MACH_PUNCH] = 1,
[MOVE_SCARY_FACE] = 0,
[MOVE_FAINT_ATTACK] = 1,
[MOVE_SWEET_KISS] = 0,
[MOVE_BELLY_DRUM] = 0,
[MOVE_SLUDGE_BOMB] = 1,
[MOVE_MUD_SLAP] = 1,
[MOVE_OCTAZOOKA] = 1,
[MOVE_SPIKES] = 0,
[MOVE_ZAP_CANNON] = 1,
[MOVE_FORESIGHT] = 0,
[MOVE_DESTINY_BOND] = 0,
[MOVE_PERISH_SONG] = 0,
[MOVE_ICY_WIND] = 1,
[MOVE_DETECT] = -1,
[MOVE_BONE_RUSH] = 1,
[MOVE_LOCK_ON] = 0,
[MOVE_OUTRAGE] = 1,
[MOVE_SANDSTORM] = 0,
[MOVE_GIGA_DRAIN] = 1,
[MOVE_ENDURE] = -1,
[MOVE_CHARM] = 0,
[MOVE_ROLLOUT] = 1,
[MOVE_FALSE_SWIPE] = 1,
[MOVE_SWAGGER] = 0,
[MOVE_MILK_DRINK] = 0,
[MOVE_SPARK] = 1,
[MOVE_FURY_CUTTER] = 1,
[MOVE_STEEL_WING] = 1,
[MOVE_MEAN_LOOK] = 0,
[MOVE_ATTRACT] = 0,
[MOVE_SLEEP_TALK] = 0,
[MOVE_HEAL_BELL] = 0,
[MOVE_RETURN] = 1,
[MOVE_PRESENT] = 1,
[MOVE_FRUSTRATION] = 1,
[MOVE_SAFEGUARD] = 0,
[MOVE_PAIN_SPLIT] = 0,
[MOVE_SACRED_FIRE] = 1,
[MOVE_MAGNITUDE] = 1,
[MOVE_DYNAMIC_PUNCH] = 1,
[MOVE_MEGAHORN] = 1,
[MOVE_DRAGON_BREATH] = 1,
[MOVE_BATON_PASS] = 0,
[MOVE_ENCORE] = 0,
[MOVE_PURSUIT] = 1,
[MOVE_RAPID_SPIN] = 1,
[MOVE_SWEET_SCENT] = 0,
[MOVE_IRON_TAIL] = 1,
[MOVE_METAL_CLAW] = 1,
[MOVE_VITAL_THROW] = 1,
[MOVE_MORNING_SUN] = 0,
[MOVE_SYNTHESIS] = 0,
[MOVE_MOONLIGHT] = 0,
[MOVE_HIDDEN_POWER] = 1,
[MOVE_CROSS_CHOP] = 1,
[MOVE_TWISTER] = 1,
[MOVE_RAIN_DANCE] = 0,
[MOVE_SUNNY_DAY] = 0,
[MOVE_CRUNCH] = 1,
[MOVE_MIRROR_COAT] = 0,
[MOVE_PSYCH_UP] = 0,
[MOVE_EXTREME_SPEED] = 1,
[MOVE_ANCIENT_POWER] = 1,
[MOVE_SHADOW_BALL] = 1,
[MOVE_FUTURE_SIGHT] = 1,
[MOVE_ROCK_SMASH] = 1,
[MOVE_WHIRLPOOL] = 1,
[MOVE_BEAT_UP] = 1,
[MOVE_FAKE_OUT] = -1,
[MOVE_UPROAR] = 1,
[MOVE_STOCKPILE] = 0,
[MOVE_SPIT_UP] = 1,
[MOVE_SWALLOW] = 0,
[MOVE_HEAT_WAVE] = 1,
[MOVE_HAIL] = 0,
[MOVE_TORMENT] = 0,
[MOVE_FLATTER] = 0,
[MOVE_WILL_O_WISP] = 0,
[MOVE_MEMENTO] = 0,
[MOVE_FACADE] = 1,
[MOVE_FOCUS_PUNCH] = 1,
[MOVE_SMELLING_SALT] = 1,
[MOVE_FOLLOW_ME] = 0,
[MOVE_NATURE_POWER] = 0,
[MOVE_CHARGE] = 0,
[MOVE_TAUNT] = 0,
[MOVE_HELPING_HAND] = 0,
[MOVE_TRICK] = 0,
[MOVE_ROLE_PLAY] = 0,
[MOVE_WISH] = 0,
[MOVE_ASSIST] = 0,
[MOVE_INGRAIN] = 0,
[MOVE_SUPERPOWER] = 1,
[MOVE_MAGIC_COAT] = 0,
[MOVE_RECYCLE] = 0,
[MOVE_REVENGE] = 1,
[MOVE_BRICK_BREAK] = 1,
[MOVE_YAWN] = 0,
[MOVE_KNOCK_OFF] = 1,
[MOVE_ENDEAVOR] = 1,
[MOVE_ERUPTION] = 1,
[MOVE_SKILL_SWAP] = 0,
[MOVE_IMPRISON] = 0,
[MOVE_REFRESH] = 0,
[MOVE_GRUDGE] = 0,
[MOVE_SNATCH] = 0,
[MOVE_SECRET_POWER] = 1,
[MOVE_DIVE] = 1,
[MOVE_ARM_THRUST] = 1,
[MOVE_CAMOUFLAGE] = 0,
[MOVE_TAIL_GLOW] = 0,
[MOVE_LUSTER_PURGE] = 1,
[MOVE_MIST_BALL] = 1,
[MOVE_FEATHER_DANCE] = 0,
[MOVE_TEETER_DANCE] = 0,
[MOVE_BLAZE_KICK] = 1,
[MOVE_MUD_SPORT] = 0,
[MOVE_ICE_BALL] = 1,
[MOVE_NEEDLE_ARM] = 1,
[MOVE_SLACK_OFF] = 0,
[MOVE_HYPER_VOICE] = 1,
[MOVE_POISON_FANG] = 1,
[MOVE_CRUSH_CLAW] = 1,
[MOVE_BLAST_BURN] = 1,
[MOVE_HYDRO_CANNON] = 1,
[MOVE_METEOR_MASH] = 1,
[MOVE_ASTONISH] = 1,
[MOVE_WEATHER_BALL] = 1,
[MOVE_AROMATHERAPY] = 0,
[MOVE_FAKE_TEARS] = 0,
[MOVE_AIR_CUTTER] = 1,
[MOVE_OVERHEAT] = 1,
[MOVE_ODOR_SLEUTH] = 0,
[MOVE_ROCK_TOMB] = 1,
[MOVE_SILVER_WIND] = 1,
[MOVE_METAL_SOUND] = 0,
[MOVE_GRASS_WHISTLE] = 0,
[MOVE_TICKLE] = 0,
[MOVE_COSMIC_POWER] = 0,
[MOVE_WATER_SPOUT] = 1,
[MOVE_SIGNAL_BEAM] = 1,
[MOVE_SHADOW_PUNCH] = 1,
[MOVE_EXTRASENSORY] = 1,
[MOVE_SKY_UPPERCUT] = 1,
[MOVE_SAND_TOMB] = 1,
[MOVE_SHEER_COLD] = 1,
[MOVE_MUDDY_WATER] = 1,
[MOVE_BULLET_SEED] = 1,
[MOVE_AERIAL_ACE] = 1,
[MOVE_ICICLE_SPEAR] = 1,
[MOVE_IRON_DEFENSE] = 0,
[MOVE_BLOCK] = 0,
[MOVE_HOWL] = 0,
[MOVE_DRAGON_CLAW] = 1,
[MOVE_FRENZY_PLANT] = 1,
[MOVE_BULK_UP] = 0,
[MOVE_BOUNCE] = 1,
[MOVE_MUD_SHOT] = 1,
[MOVE_POISON_TAIL] = 1,
[MOVE_COVET] = 1,
[MOVE_VOLT_TACKLE] = 1,
[MOVE_MAGICAL_LEAF] = 1,
[MOVE_WATER_SPORT] = 0,
[MOVE_CALM_MIND] = 0,
[MOVE_LEAF_BLADE] = 1,
[MOVE_DRAGON_DANCE] = 0,
[MOVE_ROCK_BLAST] = 1,
[MOVE_SHOCK_WAVE] = 1,
[MOVE_WATER_PULSE] = 1,
[MOVE_DOOM_DESIRE] = 1,
[MOVE_PSYCHO_BOOST] = 1,
};
static const struct OamData sOamData_8611F24 =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 1,
.tileNum = 0,
.priority = 0,
.paletteNum = 15,
.affineParam = 0
};
static const union AnimCmd sSpriteAnim_8611F2C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_8611F34[] =
{
ANIMCMD_FRAME(4, 1),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_8611F3C[] =
{
ANIMCMD_FRAME(8, 1),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_8611F44[] =
{
ANIMCMD_FRAME(12, 1),
ANIMCMD_END
};
static const union AnimCmd *const sSpriteAnimTable_8611F4C[] =
{
sSpriteAnim_8611F2C,
sSpriteAnim_8611F34,
sSpriteAnim_8611F3C,
sSpriteAnim_8611F44
};
static const struct SpriteTemplate sSpriteTemplate_JudgmentIcon =
{
.tileTag = 0x3E8,
.paletteTag = 0xFFFF,
.oam = &sOamData_8611F24,
.anims = sSpriteAnimTable_8611F4C,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCb_JudgmentIcon,
};
static const struct CompressedSpriteSheet gUnknown_08611F74[] =
{
{gUnknown_08D854E8, 0x200, 0x3E8},
{0}
};
static void (* const sArenaFunctions[])(void) =
{
sub_81A58B4,
sub_81A5964,
sub_81A59FC,
sub_81A5AC4,
sub_81A5B08,
sub_81A5B88,
sub_81A5BE0,
};
static const u16 gUnknown_08611FA0[6] =
{
0x003f, 0x0040, 0x0041, 0x0043, 0x0042, 0x0046
};
static const u16 gUnknown_08611FAC[9] =
{
0x00b3, 0x00b4, 0x00b7, 0x00c8, 0x00b9, 0x00bb, 0x00c4, 0x00c6, 0x00ba
};
// code
void CallBattleArenaFunction(void)
{
sArenaFunctions[gSpecialVar_0x8004]();
}
u8 BattleArena_ShowJudgmentWindow(u8 *state)
{
s32 i;
u8 ret = 0;
switch (*state)
{
case 0:
BeginNormalPaletteFade(0x7FFFFF1C, 4, 0, 8, 0);
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
LoadCompressedObjectPic(gUnknown_08611F74);
LoadCompressedPalette(gUnknown_08D855E8, 0x1F0, 0x20);
gBattle_WIN0H = 0xFF;
gBattle_WIN0V = 0x70;
(*state)++;
break;
case 1:
if (!gPaletteFade.active)
{
HandleBattleWindow(5, 0, 24, 13, 0);
(*state)++;
}
break;
case 2:
if (!IsDma3ManagerBusyWithBgCopy())
{
gBattleTextBuff1[0] = CHAR_0;
gBattleTextBuff1[1] = EOS;
gBattleTextBuff2[0] = CHAR_0;
gBattleTextBuff2[1] = EOS;
BattleStringExpandPlaceholdersToDisplayedString(gText_PlayerMon1Name);
BattlePutTextOnWindow(gDisplayedStringBattle, 15);
BattlePutTextOnWindow(gText_Vs, 16);
BattleStringExpandPlaceholdersToDisplayedString(gText_OpponentMon1Name);
BattlePutTextOnWindow(gDisplayedStringBattle, 17);
BattlePutTextOnWindow(gText_Mind, 18);
BattlePutTextOnWindow(gText_Skill, 19);
BattlePutTextOnWindow(gText_Body, 20);
BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
BattlePutTextOnWindow(gDisplayedStringBattle, 21);
(*state)++;
}
break;
case 3:
if (!IsDma3ManagerBusyWithBgCopy())
{
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
for (i = 0; i < 8; i++)
{
u8 spriteId = CreateSprite(&sSpriteTemplate_JudgmentIcon, 0x40 + (i * 0x10), 84, 0);
StartSpriteAnim(&gSprites[spriteId], 3);
}
ret = 1;
(*state)++;
}
break;
case 4:
PlaySE(SE_HANTEI1);
ShowJudgmentSprite(80, 40, 0, 0);
ShowJudgmentSprite(160, 40, 0, 1);
BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
BattlePutTextOnWindow(gDisplayedStringBattle, 21);
(*state)++;
ret = 1;
break;
case 5:
PlaySE(SE_HANTEI1);
ShowJudgmentSprite(80, 56, 1, 0);
ShowJudgmentSprite(160, 56, 1, 1);
BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
BattlePutTextOnWindow(gDisplayedStringBattle, 21);
(*state)++;
ret = 1;
break;
case 6:
PlaySE(SE_HANTEI1);
ShowJudgmentSprite(80, 72, 2, 0);
ShowJudgmentSprite(160, 72, 2, 1);
BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
BattlePutTextOnWindow(gDisplayedStringBattle, 21);
(*state)++;
ret = 1;
break;
case 7:
PlaySE(SE_HANTEI2);
if (gBattleTextBuff1[0] > gBattleTextBuff2[0])
{
ret = 2;
gBattleScripting.battler = 0;
}
else if (gBattleTextBuff1[0] < gBattleTextBuff2[0])
{
ret = 3;
gBattleScripting.battler = 1;
}
else
{
ret = 4;
}
(*state)++;
break;
case 8:
(*state)++;
break;
case 9:
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
HandleBattleWindow(5, 0, 24, 13, WINDOW_CLEAR);
CopyBgTilemapBufferToVram(0);
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 256);
BeginNormalPaletteFade(0x7FFFFF1C, 4, 8, 0, 0);
(*state)++;
break;
case 10:
if (!gPaletteFade.active)
{
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
FreeSpriteTilesByTag(0x3E8);
ret = 1;
(*state)++;
}
break;
}
return ret;
}
static void ShowJudgmentSprite(u8 x, u8 y, u8 category, u8 battler)
{
s32 animNum = 0;
s32 pointsPlayer = 0;
s32 pointsOpponent = 0;
s8 *mindPoints = gBattleStruct->arenaMindPoints;
s8 *skillPoints = gBattleStruct->arenaSkillPoints;
u16 *hpAtStart = gBattleStruct->arenaStartHp;
switch (category)
{
case 0:
pointsPlayer = mindPoints[battler];
pointsOpponent = mindPoints[BATTLE_OPPOSITE(battler)];
break;
case 1:
pointsPlayer = skillPoints[battler];
pointsOpponent = skillPoints[BATTLE_OPPOSITE(battler)];
break;
case 2:
pointsPlayer = (gBattleMons[battler].hp * 100) / hpAtStart[battler];
pointsOpponent = (gBattleMons[BATTLE_OPPOSITE(battler)].hp * 100) / hpAtStart[BATTLE_OPPOSITE(battler)];
break;
}
if (pointsPlayer > pointsOpponent)
{
animNum = 2;
if (battler != 0)
gBattleTextBuff2[0] += 2;
else
gBattleTextBuff1[0] += 2;
}
else if (pointsPlayer == pointsOpponent)
{
animNum = 1;
if (battler != 0)
gBattleTextBuff2[0] += 1;
else
gBattleTextBuff1[0] += 1;
}
else
{
animNum = 0;
}
pointsPlayer = CreateSprite(&sSpriteTemplate_JudgmentIcon, x, y, 0);
StartSpriteAnim(&gSprites[pointsPlayer], animNum);
}
static void SpriteCb_JudgmentIcon(struct Sprite *sprite)
{
if (gBattleCommunication[0] > 8)
DestroySprite(sprite);
}
void BattleArena_InitPoints(void)
{
s8 *mindPoints = gBattleStruct->arenaMindPoints;
s8 *skillPoints = gBattleStruct->arenaSkillPoints;
u16 *hpAtStart = gBattleStruct->arenaStartHp;
mindPoints[0] = 0;
mindPoints[1] = 0;
skillPoints[0] = 0;
skillPoints[1] = 0;
hpAtStart[0] = gBattleMons[0].hp;
hpAtStart[1] = gBattleMons[1].hp;
}
void BattleArena_AddMindPoints(u8 battler)
{
s8 *mindPoints = gBattleStruct->arenaMindPoints;
mindPoints[battler] += sMindRatings[gCurrentMove];
}
void BattleArena_AddSkillPoints(u8 battler)
{
s8 *skillPoints = gBattleStruct->arenaSkillPoints;
if (gHitMarker & HITMARKER_OBEYS)
{
u8 *failedMoveBits = &gBattleStruct->alreadyStatusedMoveAttempt;
if (*failedMoveBits & gBitTable[battler])
{
*failedMoveBits &= ~(gBitTable[battler]);
skillPoints[battler] -= 2;
}
else if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
{
if (!(gMoveResultFlags & MOVE_RESULT_MISSED) || gBattleCommunication[6] != 1)
skillPoints[battler] -= 2;
}
else if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE && gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE)
{
skillPoints[battler] += 1;
}
else if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE)
{
skillPoints[battler] += 2;
}
else if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE)
{
skillPoints[battler] -= 1;
}
else if (!gProtectStructs[battler].protected)
{
skillPoints[battler] += 1;
}
}
}
void BattleArena_DeductMindPoints(u8 battler, u16 stringId)
{
s8 *skillPoints = gBattleStruct->arenaSkillPoints;
switch (stringId)
{
case STRINGID_PKMNSXMADEYUSELESS:
case STRINGID_PKMNSXMADEITINEFFECTIVE:
case STRINGID_PKMNSXPREVENTSFLINCHING:
case STRINGID_PKMNSXBLOCKSY2:
case STRINGID_PKMNSXPREVENTSYLOSS:
case STRINGID_PKMNSXMADEYINEFFECTIVE:
case STRINGID_PKMNSXPREVENTSBURNS:
case STRINGID_PKMNSXBLOCKSY:
case STRINGID_PKMNPROTECTEDBY:
case STRINGID_PKMNPREVENTSUSAGE:
case STRINGID_PKMNRESTOREDHPUSING:
case STRINGID_PKMNPREVENTSPARALYSISWITH:
case STRINGID_PKMNPREVENTSROMANCEWITH:
case STRINGID_PKMNPREVENTSPOISONINGWITH:
case STRINGID_PKMNPREVENTSCONFUSIONWITH:
case STRINGID_PKMNRAISEDFIREPOWERWITH:
case STRINGID_PKMNANCHORSITSELFWITH:
case STRINGID_PKMNPREVENTSSTATLOSSWITH:
case STRINGID_PKMNSTAYEDAWAKEUSING:
skillPoints[battler] -= 3;
break;
}
}
void sub_81A586C(u8 battler) // Unused.
{
u16 *hpAtStart = gBattleStruct->arenaStartHp;
hpAtStart[battler] = gBattleMons[battler].hp;
if (hpAtStart[BATTLE_OPPOSITE(battler)] > gBattleMons[BATTLE_OPPOSITE(battler)].hp)
hpAtStart[BATTLE_OPPOSITE(battler)] = gBattleMons[BATTLE_OPPOSITE(battler)].hp;
}
static void sub_81A58B4(void)
{
bool32 isCurrent;
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
gSaveBlock2Ptr->frontier.field_CA8 = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
gSaveBlock2Ptr->frontier.field_CA9_b = 0;
if (lvlMode != FRONTIER_LVL_50)
isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x80;
else
isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x40;
if (!isCurrent)
gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = 0;
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
gTrainerBattleOpponent_A = 0;
}
static void sub_81A5964(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
switch (gSpecialVar_0x8005)
{
case 0:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DD8;
break;
case 1:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode];
break;
case 2:
if (lvlMode != FRONTIER_LVL_50)
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x80;
else
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x40;
break;
}
}
static void sub_81A59FC(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
switch (gSpecialVar_0x8005)
{
case 0:
gSaveBlock2Ptr->frontier.field_DD8 = gSpecialVar_0x8006;
break;
case 1:
gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = gSpecialVar_0x8006;
break;
case 2:
if (lvlMode != FRONTIER_LVL_50)
{
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= 0x80;
else
gSaveBlock2Ptr->frontier.field_CDC &= ~(0x80);
}
else
{
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= 0x40;
else
gSaveBlock2Ptr->frontier.field_CDC &= ~(0x40);
}
break;
}
}
static void sub_81A5AC4(void)
{
gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
gSaveBlock2Ptr->frontier.field_CA9_a = 1;
sub_81A4C30();
}
static void sub_81A5B08(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] > 41)
gSaveBlock2Ptr->frontier.field_DD8 = gUnknown_08611FAC[Random() % ARRAY_COUNT(gUnknown_08611FAC)];
else
gSaveBlock2Ptr->frontier.field_DD8 = gUnknown_08611FA0[Random() % ARRAY_COUNT(gUnknown_08611FA0)];
}
static void sub_81A5B88(void)
{
if (AddBagItem(gSaveBlock2Ptr->frontier.field_DD8, 1) == TRUE)
{
CopyItemName(gSaveBlock2Ptr->frontier.field_DD8, gStringVar1);
gSaveBlock2Ptr->frontier.field_DD8 = 0;
gSpecialVar_Result = TRUE;
}
else
{
gSpecialVar_Result = FALSE;
}
}
static void sub_81A5BE0(void)
{
GetFrontierTrainerName(gStringVar1, gTrainerBattleOpponent_A);
}
void sub_81A5BF8(void)
{
u8 width = 27;
u8 palNum = 7;
FillBgTilemapBufferRect(0, 0, 254, 14, 1, 6, palNum);
FillBgTilemapBufferRect(0, 0, 32, 14, 1, 6, palNum);
FillBgTilemapBufferRect(0, 0x31, 0, 14, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0x33, 1, 14, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0x34, 2, 14, width, 1, palNum);
width++;
FillBgTilemapBufferRect(0, 0x35, 28, 14, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0x36, 29, 14, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0x37, 0, 15, 1, 5, palNum);
FillBgTilemapBufferRect(0, 0x39, 1, 15, width, 5, palNum);
FillBgTilemapBufferRect(0, 0x3A, 29, 15, 1, 5, palNum);
FillBgTilemapBufferRect(0, 0x831, 0, 19, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0x833, 1, 19, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0x834, 2, 19, width - 2, 1, palNum);
FillBgTilemapBufferRect(0, 0x835, 28, 19, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0x836, 29, 19, 1, 1, palNum);
}
void sub_81A5D44(void)
{
u8 width;
u8 height;
u8 palNum = 0;
FillBgTilemapBufferRect(0, 3, 0, 14, 1, 1, palNum);
height = 4;
FillBgTilemapBufferRect(0, 4, 1, 14, 1, 1, palNum);
width = 27;
FillBgTilemapBufferRect(0, 5, 2, 14, width, 1, palNum);
FillBgTilemapBufferRect(0, 6, 28, 14, 1, 1, palNum);
FillBgTilemapBufferRect(0, 7, 29, 14, 1, 1, palNum);
FillBgTilemapBufferRect(0, 8, 0, 15, 1, height, palNum);
FillBgTilemapBufferRect(0, 9, 1, 15, 1, height, palNum);
FillBgTilemapBufferRect(0, 0xA, 2, 15, width, height, palNum);
FillBgTilemapBufferRect(0, 0xB, 28, 15, 1, height, palNum);
FillBgTilemapBufferRect(0, 0xC, 29, 15, 1, height, palNum);
FillBgTilemapBufferRect(0, 0xD, 0, 19, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0xE, 1, 19, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0xF, 2, 19, width, 1, palNum);
FillBgTilemapBufferRect(0, 0x10, 28, 19, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0x11, 29, 19, 1, 1, palNum);
}
+58 -63
View File
@@ -31,11 +31,6 @@ struct BattleBackground
const void *palette;
};
extern u16 gBattle_BG1_X;
extern u16 gBattle_BG1_Y;
extern u16 gBattle_BG2_X;
extern u16 gBattle_BG2_Y;
extern u8 GetCurrentMapBattleScene(void);
// .rodata
@@ -162,10 +157,10 @@ const struct BgTemplate gBattleBgTemplates[] =
},
};
static const struct WindowTemplate gUnknown_0831AA18[] =
static const struct WindowTemplate gStandardBattleWindowTemplates[] =
{
{
.priority = 0,
{ // 0 Standard battle message
.bg = 0,
.tilemapLeft = 2,
.tilemapTop = 15,
.width = 26,
@@ -173,8 +168,8 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.paletteNum = 0,
.baseBlock = 0x0090,
},
{
.priority = 0,
{ // 1 "What will (pokemon) do?"
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 35,
.width = 14,
@@ -182,8 +177,8 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.paletteNum = 0,
.baseBlock = 0x01c0,
},
{
.priority = 0,
{ // 2 "Fight/Pokemon/Bag/Run"
.bg = 0,
.tilemapLeft = 17,
.tilemapTop = 35,
.width = 12,
@@ -191,8 +186,8 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.paletteNum = 5,
.baseBlock = 0x0190,
},
{
.priority = 0,
{ // 3 Top left move
.bg = 0,
.tilemapLeft = 2,
.tilemapTop = 55,
.width = 8,
@@ -200,8 +195,8 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.paletteNum = 5,
.baseBlock = 0x0300,
},
{
.priority = 0,
{ // 4 Top right move
.bg = 0,
.tilemapLeft = 11,
.tilemapTop = 55,
.width = 8,
@@ -209,8 +204,8 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.paletteNum = 5,
.baseBlock = 0x0310,
},
{
.priority = 0,
{ // 5 Bottom left move
.bg = 0,
.tilemapLeft = 2,
.tilemapTop = 57,
.width = 8,
@@ -218,8 +213,8 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.paletteNum = 5,
.baseBlock = 0x0320,
},
{
.priority = 0,
{ // 6 Bottom right move
.bg = 0,
.tilemapLeft = 11,
.tilemapTop = 57,
.width = 8,
@@ -228,7 +223,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0330,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 21,
.tilemapTop = 55,
.width = 4,
@@ -237,7 +232,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0290,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 21,
.tilemapTop = 57,
.width = 0,
@@ -246,7 +241,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0298,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 25,
.tilemapTop = 55,
.width = 4,
@@ -255,7 +250,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0298,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 21,
.tilemapTop = 57,
.width = 8,
@@ -264,7 +259,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x02a0,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 21,
.tilemapTop = 55,
.width = 8,
@@ -273,7 +268,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x02b0,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 26,
.tilemapTop = 9,
.width = 3,
@@ -282,7 +277,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0100,
},
{
.priority = 1,
.bg = 1,
.tilemapLeft = 19,
.tilemapTop = 8,
.width = 10,
@@ -291,7 +286,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0100,
},
{
.priority = 2,
.bg = 2,
.tilemapLeft = 18,
.tilemapTop = 0,
.width = 12,
@@ -300,7 +295,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x016e,
},
{
.priority = 1,
.bg = 1,
.tilemapLeft = 2,
.tilemapTop = 3,
.width = 6,
@@ -309,7 +304,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0020,
},
{
.priority = 2,
.bg = 2,
.tilemapLeft = 2,
.tilemapTop = 3,
.width = 6,
@@ -318,7 +313,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0040,
},
{
.priority = 1,
.bg = 1,
.tilemapLeft = 2,
.tilemapTop = 2,
.width = 6,
@@ -327,7 +322,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0020,
},
{
.priority = 2,
.bg = 2,
.tilemapLeft = 2,
.tilemapTop = 2,
.width = 6,
@@ -336,7 +331,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0040,
},
{
.priority = 1,
.bg = 1,
.tilemapLeft = 2,
.tilemapTop = 6,
.width = 6,
@@ -345,7 +340,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0060,
},
{
.priority = 2,
.bg = 2,
.tilemapLeft = 2,
.tilemapTop = 6,
.width = 6,
@@ -354,7 +349,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0080,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 12,
.tilemapTop = 2,
.width = 6,
@@ -363,7 +358,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x00a0,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 4,
.tilemapTop = 2,
.width = 7,
@@ -372,7 +367,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x00a0,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 19,
.tilemapTop = 2,
.width = 7,
@@ -383,10 +378,10 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
DUMMY_WIN_TEMPLATE
};
static const struct WindowTemplate gUnknown_0831AAE0[] =
static const struct WindowTemplate gBattleArenaWindowTemplates[] =
{
{
.priority = 0,
.bg = 0,
.tilemapLeft = 2,
.tilemapTop = 15,
.width = 26,
@@ -395,7 +390,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0090,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 35,
.width = 14,
@@ -404,7 +399,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x01c0,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 17,
.tilemapTop = 35,
.width = 12,
@@ -413,7 +408,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0190,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 2,
.tilemapTop = 55,
.width = 8,
@@ -422,7 +417,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0300,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 11,
.tilemapTop = 55,
.width = 8,
@@ -431,7 +426,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0310,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 2,
.tilemapTop = 57,
.width = 8,
@@ -440,7 +435,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0320,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 11,
.tilemapTop = 57,
.width = 8,
@@ -449,7 +444,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0330,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 21,
.tilemapTop = 55,
.width = 4,
@@ -458,7 +453,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0290,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 21,
.tilemapTop = 57,
.width = 0,
@@ -467,7 +462,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0298,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 25,
.tilemapTop = 55,
.width = 4,
@@ -476,7 +471,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0298,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 21,
.tilemapTop = 57,
.width = 8,
@@ -485,7 +480,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x02a0,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 21,
.tilemapTop = 55,
.width = 8,
@@ -494,7 +489,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x02b0,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 26,
.tilemapTop = 9,
.width = 3,
@@ -503,7 +498,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0100,
},
{
.priority = 1,
.bg = 1,
.tilemapLeft = 19,
.tilemapTop = 8,
.width = 10,
@@ -512,7 +507,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0100,
},
{
.priority = 2,
.bg = 2,
.tilemapLeft = 18,
.tilemapTop = 0,
.width = 12,
@@ -521,7 +516,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x016e,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 6,
.tilemapTop = 1,
.width = 8,
@@ -530,7 +525,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0100,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 14,
.tilemapTop = 1,
.width = 2,
@@ -539,7 +534,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0110,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 16,
.tilemapTop = 1,
.width = 8,
@@ -548,7 +543,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0114,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 12,
.tilemapTop = 4,
.width = 6,
@@ -557,7 +552,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0124,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 12,
.tilemapTop = 6,
.width = 6,
@@ -566,7 +561,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0130,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 12,
.tilemapTop = 8,
.width = 6,
@@ -575,7 +570,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x013c,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 8,
.tilemapTop = 11,
.width = 14,
@@ -584,7 +579,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0148,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 2,
.tilemapTop = 15,
.width = 26,
@@ -597,8 +592,8 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
const struct WindowTemplate * const gBattleWindowTemplates[] =
{
gUnknown_0831AA18,
gUnknown_0831AAE0,
gStandardBattleWindowTemplates,
gBattleArenaWindowTemplates,
};
static const struct BattleBackground gBattleTerrainTable[] =
+32 -35
View File
@@ -1,35 +1,32 @@
#include "global.h"
#include "battle.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "battle_ai_script_commands.h"
#include "battle_anim.h"
#include "battle_controllers.h"
#include "battle_interface.h"
#include "battle_message.h"
#include "battle_setup.h"
#include "battle_tv.h"
#include "pokemon.h"
#include "bg.h"
#include "data2.h"
#include "link.h"
#include "util.h"
#include "main.h"
#include "constants/songs.h"
#include "constants/trainers.h"
#include "sound.h"
#include "window.h"
#include "m4a.h"
#include "palette.h"
#include "pokeball.h"
#include "pokemon.h"
#include "reshow_battle_screen.h"
#include "sound.h"
#include "string_util.h"
#include "task.h"
#include "text.h"
#include "string_util.h"
#include "bg.h"
#include "reshow_battle_screen.h"
#include "pokeball.h"
#include "data2.h"
#include "battle_setup.h"
#include "util.h"
#include "window.h"
#include "constants/battle_anim.h"
#include "constants/songs.h"
#include "constants/trainers.h"
extern u16 gBattle_BG0_X;
extern u16 gBattle_BG0_Y;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern struct UnusedControllerStruct gUnknown_02022D0C;
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
@@ -558,7 +555,7 @@ static void LinkOpponentHandleGetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
for (i = 0; i < 6; i++)
for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
size += CopyLinkOpponentMonData(i, monData + size);
@@ -892,7 +889,7 @@ static void LinkOpponentHandleSetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
for (i = 0; i < 6; i++)
for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
SetLinkOpponentMonData(i);
@@ -1253,17 +1250,17 @@ static void LinkOpponentHandleDrawTrainerPic(void)
|| (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_LEAF_GREEN)
{
if (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender != MALE)
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_LEAF];
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_LEAF];
else
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RED];
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RED];
}
else if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_RUBY
|| (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_SAPPHIRE)
{
if (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender != MALE)
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RS_MAY];
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_MAY];
else
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RS_BRENDAN];
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_BRENDAN];
}
else
{
@@ -1282,17 +1279,17 @@ static void LinkOpponentHandleDrawTrainerPic(void)
|| (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_LEAF_GREEN)
{
if (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].gender != 0)
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_LEAF];
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_LEAF];
else
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RED];
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RED];
}
else if ((gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_RUBY
|| (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_SAPPHIRE)
{
if (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].gender != 0)
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RS_MAY];
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_MAY];
else
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RS_BRENDAN];
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_BRENDAN];
}
else
{
@@ -1346,7 +1343,7 @@ static void LinkOpponentHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_8064470;
}
@@ -1364,7 +1361,7 @@ static void LinkOpponentHandleFaintAnimation(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0;
PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_OPPONENT);
PlaySE12WithPanning(SE_POKE_DEAD, SOUND_PAN_TARGET);
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_FaintOpponentMon;
gBattlerControllerFuncs[gActiveBattler] = sub_8064C14;
}
@@ -1660,9 +1657,9 @@ static void LinkOpponentHandlePlaySE(void)
s8 pan;
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
pan = PAN_SIDE_PLAYER;
pan = SOUND_PAN_ATTACKER;
else
pan = PAN_SIDE_OPPONENT;
pan = SOUND_PAN_TARGET;
PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
LinkOpponentBufferExecCompleted();
@@ -1708,7 +1705,7 @@ static void LinkOpponentHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_80676FC);
+24 -28
View File
@@ -1,34 +1,30 @@
#include "global.h"
#include "battle.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "battle_ai_script_commands.h"
#include "battle_anim.h"
#include "battle_controllers.h"
#include "battle_interface.h"
#include "battle_message.h"
#include "battle_setup.h"
#include "battle_tv.h"
#include "pokemon.h"
#include "bg.h"
#include "data2.h"
#include "link.h"
#include "util.h"
#include "main.h"
#include "constants/songs.h"
#include "constants/trainers.h"
#include "sound.h"
#include "window.h"
#include "m4a.h"
#include "palette.h"
#include "pokeball.h"
#include "pokemon.h"
#include "reshow_battle_screen.h"
#include "sound.h"
#include "string_util.h"
#include "task.h"
#include "text.h"
#include "string_util.h"
#include "bg.h"
#include "reshow_battle_screen.h"
#include "pokeball.h"
#include "data2.h"
#include "battle_setup.h"
extern u16 gBattle_BG0_X;
extern u16 gBattle_BG0_Y;
extern struct UnusedControllerStruct gUnknown_02022D0C;
#include "util.h"
#include "window.h"
#include "constants/battle_anim.h"
#include "constants/songs.h"
#include "constants/trainers.h"
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
@@ -444,7 +440,7 @@ static void LinkPartnerHandleGetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
for (i = 0; i < 6; i++)
for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
size += CopyLinkPartnerMonData(i, monData + size);
@@ -778,7 +774,7 @@ static void LinkPartnerHandleSetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
for (i = 0; i < 6; i++)
for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
SetLinkPartnerMonData(i);
@@ -1168,7 +1164,7 @@ static void LinkPartnerHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_814AF54;
}
@@ -1187,7 +1183,7 @@ static void LinkPartnerHandleFaintAnimation(void)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0;
HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_PLAYER);
PlaySE12WithPanning(SE_POKE_DEAD, SOUND_PAN_ATTACKER);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 5;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8039C00;
@@ -1485,9 +1481,9 @@ static void LinkPartnerHandlePlaySE(void)
s8 pan;
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
pan = PAN_SIDE_PLAYER;
pan = SOUND_PAN_ATTACKER;
else
pan = PAN_SIDE_OPPONENT;
pan = SOUND_PAN_TARGET;
PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
LinkPartnerBufferExecCompleted();
@@ -1534,7 +1530,7 @@ static void LinkPartnerHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);
+31 -35
View File
@@ -1,48 +1,44 @@
#include "global.h"
#include "battle.h"
#include "battle_ai_script_commands.h"
#include "battle_anim.h"
#include "battle_arena.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "battle_setup.h"
#include "battle_tower.h"
#include "battle_tv.h"
#include "battle_ai_script_commands.h"
#include "pokemon.h"
#include "link.h"
#include "util.h"
#include "main.h"
#include "bg.h"
#include "data2.h"
#include "frontier_util.h"
#include "item.h"
#include "constants/items.h"
#include "constants/songs.h"
#include "sound.h"
#include "constants/moves.h"
#include "constants/trainers.h"
#include "window.h"
#include "link.h"
#include "main.h"
#include "m4a.h"
#include "palette.h"
#include "pokeball.h"
#include "pokemon.h"
#include "random.h"
#include "reshow_battle_screen.h"
#include "sound.h"
#include "string_util.h"
#include "task.h"
#include "text.h"
#include "string_util.h"
#include "bg.h"
#include "reshow_battle_screen.h"
#include "random.h"
#include "pokeball.h"
#include "data2.h"
#include "battle_setup.h"
#include "util.h"
#include "window.h"
#include "constants/battle_anim.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/songs.h"
#include "constants/trainers.h"
extern u16 gBattle_BG0_X;
extern u16 gBattle_BG0_Y;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern struct UnusedControllerStruct gUnknown_02022D0C;
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
extern void sub_81A57E4(u8 battlerId, u16 stringId);
extern u8 GetFrontierBrainTrainerPicIndex(void);
extern u8 GetTrainerHillTrainerFrontSpriteId(u16 trainerId);
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
extern u8 GetEreaderTrainerFrontSpriteId(void);
// this file's functions
static void OpponentHandleGetMonData(void);
@@ -542,7 +538,7 @@ static void OpponentHandleGetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
for (i = 0; i < 6; i++)
for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
size += GetOpponentMonData(i, monData + size);
@@ -885,7 +881,7 @@ static void OpponentHandleSetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
for (i = 0; i < 6; i++)
for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
SetOpponentMonData(i);
@@ -1384,7 +1380,7 @@ static void OpponentHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_805F240;
}
@@ -1402,7 +1398,7 @@ static void OpponentHandleFaintAnimation(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0;
PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_OPPONENT);
PlaySE12WithPanning(SE_POKE_DEAD, SOUND_PAN_TARGET);
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_FaintOpponentMon;
gBattlerControllerFuncs[gActiveBattler] = sub_805FAC4;
}
@@ -1513,7 +1509,7 @@ static void OpponentHandlePrintString(void)
BufferStringBattle(*stringId);
BattlePutTextOnWindow(gDisplayedStringBattle, 0);
gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter;
sub_81A57E4(gActiveBattler, *stringId);
BattleArena_DeductMindPoints(gActiveBattler, *stringId);
}
static void OpponentHandlePrintSelectionString(void)
@@ -1810,9 +1806,9 @@ static void OpponentHandlePlaySE(void)
s8 pan;
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
pan = PAN_SIDE_PLAYER;
pan = SOUND_PAN_ATTACKER;
else
pan = PAN_SIDE_OPPONENT;
pan = SOUND_PAN_TARGET;
PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
OpponentBufferExecCompleted();
@@ -1858,7 +1854,7 @@ static void OpponentHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_806280C);
+41 -42
View File
@@ -1,44 +1,42 @@
#include "global.h"
#include "battle.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "battle_arena.h"
#include "battle_controllers.h"
#include "battle_dome.h"
#include "battle_interface.h"
#include "battle_message.h"
#include "battle_setup.h"
#include "battle_tv.h"
#include "pokemon.h"
#include "link.h"
#include "util.h"
#include "main.h"
#include "bg.h"
#include "data2.h"
#include "item.h"
#include "constants/items.h"
#include "constants/songs.h"
#include "sound.h"
#include "constants/moves.h"
#include "constants/trainers.h"
#include "window.h"
#include "item_menu.h"
#include "link.h"
#include "main.h"
#include "m4a.h"
#include "palette.h"
#include "party_menu.h"
#include "pokeball.h"
#include "pokemon.h"
#include "random.h"
#include "recorded_battle.h"
#include "reshow_battle_screen.h"
#include "sound.h"
#include "string_util.h"
#include "task.h"
#include "text.h"
#include "string_util.h"
#include "bg.h"
#include "reshow_battle_screen.h"
#include "random.h"
#include "pokeball.h"
#include "data2.h"
#include "battle_setup.h"
#include "item_menu.h"
#include "recorded_battle.h"
#include "party_menu.h"
#include "battle_dome.h"
#include "util.h"
#include "window.h"
#include "constants/battle_anim.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/songs.h"
#include "constants/trainers.h"
extern u8 gUnknown_0203CEE8;
extern u8 gUnknown_0203CEE9;
extern u8 gUnknown_0203CF00[];
extern u16 gBattle_BG0_X;
extern u16 gBattle_BG0_Y;
extern struct UnusedControllerStruct gUnknown_02022D0C;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
@@ -46,7 +44,6 @@ extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
extern void sub_81AABB0(void);
extern void sub_81A57E4(u8 battlerId, u16 stringId);
extern void sub_81851A8(u8 *);
// this file's functions
@@ -116,7 +113,7 @@ static void MoveSelectionDisplayPpNumber(void);
static void MoveSelectionDisplayPpString(void);
static void MoveSelectionDisplayMoveType(void);
static void MoveSelectionDisplayMoveNames(void);
static void HandleMoveSwitchting(void);
static void HandleMoveSwitching(void);
static void sub_8058FC0(void);
static void WaitForMonSelection(void);
static void CompleteWhenChoseItem(void);
@@ -619,7 +616,7 @@ static void HandleInputChooseMove(void)
MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 27);
BattlePutTextOnWindow(gText_BattleSwitchWhich, 0xB);
gBattlerControllerFuncs[gActiveBattler] = HandleMoveSwitchting;
gBattlerControllerFuncs[gActiveBattler] = HandleMoveSwitching;
}
}
}
@@ -674,7 +671,7 @@ u32 sub_8057FBC(void) // unused
return var;
}
static void HandleMoveSwitchting(void)
static void HandleMoveSwitching(void)
{
u8 perMovePPBonuses[4];
struct ChooseMoveStruct moveStruct;
@@ -1589,7 +1586,7 @@ static void PlayerHandleGetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
for (i = 0; i < 6; i++)
for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
size += CopyPlayerMonData(i, monData + size);
@@ -1932,7 +1929,7 @@ static void PlayerHandleSetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
for (i = 0; i < 6; i++)
for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
SetPlayerMonData(i);
@@ -2387,7 +2384,7 @@ static void PlayerHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1);
gBattlerControllerFuncs[gActiveBattler] = sub_80588B4;
@@ -2407,7 +2404,7 @@ static void PlayerHandleFaintAnimation(void)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0;
HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_PLAYER);
PlaySE12WithPanning(SE_POKE_DEAD, SOUND_PAN_ATTACKER);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 5;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8039C00;
@@ -2537,7 +2534,7 @@ static void PlayerHandlePrintString(void)
BattlePutTextOnWindow(gDisplayedStringBattle, 0);
gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter2;
BattleTv_SetDataBasedOnString(*stringId);
sub_81A57E4(gActiveBattler, *stringId);
BattleArena_DeductMindPoints(gActiveBattler, *stringId);
}
static void PlayerHandlePrintSelectionString(void)
@@ -2600,9 +2597,11 @@ static void HandleChooseMoveAfterDma3(void)
}
}
// arenaMindPoints is used here as a placeholder for a timer.
static void PlayerChooseMoveInBattlePalace(void)
{
if (--*(gBattleStruct->field_298 + gActiveBattler) == 0)
if (--*(gBattleStruct->arenaMindPoints + gActiveBattler) == 0)
{
gBattlePalaceMoveSelectionRngValue = gRngValue;
BtlController_EmitTwoReturnValues(1, 10, ChooseMoveAndTargetInBattlePalace());
@@ -2614,7 +2613,7 @@ static void PlayerHandleChooseMove(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
{
*(gBattleStruct->field_298 + gActiveBattler) = 8;
*(gBattleStruct->arenaMindPoints + gActiveBattler) = 8;
gBattlerControllerFuncs[gActiveBattler] = PlayerChooseMoveInBattlePalace;
}
else
@@ -2882,9 +2881,9 @@ static void PlayerHandlePlaySE(void)
s8 pan;
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
pan = PAN_SIDE_PLAYER;
pan = SOUND_PAN_ATTACKER;
else
pan = PAN_SIDE_OPPONENT;
pan = SOUND_PAN_TARGET;
PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
PlayerBufferExecCompleted();
@@ -2930,7 +2929,7 @@ static void PlayerHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);
+24 -29
View File
@@ -1,42 +1,37 @@
#include "global.h"
#include "battle.h"
#include "battle_ai_script_commands.h"
#include "battle_anim.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "battle_ai_script_commands.h"
#include "pokemon.h"
#include "battle_setup.h"
#include "battle_tower.h"
#include "bg.h"
#include "data2.h"
#include "item_use.h"
#include "link.h"
#include "util.h"
#include "main.h"
#include "constants/songs.h"
#include "constants/trainers.h"
#include "sound.h"
#include "window.h"
#include "m4a.h"
#include "palette.h"
#include "pokeball.h"
#include "pokemon.h"
#include "reshow_battle_screen.h"
#include "sound.h"
#include "string_util.h"
#include "task.h"
#include "text.h"
#include "string_util.h"
#include "bg.h"
#include "reshow_battle_screen.h"
#include "pokeball.h"
#include "data2.h"
#include "battle_setup.h"
#include "item_use.h"
extern u16 gBattle_BG0_X;
extern u16 gBattle_BG0_Y;
extern struct UnusedControllerStruct gUnknown_02022D0C;
#include "util.h"
#include "window.h"
#include "constants/battle_anim.h"
#include "constants/songs.h"
#include "constants/trainers.h"
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
extern void sub_81358F4(void);
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
extern void SetMultiuseSpriteTemplateToPokemon(u16, u8);
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
// this file's functions
static void PlayerPartnerHandleGetMonData(void);
@@ -632,7 +627,7 @@ static void PlayerPartnerHandleGetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
for (i = 0; i < 6; i++)
for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
size += CopyPlayerPartnerMonData(i, monData + size);
@@ -966,7 +961,7 @@ static void PlayerPartnerHandleSetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
for (i = 0; i < 6; i++)
for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
SetPlayerPartnerMonData(i);
@@ -1363,7 +1358,7 @@ static void PlayerPartnerHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_81BAE98;
}
@@ -1382,7 +1377,7 @@ static void PlayerPartnerHandleFaintAnimation(void)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0;
HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_PLAYER);
PlaySE12WithPanning(SE_POKE_DEAD, SOUND_PAN_ATTACKER);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 5;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8039C00;
@@ -1739,9 +1734,9 @@ static void PlayerPartnerHandlePlaySE(void)
s8 pan;
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
pan = PAN_SIDE_PLAYER;
pan = SOUND_PAN_ATTACKER;
else
pan = PAN_SIDE_OPPONENT;
pan = SOUND_PAN_TARGET;
PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
PlayerPartnerBufferExecCompleted();
@@ -1787,7 +1782,7 @@ static void PlayerPartnerHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);
+30 -34
View File
@@ -1,44 +1,40 @@
#include "global.h"
#include "battle.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "battle_ai_script_commands.h"
#include "battle_anim.h"
#include "battle_controllers.h"
#include "battle_interface.h"
#include "battle_message.h"
#include "battle_setup.h"
#include "battle_tower.h"
#include "battle_tv.h"
#include "recorded_battle.h"
#include "pokemon.h"
#include "link.h"
#include "util.h"
#include "main.h"
#include "constants/songs.h"
#include "constants/trainers.h"
#include "sound.h"
#include "window.h"
#include "m4a.h"
#include "palette.h"
#include "task.h"
#include "text.h"
#include "string_util.h"
#include "bg.h"
#include "reshow_battle_screen.h"
#include "pokeball.h"
#include "data2.h"
#include "item_use.h"
#include "battle_setup.h"
#include "link.h"
#include "main.h"
#include "m4a.h"
#include "palette.h"
#include "pokeball.h"
#include "pokemon.h"
#include "recorded_battle.h"
#include "reshow_battle_screen.h"
#include "sound.h"
#include "string_util.h"
#include "task.h"
#include "text.h"
#include "util.h"
#include "window.h"
#include "constants/battle_anim.h"
#include "constants/songs.h"
#include "constants/trainers.h"
extern u16 gBattle_BG0_X;
extern u16 gBattle_BG0_Y;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern struct UnusedControllerStruct gUnknown_02022D0C;
extern u8 gUnknown_0203C7B4;
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
extern u16 sub_8068B48(void);
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
// this file's functions
static void RecordedOpponentHandleGetMonData(void);
@@ -542,7 +538,7 @@ static void RecordedOpponentHandleGetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
for (i = 0; i < 6; i++)
for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
size += CopyRecordedOpponentMonData(i, monData + size);
@@ -876,7 +872,7 @@ static void RecordedOpponentHandleSetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
for (i = 0; i < 6; i++)
for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
SetRecordedOpponentMonData(i);
@@ -1277,7 +1273,7 @@ static void RecordedOpponentHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_81865C8;
}
@@ -1295,7 +1291,7 @@ static void RecordedOpponentHandleFaintAnimation(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0;
PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_OPPONENT);
PlaySE12WithPanning(SE_POKE_DEAD, SOUND_PAN_TARGET);
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_FaintOpponentMon;
gBattlerControllerFuncs[gActiveBattler] = sub_8186D58;
}
@@ -1603,9 +1599,9 @@ static void RecordedOpponentHandlePlaySE(void)
s8 pan;
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
pan = PAN_SIDE_PLAYER;
pan = SOUND_PAN_ATTACKER;
else
pan = PAN_SIDE_OPPONENT;
pan = SOUND_PAN_TARGET;
PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
RecordedOpponentBufferExecCompleted();
@@ -1651,7 +1647,7 @@ static void RecordedOpponentHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_818962C);
+24 -30
View File
@@ -1,42 +1,36 @@
#include "global.h"
#include "battle.h"
#include "battle_ai_script_commands.h"
#include "battle_anim.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "battle_ai_script_commands.h"
#include "recorded_battle.h"
#include "pokemon.h"
#include "link.h"
#include "util.h"
#include "main.h"
#include "constants/songs.h"
#include "sound.h"
#include "window.h"
#include "m4a.h"
#include "palette.h"
#include "task.h"
#include "text.h"
#include "string_util.h"
#include "bg.h"
#include "reshow_battle_screen.h"
#include "pokeball.h"
#include "data2.h"
#include "item_use.h"
#include "link.h"
#include "main.h"
#include "m4a.h"
#include "palette.h"
#include "pokeball.h"
#include "pokemon.h"
#include "recorded_battle.h"
#include "reshow_battle_screen.h"
#include "sound.h"
#include "string_util.h"
#include "task.h"
#include "text.h"
#include "util.h"
#include "window.h"
#include "constants/battle_anim.h"
#include "constants/songs.h"
extern u16 gBattle_BG0_X;
extern u16 gBattle_BG0_Y;
extern u32 gTransformedPersonalities[MAX_BATTLERS_COUNT];
extern u8 gUnknown_0203C7B4;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern struct UnusedControllerStruct gUnknown_02022D0C;
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
// this file's functions
static void RecordedPlayerHandleGetMonData(void);
@@ -527,7 +521,7 @@ static void RecordedPlayerHandleGetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
for (i = 0; i < 6; i++)
for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
size += CopyRecordedPlayerMonData(i, monData + size);
@@ -861,7 +855,7 @@ static void RecordedPlayerHandleSetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
for (i = 0; i < 6; i++)
for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
SetRecordedPlayerMonData(i);
@@ -1278,7 +1272,7 @@ static void RecordedPlayerHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_81899F0;
}
@@ -1624,9 +1618,9 @@ static void RecordedPlayerHandlePlaySE(void)
s8 pan;
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
pan = PAN_SIDE_PLAYER;
pan = SOUND_PAN_ATTACKER;
else
pan = PAN_SIDE_OPPONENT;
pan = SOUND_PAN_TARGET;
PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
RecordedPlayerBufferExecCompleted();
@@ -1673,7 +1667,7 @@ static void RecordedPlayerHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);
+17 -20
View File
@@ -1,30 +1,27 @@
#include "global.h"
#include "battle.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "pokemon.h"
#include "battle_controllers.h"
#include "battle_interface.h"
#include "battle_message.h"
#include "bg.h"
#include "data2.h"
#include "item_menu.h"
#include "link.h"
#include "util.h"
#include "main.h"
#include "constants/songs.h"
#include "sound.h"
#include "window.h"
#include "m4a.h"
#include "palette.h"
#include "pokeball.h"
#include "pokeblock.h"
#include "pokemon.h"
#include "reshow_battle_screen.h"
#include "sound.h"
#include "task.h"
#include "text.h"
#include "bg.h"
#include "reshow_battle_screen.h"
#include "pokeball.h"
#include "data2.h"
#include "pokeblock.h"
#include "item_menu.h"
extern u16 gBattle_BG0_X;
extern u16 gBattle_BG0_Y;
#include "util.h"
#include "window.h"
#include "constants/battle_anim.h"
#include "constants/songs.h"
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
@@ -594,9 +591,9 @@ static void SafariHandlePlaySE(void)
s8 pan;
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
pan = PAN_SIDE_PLAYER;
pan = SOUND_PAN_ATTACKER;
else
pan = PAN_SIDE_OPPONENT;
pan = SOUND_PAN_TARGET;
PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
SafariBufferExecCompleted();
+26 -31
View File
@@ -1,40 +1,35 @@
#include "global.h"
#include "battle.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "battle_controllers.h"
#include "battle_interface.h"
#include "battle_message.h"
#include "battle_setup.h"
#include "battle_tv.h"
#include "pokemon.h"
#include "link.h"
#include "util.h"
#include "main.h"
#include "bg.h"
#include "data2.h"
#include "item.h"
#include "constants/items.h"
#include "constants/songs.h"
#include "sound.h"
#include "constants/moves.h"
#include "constants/trainers.h"
#include "window.h"
#include "item_menu.h"
#include "link.h"
#include "main.h"
#include "m4a.h"
#include "palette.h"
#include "party_menu.h"
#include "pokeball.h"
#include "pokemon.h"
#include "random.h"
#include "reshow_battle_screen.h"
#include "sound.h"
#include "string_util.h"
#include "task.h"
#include "text.h"
#include "string_util.h"
#include "bg.h"
#include "reshow_battle_screen.h"
#include "random.h"
#include "pokeball.h"
#include "data2.h"
#include "party_menu.h"
#include "battle_setup.h"
#include "item_menu.h"
extern u16 gBattle_BG0_X;
extern u16 gBattle_BG0_Y;
extern s32 gUnknown_0203CD70;
extern struct UnusedControllerStruct gUnknown_02022D0C;
#include "util.h"
#include "window.h"
#include "constants/battle_anim.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/songs.h"
#include "constants/trainers.h"
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
@@ -442,7 +437,7 @@ static void WallyHandleGetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
for (i = 0; i < 6; i++)
for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
size += CopyWallyMonData(i, monData + size);
@@ -776,7 +771,7 @@ static void WallyHandleSetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
for (i = 0; i < 6; i++)
for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
SetWallyMonData(i);
@@ -1437,7 +1432,7 @@ static void WallyHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);
+40 -40
View File
@@ -1,22 +1,22 @@
#include "global.h"
#include "battle.h"
#include "battle_controllers.h"
#include "cable_club.h"
#include "link.h"
#include "task.h"
#include "battle_ai_script_commands.h"
#include "battle_anim.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "cable_club.h"
#include "link.h"
#include "pokemon.h"
#include "constants/species.h"
#include "recorded_battle.h"
#include "task.h"
#include "util.h"
#include "constants/abilities.h"
#include "battle_message.h"
extern u8 gUnknown_02022D08;
extern u8 gUnknown_02022D09;
extern u8 gUnknown_02022D0A;
#include "constants/species.h"
static EWRAM_DATA u8 sLinkSendTaskId = 0;
static EWRAM_DATA u8 sLinkReceiveTaskId = 0;
static EWRAM_DATA u8 sUnknown_02022D0A = 0;
EWRAM_DATA struct UnusedControllerStruct gUnknown_02022D0C = {};
static EWRAM_DATA u8 sBattleBuffersTransferData[0x100] = {};
extern void sub_81B8D64(u8 battlerId, u8 arg1); // party_menu
@@ -681,20 +681,20 @@ static void PrepareBufferDataTransfer(u8 bufferId, u8 *data, u16 size)
static void CreateTasksForSendRecvLinkBuffers(void)
{
gUnknown_02022D08 = CreateTask(Task_HandleSendLinkBuffersData, 0);
gTasks[gUnknown_02022D08].data[11] = 0;
gTasks[gUnknown_02022D08].data[12] = 0;
gTasks[gUnknown_02022D08].data[13] = 0;
gTasks[gUnknown_02022D08].data[14] = 0;
gTasks[gUnknown_02022D08].data[15] = 0;
sLinkSendTaskId = CreateTask(Task_HandleSendLinkBuffersData, 0);
gTasks[sLinkSendTaskId].data[11] = 0;
gTasks[sLinkSendTaskId].data[12] = 0;
gTasks[sLinkSendTaskId].data[13] = 0;
gTasks[sLinkSendTaskId].data[14] = 0;
gTasks[sLinkSendTaskId].data[15] = 0;
gUnknown_02022D09 = CreateTask(Task_HandleCopyReceivedLinkBuffersData, 0);
gTasks[gUnknown_02022D09].data[12] = 0;
gTasks[gUnknown_02022D09].data[13] = 0;
gTasks[gUnknown_02022D09].data[14] = 0;
gTasks[gUnknown_02022D09].data[15] = 0;
sLinkReceiveTaskId = CreateTask(Task_HandleCopyReceivedLinkBuffersData, 0);
gTasks[sLinkReceiveTaskId].data[12] = 0;
gTasks[sLinkReceiveTaskId].data[13] = 0;
gTasks[sLinkReceiveTaskId].data[14] = 0;
gTasks[sLinkReceiveTaskId].data[15] = 0;
gUnknown_02022D0A = 0;
sUnknown_02022D0A = 0;
}
enum
@@ -716,24 +716,24 @@ void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data)
s32 i;
alignedSize = size - size % 4 + 4;
if (gTasks[gUnknown_02022D08].data[14] + alignedSize + LINK_BUFF_DATA + 1 > BATTLE_BUFFER_LINK_SIZE)
if (gTasks[sLinkSendTaskId].data[14] + alignedSize + LINK_BUFF_DATA + 1 > BATTLE_BUFFER_LINK_SIZE)
{
gTasks[gUnknown_02022D08].data[12] = gTasks[gUnknown_02022D08].data[14];
gTasks[gUnknown_02022D08].data[14] = 0;
gTasks[sLinkSendTaskId].data[12] = gTasks[sLinkSendTaskId].data[14];
gTasks[sLinkSendTaskId].data[14] = 0;
}
gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_BUFFER_ID] = bufferId;
gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ACTIVE_BATTLER] = gActiveBattler;
gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ATTACKER] = gBattlerAttacker;
gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_TARGET] = gBattlerTarget;
gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_SIZE_LO] = alignedSize;
gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_SIZE_HI] = (alignedSize & 0x0000FF00) >> 8;
gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ABSENT_BATTLER_FLAGS] = gAbsentBattlerFlags;
gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_EFFECT_BATTLER] = gEffectBattler;
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_BUFFER_ID] = bufferId;
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ACTIVE_BATTLER] = gActiveBattler;
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ATTACKER] = gBattlerAttacker;
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_TARGET] = gBattlerTarget;
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_LO] = alignedSize;
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_HI] = (alignedSize & 0x0000FF00) >> 8;
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ABSENT_BATTLER_FLAGS] = gAbsentBattlerFlags;
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_EFFECT_BATTLER] = gEffectBattler;
for (i = 0; i < size; i++)
gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_DATA + i] = data[i];
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_DATA + i] = data[i];
gTasks[gUnknown_02022D08].data[14] = gTasks[gUnknown_02022D08].data[14] + alignedSize + LINK_BUFF_DATA;
gTasks[sLinkSendTaskId].data[14] = gTasks[sLinkSendTaskId].data[14] + alignedSize + LINK_BUFF_DATA;
}
static void Task_HandleSendLinkBuffersData(u8 taskId)
@@ -845,19 +845,19 @@ void sub_8033648(void)
#endif
r6 = gBlockRecvBuffer[i][2];
if (gTasks[gUnknown_02022D09].data[14] + 9 + r6 > 0x1000)
if (gTasks[sLinkReceiveTaskId].data[14] + 9 + r6 > 0x1000)
{
gTasks[gUnknown_02022D09].data[12] = gTasks[gUnknown_02022D09].data[14];
gTasks[gUnknown_02022D09].data[14] = 0;
gTasks[sLinkReceiveTaskId].data[12] = gTasks[sLinkReceiveTaskId].data[14];
gTasks[sLinkReceiveTaskId].data[14] = 0;
}
dest = &gLinkBattleRecvBuffer[gTasks[gUnknown_02022D09].data[14]];
dest = &gLinkBattleRecvBuffer[gTasks[sLinkReceiveTaskId].data[14]];
src = recvBuffer;
for (j = 0; j < r6 + 8; j++)
dest[j] = src[j];
gTasks[gUnknown_02022D09].data[14] = gTasks[gUnknown_02022D09].data[14] + r6 + 8;
gTasks[sLinkReceiveTaskId].data[14] = gTasks[sLinkReceiveTaskId].data[14] + r6 + 8;
}
}
}
+188 -216
View File
File diff suppressed because it is too large Load Diff
+688 -3941
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-118
View File
@@ -1,118 +0,0 @@
#include "global.h"
#include "event_data.h"
#include "battle_setup.h"
#include "overworld.h"
#include "random.h"
#include "battle_tower.h"
extern void sub_8162614(u16, u8);
extern void (* const gUnknown_0860DE50[])(void);
extern const u32 gUnknown_0860DE98[][2];
extern const u32 gUnknown_0860DEA8[][2];
// code
void sub_8195960(void)
{
gUnknown_0860DE50[gSpecialVar_0x8004]();
}
void sub_8195980(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
gSaveBlock2Ptr->frontier.field_CA8 = 0;
gSaveBlock2Ptr->frontier.field_CB2 = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
gSaveBlock2Ptr->frontier.field_CA9_b = 0;
if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]))
gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] = 0;
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
gTrainerBattleOpponent_A = 0;
}
void sub_8195A38(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
switch (gSpecialVar_0x8005)
{
case 0:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DC4[1];
break;
case 1:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode];
break;
case 2:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]) != 0);
break;
}
}
void sub_8195AE4(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
switch (gSpecialVar_0x8005)
{
case 0:
gSaveBlock2Ptr->frontier.field_DC4[1] = gSpecialVar_0x8006;
break;
case 1:
gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
case 2:
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_0860DE98[battleMode][lvlMode];
else
gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_0860DEA8[battleMode][lvlMode];
break;
}
}
void sub_8195BB0(void)
{
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] < 50)
gSpecialVar_Result = Random() % 3;
else if (gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] < 99)
gSpecialVar_Result = 3;
else
gSpecialVar_Result = 4;
}
void sub_8195C20(void)
{
gTrainerBattleOpponent_A = 5 *(Random() % 255) / 64u;
sub_8162614(gTrainerBattleOpponent_A, 0);
}
void sub_8195C50(void)
{
if (gTrainerBattleOpponent_A < 300)
ConvertBattleFrontierTrainerSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
}
/*
void sub_8195C7C(void)
{
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
if (gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] < 9999)
{
u16 wat = 0;
gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode]++;
if (lvlMode < gSaveBlock2Ptr->frontier.field_DD0[battleMode][lvlMode])
wat = 1;
if (gSaveBlock2Ptr->frontier.field_DC8[battleMode][wat] != 0)
gSaveBlock2Ptr->frontier.field_DD0[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode];
}
}
*/
+2 -15
View File
@@ -7,6 +7,7 @@
#include "battle_interface.h"
#include "main.h"
#include "malloc.h"
#include "graphics.h"
#include "random.h"
#include "util.h"
#include "pokemon.h"
@@ -41,20 +42,6 @@ extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow;
extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow;
extern const u8 gEnemyMonElevation[];
// graphics
extern const u32 gUnknown_08C093F0[];
extern const u32 gSubstituteDollTilemap[];
extern const u32 gSubstituteDollGfx[];
extern const u16 gSubstituteDollPal[];
extern const u8 gHealthboxSinglesPlayerGfx[];
extern const u8 gHealthboxSinglesOpponentGfx[];
extern const u8 gHealthboxDoublesPlayerGfx[];
extern const u8 gHealthboxDoublesOpponentGfx[];
extern const u8 gHealthboxSafariGfx[];
extern const u8 gBlankGfxCompressed[];
extern const u16 gBattleInterface_BallStatusBarPal[];
extern const u16 gBattleInterface_BallDisplayPal[];
extern u8 sub_80688F8(u8, u8 battlerId);
extern u8 pokemon_order_func(u8); // party menu
extern void sub_81B8C68(void);
@@ -874,7 +861,7 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 notTransform
u32 personalityValue;
u32 otId;
u8 position;
const u8 *lzPaletteData;
const u32 *lzPaletteData;
if (notTransform)
{
+57 -62
View File
@@ -3,6 +3,7 @@
#include "pokemon.h"
#include "battle_controllers.h"
#include "battle_interface.h"
#include "graphics.h"
#include "sprite.h"
#include "window.h"
#include "string_util.h"
@@ -20,6 +21,7 @@
#include "international_string_util.h"
#include "safari_zone.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "constants/rgb.h"
#include "data2.h"
@@ -163,25 +165,18 @@ extern const u8 gText_DynColor2[];
extern const u8 gText_DynColor2Male[];
extern const u8 gText_DynColor1Female[];
// graphics
extern const u8 gBattleInterface_BallStatusBarGfx[];
extern const u8 gBattleInterface_BallDisplayGfx[];
extern const u16 gBattleInterface_BallStatusBarPal[];
extern const u16 gBattleInterface_BallDisplayPal[];
extern const u8 gHealthboxElementsGfxTable[][32];
// this file's functions
static const u8 *GetHealthboxElementGfxPtr(u8 elementId);
static u8* AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y, u32 arg3, u32 *windowId);
static u8* AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y, u32 bgColor, u32 *windowId);
static void RemoveWindowOnHealthbox(u32 windowId);
static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent);
static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId);
static void TextIntoHealthboxObject(void *dest, u8 *windowTileData, s32 arg2);
static void SafariTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 arg2);
static void HpTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 arg2);
static void TextIntoHealthboxObject(void *dest, u8 *windowTileData, s32 windowWidth);
static void SafariTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 windowWidth);
static void HpTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 windowWidth);
static void FillHealthboxObject(void *dest, u32 arg1, u32 arg2);
static void sub_8073E08(u8 taskId);
@@ -970,7 +965,7 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId)
healthBarSpritePtr->subspriteMode = 2;
healthBarSpritePtr->oam.priority = 1;
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void*)(OBJ_VRAM0 + healthBarSpritePtr->oam.tileNum * 32), 64);
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void*)(OBJ_VRAM0 + healthBarSpritePtr->oam.tileNum * TILE_SIZE_4BPP), 64);
gSprites[healthboxLeftSpriteId].hMain_HealthBarSpriteId = healthbarSpriteId;
gSprites[healthboxLeftSpriteId].hMain_Battler = battlerId;
@@ -1159,7 +1154,7 @@ static void UpdateLvlInHealthbox(u8 healthboxSpriteId, u8 lvl)
xPos += var1;
windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, xPos, 3, 2, &windowId);
spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32;
spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP;
if (GetBattlerSide(gSprites[healthboxSpriteId].hMain_Battler) == B_SIDE_PLAYER)
{
@@ -1187,7 +1182,7 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent)
if (GetBattlerSide(gSprites[healthboxSpriteId].hMain_Battler) == B_SIDE_PLAYER && !IsDoubleBattle())
{
spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32;
spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP;
if (maxOrCurrent != HP_CURRENT) // singles, max
{
ConvertIntToDecimalStringN(text, value, STR_CONV_MODE_RIGHT_ALIGN, 3);
@@ -1248,7 +1243,7 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent)
for (i = 0; i < 3; i++)
{
CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[i * 64 + 32],
(void*)((OBJ_VRAM0) + 32 * (gSprites[healthboxSpriteId].oam.tileNum + var + i)),
(void*)((OBJ_VRAM0) + TILE_SIZE_4BPP * (gSprites[healthboxSpriteId].oam.tileNum + var + i)),
0x20);
}
}
@@ -1266,7 +1261,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
{
if (gBattleSpritesDataPtr->battlerData[gSprites[healthboxSpriteId].data[6]].hpNumbersNoBars) // don't print text if only bars are visible
{
spriteTileNum = gSprites[gSprites[healthboxSpriteId].data[5]].oam.tileNum * 32;
spriteTileNum = gSprites[gSprites[healthboxSpriteId].data[5]].oam.tileNum * TILE_SIZE_4BPP;
objVram = (void*)(OBJ_VRAM0) + spriteTileNum;
if (maxOrCurrent != HP_CURRENT) // doubles, max hp
@@ -1276,7 +1271,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
HpTextIntoHealthboxObject((void*)(OBJ_VRAM0) + spriteTileNum + 0xC0, windowTileData, 2);
RemoveWindowOnHealthbox(windowId);
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_116),
(void*)(OBJ_VRAM0 + 0x680) + (gSprites[healthboxSpriteId].oam.tileNum * 32),
(void*)(OBJ_VRAM0 + 0x680) + (gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP),
0x20);
}
else
@@ -1333,16 +1328,16 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
if (maxOrCurrent == HP_CURRENT)
{
CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[224],
(void*)((OBJ_VRAM0) + ((gSprites[r7].oam.tileNum + 4) * 32)),
(void*)((OBJ_VRAM0) + ((gSprites[r7].oam.tileNum + 4) * TILE_SIZE_4BPP)),
0x20);
CpuFill32(0, (void*)((OBJ_VRAM0) + (gSprites[r7].oam.tileNum * 32)), 0x20);
CpuFill32(0, (void*)((OBJ_VRAM0) + (gSprites[r7].oam.tileNum * TILE_SIZE_4BPP)), 0x20);
}
else
{
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) // Impossible to reach part, because the battlerId is from the opponent's side.
{
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_116),
(void*)(OBJ_VRAM0) + ((gSprites[healthboxSpriteId].oam.tileNum + 52) * 32),
(void*)(OBJ_VRAM0) + ((gSprites[healthboxSpriteId].oam.tileNum + 52) * TILE_SIZE_4BPP),
0x20);
}
}
@@ -1354,7 +1349,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
static void PrintSafariMonInfo(u8 healthboxSpriteId, struct Pokemon *mon)
{
u8 text[20];
s32 j, var2;
s32 j, spriteTileNum;
u8 *barFontGfx;
u8 i, var, nature, healthBarSpriteId;
@@ -1381,12 +1376,12 @@ static void PrintSafariMonInfo(u8 healthboxSpriteId, struct Pokemon *mon)
for (j = 1; j < var + 1; j++)
{
var2 = (gSprites[healthboxSpriteId].oam.tileNum + (j - (j / 8 * 8)) + (j / 8 * 64)) * 32;
CpuCopy32(barFontGfx, (void*)(OBJ_VRAM0) + (var2), 0x20);
spriteTileNum = (gSprites[healthboxSpriteId].oam.tileNum + (j - (j / 8 * 8)) + (j / 8 * 64)) * TILE_SIZE_4BPP;
CpuCopy32(barFontGfx, (void*)(OBJ_VRAM0) + (spriteTileNum), 0x20);
barFontGfx += 0x20;
var2 = (8 + gSprites[healthboxSpriteId].oam.tileNum + (j - (j / 8 * 8)) + (j / 8 * 64)) * 32;
CpuCopy32(barFontGfx, (void*)(OBJ_VRAM0) + (var2), 0x20);
spriteTileNum = (8 + gSprites[healthboxSpriteId].oam.tileNum + (j - (j / 8 * 8)) + (j / 8 * 64)) * TILE_SIZE_4BPP;
CpuCopy32(barFontGfx, (void*)(OBJ_VRAM0) + (spriteTileNum), 0x20);
barFontGfx += 0x20;
}
@@ -1403,13 +1398,13 @@ static void PrintSafariMonInfo(u8 healthboxSpriteId, struct Pokemon *mon)
if (j <= 1)
{
CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[0x40 * j + 0x20],
(void*)(OBJ_VRAM0) + (gSprites[healthBarSpriteId].oam.tileNum + 2 + j) * 32,
(void*)(OBJ_VRAM0) + (gSprites[healthBarSpriteId].oam.tileNum + 2 + j) * TILE_SIZE_4BPP,
32);
}
else
{
CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[0x40 * j + 0x20],
(void*)(OBJ_VRAM0 + 0xC0) + (j + gSprites[healthBarSpriteId].oam.tileNum) * 32,
(void*)(OBJ_VRAM0 + 0xC0) + (j + gSprites[healthBarSpriteId].oam.tileNum) * TILE_SIZE_4BPP,
32);
}
}
@@ -1441,7 +1436,7 @@ void SwapHpBarsWithHpText(void)
{
healthBarSpriteId = gSprites[gHealthboxSpriteIds[i]].hMain_HealthBarSpriteId;
CpuFill32(0, (void*)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * 32), 0x100);
CpuFill32(0, (void*)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 0x100);
UpdateHpTextInHealthboxInDoubles(gHealthboxSpriteIds[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_HP), HP_CURRENT);
UpdateHpTextInHealthboxInDoubles(gHealthboxSpriteIds[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_MAX_HP), HP_MAX);
}
@@ -1449,7 +1444,7 @@ void SwapHpBarsWithHpText(void)
{
UpdateStatusIconInHealthbox(gHealthboxSpriteIds[i]);
UpdateHealthboxAttribute(gHealthboxSpriteIds[i], &gPlayerParty[gBattlerPartyIndexes[i]], HEALTHBOX_HEALTH_BAR);
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_117), (void*)(OBJ_VRAM0 + 0x680 + gSprites[gHealthboxSpriteIds[i]].oam.tileNum * 32), 32);
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_117), (void*)(OBJ_VRAM0 + 0x680 + gSprites[gHealthboxSpriteIds[i]].oam.tileNum * TILE_SIZE_4BPP), 32);
}
}
else
@@ -1615,7 +1610,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
{
gSprites[ballIconSpritesIds[i]].oam.tileNum += 3;
}
else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->field_2A0 & gBitTable[j]) // hmm...?
else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->arenaLostPlayerMons & gBitTable[j])
{
gSprites[ballIconSpritesIds[i]].oam.tileNum += 3;
}
@@ -1664,7 +1659,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
{
gSprites[ballIconSpritesIds[5 - var]].oam.tileNum += 3;
}
else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->field_2A1 & gBitTable[j]) // hmm...?
else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->arenaLostOpponentMons & gBitTable[j]) // hmm...?
{
gSprites[ballIconSpritesIds[5 - var]].oam.tileNum += 3;
}
@@ -1889,9 +1884,9 @@ static void SpriteCB_StatusSummaryBallsOnBattleStart(struct Sprite *sprite)
if (sprite->pos2.x == 0)
{
pan = PAN_SIDE_OPPONENT;
pan = SOUND_PAN_TARGET;
if (var1 != 0)
pan = PAN_SIDE_PLAYER;
pan = SOUND_PAN_ATTACKER;
if (sprite->data[7] != 0)
PlaySE2WithPanning(SE_TB_KARA, pan);
@@ -1975,7 +1970,7 @@ static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon)
break;
}
spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32;
spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP;
if (GetBattlerSide(gSprites[healthboxSpriteId].data[6]) == B_SIDE_PLAYER)
{
@@ -2013,9 +2008,9 @@ static void TryAddPokeballIconToHealthbox(u8 healthboxSpriteId, bool8 noStatus)
healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId;
if (noStatus)
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_70), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * 32), 32);
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_70), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * TILE_SIZE_4BPP), 32);
else
CpuFill32(0, (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * 32), 32);
CpuFill32(0, (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * TILE_SIZE_4BPP), 32);
}
static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId)
@@ -2073,10 +2068,10 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId)
statusGfxPtr = GetHealthboxElementGfxPtr(HEALTHBOX_GFX_39);
for (i = 0; i < 3; i++)
CpuCopy32(statusGfxPtr, (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder + i) * 32), 32);
CpuCopy32(statusGfxPtr, (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder + i) * TILE_SIZE_4BPP), 32);
if (!gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars)
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void *)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * 32), 64);
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void *)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 64);
TryAddPokeballIconToHealthbox(healthboxSpriteId, TRUE);
return;
@@ -2087,13 +2082,13 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId)
FillPalette(sStatusIconColors[statusPalId], pltAdder + 0x100, 2);
CpuCopy16(gPlttBufferUnfaded + 0x100 + pltAdder, (void*)(OBJ_PLTT + pltAdder * 2), 2);
CpuCopy32(statusGfxPtr, (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder) * 32), 96);
CpuCopy32(statusGfxPtr, (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder) * TILE_SIZE_4BPP), 96);
if (IsDoubleBattle() == TRUE || GetBattlerSide(battlerId) == B_SIDE_OPPONENT)
{
if (!gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars)
{
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_0), (void*)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * 32), 32);
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_65), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 1) * 32), 32);
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_0), (void*)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 32);
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_65), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 1) * TILE_SIZE_4BPP), 32);
}
}
TryAddPokeballIconToHealthbox(healthboxSpriteId, FALSE);
@@ -2165,7 +2160,7 @@ static void UpdateSafariBallsTextOnHealthbox(u8 healthboxSpriteId)
u8 *windowTileData;
windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(gText_SafariBalls, 0, 3, 2, &windowId);
spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32;
spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP;
TextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0x40) + spriteTileNum, windowTileData, 6);
TextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0x800) + spriteTileNum, windowTileData + 0xC0, 2);
RemoveWindowOnHealthbox(windowId);
@@ -2182,7 +2177,7 @@ static void UpdateLeftNoOfBallsTextOnHealthbox(u8 healthboxSpriteId)
ConvertIntToDecimalStringN(txtPtr, gNumSafariBalls, STR_CONV_MODE_LEFT_ALIGN, 2);
windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, GetStringRightAlignXOffset(0, text, 0x2F), 3, 2, &windowId);
spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32;
spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP;
SafariTextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0x2C0) + spriteTileNum, windowTileData, 2);
SafariTextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0xA00) + spriteTileNum, windowTileData + 0x40, 4);
RemoveWindowOnHealthbox(windowId);
@@ -2328,10 +2323,10 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar)
u8 healthbarSpriteId = gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].hMain_HealthBarSpriteId;
if (i < 2)
CpuCopy32(GetHealthboxElementGfxPtr(barElementId) + array[i] * 32,
(void*)(OBJ_VRAM0 + (gSprites[healthbarSpriteId].oam.tileNum + 2 + i) * 32), 32);
(void*)(OBJ_VRAM0 + (gSprites[healthbarSpriteId].oam.tileNum + 2 + i) * TILE_SIZE_4BPP), 32);
else
CpuCopy32(GetHealthboxElementGfxPtr(barElementId) + array[i] * 32,
(void*)(OBJ_VRAM0 + 64 + (i + gSprites[healthbarSpriteId].oam.tileNum) * 32), 32);
(void*)(OBJ_VRAM0 + 64 + (i + gSprites[healthbarSpriteId].oam.tileNum) * TILE_SIZE_4BPP), 32);
}
break;
case EXP_BAR:
@@ -2350,10 +2345,10 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar)
{
if (i < 4)
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_12) + array[i] * 32,
(void*)(OBJ_VRAM0 + (gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum + 0x24 + i) * 32), 32);
(void*)(OBJ_VRAM0 + (gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum + 0x24 + i) * TILE_SIZE_4BPP), 32);
else
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_12) + array[i] * 32,
(void*)(OBJ_VRAM0 + 0xB80 + (i + gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum) * 32), 32);
(void*)(OBJ_VRAM0 + 0xB80 + (i + gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum) * TILE_SIZE_4BPP), 32);
}
break;
}
@@ -2576,16 +2571,16 @@ u8 GetHPBarLevel(s16 hp, s16 maxhp)
return result;
}
static u8* AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y, u32 arg3, u32 *windowId)
static u8* AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y, u32 bgColor, u32 *windowId)
{
u16 winId;
u8 color[3];
struct WindowTemplate winTemplate = sHealthboxWindowTemplate;
winId = AddWindow(&winTemplate);
FillWindowPixelBuffer(winId, (arg3 << 4) | (arg3));
FillWindowPixelBuffer(winId, (bgColor << 4) | (bgColor));
color[0] = arg3;
color[0] = bgColor;
color[1] = 1;
color[2] = 3;
@@ -2602,31 +2597,31 @@ static void RemoveWindowOnHealthbox(u32 windowId)
static void FillHealthboxObject(void *dest, u32 arg1, u32 arg2)
{
CpuFill32(0x11111111 * arg1, dest, arg2 * 32);
CpuFill32(0x11111111 * arg1, dest, arg2 * TILE_SIZE_4BPP);
}
static void HpTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 arg2)
static void HpTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 windowWidth)
{
CpuCopy32(windowTileData + 256, dest, arg2 * 32);
CpuCopy32(windowTileData + 256, dest, windowWidth * TILE_SIZE_4BPP);
}
static void TextIntoHealthboxObject(void *dest, u8 *windowTileData, s32 arg2)
static void TextIntoHealthboxObject(void *dest, u8 *windowTileData, s32 windowWidth)
{
CpuCopy32(windowTileData + 256, dest + 256, arg2 * 32);
if (arg2 > 0)
CpuCopy32(windowTileData + 256, dest + 256, windowWidth * TILE_SIZE_4BPP);
// + 256 as that prevents the top 4 blank rows of sHealthboxWindowTemplate from being copied
if (windowWidth > 0)
{
do
{
CpuCopy32(windowTileData + 20, dest + 20, 12);
dest += 32, windowTileData += 32;
arg2--;
} while (arg2 != 0);
windowWidth--;
} while (windowWidth != 0);
}
}
static void SafariTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 arg2)
static void SafariTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 windowWidth)
{
CpuCopy32(windowTileData, dest, arg2 * 32);
CpuCopy32(windowTileData + 256, dest + 256, arg2 * 32);
CpuCopy32(windowTileData, dest, windowWidth * TILE_SIZE_4BPP);
CpuCopy32(windowTileData + 256, dest + 256, windowWidth * TILE_SIZE_4BPP);
}
+21
View File
@@ -0,0 +1,21 @@
#include "global.h"
#include "task.h"
extern void task_battle_intro_80BC47C(u8);
extern void task00_battle_intro_80BC6C8(u8);
extern void task_battle_intro_80BC47C(u8);
extern void task_battle_intro_anim(u8);
const TaskFunc gUnknown_08597424[] =
{
task_battle_intro_80BC47C,
task_battle_intro_80BC47C,
task00_battle_intro_80BC6C8,
task00_battle_intro_80BC6C8,
task00_battle_intro_80BC6C8,
task_battle_intro_80BC47C,
task_battle_intro_80BC47C,
task_battle_intro_80BC47C,
task_battle_intro_anim,
task_battle_intro_anim,
};
+79 -84
View File
@@ -1,71 +1,61 @@
#include "global.h"
#include "battle.h"
#include "recorded_battle.h"
#include "main.h"
#include "load_save.h"
#include "gpu_regs.h"
#include "scanline_effect.h"
#include "battle_setup.h"
#include "battle_scripts.h"
#include "battle_interface.h"
#include "pokemon.h"
#include "palette.h"
#include "task.h"
#include "event_data.h"
#include "constants/species.h"
#include "berry.h"
#include "text.h"
#include "item.h"
#include "constants/items.h"
#include "constants/hold_effects.h"
#include "constants/trainers.h"
#include "link.h"
#include "link_rfu.h"
#include "bg.h"
#include "dma3.h"
#include "string_util.h"
#include "malloc.h"
#include "event_data.h"
#include "m4a.h"
#include "window.h"
#include "random.h"
#include "constants/songs.h"
#include "sound.h"
#include "battle_message.h"
#include "sprite.h"
#include "util.h"
#include "trig.h"
#include "battle_ai_script_commands.h"
#include "constants/battle_move_effects.h"
#include "battle_arena.h"
#include "battle_controllers.h"
#include "pokedex.h"
#include "constants/abilities.h"
#include "constants/moves.h"
#include "constants/rgb.h"
#include "evolution_scene.h"
#include "roamer.h"
#include "tv.h"
#include "safari_zone.h"
#include "constants/battle_string_ids.h"
#include "battle_interface.h"
#include "battle_main.h"
#include "battle_message.h"
#include "battle_pyramid.h"
#include "battle_scripts.h"
#include "battle_setup.h"
#include "battle_tower.h"
#include "berry.h"
#include "bg.h"
#include "data2.h"
#include "decompress.h"
#include "dma3.h"
#include "event_data.h"
#include "evolution_scene.h"
#include "gpu_regs.h"
#include "international_string_util.h"
#include "pokeball.h"
#include "item.h"
#include "link.h"
#include "link_rfu.h"
#include "load_save.h"
#include "main.h"
#include "malloc.h"
#include "m4a.h"
#include "palette.h"
#include "party_menu.h"
#include "battle_main.h"
#include "pokeball.h"
#include "pokedex.h"
#include "pokemon.h"
#include "random.h"
#include "recorded_battle.h"
#include "roamer.h"
#include "safari_zone.h"
#include "scanline_effect.h"
#include "sound.h"
#include "sprite.h"
#include "string_util.h"
#include "task.h"
#include "text.h"
#include "trig.h"
#include "tv.h"
#include "util.h"
#include "window.h"
#include "constants/abilities.h"
#include "constants/battle_move_effects.h"
#include "constants/battle_string_ids.h"
#include "constants/hold_effects.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/rgb.h"
#include "constants/songs.h"
#include "constants/species.h"
#include "constants/trainers.h"
extern u16 gBattle_BG0_X;
extern u16 gBattle_BG0_Y;
extern u16 gBattle_BG1_X;
extern u16 gBattle_BG1_Y;
extern u16 gBattle_BG2_X;
extern u16 gBattle_BG2_Y;
extern u16 gBattle_BG3_X;
extern u16 gBattle_BG3_Y;
extern u16 gBattle_WIN0H;
extern u16 gBattle_WIN0V;
extern u16 gBattle_WIN1H;
extern u16 gBattle_WIN1V;
extern struct MusicPlayerInfo gMPlayInfo_SE1;
extern struct MusicPlayerInfo gMPlayInfo_SE2;
extern u8 gUnknown_0203CF00[];
@@ -93,17 +83,10 @@ extern const u8 gText_Confusion[];
extern const u8 gText_Love[];
// functions
extern void GetFrontierTrainerName(u8* dst, u16 trainerId); // battle tower
extern void sub_8166188(void); // battle tower, sets link battle mons level but why?
extern void sub_8165B88(u8* dst, u16 trainerId); // battle tower, gets language
extern void sub_81B9150(void);
extern void sub_80B3AF8(u8 taskId); // cable club
extern void sub_81A56B4(void); // battle frontier 2
extern u8 sub_81A9E28(void); // battle frontier 2
extern void sub_81A56E8(u8 battlerId); // battle frontier 2
extern void sub_81B8FB0(u8, u8); // party menu
extern u8 pokemon_order_func(u8); // party menu
extern bool8 InBattlePyramid(void);
// this file's functions
static void CB2_InitBattleInternal(void);
@@ -170,13 +153,25 @@ static void HandleAction_WatchesCarefully(void);
static void HandleAction_SafariZoneBallThrow(void);
static void HandleAction_ThrowPokeblock(void);
static void HandleAction_GoNear(void);
static void HandleAction_SafriZoneRun(void);
static void HandleAction_SafariZoneRun(void);
static void HandleAction_WallyBallThrow(void);
static void HandleAction_Action11(void);
static void HandleAction_NothingIsFainted(void);
static void HandleAction_ActionFinished(void);
// EWRAM vars
EWRAM_DATA u16 gBattle_BG0_X = 0;
EWRAM_DATA u16 gBattle_BG0_Y = 0;
EWRAM_DATA u16 gBattle_BG1_X = 0;
EWRAM_DATA u16 gBattle_BG1_Y = 0;
EWRAM_DATA u16 gBattle_BG2_X = 0;
EWRAM_DATA u16 gBattle_BG2_Y = 0;
EWRAM_DATA u16 gBattle_BG3_X = 0;
EWRAM_DATA u16 gBattle_BG3_Y = 0;
EWRAM_DATA u16 gBattle_WIN0H = 0;
EWRAM_DATA u16 gBattle_WIN0V = 0;
EWRAM_DATA u16 gBattle_WIN1H = 0;
EWRAM_DATA u16 gBattle_WIN1V = 0;
EWRAM_DATA u8 gDisplayedStringBattle[300] = {0};
EWRAM_DATA u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT] = {0};
EWRAM_DATA u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT] = {0};
@@ -443,10 +438,10 @@ const struct TrainerMoney gTrainerMoneyTable[] =
{TRAINER_CLASS_AROMA_LADY, 10},
{TRAINER_CLASS_RUIN_MANIAC, 15},
{TRAINER_CLASS_INTERVIEWER, 12},
{TRAINER_CLASS_TUBER_1, 1},
{TRAINER_CLASS_TUBER_2, 1},
{TRAINER_CLASS_TUBER_F, 1},
{TRAINER_CLASS_TUBER_M, 1},
{TRAINER_CLASS_SIS_AND_BRO, 3},
{TRAINER_CLASS_COOLTRAINER_1, 12},
{TRAINER_CLASS_COOLTRAINER, 12},
{TRAINER_CLASS_HEX_MANIAC, 6},
{TRAINER_CLASS_LADY, 50},
{TRAINER_CLASS_BEAUTY, 20},
@@ -507,7 +502,7 @@ static void (* const sTurnActionsFuncsTable[])(void) =
HandleAction_SafariZoneBallThrow, // B_ACTION_SAFARI_BALL
HandleAction_ThrowPokeblock, // B_ACTION_SAFARI_POKEBLOCK
HandleAction_GoNear, // B_ACTION_SAFARI_GO_NEAR
HandleAction_SafriZoneRun, // B_ACTION_SAFARI_RUN
HandleAction_SafariZoneRun, // B_ACTION_SAFARI_RUN
HandleAction_WallyBallThrow, // B_ACTION_WALLY_THROW
HandleAction_RunBattleScript, // B_ACTION_EXEC_SCRIPT
HandleAction_Action11, // not sure about this one
@@ -1146,9 +1141,9 @@ static void CB2_HandleStartMultiPartnerBattle(void)
gLinkPlayers[3].id = 3;
GetFrontierTrainerName(gLinkPlayers[2].name, gTrainerBattleOpponent_A);
GetFrontierTrainerName(gLinkPlayers[3].name, gTrainerBattleOpponent_B);
sub_8165B88(&language, gTrainerBattleOpponent_A);
GetBattleTowerTrainerLanguage(&language, gTrainerBattleOpponent_A);
gLinkPlayers[2].language = language;
sub_8165B88(&language, gTrainerBattleOpponent_B);
GetBattleTowerTrainerLanguage(&language, gTrainerBattleOpponent_B);
gLinkPlayers[3].language = language;
if (sub_800A520())
@@ -3016,7 +3011,7 @@ static void BattleStartClearSetData(void)
if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) && gSaveBlock2Ptr->optionsBattleSceneOff == TRUE)
gHitMarker |= HITMARKER_NO_ANIMATIONS;
}
else if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) && GetBattleStyleInRecordedBattle())
else if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) && GetBattleSceneInRecordedBattle())
gHitMarker |= HITMARKER_NO_ANIMATIONS;
gBattleScripting.battleStyle = gSaveBlock2Ptr->optionsBattleStyle;
@@ -3074,8 +3069,8 @@ static void BattleStartClearSetData(void)
gBattleResults.shinyWildMon = IsMonShiny(&gEnemyParty[0]);
gBattleStruct->field_2A0 = 0;
gBattleStruct->field_2A1 = 0;
gBattleStruct->arenaLostPlayerMons = 0;
gBattleStruct->arenaLostOpponentMons = 0;
}
void SwitchInClearSetData(void)
@@ -3086,7 +3081,7 @@ void SwitchInClearSetData(void)
if (gBattleMoves[gCurrentMove].effect != EFFECT_BATON_PASS)
{
for (i = 0; i < BATTLE_STATS_NO; i++)
for (i = 0; i < NUM_BATTLE_STATS; i++)
gBattleMons[gActiveBattler].statStages[i] = 6;
for (i = 0; i < gBattlersCount; i++)
{
@@ -3195,7 +3190,7 @@ void FaintClearSetData(void)
s32 i;
u8 *ptr;
for (i = 0; i < BATTLE_STATS_NO; i++)
for (i = 0; i < NUM_BATTLE_STATS; i++)
gBattleMons[gActiveBattler].statStages[i] = 6;
gBattleMons[gActiveBattler].status2 = 0;
@@ -3349,7 +3344,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].altAbility);
hpOnSwitchout = &gBattleStruct->hpOnSwitchout[GetBattlerSide(gActiveBattler)];
*hpOnSwitchout = gBattleMons[gActiveBattler].hp;
for (i = 0; i < BATTLE_STATS_NO; i++)
for (i = 0; i < NUM_BATTLE_STATS; i++)
gBattleMons[gActiveBattler].statStages[i] = 6;
gBattleMons[gActiveBattler].status2 = 0;
}
@@ -3412,7 +3407,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
}
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
sub_81A56B4();
BattleArena_InitPoints();
}
gBattleMainFunc = BattleIntroDrawPartySummaryScreens;
}
@@ -5468,7 +5463,7 @@ static void HandleAction_UseMove(void)
}
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
sub_81A56E8(gBattlerAttacker);
BattleArena_AddMindPoints(gBattlerAttacker);
gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT;
}
@@ -5595,7 +5590,7 @@ bool8 TryRunFromBattle(u8 battler)
if (InBattlePyramid())
{
gBattleStruct->runTries++;
pyramidMultiplier = sub_81A9E28();
pyramidMultiplier = GetPyramidRunMultiplier();
speedVar = (gBattleMons[battler].speed * pyramidMultiplier) / (gBattleMons[BATTLE_OPPOSITE(battler)].speed) + (gBattleStruct->runTries * 30);
if (speedVar > (Random() & 0xFF))
{
@@ -5621,7 +5616,7 @@ bool8 TryRunFromBattle(u8 battler)
{
if (InBattlePyramid())
{
pyramidMultiplier = sub_81A9E28();
pyramidMultiplier = GetPyramidRunMultiplier();
speedVar = (gBattleMons[battler].speed * pyramidMultiplier) / (gBattleMons[BATTLE_OPPOSITE(battler)].speed) + (gBattleStruct->runTries * 30);
if (speedVar > (Random() & 0xFF))
effect++;
@@ -5775,7 +5770,7 @@ static void HandleAction_GoNear(void)
gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT;
}
static void HandleAction_SafriZoneRun(void)
static void HandleAction_SafariZoneRun(void)
{
gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber];
PlaySE(SE_NIGERU);
+59 -61
View File
@@ -1,23 +1,25 @@
#include "global.h"
#include "battle.h"
#include "battle_message.h"
#include "constants/battle_string_ids.h"
#include "constants/moves.h"
#include "text.h"
#include "string_util.h"
#include "constants/items.h"
#include "constants/trainers.h"
#include "event_data.h"
#include "link.h"
#include "item.h"
#include "window.h"
#include "palette.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_setup.h"
#include "menu.h"
#include "recorded_battle.h"
#include "battle_tower.h"
#include "data2.h"
#include "event_data.h"
#include "frontier_util.h"
#include "international_string_util.h"
#include "battle_frontier_2.h"
#include "item.h"
#include "link.h"
#include "menu.h"
#include "palette.h"
#include "recorded_battle.h"
#include "string_util.h"
#include "text.h"
#include "window.h"
#include "constants/battle_string_ids.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/trainers.h"
struct BattleWindowText
{
@@ -35,7 +37,6 @@ struct BattleWindowText
extern u8 gUnknown_0203C7B4;
extern const u8 gMoveNames[MOVES_COUNT][13];
extern const u8 gTrainerClassNames[][13];
extern const u16 gUnknown_08D85620[];
@@ -46,14 +47,10 @@ extern const u8 gText_PkmnTransferredSomeonesPC[];
extern const u8 gText_PkmnTransferredLanettesPC[];
extern u8 GetFrontierBrainTrainerClass(void); // battle_frontier_2
extern u8 GetFrontierOpponentClass(u16 trainerId); // battle_tower
extern u8 GetTrainerHillOpponentClass(u16 trainerId); // pokenav
extern u8 GetEreaderTrainerClassId(void); // battle_tower
extern void CopyFrontierBrainTrainerName(u8 *txtPtr); // battle_frontier_2
extern void GetTrainerHillTrainerName(u8 *txtPtr, u16 trainerId); // pokenav
extern void GetEreaderTrainerName(u8 *txtPtr);
extern void CopyTrainerHillTrainerText(u8 arg0, u16 trainerId); // pokenav
extern void GetFrontierTrainerName(u8 *dst, u16 trainerId);
// this file's functions
static void ChooseMoveUsedParticle(u8 *textPtr);
@@ -1370,7 +1367,8 @@ static const u8 sDummyWeirdStatusString[] = {EOS, EOS, EOS, EOS, EOS, EOS, EOS,
static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
{
{ // 0
// The corresponding WindowTemplate is gStandardBattleWindowTemplates[] within src/battle_bg.c
{ // 0 Standard battle message
.fillValue = 0xFF,
.fontId = 1,
.x = 0,
@@ -1382,7 +1380,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 15,
.shadowColor = 6,
},
{ // 1
{ // 1 "What will (pokemon) do?"
.fillValue = 0xFF,
.fontId = 1,
.x = 1,
@@ -1394,7 +1392,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 15,
.shadowColor = 6,
},
{ // 2
{ // 2 "Fight/Pokemon/Bag/Run"
.fillValue = 0xEE,
.fontId = 1,
.x = 0,
@@ -1406,7 +1404,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 15,
},
{ // 3
{ // 3 Top left move
.fillValue = 0xEE,
.fontId = 7,
.x = 0,
@@ -1418,7 +1416,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 15,
},
{ // 4
{ // 4 Top right move
.fillValue = 0xEE,
.fontId = 7,
.x = 0,
@@ -1430,7 +1428,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 15,
},
{ // 5
{ // 5 Bottom left move
.fillValue = 0xEE,
.fontId = 7,
.x = 0,
@@ -1442,7 +1440,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 15,
},
{ // 6
{ // 6 Bottom right move
.fillValue = 0xEE,
.fontId = 7,
.x = 0,
@@ -1454,7 +1452,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 15,
},
{ // 7
{ // 7 "PP"
.fillValue = 0xEE,
.fontId = 7,
.x = 0,
@@ -1478,7 +1476,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 15,
},
{ // 9
{ // 9 PP remaining
.fillValue = 0xEE,
.fontId = 1,
.x = 2,
@@ -1490,7 +1488,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 11,
},
{ // 10
{ // 10 "type"
.fillValue = 0xEE,
.fontId = 7,
.x = 0,
@@ -1502,7 +1500,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 15,
},
{ // 11
{ // 11 "switch which?"
.fillValue = 0xEE,
.fontId = 7,
.x = 0,
@@ -1514,7 +1512,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 15,
},
{ // 12
{ // 12 "gText_BattleYesNoChoice"
.fillValue = 0xEE,
.fontId = 1,
.x = 0,
@@ -2582,7 +2580,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
case B_TXT_TRAINER1_LOSE_TEXT: // trainerA lose text
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
{
CopyFrontierTrainerText(FRONTIER_LOSE_TEXT, gTrainerBattleOpponent_A);
CopyFrontierTrainerText(FRONTIER_PLAYER_WON_TEXT, gTrainerBattleOpponent_A);
toCpy = gStringVar4;
}
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
@@ -2598,7 +2596,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
case B_TXT_TRAINER1_WIN_TEXT: // trainerA win text
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
{
CopyFrontierTrainerText(FRONTIER_WIN_TEXT, gTrainerBattleOpponent_A);
CopyFrontierTrainerText(FRONTIER_PLAYER_LOST_TEXT, gTrainerBattleOpponent_A);
toCpy = gStringVar4;
}
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
@@ -2679,7 +2677,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
case B_TXT_TRAINER2_LOSE_TEXT:
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
{
CopyFrontierTrainerText(FRONTIER_LOSE_TEXT, gTrainerBattleOpponent_B);
CopyFrontierTrainerText(FRONTIER_PLAYER_WON_TEXT, gTrainerBattleOpponent_B);
toCpy = gStringVar4;
}
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
@@ -2695,7 +2693,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
case B_TXT_TRAINER2_WIN_TEXT:
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
{
CopyFrontierTrainerText(FRONTIER_WIN_TEXT, gTrainerBattleOpponent_B);
CopyFrontierTrainerText(FRONTIER_PLAYER_LOST_TEXT, gTrainerBattleOpponent_B);
toCpy = gStringVar4;
}
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
@@ -2941,7 +2939,7 @@ void BattlePutTextOnWindow(const u8 *text, u8 windowId)
{
const struct BattleWindowText *textInfo = sBattleTextOnWindowsInfo[gBattleScripting.windowsType];
bool32 copyToVram;
struct TextSubPrinter textSubPrinter;
struct TextPrinterTemplate printerTemplate;
u8 speed;
if (windowId & 0x80)
@@ -2955,36 +2953,36 @@ void BattlePutTextOnWindow(const u8 *text, u8 windowId)
copyToVram = TRUE;
}
textSubPrinter.current_text_offset = text;
textSubPrinter.windowId = windowId;
textSubPrinter.fontId = textInfo[windowId].fontId;
textSubPrinter.x = textInfo[windowId].x;
textSubPrinter.y = textInfo[windowId].y;
textSubPrinter.currentX = textSubPrinter.x;
textSubPrinter.currentY = textSubPrinter.y;
textSubPrinter.letterSpacing = textInfo[windowId].letterSpacing;
textSubPrinter.lineSpacing = textInfo[windowId].lineSpacing;
textSubPrinter.fontColor_l = 0;
textSubPrinter.fgColor = textInfo[windowId].fgColor;
textSubPrinter.bgColor = textInfo[windowId].bgColor;
textSubPrinter.shadowColor = textInfo[windowId].shadowColor;
printerTemplate.currentChar = text;
printerTemplate.windowId = windowId;
printerTemplate.fontId = textInfo[windowId].fontId;
printerTemplate.x = textInfo[windowId].x;
printerTemplate.y = textInfo[windowId].y;
printerTemplate.currentX = printerTemplate.x;
printerTemplate.currentY = printerTemplate.y;
printerTemplate.letterSpacing = textInfo[windowId].letterSpacing;
printerTemplate.lineSpacing = textInfo[windowId].lineSpacing;
printerTemplate.unk = 0;
printerTemplate.fgColor = textInfo[windowId].fgColor;
printerTemplate.bgColor = textInfo[windowId].bgColor;
printerTemplate.shadowColor = textInfo[windowId].shadowColor;
if (textSubPrinter.x == 0xFF)
if (printerTemplate.x == 0xFF)
{
u32 width = sub_80397C4(gBattleScripting.windowsType, windowId);
s32 alignX = GetStringCenterAlignXOffsetWithLetterSpacing(textSubPrinter.fontId, textSubPrinter.current_text_offset, width, textSubPrinter.letterSpacing);
textSubPrinter.x = textSubPrinter.currentX = alignX;
s32 alignX = GetStringCenterAlignXOffsetWithLetterSpacing(printerTemplate.fontId, printerTemplate.currentChar, width, printerTemplate.letterSpacing);
printerTemplate.x = printerTemplate.currentX = alignX;
}
if (windowId == 0x16)
gTextFlags.flag_1 = 0;
gTextFlags.useAlternateDownArrow = 0;
else
gTextFlags.flag_1 = 1;
gTextFlags.useAlternateDownArrow = 1;
if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED))
gTextFlags.flag_2 = 1;
gTextFlags.autoScroll = 1;
else
gTextFlags.flag_2 = 0;
gTextFlags.autoScroll = 0;
if (windowId == 0 || windowId == 0x16)
{
@@ -2993,17 +2991,17 @@ void BattlePutTextOnWindow(const u8 *text, u8 windowId)
else if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
speed = sRecordedBattleTextSpeeds[GetTextSpeedInRecordedBattle()];
else
speed = GetPlayerTextSpeed();
speed = GetPlayerTextSpeedDelay();
gTextFlags.flag_0 = 1;
gTextFlags.canABSpeedUpPrint = 1;
}
else
{
speed = textInfo[windowId].speed;
gTextFlags.flag_0 = 0;
gTextFlags.canABSpeedUpPrint = 0;
}
AddTextPrinter(&textSubPrinter, speed, NULL);
AddTextPrinter(&printerTemplate, speed, NULL);
if (copyToVram)
{
+188
View File
@@ -0,0 +1,188 @@
#include "global.h"
#include "event_data.h"
#include "battle_setup.h"
#include "overworld.h"
#include "random.h"
#include "battle_tower.h"
#include "frontier_util.h"
#include "item.h"
#include "string_util.h"
#include "constants/items.h"
// This file's functions.
static void sub_8195980(void);
static void sub_8195A38(void);
static void sub_8195AE4(void);
static void sub_8195BB0(void);
static void sub_8195C20(void);
static void sub_8195C50(void);
static void sub_8195C7C(void);
static void sub_8195CE4(void);
static void sub_8195D28(void);
static void sub_8195DB8(void);
// Const rom data.
static void (* const sBattlePalaceFunctions[])(void) =
{
sub_8195980,
sub_8195A38,
sub_8195AE4,
sub_8195BB0,
sub_8195C20,
sub_8195C50,
sub_8195C7C,
sub_8195CE4,
sub_8195D28,
sub_8195DB8,
};
static const u16 gUnknown_0860DE78[] = {ITEM_HP_UP, ITEM_PROTEIN, ITEM_IRON, ITEM_CALCIUM, ITEM_CARBOS, ITEM_ZINC};
static const u16 gUnknown_0860DE84[] = {ITEM_BRIGHT_POWDER, ITEM_WHITE_HERB, ITEM_QUICK_CLAW, ITEM_LEFTOVERS, ITEM_MENTAL_HERB, ITEM_KINGS_ROCK, ITEM_FOCUS_BAND, ITEM_SCOPE_LENS, ITEM_CHOICE_BAND};
static const u32 gUnknown_0860DE98[][2] =
{
{0x10, 0x20},
{0x400000, 0x800000},
};
static const u32 gUnknown_0860DEA8[][2] =
{
{~0x10, ~0x20},
{~0x400000, ~0x800000},
};
// code
void CallBattlePalaceFunction(void)
{
sBattlePalaceFunctions[gSpecialVar_0x8004]();
}
static void sub_8195980(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
gSaveBlock2Ptr->frontier.field_CA8 = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
gSaveBlock2Ptr->frontier.field_CA9_b = 0;
if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]))
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = 0;
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
gTrainerBattleOpponent_A = 0;
}
static void sub_8195A38(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
switch (gSpecialVar_0x8005)
{
case 0:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DC6;
break;
case 1:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
break;
case 2:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]) != 0);
break;
}
}
static void sub_8195AE4(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
switch (gSpecialVar_0x8005)
{
case 0:
gSaveBlock2Ptr->frontier.field_DC6 = gSpecialVar_0x8006;
break;
case 1:
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
case 2:
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_0860DE98[battleMode][lvlMode];
else
gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_0860DEA8[battleMode][lvlMode];
break;
}
}
static void sub_8195BB0(void)
{
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 50)
gSpecialVar_Result = Random() % 3;
else if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 99)
gSpecialVar_Result = 3;
else
gSpecialVar_Result = 4;
}
static void sub_8195C20(void)
{
gTrainerBattleOpponent_A = 5 *(Random() % 255) / 64u;
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
}
static void sub_8195C50(void)
{
if (gTrainerBattleOpponent_A < 300)
FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
}
static void sub_8195C7C(void)
{
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 9999)
{
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode]++;
// Whatever GF planned to do here, they messed up big time.
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][(lvlMode > gSaveBlock2Ptr->frontier.palaceRecordWinStreaks[battleMode][lvlMode]) ? 1 : 0])
gSaveBlock2Ptr->frontier.palaceRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
}
}
static void sub_8195CE4(void)
{
gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
gSaveBlock2Ptr->frontier.field_CA9_a = 1;
sub_81A4C30();
}
static void sub_8195D28(void)
{
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] > 41)
gSaveBlock2Ptr->frontier.field_DC6 = gUnknown_0860DE84[Random() % ARRAY_COUNT(gUnknown_0860DE84)];
else
gSaveBlock2Ptr->frontier.field_DC6 = gUnknown_0860DE78[Random() % ARRAY_COUNT(gUnknown_0860DE78)];
}
static void sub_8195DB8(void)
{
if (AddBagItem(gSaveBlock2Ptr->frontier.field_DC6, 1) == TRUE)
{
CopyItemName(gSaveBlock2Ptr->frontier.field_DC6, gStringVar1);
gSaveBlock2Ptr->frontier.field_DC6 = 0;
gSpecialVar_Result = TRUE;
}
else
{
gSpecialVar_Result = FALSE;
}
}
+1642
View File
File diff suppressed because it is too large Load Diff
+1940
View File
File diff suppressed because it is too large Load Diff
+28 -35
View File
@@ -1,35 +1,35 @@
#include "global.h"
#include "battle_pyramid_bag.h"
#include "main.h"
#include "battle.h"
#include "battle_controllers.h"
#include "battle_pyramid_bag.h"
#include "bg.h"
#include "decompress.h"
#include "event_data.h"
#include "field_effect.h"
#include "field_weather.h"
#include "graphics.h"
#include "gpu_regs.h"
#include "international_string_util.h"
#include "item.h"
#include "item_icon.h"
#include "item_menu.h"
#include "item_use.h"
#include "list_menu.h"
#include "mail.h"
#include "main.h"
#include "malloc.h"
#include "menu.h"
#include "overworld.h"
#include "menu_helpers.h"
#include "overworld.h"
#include "palette.h"
#include "party_menu.h"
#include "task.h"
#include "text_window.h"
#include "scanline_effect.h"
#include "script.h"
#include "task.h"
#include "decompress.h"
#include "graphics.h"
#include "string_util.h"
#include "list_menu.h"
#include "strings.h"
#include "item.h"
#include "sound.h"
#include "item_menu.h"
#include "mail.h"
#include "item_use.h"
#include "event_data.h"
#include "text_window.h"
#include "international_string_util.h"
#include "item_icon.h"
#include "string_util.h"
#include "strings.h"
#include "constants/items.h"
#include "constants/rgb.h"
#include "constants/songs.h"
@@ -37,13 +37,6 @@
EWRAM_DATA struct PyramidBagResources *gPyramidBagResources = NULL;
EWRAM_DATA struct PyramidBagCursorData gPyramidBagCursorData = {0};
// gfx
extern const u8 gUnknown_08D9ADD0[];
extern const u8 gUnknown_08D9AE04[];
extern const u8 gUnknown_08D9AF44[];
extern const u16 gUnknown_0860F074[];
extern const u8 gBattleFrontierGfx_PyramidBag[];
// This file's functions.
static void Task_HandlePyramidBagInput(u8 taskId);
static void sub_81C4F44(u8 taskId);
@@ -195,7 +188,7 @@ static const u8 sColorTable[][3] =
static const struct WindowTemplate gUnknown_0861F328[] =
{
{
.priority = 0,
.bg = 0,
.tilemapLeft = 14,
.tilemapTop = 2,
.width = 15,
@@ -204,7 +197,7 @@ static const struct WindowTemplate gUnknown_0861F328[] =
.baseBlock = 30
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 13,
.width = 14,
@@ -213,7 +206,7 @@ static const struct WindowTemplate gUnknown_0861F328[] =
.baseBlock = 270
},
{
.priority = 1,
.bg = 1,
.tilemapLeft = 2,
.tilemapTop = 15,
.width = 27,
@@ -222,7 +215,7 @@ static const struct WindowTemplate gUnknown_0861F328[] =
.baseBlock = 354
},
{
.priority = 1,
.bg = 1,
.tilemapLeft = 24,
.tilemapTop = 17,
.width = 5,
@@ -236,7 +229,7 @@ static const struct WindowTemplate gUnknown_0861F328[] =
static const struct WindowTemplate gUnknown_0861F350[] =
{
{
.priority = 1,
.bg = 1,
.tilemapLeft = 22,
.tilemapTop = 17,
.width = 7,
@@ -245,7 +238,7 @@ static const struct WindowTemplate gUnknown_0861F350[] =
.baseBlock = 472
},
{
.priority = 1,
.bg = 1,
.tilemapLeft = 22,
.tilemapTop = 15,
.width = 7,
@@ -254,7 +247,7 @@ static const struct WindowTemplate gUnknown_0861F350[] =
.baseBlock = 472
},
{
.priority = 1,
.bg = 1,
.tilemapLeft = 15,
.tilemapTop = 15,
.width = 14,
@@ -263,7 +256,7 @@ static const struct WindowTemplate gUnknown_0861F350[] =
.baseBlock = 472
},
{
.priority = 1,
.bg = 1,
.tilemapLeft = 15,
.tilemapTop = 13,
.width = 14,
@@ -272,7 +265,7 @@ static const struct WindowTemplate gUnknown_0861F350[] =
.baseBlock = 472
},
{
.priority = 1,
.bg = 1,
.tilemapLeft = 24,
.tilemapTop = 15,
.width = 5,
@@ -949,7 +942,7 @@ static void HandleFewMenuActionsInput(u8 taskId)
{
if (sub_81221EC() != TRUE)
{
s32 id = Menu_ProcessInputNoWrapAround();
s32 id = Menu_ProcessInputNoWrap();
switch (id)
{
case -2:
@@ -1464,7 +1457,7 @@ static void sub_81C6DAC(u8 taskId, const struct YesNoFuncTable *yesNoTable)
void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, void (*callback)(u8 taskId))
{
FillWindowPixelBuffer(2, 0x11);
DisplayMessageAndContinueTask(taskId, 2, 0xA, 0xD, 1, GetPlayerTextSpeed(), str, callback);
DisplayMessageAndContinueTask(taskId, 2, 0xA, 0xD, 1, GetPlayerTextSpeedDelay(), str, callback);
schedule_bg_copy_tilemap_to_vram(1);
}
+2 -2
View File
@@ -65,7 +65,7 @@ static const struct BgTemplate sTrainerHillRecordsBgTemplates[] =
static const struct WindowTemplate sTrainerHillRecordsWindowTemplates[] =
{
{
.priority = 0,
.bg = 0,
.tilemapLeft = 2,
.tilemapTop = 1,
.width = 26,
@@ -78,7 +78,7 @@ static const struct WindowTemplate sTrainerHillRecordsWindowTemplates[] =
static const struct WindowTemplate sLinkBattleRecordsWindow =
{
.priority = 0,
.bg = 0,
.tilemapLeft = 2,
.tilemapTop = 1,
.width = 26,
+101 -110
View File
@@ -43,33 +43,23 @@
#include "battle_setup.h"
#include "overworld.h"
#include "party_menu.h"
#include "battle_arena.h"
#include "battle_pike.h"
#include "battle_pyramid.h"
extern u16 gBattle_BG1_X;
extern u16 gBattle_BG1_Y;
extern u16 gBattle_BG2_X;
extern u16 gBattle_BG2_Y;
extern u16 gBattle_BG3_X;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern const u8* const gBattleScriptsForMoveEffects[];
// functions
extern void sub_81A5718(u8 battlerId); // battle frontier 2
extern void sub_81A56B4(void); // battle frontier 2
extern void ShowSelectMovePokemonSummaryScreen(struct Pokemon* party, u8 monPartyId, u8 monCount, void (*callback)(void), u16 move); // pokemon summary screen
extern u8 sub_81C1B94(void); // pokemon summary screen
extern void sub_81D388C(struct Pokemon* mon, void* statStoreLocation); // pokenav.s
extern void sub_81D3640(u8 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); // pokenav.s
extern void sub_81D3784(u8 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); // pokenav.s
extern u8* GetMonNickname(struct Pokemon* mon, u8* dst); // party_menu
extern u8 sub_81A5258(u8* arg0); // battle frontier 2
extern void sub_81A5BF8(void); // battle frontier 2
extern void sub_81A5D44(void); // battle frontier 2
extern void sub_81B8E80(u8 battlerId, u8, u8); // party menu
extern bool8 sub_81B1250(void); // ?
extern bool8 InBattlePike(void);
extern bool8 InBattlePyramid(void);
extern u16 GetBattlePyramidPickupItemId(void);
extern u8 sub_813B21C(void);
extern u16 get_unknown_box_id(void);
@@ -731,7 +721,7 @@ static const u8* const sMoveEffectBS_Ptrs[] =
static const struct WindowTemplate sUnusedWinTemplate = {0, 1, 3, 7, 0xF, 0x1F, 0x3F};
static const u16 sUnknown_0831C2C8[] = INCBIN_U16("graphics/battle_interface/unk_battlebox.gbapal");
static const u8 sUnknown_0831C2E8[] = INCBIN_U8("graphics/battle_interface/unk_battlebox.4bpp.lz");
static const u32 sUnknown_0831C2E8[] = INCBIN_U32("graphics/battle_interface/unk_battlebox.4bpp.lz");
// unused
static const u8 sRubyLevelUpStatBoxStats[] =
@@ -952,7 +942,7 @@ static void atk00_attackcanceler(void)
return;
if (AbilityBattleEffects(ABILITYEFFECT_MOVES_BLOCK, gBattlerTarget, 0, 0, 0))
return;
if (!gBattleMons[gBattlerAttacker].pp[gCurrMovePos] && gCurrentMove != MOVE_STRUGGLE && !(gHitMarker & 0x800200)
if (!gBattleMons[gBattlerAttacker].pp[gCurrMovePos] && gCurrentMove != MOVE_STRUGGLE && !(gHitMarker & (HITMARKER_x800000 | HITMARKER_NO_ATTACKSTRING))
&& !(gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS))
{
gBattlescriptCurrInstr = BattleScript_NoPPForMove;
@@ -3288,7 +3278,7 @@ static void atk23_getexp(void)
u16 calculatedExp;
s32 viaSentIn;
for (viaSentIn = 0, i = 0; i < 6; i++)
for (viaSentIn = 0, i = 0; i < PARTY_SIZE; i++)
{
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) == SPECIES_NONE || GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0)
continue;
@@ -3546,10 +3536,10 @@ static void atk24(void)
}
else
{
for (i = 0; i < 6; i++)
for (i = 0; i < PARTY_SIZE; i++)
{
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)
&& (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->field_2A0 & gBitTable[i])))
&& (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->arenaLostPlayerMons & gBitTable[i])))
{
HP_count += GetMonData(&gPlayerParty[i], MON_DATA_HP);
}
@@ -3559,10 +3549,10 @@ static void atk24(void)
if (HP_count == 0)
gBattleOutcome |= B_OUTCOME_LOST;
for (HP_count = 0, i = 0; i < 6; i++)
for (HP_count = 0, i = 0; i < PARTY_SIZE; i++)
{
if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES) && !GetMonData(&gEnemyParty[i], MON_DATA_IS_EGG)
&& (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->field_2A1 & gBitTable[i])))
&& (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->arenaLostOpponentMons & gBitTable[i])))
{
HP_count += GetMonData(&gEnemyParty[i], MON_DATA_HP);
}
@@ -4243,7 +4233,7 @@ static void atk3C_return(void)
static void atk3D_end(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
sub_81A5718(gBattlerAttacker);
BattleArena_AddSkillPoints(gBattlerAttacker);
gMoveResultFlags = 0;
gActiveBattler = 0;
@@ -4955,7 +4945,7 @@ static void atk4D_switchindataupdate(void)
if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS)
{
for (i = 0; i < BATTLE_STATS_NO; i++)
for (i = 0; i < NUM_BATTLE_STATS; i++)
{
gBattleMons[gActiveBattler].statStages[i] = oldData.statStages[i];
}
@@ -5000,7 +4990,7 @@ static void atk4E_switchinanim(void)
gBattlescriptCurrInstr += 3;
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
sub_81A56B4();
BattleArena_InitPoints();
}
static void atk4F_jumpifcantswitch(void)
@@ -6380,7 +6370,7 @@ static void PutLevelAndGenderOnLvlUpBox(void)
{
u16 monLevel;
u8 monGender;
struct TextSubPrinter subPrinter;
struct TextPrinterTemplate printerTemplate;
u8 *txtPtr;
u32 var;
@@ -6388,21 +6378,21 @@ static void PutLevelAndGenderOnLvlUpBox(void)
monGender = GetMonGender(&gPlayerParty[gBattleStruct->expGetterMonId]);
GetMonNickname(&gPlayerParty[gBattleStruct->expGetterMonId], gStringVar4);
subPrinter.current_text_offset = gStringVar4;
subPrinter.windowId = 14;
subPrinter.fontId = 0;
subPrinter.x = 32;
subPrinter.y = 0;
subPrinter.currentX = 32;
subPrinter.currentY = 0;
subPrinter.letterSpacing = 0;
subPrinter.lineSpacing = 0;
subPrinter.fontColor_l = TEXT_COLOR_TRANSPARENT;
subPrinter.fgColor = TEXT_COLOR_WHITE;
subPrinter.bgColor = TEXT_COLOR_TRANSPARENT;
subPrinter.shadowColor = TEXT_COLOR_DARK_GREY;
printerTemplate.currentChar = gStringVar4;
printerTemplate.windowId = 14;
printerTemplate.fontId = 0;
printerTemplate.x = 32;
printerTemplate.y = 0;
printerTemplate.currentX = 32;
printerTemplate.currentY = 0;
printerTemplate.letterSpacing = 0;
printerTemplate.lineSpacing = 0;
printerTemplate.unk = 0;
printerTemplate.fgColor = TEXT_COLOR_WHITE;
printerTemplate.bgColor = TEXT_COLOR_TRANSPARENT;
printerTemplate.shadowColor = TEXT_COLOR_DARK_GREY;
AddTextPrinter(&subPrinter, 0xFF, NULL);
AddTextPrinter(&printerTemplate, 0xFF, NULL);
txtPtr = gStringVar4;
gStringVar4[0] = CHAR_SPECIAL_F9;
@@ -6432,9 +6422,9 @@ static void PutLevelAndGenderOnLvlUpBox(void)
*(txtPtr++) = EOS;
}
subPrinter.y = 10;
subPrinter.currentY = 10;
AddTextPrinter(&subPrinter, 0xFF, NULL);
printerTemplate.y = 10;
printerTemplate.currentY = 10;
AddTextPrinter(&printerTemplate, 0xFF, NULL);
CopyWindowToVram(14, 2);
}
@@ -6697,34 +6687,34 @@ static void atk76_various(void)
gBattleCommunication[MULTISTRING_CHOOSER] = sUnknown_0831C4F8[GetNatureFromPersonality(gBattleMons[gActiveBattler].personality)];
}
break;
case 9:
i = sub_81A5258(gBattleCommunication);
case VARIOUS_ARENA_JUDGMENT_WINDOW:
i = BattleArena_ShowJudgmentWindow(&gBattleCommunication[0]);
if (i == 0)
return;
gBattleCommunication[1] = i;
break;
case 10:
case VARIOUS_ARENA_OPPONENT_MON_LOST:
gBattleMons[1].hp = 0;
gHitMarker |= HITMARKER_FAINTED(1);
gBattleStruct->field_2A1 |= gBitTable[gBattlerPartyIndexes[1]];
gBattleStruct->arenaLostOpponentMons |= gBitTable[gBattlerPartyIndexes[1]];
gDisableStructs[1].truantUnknownBit = 1;
break;
case 11:
case VARIOUS_ARENA_PLAYER_MON_LOST:
gBattleMons[0].hp = 0;
gHitMarker |= HITMARKER_FAINTED(0);
gHitMarker |= HITMARKER_x400000;
gBattleStruct->field_2A0 |= gBitTable[gBattlerPartyIndexes[0]];
gBattleStruct->arenaLostPlayerMons |= gBitTable[gBattlerPartyIndexes[0]];
gDisableStructs[0].truantUnknownBit = 1;
break;
case 12:
case VARIOUS_ARENA_BOTH_MONS_LOST:
gBattleMons[0].hp = 0;
gBattleMons[1].hp = 0;
gHitMarker |= HITMARKER_FAINTED(0);
gHitMarker |= HITMARKER_FAINTED(1);
gHitMarker |= HITMARKER_x400000;
gBattleStruct->field_2A0 |= gBitTable[gBattlerPartyIndexes[0]];
gBattleStruct->field_2A1 |= gBitTable[gBattlerPartyIndexes[1]];
gBattleStruct->arenaLostPlayerMons |= gBitTable[gBattlerPartyIndexes[0]];
gBattleStruct->arenaLostOpponentMons |= gBitTable[gBattlerPartyIndexes[1]];
gDisableStructs[0].truantUnknownBit = 1;
gDisableStructs[1].truantUnknownBit = 1;
break;
@@ -6738,11 +6728,11 @@ static void atk76_various(void)
case 15:
sub_81A5D44();
break;
case 16:
case VARIOUS_ARENA_JUDGMENT_STRING:
BattleStringExpandPlaceholdersToDisplayedString(gRefereeStringsTable[gBattlescriptCurrInstr[1]]);
BattlePutTextOnWindow(gDisplayedStringBattle, 0x16);
break;
case 17:
case VARIOUS_ARENA_WAIT_STRING:
if (IsTextPrinterActive(0x16))
return;
break;
@@ -6775,8 +6765,8 @@ static void atk76_various(void)
case VARIOUS_VOLUME_UP:
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100);
break;
case 23:
gBattleStruct->field_2A2 |= gBitTable[gActiveBattler];
case VARIOUS_SET_ALREADY_STATUS_MOVE_ATTEMPT:
gBattleStruct->alreadyStatusedMoveAttempt |= gBitTable[gActiveBattler];
break;
case 24:
if (sub_805725C(gActiveBattler))
@@ -7409,7 +7399,7 @@ static void atk8A_normalisebuffs(void) // haze
for (i = 0; i < gBattlersCount; i++)
{
for (j = 0; j < BATTLE_STATS_NO; j++)
for (j = 0; j < NUM_BATTLE_STATS; j++)
gBattleMons[i].statStages[j] = 6;
}
@@ -9037,7 +9027,7 @@ static void atkBD_copyfoestats(void) // psych up
{
s32 i;
for (i = 0; i < BATTLE_STATS_NO; i++)
for (i = 0; i < NUM_BATTLE_STATS; i++)
{
gBattleMons[gBattlerAttacker].statStages[i] = gBattleMons[gBattlerTarget].statStages[i];
}
@@ -9863,71 +9853,72 @@ static void atkE4_getsecretpowereffect(void)
static void atkE5_pickup(void)
{
if (!InBattlePike())
s32 i;
u16 species, heldItem;
u8 ability;
if (InBattlePike())
{
s32 i;
u16 species, heldItem;
u8 ability;
if (InBattlePyramid())
}
else if (InBattlePyramid())
{
for (i = 0; i < PARTY_SIZE; i++)
{
for (i = 0; i < 6; i++)
species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY))
ability = gBaseStats[species].ability2;
else
ability = gBaseStats[species].ability1;
if (ability == ABILITY_PICKUP
&& species != 0
&& species != SPECIES_EGG
&& heldItem == ITEM_NONE
&& (Random() % 10) == 0)
{
species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY))
ability = gBaseStats[species].ability2;
else
ability = gBaseStats[species].ability1;
if (ability == ABILITY_PICKUP
&& species != 0
&& species != SPECIES_EGG
&& heldItem == ITEM_NONE
&& (Random() % 10) == 0)
{
heldItem = GetBattlePyramidPickupItemId();
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem);
}
heldItem = GetBattlePyramidPickupItemId();
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem);
}
}
else
}
else
{
for (i = 0; i < PARTY_SIZE; i++)
{
for (i = 0; i < 6; i++)
species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY))
ability = gBaseStats[species].ability2;
else
ability = gBaseStats[species].ability1;
if (ability == ABILITY_PICKUP
&& species != 0
&& species != SPECIES_EGG
&& heldItem == ITEM_NONE
&& (Random() % 10) == 0)
{
species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
s32 j;
s32 rand = Random() % 100;
u8 lvlDivBy10 = (GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) - 1) / 10;
if (lvlDivBy10 > 9)
lvlDivBy10 = 9;
if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY))
ability = gBaseStats[species].ability2;
else
ability = gBaseStats[species].ability1;
if (ability == ABILITY_PICKUP
&& species != 0
&& species != SPECIES_EGG
&& heldItem == ITEM_NONE
&& (Random() % 10) == 0)
for (j = 0; j < 9; j++)
{
s32 j;
s32 rand = Random() % 100;
u8 lvlDivBy10 = (GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) - 1) / 10;
if (lvlDivBy10 > 9)
lvlDivBy10 = 9;
for (j = 0; j < 9; j++)
if (sPickupProbabilities[j] > rand)
{
if (sPickupProbabilities[j] > rand)
{
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &sPickupItems[lvlDivBy10 + j]);
break;
}
else if (rand == 99 || rand == 98)
{
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &sRarePickupItems[lvlDivBy10 + (99 - rand)]);
break;
}
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &sPickupItems[lvlDivBy10 + j]);
break;
}
else if (rand == 99 || rand == 98)
{
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &sRarePickupItems[lvlDivBy10 + (99 - rand)]);
break;
}
}
}
+14 -18
View File
@@ -1,6 +1,7 @@
#include "global.h"
#include "constants/trainers.h"
#include "battle.h"
#include "constants/battle_setup.h"
#include "battle_setup.h"
#include "battle_transition.h"
#include "main.h"
@@ -31,7 +32,10 @@
#include "string_util.h"
#include "overworld.h"
#include "field_weather.h"
#include "battle_tower.h"
#include "gym_leader_rematch.h"
#include "battle_pike.h"
#include "battle_pyramid.h"
#include "constants/map_types.h"
#include "constants/battle_frontier.h"
@@ -52,8 +56,6 @@ struct TrainerBattleParameter
u8 ptrType;
};
extern bool8 InBattlePyramid(void);
extern bool8 InBattlePike(void);
extern bool32 InTrainerHill(void);
extern bool32 FieldPoisonEffectIsRunning(void);
extern void RestartWildEncounterImmunitySteps(void);
@@ -62,19 +64,13 @@ extern void sub_81BE72C(void);
extern void sub_808BCF4(void);
extern void sub_80EECC8(void);
extern void sub_80AF6F0(void);
extern u16 sub_81A9AA8(u8 localId);
extern u16 sub_81D6180(u8 localId);
extern bool8 GetBattlePyramidTrainerFlag(u8 eventObjId);
extern bool8 GetTrainerHillTrainerFlag(u8 eventObjId);
extern bool8 sub_81D5C18(void);
extern void sub_816306C(u8 a0);
extern void sub_8163048(u8 a0);
extern void sub_81A9B04(void);
extern void sub_81D639C(void);
extern void sub_81D6384(void);
extern void sub_81D61E8(void);
extern void sub_80982B8(void);
extern void sub_81A9EDC(u16 a0);
extern void CopyTrainerHillTrainerText(u8 a0, u16 arg1);
// this file's functions
@@ -665,7 +661,7 @@ u8 BattleSetup_GetTerrainId(void)
return BATTLE_TERRAIN_MOUNTAIN;
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
{
if (MetatileBehavior_GetBridgeSth(tileBehavior))
if (MetatileBehavior_GetBridgeType(tileBehavior))
return BATTLE_TERRAIN_POND;
if (MetatileBehavior_IsBridge(tileBehavior) == TRUE)
return BATTLE_TERRAIN_WATER;
@@ -885,8 +881,8 @@ u8 sub_80B100C(s32 arg0)
return sUnknown_0854FE98[Random() % ARRAY_COUNT(sUnknown_0854FE98)];
}
var = gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.field_CB2 * 2 + 0]
+ gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.field_CB2 * 2 + 1];
var = gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum * 2 + 0]
+ gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum * 2 + 1];
return sUnknown_0854FE98[var % ARRAY_COUNT(sUnknown_0854FE98)];
}
@@ -1090,7 +1086,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
switch (sTrainerBattleMode)
{
case TRAINER_BATTLE_NORMAL_NO_INTRO_TEXT:
case TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT:
TrainerBattleLoadArgs(sOrdinaryNoIntroBattleParams, data);
return EventScript_2713C2;
case TRAINER_BATTLE_DOUBLE:
@@ -1132,12 +1128,12 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
{
TrainerBattleLoadArgs(sOrdinaryBattleParams, data);
SetMapVarsToTrainer();
gTrainerBattleOpponent_A = sub_81A9AA8(gSpecialVar_LastTalked);
gTrainerBattleOpponent_A = LocalIdToPyramidTrainerId(gSpecialVar_LastTalked);
}
else
{
TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data);
gTrainerBattleOpponent_B = sub_81A9AA8(gSpecialVar_LastTalked);
gTrainerBattleOpponent_B = LocalIdToPyramidTrainerId(gSpecialVar_LastTalked);
}
return EventScript_271362;
case TRAINER_BATTLE_SET_TRAINER_A:
@@ -1264,7 +1260,7 @@ void BattleSetup_StartTrainerBattle(void)
if (gNoOfApproachingTrainers == 2)
{
sub_816306C(1);
FillFrontierTrainersParties(1);
ZeroMonData(&gEnemyParty[1]);
ZeroMonData(&gEnemyParty[2]);
ZeroMonData(&gEnemyParty[4]);
@@ -1272,7 +1268,7 @@ void BattleSetup_StartTrainerBattle(void)
}
else
{
sub_8163048(1);
FillFrontierTrainerParty(1);
ZeroMonData(&gEnemyParty[1]);
ZeroMonData(&gEnemyParty[2]);
}
@@ -1361,9 +1357,9 @@ void ShowTrainerIntroSpeech(void)
if (InBattlePyramid())
{
if (gNoOfApproachingTrainers == 0 || gNoOfApproachingTrainers == 1)
sub_81A9EDC(sub_81A9AA8(gSpecialVar_LastTalked));
CopyPyramidTrainerSpeechBefore(LocalIdToPyramidTrainerId(gSpecialVar_LastTalked));
else
sub_81A9EDC(sub_81A9AA8(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId));
CopyPyramidTrainerSpeechBefore(LocalIdToPyramidTrainerId(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId));
sub_80982B8();
}
+42 -237
View File
@@ -8,8 +8,9 @@
#include "battle_tower.h"
#include "random.h"
#include "item.h"
#include "battle_factory.h"
#include "battle_frontier_2.h"
#include "battle_factory_screen.h"
#include "frontier_util.h"
#include "string_util.h"
#include "constants/items.h"
#include "constants/region_map_sections.h"
@@ -17,8 +18,6 @@ extern const struct BattleFrontierTrainer gSlateportBattleTentTrainers[];
extern const struct FacilityMon gSlateportBattleTentMons[];
extern const u16 gBattleFrontierHeldItems[];
extern u16 gUnknown_03006298[];
// This file's functions.
static void sub_81B99D4(void);
static void sub_81B9A28(void);
@@ -102,7 +101,7 @@ void sub_81B99B4(void)
static void sub_81B99D4(void)
{
gSaveBlock2Ptr->frontier.field_CA8 = 0;
gSaveBlock2Ptr->frontier.field_CB2 = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = FALSE;
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}
@@ -120,13 +119,13 @@ static void sub_81B9A44(void)
static void sub_81B9A60(void)
{
gTrainerBattleOpponent_A = (u32)((Random() % 255) * 5) / 64;
sub_8162614(gTrainerBattleOpponent_A, 0);
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
}
static void sub_81B9A90(void)
{
if (gTrainerBattleOpponent_A < 300)
ConvertBattleFrontierTrainerSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
}
static void sub_81B9ABC(void)
@@ -164,7 +163,7 @@ void sub_81B9B80(void)
static void sub_81B9BA0(void)
{
gSaveBlock2Ptr->frontier.field_CA8 = 0;
gSaveBlock2Ptr->frontier.field_CB2 = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = FALSE;
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}
@@ -219,7 +218,7 @@ void sub_81B9D08(void)
static void sub_81B9D28(void)
{
gSaveBlock2Ptr->frontier.field_CA8 = 0;
gSaveBlock2Ptr->frontier.field_CB2 = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = FALSE;
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}
@@ -278,17 +277,17 @@ bool8 sub_81B9E94(void)
&& ((gMapHeader.mapLayoutId == 385) | (gMapHeader.mapLayoutId == 386)));
}
// This function was written very...oddly.
#ifdef NONMATCHING
static void sub_81B9EC0(void)
{
s32 i, j;
u16 currMonId = 0, currSpecies = 0;
u8 firstMonId;
u16 monSetId;
u16 currSpecies;
u16 species[PARTY_SIZE];
u16 monIds[PARTY_SIZE];
u16 heldItems[PARTY_SIZE];
s32 zero = 0;
firstMonId = 0;
gFacilityTrainers = gSlateportBattleTentTrainers;
for (i = 0; i < PARTY_SIZE; i++)
{
@@ -298,250 +297,56 @@ static void sub_81B9EC0(void)
}
gFacilityTrainerMons = gSlateportBattleTentMons;
currSpecies = 0;
for (i = 0; i != PARTY_SIZE;)
i = 0;
while (i != PARTY_SIZE)
{
// Cannot have two pokemon of the same species.
currMonId = Random() % 70;
for (j = zero; j < i + zero; j++)
monSetId = Random() % 70;
for (j = firstMonId; j < firstMonId + i; j++)
{
if (monIds[j] == currMonId)
u16 monId = monIds[j];
if (monIds[j] == monSetId)
break;
if (species[j] == gFacilityTrainerMons[currMonId].species)
if (species[j] == gFacilityTrainerMons[monSetId].species)
{
if (currSpecies == 0)
currSpecies = gFacilityTrainerMons[currMonId].species;
currSpecies = gFacilityTrainerMons[monSetId].species;
else
break;
}
}
if (j != i + zero)
if (j != i + firstMonId)
continue;
// Cannot have two same held items.
for (j = zero; j < i + zero; j++)
for (j = firstMonId; j < i + firstMonId; j++)
{
if (heldItems[j] == 0)
continue;
if (heldItems[j] == gBattleFrontierHeldItems[gFacilityTrainerMons[currMonId].itemTableId])
if (heldItems[j] != 0 && heldItems[j] == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId])
{
if (gFacilityTrainerMons[currMonId].species == currSpecies)
if (gFacilityTrainerMons[monSetId].species == currSpecies)
currSpecies = 0;
else
break;
break;
}
}
if (j != i + zero)
if (j != i + firstMonId)
continue;
gSaveBlock2Ptr->frontier.field_E70[i].monId = currMonId;
species[i] = gFacilityTrainerMons[currMonId].species;
heldItems[i] = gBattleFrontierHeldItems[gFacilityTrainerMons[currMonId].itemTableId];
monIds[i] = currMonId;
gSaveBlock2Ptr->frontier.field_E70[i].monId = monSetId;
species[i] = gFacilityTrainerMons[monSetId].species;
heldItems[i] = gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId];
monIds[i] = monSetId;
i++;
}
}
#else
NAKED
static void sub_81B9EC0(void)
{
asm_unified("\n\
push {r4-r7,lr}\n\
mov r7, r10\n\
mov r6, r9\n\
mov r5, r8\n\
push {r5-r7}\n\
sub sp, 0x3C\n\
ldr r1, =gFacilityTrainers\n\
ldr r0, =gSlateportBattleTentTrainers\n\
str r0, [r1]\n\
add r0, sp, 0xC\n\
mov r9, r0\n\
mov r1, sp\n\
adds r1, 0x18\n\
str r1, [sp, 0x2C]\n\
ldr r5, =gFacilityTrainerMons\n\
ldr r4, =gSlateportBattleTentMons\n\
movs r2, 0\n\
adds r3, r1, 0\n\
mov r1, r9\n\
mov r0, sp\n\
movs r6, 0x5\n\
mov r8, r6\n\
_081B9EEC:\n\
strh r2, [r0]\n\
strh r2, [r1]\n\
strh r2, [r3]\n\
adds r3, 0x2\n\
adds r1, 0x2\n\
adds r0, 0x2\n\
movs r7, 0x1\n\
negs r7, r7\n\
add r8, r7\n\
mov r6, r8\n\
cmp r6, 0\n\
bge _081B9EEC\n\
str r4, [r5]\n\
movs r7, 0\n\
mov r10, r7\n\
movs r0, 0\n\
mov r8, r0\n\
ldr r1, [sp, 0x2C]\n\
str r1, [sp, 0x30]\n\
mov r2, sp\n\
str r2, [sp, 0x34]\n\
lsls r6, r0, 1\n\
str r6, [sp, 0x24]\n\
add r6, r9\n\
str r6, [sp, 0x28]\n\
_081B9F1E:\n\
bl Random\n\
lsls r0, 16\n\
lsrs r0, 16\n\
movs r1, 0x46\n\
bl __umodsi3\n\
lsls r0, 16\n\
lsrs r5, r0, 16\n\
movs r2, 0\n\
mov r7, r8\n\
adds r6, r2, r7\n\
cmp r2, r6\n\
bge _081B9F7C\n\
ldr r1, [sp, 0x28]\n\
ldrh r0, [r1]\n\
cmp r0, r5\n\
beq _081B9F7C\n\
ldr r0, =gFacilityTrainerMons\n\
ldr r1, [r0]\n\
lsls r0, r5, 4\n\
adds r4, r0, r1\n\
ldrh r7, [r4]\n\
mov r12, r7\n\
lsls r3, r2, 1\n\
ldr r1, [sp, 0x24]\n\
add r1, sp\n\
str r6, [sp, 0x38]\n\
_081B9F56:\n\
ldrh r0, [r1]\n\
cmp r0, r12\n\
bne _081B9F66\n\
mov r0, r10\n\
cmp r0, 0\n\
bne _081B9F7C\n\
ldrh r7, [r4]\n\
mov r10, r7\n\
_081B9F66:\n\
adds r3, 0x2\n\
adds r1, 0x2\n\
adds r2, 0x1\n\
ldr r0, [sp, 0x38]\n\
cmp r2, r0\n\
bge _081B9F7C\n\
mov r7, r9\n\
adds r0, r7, r3\n\
ldrh r0, [r0]\n\
cmp r0, r5\n\
bne _081B9F56\n\
_081B9F7C:\n\
cmp r2, r6\n\
bne _081BA01C\n\
movs r2, 0\n\
cmp r2, r6\n\
bge _081B9FD4\n\
ldr r0, =gBattleFrontierHeldItems\n\
mov r12, r0\n\
ldr r7, =gFacilityTrainerMons\n\
ldr r1, [sp, 0x24]\n\
ldr r0, [sp, 0x2C]\n\
adds r4, r1, r0\n\
_081B9F92:\n\
ldrh r3, [r4]\n\
cmp r3, 0\n\
beq _081B9FCC\n\
ldr r1, [r7]\n\
lsls r0, r5, 4\n\
adds r1, r0, r1\n\
ldrb r0, [r1, 0xA]\n\
lsls r0, 1\n\
add r0, r12\n\
ldrh r0, [r0]\n\
cmp r3, r0\n\
bne _081B9FCC\n\
ldrh r0, [r1]\n\
cmp r0, r10\n\
bne _081B9FD4\n\
movs r1, 0\n\
mov r10, r1\n\
b _081B9FD4\n\
.pool\n\
_081B9FCC:\n\
adds r4, 0x2\n\
adds r2, 0x1\n\
cmp r2, r6\n\
blt _081B9F92\n\
_081B9FD4:\n\
cmp r2, r6\n\
bne _081BA01C\n\
ldr r0, =gSaveBlock2Ptr\n\
ldr r1, [r0]\n\
mov r2, r8\n\
lsls r3, r2, 1\n\
adds r0, r3, r2\n\
lsls r0, 2\n\
adds r1, r0\n\
movs r6, 0xE7\n\
lsls r6, 4\n\
adds r1, r6\n\
strh r5, [r1]\n\
ldr r0, =gFacilityTrainerMons\n\
ldr r0, [r0]\n\
lsls r1, r5, 4\n\
adds r1, r0\n\
ldrh r0, [r1]\n\
ldr r7, [sp, 0x34]\n\
strh r0, [r7]\n\
ldr r2, =gBattleFrontierHeldItems\n\
ldrb r0, [r1, 0xA]\n\
lsls r0, 1\n\
adds r0, r2\n\
ldrh r0, [r0]\n\
ldr r1, [sp, 0x30]\n\
strh r0, [r1]\n\
add r3, r9\n\
strh r5, [r3]\n\
adds r1, 0x2\n\
str r1, [sp, 0x30]\n\
adds r2, r7, 0\n\
adds r2, 0x2\n\
str r2, [sp, 0x34]\n\
movs r6, 0x1\n\
add r8, r6\n\
_081BA01C:\n\
mov r7, r8\n\
cmp r7, 0x6\n\
beq _081BA024\n\
b _081B9F1E\n\
_081BA024:\n\
add sp, 0x3C\n\
pop {r3-r5}\n\
mov r8, r3\n\
mov r9, r4\n\
mov r10, r5\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
.pool\n\
");
}
#endif // NONMATCHING
static void sub_81BA040(void)
{
u16 trainerId;
s32 i, j, k;
register const u16 *monSetsPool asm("r9"); // Fix me. Compiler insists on moving that variable into stack.
register const u16 *monSets asm("r9"); // Fix me. Compiler insists on moving that variable into stack.
u16 species[3];
u16 heldItems[3];
s32 monPoolCount = 0;
s32 setsCount = 0;
gFacilityTrainers = gSlateportBattleTentTrainers;
gFacilityTrainerMons = gSlateportBattleTentMons;
@@ -551,29 +356,29 @@ static void sub_81BA040(void)
do
{
trainerId = Random() % 30;
for (i = 0; i < gSaveBlock2Ptr->frontier.field_CB2; i++)
for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++)
{
if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
break;
}
} while (i != gSaveBlock2Ptr->frontier.field_CB2);
} while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum);
gTrainerBattleOpponent_A = trainerId;
while (gFacilityTrainers[gTrainerBattleOpponent_A].btMonPool[monPoolCount] != 0xFFFF)
monPoolCount++;
if (monPoolCount > 8)
while (gFacilityTrainers[gTrainerBattleOpponent_A].monSets[setsCount] != 0xFFFF)
setsCount++;
if (setsCount > 8)
break;
monPoolCount = 0;
setsCount = 0;
}
if (gSaveBlock2Ptr->frontier.field_CB2 < 2)
gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.field_CB2] = gTrainerBattleOpponent_A;
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 2)
gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A;
monSetsPool = gFacilityTrainers[gTrainerBattleOpponent_A].btMonPool;
monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets;
i = 0;
while (i != 3)
{
sRandMonSetId = monSetsPool[Random() % monPoolCount];
sRandMonSetId = monSets[Random() % setsCount];
for (j = 0; j < 6; j++)
{
if (gFacilityTrainerMons[sRandMonSetId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_E70[j].monId].species)
+2724 -15
View File
File diff suppressed because it is too large Load Diff
+16 -18
View File
@@ -1,25 +1,26 @@
#include "global.h"
#include "battle.h"
#include "battle_transition.h"
#include "unk_transition.h"
#include "main.h"
#include "overworld.h"
#include "task.h"
#include "palette.h"
#include "trig.h"
#include "field_effect.h"
#include "bg.h"
#include "decompress.h"
#include "field_camera.h"
#include "field_effect.h"
#include "gpu_regs.h"
#include "main.h"
#include "malloc.h"
#include "overworld.h"
#include "palette.h"
#include "random.h"
#include "sprite.h"
#include "scanline_effect.h"
#include "sound.h"
#include "sprite.h"
#include "task.h"
#include "trig.h"
#include "unk_transition.h"
#include "util.h"
#include "constants/field_effects.h"
#include "constants/songs.h"
#include "constants/trainers.h"
#include "field_camera.h"
#include "scanline_effect.h"
#include "malloc.h"
#include "gpu_regs.h"
#include "decompress.h"
#include "bg.h"
#include "util.h"
struct TransitionData
{
@@ -56,9 +57,6 @@ struct StructRectangularSpiral
typedef bool8 (*TransitionStateFunc)(struct Task *task);
typedef bool8 (*TransitionSpriteCallback)(struct Sprite *sprite);
extern u16 gBattle_BG0_X;
extern u16 gBattle_BG0_Y;
extern const struct OamData gEventObjectBaseOam_32x32;
extern void sub_80AC3D0(void);
+5 -5
View File
@@ -1200,8 +1200,8 @@ bool8 HandleWishPerishSongOnTurnEnd(void)
for (i = 0; i < 2; i++)
CancelMultiTurnMoves(i);
gBattlescriptCurrInstr = BattleScript_82DB8F3;
BattleScriptExecute(BattleScript_82DB8F3);
gBattlescriptCurrInstr = BattleScript_ArenaDoJudgment;
BattleScriptExecute(BattleScript_ArenaDoJudgment);
gBattleStruct->wishPerishSongState++;
return TRUE;
}
@@ -2616,7 +2616,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
gBattleStruct->moneyMultiplier = 2;
break;
case HOLD_EFFECT_RESTORE_STATS:
for (i = 0; i < BATTLE_STATS_NO; i++)
for (i = 0; i < NUM_BATTLE_STATS; i++)
{
if (gBattleMons[battlerId].statStages[i] < 6)
{
@@ -2687,7 +2687,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
}
break;
case HOLD_EFFECT_RESTORE_STATS:
for (i = 0; i < BATTLE_STATS_NO; i++)
for (i = 0; i < NUM_BATTLE_STATS; i++)
{
if (gBattleMons[battlerId].statStages[i] < 6)
{
@@ -3163,7 +3163,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
}
break;
case HOLD_EFFECT_RESTORE_STATS:
for (i = 0; i < BATTLE_STATS_NO; i++)
for (i = 0; i < NUM_BATTLE_STATS; i++)
{
if (gBattleMons[battlerId].statStages[i] < 6)
{
+53 -40
View File
@@ -1,23 +1,35 @@
#include "global.h"
#include "berry.h"
#include "main.h"
#include "item.h"
#include "constants/items.h"
#include "text.h"
#include "random.h"
#include "event_data.h"
#include "field_control_avatar.h"
#include "fieldmap.h"
#include "item.h"
#include "item_menu.h"
#include "main.h"
#include "random.h"
#include "string_util.h"
#include "text.h"
#include "constants/event_object_movement_constants.h"
#include "constants/items.h"
extern u8 EventObjectGetBerryTreeId(u8 eventObjectId);
extern void sub_8092EF0(u8 mapId, u8 mapNumber, u8 mapGroup);
extern void CB2_ChooseBerry(void);
extern const u8* GetEventObjectScriptPointerPlayerFacing(void);
extern bool8 IsBerryTreeSparkling(u8, u8, u8);
extern u16 gSpecialVar_ItemId;
extern const u8 BerryTreeScript[];
static u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry);
static bool32 BerryTreeGrow(struct BerryTree *tree);
static u16 BerryTypeToItemId(u16 berry);
static u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree);
static u8 GetNumStagesWateredByBerryTreeId(u8 id);
static u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water);
static u8 CalcBerryYield(struct BerryTree *tree);
static u8 GetBerryCountByBerryTreeId(u8 id);
static u16 GetStageDurationByBerryType(u8);
//.rodata
static const u8 sBerryDescriptionPart1_Cheri[] = _("Blooms with delicate pretty flowers.");
static const u8 sBerryDescriptionPart2_Cheri[] = _("The bright red BERRY is very spicy.");
static const u8 sBerryDescriptionPart1_Chesto[] = _("The BERRYs thick skin and fruit are");
@@ -845,6 +857,7 @@ const struct UnkStruct_0858AB24 gUnknown_0858AB24[] = {
const struct BerryTree gBlankBerryTree = {};
//.text
// unused
void ClearEnigmaBerries(void)
{
@@ -860,7 +873,7 @@ void SetEnigmaBerry(u8 *src)
dest[i] = src[i];
}
u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry)
static u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry)
{
u32 i;
u32 checksum;
@@ -889,12 +902,12 @@ bool32 IsEnigmaBerryValid(void)
const struct Berry *GetBerryInfo(u8 berry)
{
if (berry == 0x2B && IsEnigmaBerryValid())
if (berry == ITEM_TO_BERRY(ITEM_ENIGMA_BERRY) && IsEnigmaBerryValid())
return (struct Berry*)(&gSaveBlock1Ptr->enigmaBerry.berry);
else
{
if (berry == 0 || berry > 0x2B)
berry = 1;
if (berry == BERRY_NONE || berry > ITEM_TO_BERRY(LAST_BERRY_INDEX))
berry = ITEM_TO_BERRY(FIRST_BERRY_INDEX);
return &gBerries[berry - 1];
}
}
@@ -910,16 +923,16 @@ bool32 EventObjectInteractionWaterBerryTree(void)
switch (tree->stage)
{
case 1:
case BERRY_STAGE_PLANTED:
tree->watered1 = TRUE;
break;
case 2:
case BERRY_STAGE_SPROUTED:
tree->watered2 = TRUE;
break;
case 3:
case BERRY_STAGE_TALLER:
tree->watered3 = TRUE;
break;
case 4:
case BERRY_STAGE_FLOWERING:
tree->watered4 = TRUE;
break;
default:
@@ -953,28 +966,28 @@ void ClearBerryTrees(void)
gSaveBlock1Ptr->berryTrees[i] = gBlankBerryTree;
}
bool32 BerryTreeGrow(struct BerryTree *tree)
static bool32 BerryTreeGrow(struct BerryTree *tree)
{
if (tree->growthSparkle)
return FALSE;
switch (tree->stage)
{
case 0:
case BERRY_STAGE_NO_BERRY:
return FALSE;
case 4:
case BERRY_STAGE_FLOWERING:
tree->berryYield = CalcBerryYield(tree);
case 1:
case 2:
case 3:
case BERRY_STAGE_PLANTED:
case BERRY_STAGE_SPROUTED:
case BERRY_STAGE_TALLER:
tree->stage++;
break;
case 5:
case BERRY_STAGE_BERRIES:
tree->watered1 = 0;
tree->watered2 = 0;
tree->watered3 = 0;
tree->watered4 = 0;
tree->berryYield = 0;
tree->stage = 2;
tree->stage = BERRY_STAGE_SPROUTED;
if (++tree->regrowthCount == 10)
*tree = gBlankBerryTree;
break;
@@ -1012,7 +1025,7 @@ void BerryTreeTimeUpdate(s32 minutes)
tree->minutesUntilNextStage = GetStageDurationByBerryType(tree->berry);
if (!BerryTreeGrow(tree))
break;
if (tree->stage == 5)
if (tree->stage == BERRY_STAGE_BERRIES)
tree->minutesUntilNextStage *= 4;
}
}
@@ -1028,7 +1041,7 @@ void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 sparkle)
tree->berry = berry;
tree->minutesUntilNextStage = GetStageDurationByBerryType(berry);
tree->stage = stage;
if (stage == 5)
if (stage == BERRY_STAGE_BERRIES)
{
tree->berryYield = CalcBerryYield(tree);
tree->minutesUntilNextStage *= 4;
@@ -1064,7 +1077,7 @@ u8 ItemIdToBerryType(u16 item)
return ITEM_TO_BERRY(item);
}
u16 BerryTypeToItemId(u16 berry)
static u16 BerryTypeToItemId(u16 berry)
{
u16 item = berry - 1;
@@ -1087,10 +1100,10 @@ void GetBerryCountStringByBerryType(u8 berry, u8* dest, u32 berryCount)
void ResetBerryTreeSparkleFlag(u8 id)
{
GetBerryTreeInfo(id)->growthSparkle = 0;
GetBerryTreeInfo(id)->growthSparkle = FALSE;
}
u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree)
static u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree)
{
u8 count = 0;
@@ -1105,12 +1118,12 @@ u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree)
return count;
}
u8 GetNumStagesWateredByBerryTreeId(u8 id)
static u8 GetNumStagesWateredByBerryTreeId(u8 id)
{
return BerryTreeGetNumStagesWatered(GetBerryTreeInfo(id));
}
u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water)
static u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water)
{
u32 randMin;
u32 randMax;
@@ -1133,7 +1146,7 @@ u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water)
}
}
u8 CalcBerryYield(struct BerryTree *tree)
static u8 CalcBerryYield(struct BerryTree *tree)
{
const struct Berry *berry = GetBerryInfo(tree->berry);
u8 min = berry->minYield;
@@ -1142,12 +1155,12 @@ u8 CalcBerryYield(struct BerryTree *tree)
return CalcBerryYieldInternal(max, min, BerryTreeGetNumStagesWatered(tree));
}
u8 GetBerryCountByBerryTreeId(u8 id)
static u8 GetBerryCountByBerryTreeId(u8 id)
{
return gSaveBlock1Ptr->berryTrees[id].berryYield;
}
u16 GetStageDurationByBerryType(u8 berry)
static u16 GetStageDurationByBerryType(u8 berry)
{
return GetBerryInfo(berry)->stageDuration * 60;
}
@@ -1156,18 +1169,18 @@ void EventObjectInteractionGetBerryTreeData(void)
{
u8 id;
u8 berry;
u8 unk;
u8 localId;
u8 group;
u8 num;
id = EventObjectGetBerryTreeId(gSelectedEventObject);
berry = GetBerryTypeByBerryTreeId(id);
ResetBerryTreeSparkleFlag(id);
unk = gSpecialVar_LastTalked;
localId = gSpecialVar_LastTalked;
num = gSaveBlock1Ptr->location.mapNum;
group = gSaveBlock1Ptr->location.mapGroup;
if (IsBerryTreeSparkling(unk, num, group))
gSpecialVar_0x8004 = 0xFF;
if (IsBerryTreeSparkling(localId, num, group))
gSpecialVar_0x8004 = BERRY_STAGE_SPARKLING;
else
gSpecialVar_0x8004 = GetStageByBerryTreeId(id);
gSpecialVar_0x8005 = GetNumStagesWateredByBerryTreeId(id);
@@ -1216,7 +1229,7 @@ void EventObjectInteractionRemoveBerryTree(void)
sub_8092EF0(gSpecialVar_LastTalked, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
}
u8 PlayerHasBerries(void)
bool8 PlayerHasBerries(void)
{
return IsBagPocketNonEmpty(POCKET_BERRIES);
}
@@ -1238,7 +1251,7 @@ void ResetBerryTreeSparkleFlags(void)
bottom = top + 8;
for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (gEventObjects[i].active && gEventObjects[i].movementType == 12)
if (gEventObjects[i].active && gEventObjects[i].movementType == MOVEMENT_TYPE_BERRY_TREE_GROWTH)
{
cam_left = gEventObjects[i].currentCoords.x;
cam_top = gEventObjects[i].currentCoords.y;
+24 -33
View File
@@ -32,6 +32,8 @@
#include "tv.h"
#include "item_menu.h"
#include "battle_records.h"
#include "graphics.h"
#include "new_game.h"
#define BLENDER_SCORE_BEST 0
#define BLENDER_SCORE_GOOD 1
@@ -131,20 +133,6 @@ struct BerryBlenderData
extern struct MusicPlayerInfo gMPlayInfo_SE2;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern u8 gInGameOpponentsNo;
extern u8 gUnknown_020322D5;
// graphics
extern const u8 gBerryBlenderArrowTiles[];
extern const u8 gBerryBlenderStartTiles[];
extern const u8 gBerryBlenderMarubatsuTiles[];
extern const u8 gBerryBlenderParticlesTiles[];
extern const u8 gBerryBlenderCountdownNumbersTiles[];
extern const u16 gBerryBlenderMiscPalette[];
extern const u16 gBerryBlenderArrowPalette[];
extern const u8 sBlenderCenterGfx[];
extern const u8 gUnknown_08D91DB8[];
extern const u8 gUnknown_08D927EC[];
// text
extern const u8 gText_SavingDontTurnOff2[];
@@ -206,18 +194,21 @@ static void sub_8083170(u16 a0, u16 a1);
static void Blender_PrintMadePokeblockString(struct Pokeblock *pokeblock, u8 *dst);
static bool32 TryAddContestLinkTvShow(struct Pokeblock *pokeblock, struct TvBlenderStruct *a1);
// ewram
// EWRAM
EWRAM_DATA static struct BerryBlenderData *sBerryBlenderData = NULL;
EWRAM_DATA static s32 sUnknown_020322A8[5] = {0};
EWRAM_DATA static s32 sUnknown_020322BC[5] = {0};
EWRAM_DATA static u32 sUnknown_020322D0 = 0;
// iwram
// IWRAM bss
IWRAM_DATA static s16 sUnknown_03000DE8[8];
IWRAM_DATA static s16 sUnknown_03000DF8[6];
IWRAM_DATA static s16 sUnknown_03000E04;
IWRAM_DATA static s16 sUnknown_03000E06;
// IWRAM common
u8 gInGameOpponentsNo;
// rom
static const u16 sBlenderCenterPal[] = INCBIN_U16("graphics/berry_blender/center.gbapal");
@@ -323,7 +314,7 @@ static const struct BgTemplate sBerryBlenderBgTemplates[3] =
static const struct WindowTemplate sBerryBlender_WindowTemplates[] =
{
{
.priority = 0,
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 6,
.width = 7,
@@ -332,7 +323,7 @@ static const struct WindowTemplate sBerryBlender_WindowTemplates[] =
.baseBlock = 0x28,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 22,
.tilemapTop = 6,
.width = 7,
@@ -341,7 +332,7 @@ static const struct WindowTemplate sBerryBlender_WindowTemplates[] =
.baseBlock = 0x36,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 12,
.width = 7,
@@ -350,7 +341,7 @@ static const struct WindowTemplate sBerryBlender_WindowTemplates[] =
.baseBlock = 0x44,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 22,
.tilemapTop = 12,
.width = 7,
@@ -359,7 +350,7 @@ static const struct WindowTemplate sBerryBlender_WindowTemplates[] =
.baseBlock = 0x52,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 2,
.tilemapTop = 15,
.width = 27,
@@ -368,7 +359,7 @@ static const struct WindowTemplate sBerryBlender_WindowTemplates[] =
.baseBlock = 0x60,
},
{
.priority = 0,
.bg = 0,
.tilemapLeft = 5,
.tilemapTop = 3,
.width = 21,
@@ -381,7 +372,7 @@ static const struct WindowTemplate sBerryBlender_WindowTemplates[] =
static const struct WindowTemplate sBlender_YesNoWindowTemplate =
{
.priority = 0,
.bg = 0,
.tilemapLeft = 21,
.tilemapTop = 9,
.width = 5,
@@ -846,7 +837,7 @@ static const u8 sUnknown_08339CD2[] =
static const struct WindowTemplate sBlenderRecordWindowTemplate =
{
.priority = 0,
.bg = 0,
.tilemapLeft = 6,
.tilemapTop = 4,
.width = 18,
@@ -1031,7 +1022,7 @@ static void sub_807FAC8(void)
sBerryBlenderData->mainState++;
break;
case 4:
if (Blender_PrintText(&sBerryBlenderData->textState, sText_BerryBlenderStart, GetPlayerTextSpeed()))
if (Blender_PrintText(&sBerryBlenderData->textState, sText_BerryBlenderStart, GetPlayerTextSpeedDelay()))
sBerryBlenderData->mainState++;
break;
case 5:
@@ -1124,7 +1115,7 @@ static void Blender_SetPlayerNamesLocal(u8 opponentsNum)
sBerryBlenderData->playersNo = 2;
StringCopy(gLinkPlayers[0].name, gSaveBlock2Ptr->playerName);
if (!FlagGet(FLAG_0x340))
if (!FlagGet(FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS))
StringCopy(gLinkPlayers[1].name, sBlenderOpponentsNames[BLENDER_MASTER]);
else
StringCopy(gLinkPlayers[1].name, sBlenderOpponentsNames[BLENDER_MISTER]);
@@ -1647,7 +1638,7 @@ static void sub_80808D4(void)
if (gSpecialVar_0x8004 == 1)
{
if (!FlagGet(FLAG_0x340))
if (!FlagGet(FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS))
sBerryBlenderData->field_120[0] = CreateTask(sub_8081224, 10);
else
sBerryBlenderData->field_120[0] = CreateTask(sUnknown_083399EC[0], 10);
@@ -2490,7 +2481,7 @@ static void CB2_HandleBlenderEndGame(void)
}
break;
case 7:
if (Blender_PrintText(&sBerryBlenderData->textState, sText_WouldLikeToBlendAnotherBerry, GetPlayerTextSpeed()))
if (Blender_PrintText(&sBerryBlenderData->textState, sText_WouldLikeToBlendAnotherBerry, GetPlayerTextSpeedDelay()))
sBerryBlenderData->gameEndState++;
break;
case 9:
@@ -2499,7 +2490,7 @@ static void CB2_HandleBlenderEndGame(void)
sBerryBlenderData->gameEndState++;
break;
case 10:
switch (Menu_ProcessInputNoWrap_())
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 1:
case -1:
@@ -2572,7 +2563,7 @@ static void CB2_HandleBlenderEndGame(void)
sBerryBlenderData->gameEndState++;
break;
case 13:
if (Blender_PrintText(&sBerryBlenderData->textState, sText_CommunicationStandby, GetPlayerTextSpeed()))
if (Blender_PrintText(&sBerryBlenderData->textState, sText_CommunicationStandby, GetPlayerTextSpeedDelay()))
{
SetMainCallback2(CB2_HandlePlayerLinkPlayAgainChoice);
sBerryBlenderData->gameEndState = 0;
@@ -2680,7 +2671,7 @@ static void CB2_HandlePlayerLinkPlayAgainChoice(void)
StringAppend(gStringVar4, sText_HasNoBerriesToPut);
break;
case 3:
if (Blender_PrintText(&sBerryBlenderData->textState, gStringVar4, GetPlayerTextSpeed()))
if (Blender_PrintText(&sBerryBlenderData->textState, gStringVar4, GetPlayerTextSpeedDelay()))
{
sBerryBlenderData->framesToWait = 0;
sBerryBlenderData->gameEndState++;
@@ -2787,7 +2778,7 @@ static void CB2_HandlePlayerPlayAgainChoice(void)
StringCopy(gStringVar4, sText_RunOutOfBerriesForBlending);
break;
case 3:
if (Blender_PrintText(&sBerryBlenderData->textState, gStringVar4, GetPlayerTextSpeed()))
if (Blender_PrintText(&sBerryBlenderData->textState, gStringVar4, GetPlayerTextSpeedDelay()))
sBerryBlenderData->gameEndState = 9;
break;
case 9:
@@ -3363,7 +3354,7 @@ static bool8 Blender_PrintBlendingResults(void)
sBerryBlenderData->mainState++;
break;
case 6:
if (Blender_PrintText(&sBerryBlenderData->textState, sBerryBlenderData->stringVar, GetPlayerTextSpeed()))
if (Blender_PrintText(&sBerryBlenderData->textState, sBerryBlenderData->stringVar, GetPlayerTextSpeedDelay()))
{
TryUpdateBerryBlenderRecord();
return TRUE;
+2 -20
View File
@@ -3,6 +3,7 @@
#include "multiboot.h"
#include "malloc.h"
#include "bg.h"
#include "graphics.h"
#include "main.h"
#include "sprite.h"
#include "task.h"
@@ -81,26 +82,7 @@ static const u8 *const gUnknown_08618160[] = {
Unknown_08617EA3
};
extern const u8 gBerryFixGameboy_Gfx[];
extern const u8 gBerryFixGameboy_Tilemap[];
extern const u8 gBerryFixGameboy_Pal[];
extern const u8 gBerryFixGameboyLogo_Gfx[];
extern const u8 gBerryFixGameboyLogo_Tilemap[];
extern const u8 gBerryFixGameboyLogo_Pal[];
extern const u8 gBerryFixGbaTransfer_Gfx[];
extern const u8 gBerryFixGbaTransfer_Tilemap[];
extern const u8 gBerryFixGbaTransfer_Pal[];
extern const u8 gBerryFixGbaTransferHighlight_Gfx[];
extern const u8 gBerryFixGbaTransferHighlight_Tilemap[];
extern const u8 gBerryFixGbaTransferHighlight_Pal[];
extern const u8 gBerryFixGbaTransferError_Gfx[];
extern const u8 gBerryFixGbaTransferError_Tilemap[];
extern const u8 gBerryFixGbaTransferError_Pal[];
extern const u8 gBerryFixWindow_Gfx[];
extern const u8 gBerryFixWindow_Tilemap[];
extern const u8 gBerryFixWindow_Pal[];
static const u8 *const gUnknown_08618178[][3] = {
static const void *const gUnknown_08618178[][3] = {
{
gBerryFixGameboy_Gfx,
gBerryFixGameboy_Tilemap,
+4 -4
View File
@@ -102,7 +102,7 @@ static const u8 sTextColors[2][3] =
static const struct WindowTemplate sWindowTemplates[] =
{
{ // WIN_BERRY_NAME
.priority = 1,
.bg = 1,
.tilemapLeft = 11,
.tilemapTop = 4,
.width = 8,
@@ -111,7 +111,7 @@ static const struct WindowTemplate sWindowTemplates[] =
.baseBlock = 69,
},
{ // WIN_SIZE_FIRM
.priority = 1,
.bg = 1,
.tilemapLeft = 11,
.tilemapTop = 7,
.width = 18,
@@ -120,7 +120,7 @@ static const struct WindowTemplate sWindowTemplates[] =
.baseBlock = 85,
},
{ // WIN_DESC
.priority = 1,
.bg = 1,
.tilemapLeft = 4,
.tilemapTop = 14,
.width = 25,
@@ -129,7 +129,7 @@ static const struct WindowTemplate sWindowTemplates[] =
.baseBlock = 157,
},
{ // WIN_BERRY_TAG
.priority = 0,
.bg = 0,
.tilemapLeft = 2,
.tilemapTop = 0,
.width = 8,
+447 -748
View File
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -3,13 +3,13 @@
#include "event_object_movement.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
#include "constants/flags.h"
#include "global.fieldmap.h"
#include "metatile_behavior.h"
#include "overworld.h"
#include "constants/songs.h"
#include "sound.h"
#include "constants/flags.h"
#include "constants/map_types.h"
#include "constants/songs.h"
extern bool8 gBikeCyclingChallenge;
extern u8 gBikeCollisions;
@@ -18,7 +18,7 @@ extern u8 sub_808B980(u8 direction);
extern u8 sub_808B9BC(u8 direction);
extern u8 sub_808B9A4(u8 direction);
extern u8 sub_808C1B4(u8 direction);
extern u8 npc_use_some_d2s(u8 direction);
extern u8 sub_808B9D4(u8 direction);
extern void Overworld_ClearSavedMusic(void);
extern void Overworld_PlaySpecialMapMusic(void);
@@ -575,7 +575,7 @@ static void AcroBikeTransition_Moving(u8 direction)
}
else
{
PlayerGoSpeed3(direction);
PlayerRideWaterCurrent(direction);
}
}
@@ -768,7 +768,7 @@ static void AcroBikeTransition_WheelieLoweringMoving(u8 direction)
PlayerEndWheelie(direction);
return;
}
npc_use_some_d2s(direction);
sub_808B9D4(direction);
}
void Bike_TryAcroBikeHistoryUpdate(u16 newKeys, u16 heldKeys)
@@ -968,7 +968,7 @@ bool8 IsBikingDisallowedByPlayer(void)
s16 x, y;
u8 tileBehavior;
if (!(gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_4)))
if (!(gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_UNDERWATER)))
{
PlayerGetDestCoords(&x, &y);
tileBehavior = MapGridGetMetatileBehaviorAt(x, y);
+5 -4
View File
@@ -5,6 +5,7 @@
#include "script.h"
#include "sound.h"
#include "task.h"
#include "constants/field_effects.h"
#include "constants/flags.h"
#include "constants/maps.h"
#include "constants/songs.h"
@@ -431,9 +432,9 @@ bool8 ShouldDoBrailleRegicePuzzle(void)
{
if (FlagGet(FLAG_SYS_BRAILLE_WAIT) != FALSE)
return FALSE;
if (FlagGet(FLAG_0x002) == FALSE)
if (FlagGet(FLAG_TEMP_2) == FALSE)
return FALSE;
if (FlagGet(FLAG_0x003) == TRUE)
if (FlagGet(FLAG_TEMP_3) == TRUE)
return FALSE;
for (i = 0; i < 36; i++)
@@ -474,8 +475,8 @@ bool8 ShouldDoBrailleRegicePuzzle(void)
}
}
FlagSet(FLAG_0x003);
FlagClear(FLAG_0x002);
FlagSet(FLAG_TEMP_3);
FlagClear(FLAG_TEMP_2);
}
return FALSE;
+484
View File
@@ -0,0 +1,484 @@
#include "global.h"
#include "battle_anim.h"
#include "gpu_regs.h"
#include "trig.h"
#include "constants/rgb.h"
void sub_8110368(struct Sprite *);
void sub_8110438(struct Sprite *);
void sub_81104E4(struct Sprite *);
void sub_81105B4(struct Sprite *);
void sub_811067C(struct Sprite *);
void AnimTranslateStinger(struct Sprite *);
void AnimMissileArc(struct Sprite *);
void sub_8110994(struct Sprite *);
static void sub_811057C(struct Sprite *);
static void sub_8110630(struct Sprite *);
static void sub_81106A4(struct Sprite *);
static void sub_8110700(struct Sprite *);
static void AnimMissileArcStep(struct Sprite *);
const union AffineAnimCmd gUnknown_08596938[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 30, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08596948[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, -99, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08596958[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 94, 0),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08596968[] =
{
gUnknown_08596938,
gUnknown_08596948,
gUnknown_08596958,
};
const struct SpriteTemplate gUnknown_08596974 =
{
.tileTag = ANIM_TAG_HORN_HIT_2,
.paletteTag = ANIM_TAG_HORN_HIT_2,
.oam = &gUnknown_085249F4,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596968,
.callback = sub_8110368,
};
const union AffineAnimCmd gUnknown_0859698C[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -33, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_0859699C[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_085969AC[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_085969BC[] =
{
gUnknown_0859698C,
gUnknown_0859699C,
gUnknown_085969AC,
};
const struct SpriteTemplate gUnknown_085969C8 =
{
.tileTag = ANIM_TAG_NEEDLE,
.paletteTag = ANIM_TAG_NEEDLE,
.oam = &gUnknown_0852496C,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_085969BC,
.callback = sub_8110438,
};
const struct SpriteTemplate gUnknown_085969E0 =
{
.tileTag = ANIM_TAG_WEB_THREAD,
.paletteTag = ANIM_TAG_WEB_THREAD,
.oam = &gUnknown_08524904,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_81104E4,
};
const struct SpriteTemplate gUnknown_085969F8 =
{
.tileTag = ANIM_TAG_STRING,
.paletteTag = ANIM_TAG_STRING,
.oam = &gUnknown_0852493C,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_81105B4,
};
const union AffineAnimCmd gUnknown_08596A10[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0x6, 0x6, 0, 1),
AFFINEANIMCMD_JUMP(1),
};
const union AffineAnimCmd *const gUnknown_08596A28[] =
{
gUnknown_08596A10,
};
const struct SpriteTemplate gUnknown_08596A2C =
{
.tileTag = ANIM_TAG_SPIDER_WEB,
.paletteTag = ANIM_TAG_SPIDER_WEB,
.oam = &gUnknown_08524AFC,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596A28,
.callback = sub_811067C,
};
const struct SpriteTemplate gLinearStingerSpriteTemplate =
{
.tileTag = ANIM_TAG_NEEDLE,
.paletteTag = ANIM_TAG_NEEDLE,
.oam = &gUnknown_0852496C,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimTranslateStinger,
};
const struct SpriteTemplate gPinMissileSpriteTemplate =
{
.tileTag = ANIM_TAG_NEEDLE,
.paletteTag = ANIM_TAG_NEEDLE,
.oam = &gUnknown_0852496C,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimMissileArc,
};
const struct SpriteTemplate gIcicleSpearSpriteTemplate =
{
.tileTag = ANIM_TAG_ICICLE_SPEAR,
.paletteTag = ANIM_TAG_ICICLE_SPEAR,
.oam = &gUnknown_08524974,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimMissileArc,
};
const union AffineAnimCmd gUnknown_08596A8C[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 18),
AFFINEANIMCMD_LOOP(0),
AFFINEANIMCMD_FRAME(0xFFFB, 0xFFFB, 0, 8),
AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 8),
AFFINEANIMCMD_LOOP(5),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08596AC4[] =
{
gUnknown_08596A8C,
};
const struct SpriteTemplate gUnknown_08596AC8 =
{
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.oam = &gUnknown_08524A9C,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596AC4,
.callback = sub_8110994,
};
void sub_8110368(struct Sprite *sprite)
{
if (IsContest())
{
StartSpriteAffineAnim(sprite, 2);
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
}
else if (!GetBattlerSide(gBattleAnimTarget))
{
StartSpriteAffineAnim(sprite, 1);
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
}
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, 2) + gBattleAnimArgs[0];
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, 3) + gBattleAnimArgs[1];
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
void sub_8110438(struct Sprite *sprite)
{
if (IsContest())
{
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
StartSpriteAffineAnim(sprite, 2);
}
else if (!GetBattlerSide(gBattleAnimTarget))
{
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
}
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, 2) + gBattleAnimArgs[0];
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, 3) + gBattleAnimArgs[1];
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
void sub_81104E4(struct Sprite *sprite)
{
if (IsContest())
gBattleAnimArgs[2] /= 2;
InitAnimSpritePos(sprite, 1);
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
if (!gBattleAnimArgs[4])
{
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
}
else
{
SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->data[2], &sprite->data[4]);
}
sub_80A6FD4(sprite);
sprite->data[5] = gBattleAnimArgs[3];
sprite->callback = sub_811057C;
}
static void sub_811057C(struct Sprite *sprite)
{
if (TranslateAnimLinear(sprite))
{
DestroyAnimSprite(sprite);
return;
}
sprite->pos2.x += Sin(sprite->data[6], sprite->data[5]);
sprite->data[6] = (sprite->data[6] + 13) & 0xFF;
}
void sub_81105B4(struct Sprite *sprite)
{
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
if (GetBattlerSide(gBattleAnimAttacker))
sprite->pos1.x -= gBattleAnimArgs[0];
else
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
if (!GetBattlerSide(gBattleAnimTarget))
sprite->pos1.y += 8;
sprite->callback = sub_8110630;
}
static void sub_8110630(struct Sprite *sprite)
{
if (++sprite->data[0] == 3)
{
sprite->data[0] = 0;
sprite->invisible ^= 1;
}
if (++sprite->data[1] == 51)
{
DestroyAnimSprite(sprite);
}
}
void sub_811067C(struct Sprite *sprite)
{
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0));
sprite->data[0] = 16;
sprite->callback = sub_81106A4;
}
static void sub_81106A4(struct Sprite *sprite)
{
if (sprite->data[2] < 20)
{
sprite->data[2]++;
}
else if (sprite->data[1]++ & 1)
{
sprite->data[0]--;
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 16 - sprite->data[0]));
if (sprite->data[0] == 0)
{
sprite->invisible = TRUE;
sprite->callback = sub_8110700;
}
}
}
static void sub_8110700(struct Sprite *sprite)
{
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
DestroyAnimSprite(sprite);
}
// Translates a stinger sprite linearly to a destination location. The sprite is
// initially rotated so that it appears to be traveling in a straight line.
// arg 0: initial x pixel offset
// arg 1: initial y pixel offset
// arg 2: target x pixel offset
// arg 3: target y pixel offset
// arg 4: duration
void AnimTranslateStinger(struct Sprite *sprite)
{
s16 lVarX, lVarY;
u16 rot;
if (IsContest())
{
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
}
else
{
if (GetBattlerSide(gBattleAnimAttacker))
{
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
}
}
if (!IsContest() && GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget))
{
if (GetBattlerPosition(gBattleAnimTarget) == B_POSITION_PLAYER_LEFT
|| GetBattlerPosition(gBattleAnimTarget) == B_POSITION_OPPONENT_LEFT)
{
s16 temp1, temp2;
temp1 = gBattleAnimArgs[2];
gBattleAnimArgs[2] = -temp1;
temp2 = gBattleAnimArgs[0];
gBattleAnimArgs[0] = -temp2;
}
}
InitAnimSpritePos(sprite, 1);
lVarX = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
lVarY = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
rot = ArcTan2Neg(lVarX - sprite->pos1.x, lVarY - sprite->pos1.y);
rot += 0xC000;
sub_80A73E0(sprite, FALSE, 0x100, 0x100, rot);
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = lVarX;
sprite->data[4] = lVarY;
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
// Rotates sprite and moves it in an arc, so that it appears like a missle or arrow traveling.
// arg 0: initial x pixel offset
// arg 1: initial y pixel offset
// arg 2: target x pixel offset
// arg 3: target y pixel offset
// arg 4: duration
// arg 5: wave amplitude
void AnimMissileArc(struct Sprite *sprite)
{
InitAnimSpritePos(sprite, 1);
if (GetBattlerSide(gBattleAnimAttacker))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
sprite->data[5] = gBattleAnimArgs[5];
InitAnimArcTranslation(sprite);
sprite->callback = AnimMissileArcStep;
sprite->invisible = TRUE;
}
static void AnimMissileArcStep(struct Sprite *sprite)
{
sprite->invisible = FALSE;
if (TranslateAnimArc(sprite))
{
DestroyAnimSprite(sprite);
}
else
{
s16 tempData[8];
u16 *data = sprite->data;
u16 x1 = sprite->pos1.x;
s16 x2 = sprite->pos2.x;
u16 y1 = sprite->pos1.y;
s16 y2 = sprite->pos2.y;
int i;
for (i = 0; i < 8; i++)
tempData[i] = data[i];
x2 += x1;
y2 += y1;
if (!TranslateAnimArc(sprite))
{
u16 rotation = ArcTan2Neg(sprite->pos1.x + sprite->pos2.x - x2,
sprite->pos1.y + sprite->pos2.y - y2);
rotation += 0xC000;
sub_80A73E0(sprite, FALSE, 0x100, 0x100, rotation);
for (i = 0; i < 8; i++)
data[i] = tempData[i];
}
}
}
void sub_8110994(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == 0)
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + 18;
}
else
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 18;
}
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
sprite->callback = sub_80A67BC;
}
+9 -9
View File
@@ -31,10 +31,10 @@
#include "constants/songs.h"
extern u8 gUnknown_02032298[2];
extern u8 gUnknown_0203CEF8[];
extern u8 gSelectedOrderFromParty[];
static const struct WindowTemplate gUnknown_08550594 = {
.priority = 0,
.bg = 0,
.tilemapLeft = 16,
.tilemapTop = 11,
.width = 11,
@@ -358,8 +358,8 @@ static void sub_80B2918(u8 taskId)
sub_800AA04(gFieldLinkPlayerCount);
card = (struct TrainerCard *)gBlockSendBuffer;
TrainerCard_GenerateCardForPlayer(card);
card->monSpecies[0] = GetMonData(&gPlayerParty[gUnknown_0203CEF8[0] - 1], MON_DATA_SPECIES, NULL);
card->monSpecies[1] = GetMonData(&gPlayerParty[gUnknown_0203CEF8[1] - 1], MON_DATA_SPECIES, NULL);
card->monSpecies[0] = GetMonData(&gPlayerParty[gSelectedOrderFromParty[0] - 1], MON_DATA_SPECIES, NULL);
card->monSpecies[1] = GetMonData(&gPlayerParty[gSelectedOrderFromParty[1] - 1], MON_DATA_SPECIES, NULL);
gTasks[taskId].func = sub_80B2C30;
}
}
@@ -405,8 +405,8 @@ static void sub_80B2A08(u8 taskId)
sub_800AA04(gFieldLinkPlayerCount);
card = (struct TrainerCard *)gBlockSendBuffer;
TrainerCard_GenerateCardForPlayer(card);
card->monSpecies[0] = GetMonData(&gPlayerParty[gUnknown_0203CEF8[0] - 1], MON_DATA_SPECIES, NULL);
card->monSpecies[1] = GetMonData(&gPlayerParty[gUnknown_0203CEF8[1] - 1], MON_DATA_SPECIES, NULL);
card->monSpecies[0] = GetMonData(&gPlayerParty[gSelectedOrderFromParty[0] - 1], MON_DATA_SPECIES, NULL);
card->monSpecies[1] = GetMonData(&gPlayerParty[gSelectedOrderFromParty[1] - 1], MON_DATA_SPECIES, NULL);
gTasks[taskId].func = sub_80B2C30;
sub_800A4D8(2);
}
@@ -421,7 +421,7 @@ bool32 sub_80B2AF4(u16 *arg0, u16 *arg1)
gStringVar1[0] = EOS;
gStringVar2[0] = EOS;
for (i = 0; i < 2; i++)
{
for (j = 0; j < 2; j++)
@@ -800,7 +800,7 @@ static void sub_80B3260(int a0)
gBattleTypeFlags = BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER;
break;
case 5:
ReducePlayerPartyToThree();
ReducePlayerPartyToSelectedMons();
gBattleTypeFlags = BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER | BATTLE_TYPE_MULTI;
break;
case 9:
@@ -1151,7 +1151,7 @@ static void sub_80B3950(void)
void nullsub_37(void)
{
}
void sub_80B3968(void)
+78 -76
View File
@@ -10,9 +10,10 @@
#include "bg.h"
#include "text_window.h"
#include "constants/songs.h"
#include "constants/rgb.h"
extern u8 gText_ClearAllSaveData[];
extern u8 gText_ClearingData[];
extern const u8 gText_ClearAllSaveData[];
extern const u8 gText_ClearingData[];
static void Task_DoClearSaveDataScreenYesNo(u8);
static void Task_ClearSaveDataScreenYesNoChoice(u8);
@@ -46,7 +47,7 @@ static const struct BgTemplate sClearSaveBgTemplates[2] =
static const struct WindowTemplate sClearSaveTextWindow[] =
{
{
.priority = 0,
.bg = 0,
.tilemapLeft = 3,
.tilemapTop = 15,
.width = 26,
@@ -60,7 +61,7 @@ static const struct WindowTemplate sClearSaveTextWindow[] =
static const struct WindowTemplate sClearSaveYesNo[] =
{
{
.priority = 0,
.bg = 0,
.tilemapLeft = 3,
.tilemapTop = 2,
.width = 5,
@@ -72,7 +73,7 @@ static const struct WindowTemplate sClearSaveYesNo[] =
void CB2_InitClearSaveDataScreen(void)
{
if(SetupClearSaveDataScreen())
if (SetupClearSaveDataScreen())
CreateTask(Task_DoClearSaveDataScreenYesNo, 0);
}
@@ -86,18 +87,18 @@ static void Task_DoClearSaveDataScreenYesNo(u8 taskId)
static void Task_ClearSaveDataScreenYesNoChoice(u8 taskId)
{
switch(Menu_ProcessInputNoWrap_())
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0:
FillWindowPixelBuffer(0, 17);
AddTextPrinterParameterized(0, 1, gText_ClearingData, 0, 1, 0, 0);
gTasks[taskId].func = Task_ClearSaveData;
break;
case 1:
case -1:
PlaySE(SE_SELECT);
DestroyTask(taskId);
SetMainCallback2(CB2_FadeAndDoReset);
case 0:
FillWindowPixelBuffer(0, 17);
AddTextPrinterParameterized(0, 1, gText_ClearingData, 0, 1, 0, 0);
gTasks[taskId].func = Task_ClearSaveData;
break;
case 1:
case -1:
PlaySE(SE_SELECT);
DestroyTask(taskId);
SetMainCallback2(CB2_FadeAndDoReset);
}
}
@@ -125,55 +126,55 @@ static bool8 SetupClearSaveDataScreen(void)
switch(gMain.state)
{
case 0:
default:
SetVBlankCallback(NULL);
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0);
SetGpuReg(REG_OFFSET_BG0HOFS, 0);
SetGpuReg(REG_OFFSET_BG0VOFS, 0);
SetGpuReg(REG_OFFSET_BG3HOFS, 0);
SetGpuReg(REG_OFFSET_BG3VOFS, 0);
SetGpuReg(REG_OFFSET_WIN0H, 0);
SetGpuReg(REG_OFFSET_WIN0V, 0);
SetGpuReg(REG_OFFSET_WININ, 0);
SetGpuReg(REG_OFFSET_WINOUT, 0);
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
SetGpuReg(REG_OFFSET_BLDY, 0);
DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE);
DmaFill32(3, 0, (void *)OAM, OAM_SIZE);
DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2);
ResetPaletteFade();
gPlttBufferUnfaded[0] = 0x7fff;
gPlttBufferFaded[0] = 0x7fff;
gPlttBufferUnfaded[1] = 0x3945;
gPlttBufferFaded[1] = 0x3945;
for (i = 0; i < 0x10; i++)
((u16 *)(VRAM + 0x20))[i] = 0x1111;
case 0:
default:
SetVBlankCallback(NULL);
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0);
SetGpuReg(REG_OFFSET_BG0HOFS, 0);
SetGpuReg(REG_OFFSET_BG0VOFS, 0);
SetGpuReg(REG_OFFSET_BG3HOFS, 0);
SetGpuReg(REG_OFFSET_BG3VOFS, 0);
SetGpuReg(REG_OFFSET_WIN0H, 0);
SetGpuReg(REG_OFFSET_WIN0V, 0);
SetGpuReg(REG_OFFSET_WININ, 0);
SetGpuReg(REG_OFFSET_WINOUT, 0);
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
SetGpuReg(REG_OFFSET_BLDY, 0);
DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE);
DmaFill32(3, 0, (void *)OAM, OAM_SIZE);
DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2);
ResetPaletteFade();
gPlttBufferUnfaded[0] = RGB_WHITE;
gPlttBufferFaded[0] = RGB_WHITE;
gPlttBufferUnfaded[1] = RGB(5, 10, 14);
gPlttBufferFaded[1] = RGB(5, 10, 14);
for (i = 0; i < 0x10; i++)
((u16 *)(VRAM + 0x20))[i] = 0x1111;
for (i = 0; i < 0x400; i++)
((u16 *)(VRAM + 0xF000))[i] = 0x0001;
ResetTasks();
ResetSpriteData();
ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, sClearSaveBgTemplates, ARRAY_COUNT(sClearSaveBgTemplates));
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
ShowBg(0);
ShowBg(3);
SetGpuReg(REG_OFFSET_BLDCNT, 0);
InitClearSaveDataScreenWindows();
BeginNormalPaletteFade(0x0000FFFF, 0, 0x10, 0, 0xFFFF);
EnableInterrupts(1);
SetVBlankCallback(VBlankCB);
gMain.state = 1;
break;
case 1:
UpdatePaletteFade();
if(!gPaletteFade.active)
{
SetMainCallback2(MainCB);
return TRUE;
}
for (i = 0; i < 0x400; i++)
((u16 *)(VRAM + 0xF000))[i] = 0x0001;
ResetTasks();
ResetSpriteData();
ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, sClearSaveBgTemplates, ARRAY_COUNT(sClearSaveBgTemplates));
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
ShowBg(0);
ShowBg(3);
SetGpuReg(REG_OFFSET_BLDCNT, 0);
InitClearSaveDataScreenWindows();
BeginNormalPaletteFade(0x0000FFFF, 0, 0x10, 0, 0xFFFF);
EnableInterrupts(INTR_FLAG_VBLANK);
SetVBlankCallback(VBlankCB);
gMain.state = 1;
break;
case 1:
UpdatePaletteFade();
if(!gPaletteFade.active)
{
SetMainCallback2(MainCB);
return TRUE;
}
}
return FALSE;
}
@@ -182,18 +183,19 @@ static void CB2_FadeAndDoReset(void)
{
switch(gMain.state)
{
case 0:
default:
BeginNormalPaletteFade(0x0000FFFF, 0, 0, 0x10, 0xFFFF);
gMain.state = 1;
break;
case 1:
UpdatePaletteFade();
if(!gPaletteFade.active)
{
FreeAllWindowBuffers();
DoSoftReset();
}
case 0:
default:
BeginNormalPaletteFade(0x0000FFFF, 0, 0, 0x10, RGB_WHITEALPHA);
gMain.state = 1;
break;
case 1:
UpdatePaletteFade();
if(!gPaletteFade.active)
{
FreeAllWindowBuffers();
DoSoftReset();
}
break;
}
}
+6 -23
View File
@@ -193,24 +193,6 @@ EWRAM_DATA struct ContestWinner gUnknown_02039F3C = {0};
u32 gContestRngValue;
extern u16 gBattle_BG0_X;
extern u16 gBattle_BG0_Y;
extern u16 gBattle_BG1_X;
extern s16 gBattle_BG1_Y;
extern u16 gBattle_BG2_X;
extern u16 gBattle_BG2_Y;
extern u16 gBattle_BG3_X;
extern u16 gBattle_BG3_Y;
extern u16 gBattle_WIN0H;
extern u16 gBattle_WIN0V;
extern u16 gBattle_WIN1H;
extern u16 gBattle_WIN1V;
extern const u8 gContestMiscGfx[];
extern const u8 gContestAudienceGfx[];
extern const u8 gUnknown_08C16FA8[];
extern const u8 gUnknown_08C16E90[];
extern const u8 gUnknown_08C17170[];
extern const u16 gUnknown_08587C30[];
extern const struct BgTemplate gUnknown_08587F34[4];
extern const struct WindowTemplate gUnknown_08587F44[];
@@ -316,11 +298,11 @@ void sub_80D77E4(void)
DeactivateAllTextPrinters();
if (gIsLinkContest & 1)
{
gTextFlags.flag_0 = FALSE;
gTextFlags.canABSpeedUpPrint = FALSE;
}
else
{
gTextFlags.flag_0 = TRUE;
gTextFlags.canABSpeedUpPrint = TRUE;
}
}
@@ -643,7 +625,8 @@ void sub_80D8108(u8 taskId)
gTasks[taskId].data[0]++;
break;
case 1:
if ((gBattle_BG1_Y += 7) <= 160)
(s16)gBattle_BG1_Y += 7;
if ((s16)gBattle_BG1_Y <= 160)
break;
gTasks[taskId].data[0]++;
break;
@@ -1920,9 +1903,9 @@ void sub_80DA6B4(u8 taskId)
void sub_80DA700(u8 taskId)
{
gBattle_BG1_Y -= 7;
if (gBattle_BG1_Y < 0)
if ((s16)gBattle_BG1_Y < 0)
gBattle_BG1_Y = 0;
if (*(u16 *)&gBattle_BG1_Y == 0) // Why cast?
if (gBattle_BG1_Y == 0) // Why cast?
{
gTasks[taskId].func = sub_80DA740;
gTasks[taskId].data[0] = 0;
-2
View File
@@ -4,8 +4,6 @@
#include "contest_ai.h"
#include "contest_effect.h"
extern u16 gContestMonConditions[];
extern const u8 *gAIScriptPtr;
extern const u8 *gContestAIs[];
+8
View File
@@ -0,0 +1,8 @@
#include "global.h"
// IWRAM bss
IWRAM_DATA u8 gUnknown_030011F0;
IWRAM_DATA u16 gUnknown_030011F2;
IWRAM_DATA u16 gUnknown_030011F4;
IWRAM_DATA u8 gUnknown_030011F6;
IWRAM_DATA u8 gUnknown_030011F7;
+11 -11
View File
@@ -161,7 +161,7 @@ static const u16 gUnknown_085E56F0[][16] =
INCBIN_U16("graphics/credits/credits_4.gbapal"),
};
static const u8 gCreditsCopyrightEnd_Gfx[] = INCBIN_U8("graphics/credits/the_end_copyright.4bpp.lz");
static const u32 gCreditsCopyrightEnd_Gfx[] = INCBIN_U32("graphics/credits/the_end_copyright.4bpp.lz");
static void sub_81772B8(struct Sprite *sprite);
@@ -949,7 +949,7 @@ static const struct BgTemplate gUnknown_085E6F68[] =
static const struct WindowTemplate gUnknown_085E6F6C[] =
{
{
.priority = 0,
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 9,
.width = 30,
@@ -1142,7 +1142,7 @@ static void sub_81754DC(void)
{
RunTasks();
AnimateSprites();
if ((gMain.heldKeys & B_BUTTON)
&& gHasHallOfFameRecords != 0
&& gTasks[gUnknown_0203BCE2].func == sub_8175774)
@@ -1182,9 +1182,9 @@ static void sub_81755BC(const u8 *string, u8 y, u8 a2)
{
u8 x;
u8 color[3];
color[0] = 0;
if (a2 == 1)
{
color[1] = 3;
@@ -1195,7 +1195,7 @@ static void sub_81755BC(const u8 *string, u8 y, u8 a2)
color[1] = 1;
color[2] = 2;
}
x = GetStringCenterAlignXOffsetWithLetterSpacing(1, string, 0xF0, 1);
AddTextPrinterParameterized4(0, 1, x, y, 1, 0, color, -1, string);
}
@@ -1230,7 +1230,7 @@ void sub_8175620(void)
gTasks[taskIdC].data[TDC_0] = 40;
SetGpuReg(REG_OFFSET_BG0VOFS, 0xFFFC);
taskIdB = CreateTask(sub_8175DA0, 0);
gTasks[taskIdB].data[TDB_TASK_A_ID] = taskIdA;
@@ -1343,8 +1343,8 @@ static void sub_81758E4(u8 taskIdA)
ResetAllPicSprites();
FreeAllSpritePalettes();
gReservedSpritePaletteCount = 8;
LZ77UnCompVram(&gBirchHelpGfx, (void *)VRAM);
LZ77UnCompVram(&gBirchGrassTilemap, (void *)(VRAM + 0x3800));
LZ77UnCompVram(gBirchHelpGfx, (void *)VRAM);
LZ77UnCompVram(gBirchGrassTilemap, (void *)(VRAM + 0x3800));
LoadPalette(gBirchBagGrassPal[0] + 1, 1, 31 * 2);
for (i = 0; i < 0x800; i++)
@@ -1546,9 +1546,9 @@ static void sub_8175DA0(u8 taskIdB)
{
for (i = 0; i < 5; i++)
sub_81755BC(gCreditsEntryPointerTable[gTasks[taskIdB].data[TDB_CURRENT_PAGE]][i]->text, 5 + i * 16, gCreditsEntryPointerTable[gTasks[taskIdB].data[TDB_CURRENT_PAGE]][i]->var_1);
CopyWindowToVram(0, 2);
gTasks[taskIdB].data[TDB_CURRENT_PAGE] += 1;
gTasks[taskIdB].data[TDB_0] += 1;
+169
View File
@@ -0,0 +1,169 @@
#include "global.h"
#include "battle_anim.h"
#include "constants/rgb.h"
extern void sub_81138D4(struct Sprite *);
extern void sub_81139DC(struct Sprite *);
extern void sub_8113A90(struct Sprite *);
extern void sub_81144BC(struct Sprite *);
const struct SpriteTemplate gUnknown_08596FC8 =
{
.tileTag = ANIM_TAG_TIED_BAG,
.paletteTag = ANIM_TAG_TIED_BAG,
.oam = &gUnknown_0852490C,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_81138D4,
};
const union AffineAnimCmd gUnknown_08596FE0[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08596FF0[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 32, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08597000[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 64, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08597010[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08597020[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -128, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08597030[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08597040[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -64, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_08597050[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -32, 1),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_08597060[] =
{
gUnknown_08596FE0,
gUnknown_08596FF0,
gUnknown_08597000,
gUnknown_08597010,
gUnknown_08597020,
gUnknown_08597030,
gUnknown_08597040,
gUnknown_08597050,
};
const struct SpriteTemplate gUnknown_08597080 =
{
.tileTag = ANIM_TAG_SHARP_TEETH,
.paletteTag = ANIM_TAG_SHARP_TEETH,
.oam = &gUnknown_08524A9C,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597060,
.callback = sub_81139DC,
};
const struct SpriteTemplate gUnknown_08597098 =
{
.tileTag = ANIM_TAG_CLAMP,
.paletteTag = ANIM_TAG_CLAMP,
.oam = &gUnknown_08524A9C,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597060,
.callback = sub_81139DC,
};
const union AffineAnimCmd gUnknown_085970B0[] =
{
AFFINEANIMCMD_FRAME(0xC0, 0xC0, 80, 0),
AFFINEANIMCMD_FRAME(0x0, 0x0, -2, 8),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd gUnknown_085970C8[] =
{
AFFINEANIMCMD_FRAME(0xC0, 0xC0, -80, 0),
AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 8),
AFFINEANIMCMD_END,
};
const union AffineAnimCmd *const gUnknown_085970E0[] =
{
gUnknown_085970B0,
gUnknown_085970C8,
};
const struct SpriteTemplate gUnknown_085970E8 =
{
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
.oam = &gUnknown_0852496C,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_085970E0,
.callback = sub_8113A90,
};
const union AnimCmd gUnknown_08597100[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(16, 4),
ANIMCMD_FRAME(32, 4),
ANIMCMD_FRAME(48, 4),
ANIMCMD_FRAME(64, 4),
ANIMCMD_END,
};
const union AnimCmd gUnknown_08597118[] =
{
ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
ANIMCMD_FRAME(32, 4, .hFlip = TRUE),
ANIMCMD_FRAME(48, 4, .hFlip = TRUE),
ANIMCMD_FRAME(64, 4, .hFlip = TRUE),
ANIMCMD_END,
};
const union AnimCmd *const gUnknown_08597130[] =
{
gUnknown_08597100,
gUnknown_08597118,
};
const struct SpriteTemplate gBattleAnimSpriteTemplate_8597138 =
{
.tileTag = ANIM_TAG_CLAW_SLASH,
.paletteTag = ANIM_TAG_CLAW_SLASH,
.oam = &gUnknown_08524914,
.anims = gUnknown_08597130,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_81144BC,
};
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+4614 -3910
View File
File diff suppressed because it is too large Load Diff
-8
View File
@@ -1,10 +1,3 @@
//
// Created by scott on 10/21/2017.
//
#ifndef GUARD_DATA_DECORATION_DESCRIPTION_H
#define GUARD_DATA_DECORATION_DESCRIPTION_H
const u8 DecorDesc_SMALL_DESK[] = _(
"A small desk built\n"
"for one.");
@@ -578,4 +571,3 @@ const u8 DecorDesc_REGISTEEL_DOLL[] = _(
"A large doll.\n"
"Place it on a mat\n"
"or a desk.");
#endif //GUARD_DATA_DECORATION_DESCRIPTION_H
-9
View File
@@ -1,10 +1,3 @@
//
// Created by scott on 10/21/2017.
//
#ifndef GUARD_DATA_DECORATION_HEADER_H
#define GUARD_DATA_DECORATION_HEADER_H
const struct Decoration gDecorations[] = {
{
DECOR_NONE,
@@ -1096,5 +1089,3 @@ const struct Decoration gDecorations[] = {
DecorDesc_REGISTEEL_DOLL,
DecorGfx_REGISTEEL_DOLL}
};
#endif //GUARD_DATA_DECORATION_HEADER_H
+1 -10
View File
@@ -1,11 +1,4 @@
//
// Created by scott on 10/21/2017.
//
#ifndef GUARD_ICON_H
#define GUARD_ICON_H
const u8 *const gUnknown_085A6BE8[][2] = {
const u32 *const gUnknown_085A6BE8[][2] = {
{gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
{NULL, NULL},
{NULL, NULL},
@@ -128,5 +121,3 @@ const u8 *const gUnknown_085A6BE8[][2] = {
{gUnknown_08DB9DD4, gUnknown_08DB9EE4},
{gUnknown_08DBA020, gUnknown_08DBA12C}
};
#endif //GUARD_ICON_H
-9
View File
@@ -1,10 +1,3 @@
//
// Created by scott on 10/21/2017.
//
#ifndef GUARD_TILEMAPS_H
#define GUARD_TILEMAPS_H
const u8 Unknown_085A6FB0[] = {
0x00, 0x01, 0x02, 0x03
};
@@ -235,5 +228,3 @@ const struct {
Unknown_085A7198,
0x18
}};
#endif //GUARD_TILEMAPS_H
-5
View File
@@ -1,6 +1,3 @@
#ifndef GUARD_DATA_DECORATION_TILES
#define GUARD_DATA_DECORATION_TILES
const u16 DecorGfx_SMALL_DESK[] = {
0x87
};
@@ -642,5 +639,3 @@ const u16 DecorGfx_REGICE_DOLL[] = {
const u16 DecorGfx_REGISTEEL_DOLL[] = {
EVENT_OBJ_GFX_BIG_REGISTEEL_DOLL
};
#endif // GUARD_DATA_DECORATION_TILES
-5
View File
@@ -1,6 +1,3 @@
#ifndef GUARD_BASE_OAM_H
#define GUARD_BASE_OAM_H
const struct OamData gEventObjectBaseOam_8x8 = {
.shape = 0,
.size = 0,
@@ -48,5 +45,3 @@ const struct OamData gEventObjectBaseOam_64x64 = {
.size = 3,
.priority = 2
};
#endif //GUARD_BASE_OAM_H
@@ -1,6 +1,3 @@
#ifndef GUARD_BERRY_TREE_GRAPHICS_TABLES_H
#define GUARD_BERRY_TREE_GRAPHICS_TABLES_H
const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[] = {
overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0),
overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0),
@@ -565,6 +562,3 @@ const u8 *const gBerryTreeEventObjectGraphicsIdTablePointers[] = {
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
};
#endif //GUARD_BERRY_TREE_GRAPHICS_TABLES_H
@@ -1,6 +1,3 @@
#ifndef GUARD_EVENT_OBJECT_ANIMS_H
#define GUARD_EVENT_OBJECT_ANIMS_H
const union AnimCmd gEventObjectImageAnim_StayStill[] =
{
ANIMCMD_FRAME(0, 8),
@@ -1172,5 +1169,3 @@ const struct UnkStruct_085094AC gUnknown_085094AC[] = {
{0, 0, 0, 0},
},
};
#endif //GUARD_EVENT_OBJECT_ANIMS_H
@@ -1,6 +1,3 @@
#ifndef GUARD_EVENT_OBJECT_GFX_H
#define GUARD_EVENT_OBJECT_GFX_H
const u32 gEventObjectPic_BrendanNormal[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/walking.4bpp");
const u32 gEventObjectPic_BrendanRunning[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/running.4bpp");
const u16 gEventObjectPalette8[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_08.gbapal");
@@ -307,7 +304,7 @@ const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/event_objects/pale
const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_01.gbapal");
const u32 gFieldEffectObjectPic_GroundImpactDust[] = INCBIN_U32("graphics/event_objects/pics/effects/ground_impact_dust.4bpp");
const u32 gFieldEffectObjectPic_BikeHopTallGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_tall_grass.4bpp");
const u32 gUnusedGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass.4bpp");
const u32 gUnusedGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass.4bpp");
const u32 gFieldEffectObjectPic_Unknown16[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16.4bpp");
const u32 gFieldEffectObjectPic_Unknown17[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_17.4bpp");
const u32 gFieldEffectObjectPic_Unknown18[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_18.4bpp");
@@ -363,5 +360,3 @@ const u32 gEventObjectPic_Lugia[] = INCBIN_U32("graphics/event_objects/pics/poke
const u16 gEventObjectPalette32[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_32.gbapal");
const u32 gEventObjectPic_HoOh[] = INCBIN_U32("graphics/event_objects/pics/pokemon/ho_oh.4bpp");
const u16 gEventObjectPalette31[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_31.gbapal");
#endif //GUARD_EVENT_OBJECT_GFX_H
@@ -1,6 +1,3 @@
#ifndef GUARD_EVENT_OBJECT_GRAPHICS_INFO_H
#define GUARD_EVENT_OBJECT_GRAPHICS_INFO_H
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanNormal = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanMachBike = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanMachBike, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanAcroBike = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable};
@@ -246,5 +243,3 @@ const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireBrenda
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireMay = {0xFFFF, EVENT_OBJ_PAL_TAG_34, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RubySapphireMay, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lugia = {0xFFFF, EVENT_OBJ_PAL_TAG_32, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Lugia, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HoOh = {0xFFFF, EVENT_OBJ_PAL_TAG_31, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_HoOh, gEventObjectPicTable_HoOh, gDummySpriteAffineAnimTable};
#endif //GUARD_EVENT_OBJECT_GRAPHICS_INFO_H
@@ -1,6 +1,3 @@
#ifndef GUARD_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H
#define GUARD_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanNormal;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanMachBike;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanSurfing;
@@ -500,5 +497,3 @@ const struct EventObjectGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[
&gEventObjectGraphicsInfo_UnusedMauvilleOldMan1,
&gEventObjectGraphicsInfo_UnusedMauvilleOldMan2,
};
#endif //GUARD_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H
@@ -1,6 +1,3 @@
#ifndef GUARD_EVENT_OBJECT_PIC_TABLES_H
#define GUARD_EVENT_OBJECT_PIC_TABLES_H
const struct SpriteFrameImage gEventObjectPicTable_BrendanNormal[] = {
overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 0),
overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 1),
@@ -2175,5 +2172,3 @@ const struct SpriteFrameImage gEventObjectPicTable_RubySapphireMay[] = {
overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 7),
overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 8),
};
#endif //GUARD_EVENT_OBJECT_PIC_TABLES_H
@@ -1,6 +1,3 @@
#ifndef GUARD_EVENT_OBJECT_SUBSPRITES_H
#define GUARD_EVENT_OBJECT_SUBSPRITES_H
const struct Subsprite gEventObjectSpriteOamTable_16x16_0[] = {
{ -8, -8, 0, 1, 0, 2}
};
@@ -338,5 +335,3 @@ const struct SubspriteTable gEventObjectSpriteOamTables_SubmarineShadow[] = {
{16, gEventObjectSpriteOamTable_SubmarineShadow_3},
{16, gEventObjectSpriteOamTable_SubmarineShadow_3}
};
#endif //GUARD_EVENT_OBJECT_SUBSPRITES_H
@@ -1,6 +1,3 @@
#ifndef GUARD_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H
#define GUARD_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall;
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium;
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge;
@@ -78,5 +75,3 @@ const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = {
&gFieldEffectObjectTemplate_Unknown35,
&gFieldEffectObjectTemplate_Rayquaza,
};
#endif //GUARD_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H
+14 -19
View File
@@ -1,6 +1,3 @@
#ifndef GUARD_FIELD_EFFECT_OBJECTS_H
#define GUARD_FIELD_EFFECT_OBJECTS_H
const struct SpritePalette gFieldEffectObjectPaletteInfo0 = {gFieldEffectObjectPalette0, 0x1004};
const struct SpritePalette gFieldEffectObjectPaletteInfo1 = {gFieldEffectObjectPalette1, 0x1005};
@@ -91,7 +88,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Ripple[] =
gFieldEffectObjectImageAnim_850CAE0,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Ripple = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ripple, gFieldEffectObjectPicTable_Ripple, gDummySpriteAffineAnimTable, sub_81561D0};
const struct SpriteTemplate gFieldEffectObjectTemplate_Ripple = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ripple, gFieldEffectObjectPicTable_Ripple, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Ash[] = {
overworld_frame(gFieldEffectObjectPic_Ash, 2, 2, 0),
@@ -124,25 +121,25 @@ const struct SpriteFrameImage gFieldEffectObjectPicTable_SurfBlob[] = {
overworld_frame(gFieldEffectObjectPic_SurfBlob, 4, 4, 2),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CB94[] =
const union AnimCmd gSurfBlobAnim_FaceSouth[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_JUMP(0),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CB9C[] =
const union AnimCmd gSurfBlobAnim_FaceNorth[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_JUMP(0),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CBA4[] =
const union AnimCmd gSurfBlobAnim_FaceWest[] =
{
ANIMCMD_FRAME(2, 1),
ANIMCMD_JUMP(0),
};
const union AnimCmd gFieldEffectObjectImageAnim_850CBAC[] =
const union AnimCmd gSurfBlobAnim_FaceEast[] =
{
ANIMCMD_FRAME(2, 1, .hFlip = TRUE),
ANIMCMD_JUMP(0),
@@ -150,10 +147,10 @@ const union AnimCmd gFieldEffectObjectImageAnim_850CBAC[] =
const union AnimCmd *const gFieldEffectObjectImageAnimTable_SurfBlob[] =
{
gFieldEffectObjectImageAnim_850CB94,
gFieldEffectObjectImageAnim_850CB9C,
gFieldEffectObjectImageAnim_850CBA4,
gFieldEffectObjectImageAnim_850CBAC,
gSurfBlobAnim_FaceSouth,
gSurfBlobAnim_FaceNorth,
gSurfBlobAnim_FaceWest,
gSurfBlobAnim_FaceEast,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_SurfBlob, gFieldEffectObjectPicTable_SurfBlob, gDummySpriteAffineAnimTable, UpdateSurfBlobFieldEffect};
@@ -562,7 +559,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown17[] =
gFieldEffectObjectImageAnim_850D05C,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown17 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown17, gFieldEffectObjectPicTable_Unknown17, gDummySpriteAffineAnimTable, sub_81561D0};
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown17 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown17, gFieldEffectObjectPicTable_Unknown17, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown18[] = {
overworld_frame(gFieldEffectObjectPic_Unknown18, 2, 2, 0),
@@ -587,7 +584,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown18[] =
gFieldEffectObjectImageAnim_850D0C0,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown18 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown18, gFieldEffectObjectPicTable_Unknown18, gDummySpriteAffineAnimTable, sub_81561D0};
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown18 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown18, gFieldEffectObjectPicTable_Unknown18, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown19[] = {
overworld_frame(gFieldEffectObjectPic_Unknown19, 2, 2, 0),
@@ -610,7 +607,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown19[] =
gFieldEffectObjectImageAnim_850D118,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown19 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown19, gFieldEffectObjectPicTable_Unknown19, gDummySpriteAffineAnimTable, sub_81561D0};
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown19 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown19, gFieldEffectObjectPicTable_Unknown19, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown29[] = {
overworld_frame(gFieldEffectObjectPic_Unknown29, 2, 1, 0),
@@ -656,7 +653,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown20[] =
gFieldEffectObjectImageAnim_850D1AC,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown20 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown20, gFieldEffectObjectPicTable_Unknown20, gDummySpriteAffineAnimTable, sub_81561D0};
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown20 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown20, gFieldEffectObjectPicTable_Unknown20, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
const union AffineAnimCmd gFieldEffectObjectRotScalAnim_850D1E4[] =
{
@@ -733,7 +730,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BerryTreeGrowthSpark
gFieldEffectObjectImageAnim_850D2D4,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_BerryTreeGrowthSparkle = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BerryTreeGrowthSparkle, gFieldEffectObjectPicTable_BerryTreeGrowthSparkle, gDummySpriteAffineAnimTable, sub_81561D0};
const struct SpriteTemplate gFieldEffectObjectTemplate_BerryTreeGrowthSparkle = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BerryTreeGrowthSparkle, gFieldEffectObjectPicTable_BerryTreeGrowthSparkle, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
const struct SpriteFrameImage gFieldEffectObjectPicTable_TreeDisguise[] = {
overworld_frame(gFieldEffectObjectPic_TreeDisguise, 2, 4, 0),
@@ -993,5 +990,3 @@ const struct SpriteFrameImage gFieldEffectObjectPicTable_Rayquaza[] = {
const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_Rayquaza, gFieldEffectObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable, sub_8155F80};
const struct SpritePalette gFieldEffectObjectPaletteInfoUnused = {gEventObjectPalette2, 0x1011};
#endif //GUARD_FIELD_EFFECT_OBJECTS_H
@@ -1,6 +1,3 @@
#ifndef GUARD_MOVEMENT_ACTION_FUNC_TABLES_H
#define GUARD_MOVEMENT_ACTION_FUNC_TABLES_H
u8 MovementAction_FaceDown_Step0(struct EventObject *, struct Sprite *);
u8 MovementAction_FaceDown_Step0(struct EventObject *, struct Sprite *);
u8 MovementAction_PauseSpriteAnim(struct EventObject *, struct Sprite *);
@@ -1514,5 +1511,3 @@ u8 (*const gMovementActionFuncs_DestroyExtraTaskIfAtTop[])(struct EventObject *,
MovementAction_DestroyExtraTaskIfAtTop_Step0,
MovementAction_Finish,
};
#endif //GUARD_MOVEMENT_ACTION_FUNC_TABLES_H
@@ -1,6 +1,3 @@
#ifndef GUARD_MOVEMENT_TYPE_FUNC_TABLES_H
#define GUARD_MOVEMENT_TYPE_FUNC_TABLES_H
u8 (*const gMovementTypeFuncs_WanderAround[])(struct EventObject *, struct Sprite *) = {
MovementType_WanderAround_Step0,
MovementType_WanderAround_Step1,
@@ -439,5 +436,3 @@ u8 (*const gMovementTypeFuncs_Invisible[])(struct EventObject *, struct Sprite *
MovementType_Invisible_Step1,
MovementType_Invisible_Step2,
};
#endif //GUARD_MOVEMENT_TYPE_FUNC_TABLES_H
+65 -65
View File
@@ -1,88 +1,88 @@
const u8 gBattleTerrainTiles_TallGrass[] = INCBIN_U8("graphics/battle_terrain/tall_grass/tiles.4bpp.lz");
const u8 gBattleTerrainPalette_TallGrass[] = INCBIN_U8("graphics/battle_terrain/tall_grass/palette.gbapal.lz");
const u16 gBattleTerrainTilemap_TallGrass[] = INCBIN_U16("graphics/battle_terrain/tall_grass/map.bin.lz");
const u32 gBattleTerrainTiles_TallGrass[] = INCBIN_U32("graphics/battle_terrain/tall_grass/tiles.4bpp.lz");
const u32 gBattleTerrainPalette_TallGrass[] = INCBIN_U32("graphics/battle_terrain/tall_grass/palette.gbapal.lz");
const u32 gBattleTerrainTilemap_TallGrass[] = INCBIN_U32("graphics/battle_terrain/tall_grass/map.bin.lz");
const u8 gBattleTerrainTiles_LongGrass[] = INCBIN_U8("graphics/battle_terrain/long_grass/tiles.4bpp.lz");
const u8 gBattleTerrainPalette_LongGrass[] = INCBIN_U8("graphics/battle_terrain/long_grass/palette.gbapal.lz");
const u16 gBattleTerrainTilemap_LongGrass[] = INCBIN_U16("graphics/battle_terrain/long_grass/map.bin.lz");
const u32 gBattleTerrainTiles_LongGrass[] = INCBIN_U32("graphics/battle_terrain/long_grass/tiles.4bpp.lz");
const u32 gBattleTerrainPalette_LongGrass[] = INCBIN_U32("graphics/battle_terrain/long_grass/palette.gbapal.lz");
const u32 gBattleTerrainTilemap_LongGrass[] = INCBIN_U32("graphics/battle_terrain/long_grass/map.bin.lz");
const u8 gBattleTerrainTiles_Sand[] = INCBIN_U8("graphics/battle_terrain/sand/tiles.4bpp.lz");
const u8 gBattleTerrainPalette_Sand[] = INCBIN_U8("graphics/battle_terrain/sand/palette.gbapal.lz");
const u16 gBattleTerrainTilemap_Sand[] = INCBIN_U16("graphics/battle_terrain/sand/map.bin.lz");
const u32 gBattleTerrainTiles_Sand[] = INCBIN_U32("graphics/battle_terrain/sand/tiles.4bpp.lz");
const u32 gBattleTerrainPalette_Sand[] = INCBIN_U32("graphics/battle_terrain/sand/palette.gbapal.lz");
const u32 gBattleTerrainTilemap_Sand[] = INCBIN_U32("graphics/battle_terrain/sand/map.bin.lz");
const u8 gBattleTerrainTiles_Underwater[] = INCBIN_U8("graphics/battle_terrain/underwater/tiles.4bpp.lz");
const u8 gBattleTerrainPalette_Underwater[] = INCBIN_U8("graphics/battle_terrain/underwater/palette.gbapal.lz");
const u16 gBattleTerrainTilemap_Underwater[] = INCBIN_U16("graphics/battle_terrain/underwater/map.bin.lz");
const u32 gBattleTerrainTiles_Underwater[] = INCBIN_U32("graphics/battle_terrain/underwater/tiles.4bpp.lz");
const u32 gBattleTerrainPalette_Underwater[] = INCBIN_U32("graphics/battle_terrain/underwater/palette.gbapal.lz");
const u32 gBattleTerrainTilemap_Underwater[] = INCBIN_U32("graphics/battle_terrain/underwater/map.bin.lz");
const u8 gBattleTerrainTiles_Water[] = INCBIN_U8("graphics/battle_terrain/water/tiles.4bpp.lz");
const u8 gBattleTerrainPalette_Water[] = INCBIN_U8("graphics/battle_terrain/water/palette.gbapal.lz");
const u16 gBattleTerrainTilemap_Water[] = INCBIN_U16("graphics/battle_terrain/water/map.bin.lz");
const u32 gBattleTerrainTiles_Water[] = INCBIN_U32("graphics/battle_terrain/water/tiles.4bpp.lz");
const u32 gBattleTerrainPalette_Water[] = INCBIN_U32("graphics/battle_terrain/water/palette.gbapal.lz");
const u32 gBattleTerrainTilemap_Water[] = INCBIN_U32("graphics/battle_terrain/water/map.bin.lz");
const u8 gBattleTerrainTiles_PondWater[] = INCBIN_U8("graphics/battle_terrain/pond_water/tiles.4bpp.lz");
const u8 gBattleTerrainPalette_PondWater[] = INCBIN_U8("graphics/battle_terrain/pond_water/palette.gbapal.lz");
const u16 gBattleTerrainTilemap_PondWater[] = INCBIN_U16("graphics/battle_terrain/pond_water/map.bin.lz");
const u32 gBattleTerrainTiles_PondWater[] = INCBIN_U32("graphics/battle_terrain/pond_water/tiles.4bpp.lz");
const u32 gBattleTerrainPalette_PondWater[] = INCBIN_U32("graphics/battle_terrain/pond_water/palette.gbapal.lz");
const u32 gBattleTerrainTilemap_PondWater[] = INCBIN_U32("graphics/battle_terrain/pond_water/map.bin.lz");
const u8 gBattleTerrainTiles_Rock[] = INCBIN_U8("graphics/battle_terrain/rock/tiles.4bpp.lz");
const u8 gBattleTerrainPalette_Rock[] = INCBIN_U8("graphics/battle_terrain/rock/palette.gbapal.lz");
const u16 gBattleTerrainTilemap_Rock[] = INCBIN_U16("graphics/battle_terrain/rock/map.bin.lz");
const u32 gBattleTerrainTiles_Rock[] = INCBIN_U32("graphics/battle_terrain/rock/tiles.4bpp.lz");
const u32 gBattleTerrainPalette_Rock[] = INCBIN_U32("graphics/battle_terrain/rock/palette.gbapal.lz");
const u32 gBattleTerrainTilemap_Rock[] = INCBIN_U32("graphics/battle_terrain/rock/map.bin.lz");
const u8 gBattleTerrainTiles_Cave[] = INCBIN_U8("graphics/battle_terrain/cave/tiles.4bpp.lz");
const u8 gBattleTerrainPalette_Cave[] = INCBIN_U8("graphics/battle_terrain/cave/palette.gbapal.lz");
const u16 gBattleTerrainTilemap_Cave[] = INCBIN_U16("graphics/battle_terrain/cave/map.bin.lz");
const u32 gBattleTerrainTiles_Cave[] = INCBIN_U32("graphics/battle_terrain/cave/tiles.4bpp.lz");
const u32 gBattleTerrainPalette_Cave[] = INCBIN_U32("graphics/battle_terrain/cave/palette.gbapal.lz");
const u32 gBattleTerrainTilemap_Cave[] = INCBIN_U32("graphics/battle_terrain/cave/map.bin.lz");
const u8 gBattleTerrainPalette_Plain[] = INCBIN_U8("graphics/battle_terrain/plain/palette.gbapal.lz");
const u32 gBattleTerrainPalette_Plain[] = INCBIN_U32("graphics/battle_terrain/plain/palette.gbapal.lz");
const u8 gBattleTerrainTiles_Building[] = INCBIN_U8("graphics/battle_terrain/building/tiles.4bpp.lz");
const u8 gBattleTerrainPalette_Frontier[] = INCBIN_U8("graphics/battle_terrain/stadium/battle_frontier.gbapal.lz"); // this is also used for link battles
const u16 gBattleTerrainTilemap_Building[] = INCBIN_U16("graphics/battle_terrain/building/map.bin.lz");
const u32 gBattleTerrainTiles_Building[] = INCBIN_U32("graphics/battle_terrain/building/tiles.4bpp.lz");
const u32 gBattleTerrainPalette_Frontier[] = INCBIN_U32("graphics/battle_terrain/stadium/battle_frontier.gbapal.lz"); // this is also used for link battles
const u32 gBattleTerrainTilemap_Building[] = INCBIN_U32("graphics/battle_terrain/building/map.bin.lz");
const u8 gBattleTerrainTiles_Stadium[] = INCBIN_U8("graphics/battle_terrain/stadium/tiles.4bpp.lz");
const u16 gBattleTerrainTilemap_Stadium[] = INCBIN_U16("graphics/battle_terrain/stadium/map.bin.lz");
const u32 gBattleTerrainTiles_Stadium[] = INCBIN_U32("graphics/battle_terrain/stadium/tiles.4bpp.lz");
const u32 gBattleTerrainTilemap_Stadium[] = INCBIN_U32("graphics/battle_terrain/stadium/map.bin.lz");
const u8 gBattleTerrainTiles_Rayquaza[] = INCBIN_U8("graphics/battle_terrain/sky/tiles.4bpp.lz");
const u16 gBattleTerrainTilemap_Rayquaza[] = INCBIN_U16("graphics/battle_terrain/sky/map.bin.lz");
const u32 gBattleTerrainTiles_Rayquaza[] = INCBIN_U32("graphics/battle_terrain/sky/tiles.4bpp.lz");
const u32 gBattleTerrainTilemap_Rayquaza[] = INCBIN_U32("graphics/battle_terrain/sky/map.bin.lz");
const u8 gBattleTerrainPalette_Building[] = INCBIN_U8("graphics/battle_terrain/building/palette.gbapal.lz");
const u32 gBattleTerrainPalette_Building[] = INCBIN_U32("graphics/battle_terrain/building/palette.gbapal.lz");
const u8 gBattleTerrainPalette_Kyogre[] = INCBIN_U8("graphics/battle_terrain/water/kyogre.gbapal.lz");
const u8 gBattleTerrainPalette_Groudon[] = INCBIN_U8("graphics/battle_terrain/cave/groudon.gbapal.lz");
const u8 gBattleTerrainPalette_BuildingGym[] = INCBIN_U8("graphics/battle_terrain/building/palette2.gbapal.lz");
const u8 gBattleTerrainPalette_BuildingLeader[] = INCBIN_U8("graphics/battle_terrain/building/palette3.gbapal.lz");
const u8 gBattleTerrainPalette_StadiumAqua[] = INCBIN_U8("graphics/battle_terrain/stadium/palette1.gbapal.lz");
const u8 gBattleTerrainPalette_StadiumMagma[] = INCBIN_U8("graphics/battle_terrain/stadium/palette2.gbapal.lz");
const u8 gBattleTerrainPalette_StadiumSidney[] = INCBIN_U8("graphics/battle_terrain/stadium/palette3.gbapal.lz");
const u8 gBattleTerrainPalette_StadiumPhoebe[] = INCBIN_U8("graphics/battle_terrain/stadium/palette4.gbapal.lz");
const u8 gBattleTerrainPalette_StadiumGlacia[] = INCBIN_U8("graphics/battle_terrain/stadium/palette5.gbapal.lz");
const u8 gBattleTerrainPalette_StadiumDrake[] = INCBIN_U8("graphics/battle_terrain/stadium/palette6.gbapal.lz");
const u8 gBattleTerrainPalette_StadiumWallace[] = INCBIN_U8("graphics/battle_terrain/stadium/palette7.gbapal.lz");
const u8 gBattleTerrainPalette_Rayquaza[] = INCBIN_U8("graphics/battle_terrain/sky/palette.gbapal.lz");
const u32 gBattleTerrainPalette_Kyogre[] = INCBIN_U32("graphics/battle_terrain/water/kyogre.gbapal.lz");
const u32 gBattleTerrainPalette_Groudon[] = INCBIN_U32("graphics/battle_terrain/cave/groudon.gbapal.lz");
const u32 gBattleTerrainPalette_BuildingGym[] = INCBIN_U32("graphics/battle_terrain/building/palette2.gbapal.lz");
const u32 gBattleTerrainPalette_BuildingLeader[] = INCBIN_U32("graphics/battle_terrain/building/palette3.gbapal.lz");
const u32 gBattleTerrainPalette_StadiumAqua[] = INCBIN_U32("graphics/battle_terrain/stadium/palette1.gbapal.lz");
const u32 gBattleTerrainPalette_StadiumMagma[] = INCBIN_U32("graphics/battle_terrain/stadium/palette2.gbapal.lz");
const u32 gBattleTerrainPalette_StadiumSidney[] = INCBIN_U32("graphics/battle_terrain/stadium/palette3.gbapal.lz");
const u32 gBattleTerrainPalette_StadiumPhoebe[] = INCBIN_U32("graphics/battle_terrain/stadium/palette4.gbapal.lz");
const u32 gBattleTerrainPalette_StadiumGlacia[] = INCBIN_U32("graphics/battle_terrain/stadium/palette5.gbapal.lz");
const u32 gBattleTerrainPalette_StadiumDrake[] = INCBIN_U32("graphics/battle_terrain/stadium/palette6.gbapal.lz");
const u32 gBattleTerrainPalette_StadiumWallace[] = INCBIN_U32("graphics/battle_terrain/stadium/palette7.gbapal.lz");
const u32 gBattleTerrainPalette_Rayquaza[] = INCBIN_U32("graphics/battle_terrain/sky/palette.gbapal.lz");
const u8 gBattleTerrainAnimTiles_TallGrass[] = INCBIN_U8("graphics/battle_terrain/tall_grass/anim_tiles.4bpp.lz");
const u16 gBattleTerrainAnimTilemap_TallGrass[] = INCBIN_U16("graphics/battle_terrain/tall_grass/anim_map.bin.lz");
const u32 gBattleTerrainAnimTiles_TallGrass[] = INCBIN_U32("graphics/battle_terrain/tall_grass/anim_tiles.4bpp.lz");
const u32 gBattleTerrainAnimTilemap_TallGrass[] = INCBIN_U32("graphics/battle_terrain/tall_grass/anim_map.bin.lz");
const u8 gBattleTerrainAnimTiles_LongGrass[] = INCBIN_U8("graphics/battle_terrain/long_grass/anim_tiles.4bpp.lz");
const u16 gBattleTerrainAnimTilemap_LongGrass[] = INCBIN_U16("graphics/battle_terrain/long_grass/anim_map.bin.lz");
const u32 gBattleTerrainAnimTiles_LongGrass[] = INCBIN_U32("graphics/battle_terrain/long_grass/anim_tiles.4bpp.lz");
const u32 gBattleTerrainAnimTilemap_LongGrass[] = INCBIN_U32("graphics/battle_terrain/long_grass/anim_map.bin.lz");
const u8 gBattleTerrainAnimTiles_Sand[] = INCBIN_U8("graphics/battle_terrain/sand/anim_tiles.4bpp.lz");
const u16 gBattleTerrainAnimTilemap_Sand[] = INCBIN_U16("graphics/battle_terrain/sand/anim_map.bin.lz");
const u32 gBattleTerrainAnimTiles_Sand[] = INCBIN_U32("graphics/battle_terrain/sand/anim_tiles.4bpp.lz");
const u32 gBattleTerrainAnimTilemap_Sand[] = INCBIN_U32("graphics/battle_terrain/sand/anim_map.bin.lz");
const u8 gBattleTerrainAnimTiles_Underwater[] = INCBIN_U8("graphics/battle_terrain/underwater/anim_tiles.4bpp.lz");
const u16 gBattleTerrainAnimTilemap_Underwater[] = INCBIN_U16("graphics/battle_terrain/underwater/anim_map.bin.lz");
const u32 gBattleTerrainAnimTiles_Underwater[] = INCBIN_U32("graphics/battle_terrain/underwater/anim_tiles.4bpp.lz");
const u32 gBattleTerrainAnimTilemap_Underwater[] = INCBIN_U32("graphics/battle_terrain/underwater/anim_map.bin.lz");
const u8 gBattleTerrainAnimTiles_Water[] = INCBIN_U8("graphics/battle_terrain/water/anim_tiles.4bpp.lz");
const u16 gBattleTerrainAnimTilemap_Water[] = INCBIN_U16("graphics/battle_terrain/water/anim_map.bin.lz");
const u32 gBattleTerrainAnimTiles_Water[] = INCBIN_U32("graphics/battle_terrain/water/anim_tiles.4bpp.lz");
const u32 gBattleTerrainAnimTilemap_Water[] = INCBIN_U32("graphics/battle_terrain/water/anim_map.bin.lz");
const u8 gBattleTerrainAnimTiles_PondWater[] = INCBIN_U8("graphics/battle_terrain/pond_water/anim_tiles.4bpp.lz");
const u16 gBattleTerrainAnimTilemap_PondWater[] = INCBIN_U16("graphics/battle_terrain/pond_water/anim_map.bin.lz");
const u32 gBattleTerrainAnimTiles_PondWater[] = INCBIN_U32("graphics/battle_terrain/pond_water/anim_tiles.4bpp.lz");
const u32 gBattleTerrainAnimTilemap_PondWater[] = INCBIN_U32("graphics/battle_terrain/pond_water/anim_map.bin.lz");
const u8 gBattleTerrainAnimTiles_Rock[] = INCBIN_U8("graphics/battle_terrain/rock/anim_tiles.4bpp.lz");
const u16 gBattleTerrainAnimTilemap_Rock[] = INCBIN_U16("graphics/battle_terrain/rock/anim_map.bin.lz");
const u32 gBattleTerrainAnimTiles_Rock[] = INCBIN_U32("graphics/battle_terrain/rock/anim_tiles.4bpp.lz");
const u32 gBattleTerrainAnimTilemap_Rock[] = INCBIN_U32("graphics/battle_terrain/rock/anim_map.bin.lz");
const u8 gBattleTerrainAnimTiles_Cave[] = INCBIN_U8("graphics/battle_terrain/cave/anim_tiles.4bpp.lz");
const u16 gBattleTerrainAnimTilemap_Cave[] = INCBIN_U16("graphics/battle_terrain/cave/anim_map.bin.lz");
const u32 gBattleTerrainAnimTiles_Cave[] = INCBIN_U32("graphics/battle_terrain/cave/anim_tiles.4bpp.lz");
const u32 gBattleTerrainAnimTilemap_Cave[] = INCBIN_U32("graphics/battle_terrain/cave/anim_map.bin.lz");
const u8 gBattleTerrainAnimTiles_Building[] = INCBIN_U8("graphics/battle_terrain/building/anim_tiles.4bpp.lz");
const u16 gBattleTerrainAnimTilemap_Building[] = INCBIN_U16("graphics/battle_terrain/building/anim_map.bin.lz");
const u32 gBattleTerrainAnimTiles_Building[] = INCBIN_U32("graphics/battle_terrain/building/anim_tiles.4bpp.lz");
const u32 gBattleTerrainAnimTilemap_Building[] = INCBIN_U32("graphics/battle_terrain/building/anim_map.bin.lz");
const u8 gBattleTerrainAnimTiles_Rayquaza[] = INCBIN_U8("graphics/battle_terrain/sky/anim_tiles.4bpp.lz");
const u16 gBattleTerrainAnimTilemap_Rayquaza[] = INCBIN_U16("graphics/battle_terrain/sky/anim_map.bin.lz");
const u32 gBattleTerrainAnimTiles_Rayquaza[] = INCBIN_U32("graphics/battle_terrain/sky/anim_tiles.4bpp.lz");
const u32 gBattleTerrainAnimTilemap_Rayquaza[] = INCBIN_U32("graphics/battle_terrain/sky/anim_map.bin.lz");
+91 -91
View File
@@ -1,95 +1,95 @@
const u8 gUnknown_08D9BB44[] = INCBIN_U8("graphics/interface/check_berry.4bpp.lz");
const u8 gUnknown_08D9BEF0[] = INCBIN_U8("graphics/interface/check_berry.gbapal.lz");
const u32 gUnknown_08D9BB44[] = INCBIN_U32("graphics/interface/check_berry.4bpp.lz");
const u32 gUnknown_08D9BEF0[] = INCBIN_U32("graphics/interface/check_berry.gbapal.lz");
const u16 gUnknown_08D9BF98[] = INCBIN_U16("graphics/interface/berry_tag.bin.lz");
const u16 gUnknown_08D9C13C[] = INCBIN_U16("graphics/interface/berry_tag_title.bin.lz");
const u32 gUnknown_08D9BF98[] = INCBIN_U32("graphics/interface/berry_tag.bin.lz");
const u32 gUnknown_08D9C13C[] = INCBIN_U32("graphics/interface/berry_tag_title.bin.lz");
const u8 gBerryCheckCircle_Gfx[] = INCBIN_U8("graphics/interface/check_berry_circle.4bpp.lz");
const u32 gBerryCheckCircle_Gfx[] = INCBIN_U32("graphics/interface/check_berry_circle.4bpp.lz");
const u8 gBerryPic_Cheri[] = INCBIN_U8("graphics/berries/cheri.4bpp.lz");
const u8 gBerryPic_Oran[] = INCBIN_U8("graphics/berries/oran.4bpp.lz");
const u8 gBerryPic_Pecha[] = INCBIN_U8("graphics/berries/pecha.4bpp.lz");
const u8 gBerryPic_Rawst[] = INCBIN_U8("graphics/berries/rawst.4bpp.lz");
const u8 gBerryPic_Aspear[] = INCBIN_U8("graphics/berries/aspear.4bpp.lz");
const u8 gBerryPic_Leppa[] = INCBIN_U8("graphics/berries/leppa.4bpp.lz");
const u8 gBerryPic_Chesto[] = INCBIN_U8("graphics/berries/chesto.4bpp.lz");
const u8 gBerryPic_Persim[] = INCBIN_U8("graphics/berries/persim.4bpp.lz");
const u8 gBerryPic_Lum[] = INCBIN_U8("graphics/berries/lum.4bpp.lz");
const u8 gBerryPic_Sitrus[] = INCBIN_U8("graphics/berries/sitrus.4bpp.lz");
const u8 gBerryPic_Figy[] = INCBIN_U8("graphics/berries/figy.4bpp.lz");
const u8 gBerryPic_Wiki[] = INCBIN_U8("graphics/berries/wiki.4bpp.lz");
const u8 gBerryPic_Mago[] = INCBIN_U8("graphics/berries/mago.4bpp.lz");
const u8 gBerryPic_Aguav[] = INCBIN_U8("graphics/berries/aguav.4bpp.lz");
const u8 gBerryPic_Iapapa[] = INCBIN_U8("graphics/berries/iapapa.4bpp.lz");
const u8 gBerryPic_Razz[] = INCBIN_U8("graphics/berries/razz.4bpp.lz");
const u8 gBerryPic_Bluk[] = INCBIN_U8("graphics/berries/bluk.4bpp.lz");
const u8 gBerryPic_Nanab[] = INCBIN_U8("graphics/berries/nanab.4bpp.lz");
const u8 gBerryPic_Wepear[] = INCBIN_U8("graphics/berries/wepear.4bpp.lz");
const u8 gBerryPic_Pinap[] = INCBIN_U8("graphics/berries/pinap.4bpp.lz");
const u8 gBerryPic_Pomeg[] = INCBIN_U8("graphics/berries/pomeg.4bpp.lz");
const u8 gBerryPic_Kelpsy[] = INCBIN_U8("graphics/berries/kelpsy.4bpp.lz");
const u8 gBerryPic_Qualot[] = INCBIN_U8("graphics/berries/qualot.4bpp.lz");
const u8 gBerryPic_Hondew[] = INCBIN_U8("graphics/berries/hondew.4bpp.lz");
const u8 gBerryPic_Grepa[] = INCBIN_U8("graphics/berries/grepa.4bpp.lz");
const u8 gBerryPic_Tamato[] = INCBIN_U8("graphics/berries/tamato.4bpp.lz");
const u8 gBerryPic_Cornn[] = INCBIN_U8("graphics/berries/cornn.4bpp.lz");
const u8 gBerryPic_Magost[] = INCBIN_U8("graphics/berries/magost.4bpp.lz");
const u8 gBerryPic_Rabuta[] = INCBIN_U8("graphics/berries/rabuta.4bpp.lz");
const u8 gBerryPic_Nomel[] = INCBIN_U8("graphics/berries/nomel.4bpp.lz");
const u8 gBerryPic_Spelon[] = INCBIN_U8("graphics/berries/spelon.4bpp.lz");
const u8 gBerryPic_Pamtre[] = INCBIN_U8("graphics/berries/pamtre.4bpp.lz");
const u8 gBerryPic_Watmel[] = INCBIN_U8("graphics/berries/watmel.4bpp.lz");
const u8 gBerryPic_Durin[] = INCBIN_U8("graphics/berries/durin.4bpp.lz");
const u8 gBerryPic_Belue[] = INCBIN_U8("graphics/berries/belue.4bpp.lz");
const u8 gBerryPic_Liechi[] = INCBIN_U8("graphics/berries/liechi.4bpp.lz");
const u8 gBerryPic_Ganlon[] = INCBIN_U8("graphics/berries/ganlon.4bpp.lz");
const u8 gBerryPic_Salac[] = INCBIN_U8("graphics/berries/salac.4bpp.lz");
const u8 gBerryPic_Petaya[] = INCBIN_U8("graphics/berries/petaya.4bpp.lz");
const u8 gBerryPic_Apicot[] = INCBIN_U8("graphics/berries/apicot.4bpp.lz");
const u8 gBerryPic_Lansat[] = INCBIN_U8("graphics/berries/lansat.4bpp.lz");
const u8 gBerryPic_Starf[] = INCBIN_U8("graphics/berries/starf.4bpp.lz");
const u8 gBerryPic_Enigma[] = INCBIN_U8("graphics/berries/enigma.4bpp.lz");
const u32 gBerryPic_Cheri[] = INCBIN_U32("graphics/berries/cheri.4bpp.lz");
const u32 gBerryPic_Oran[] = INCBIN_U32("graphics/berries/oran.4bpp.lz");
const u32 gBerryPic_Pecha[] = INCBIN_U32("graphics/berries/pecha.4bpp.lz");
const u32 gBerryPic_Rawst[] = INCBIN_U32("graphics/berries/rawst.4bpp.lz");
const u32 gBerryPic_Aspear[] = INCBIN_U32("graphics/berries/aspear.4bpp.lz");
const u32 gBerryPic_Leppa[] = INCBIN_U32("graphics/berries/leppa.4bpp.lz");
const u32 gBerryPic_Chesto[] = INCBIN_U32("graphics/berries/chesto.4bpp.lz");
const u32 gBerryPic_Persim[] = INCBIN_U32("graphics/berries/persim.4bpp.lz");
const u32 gBerryPic_Lum[] = INCBIN_U32("graphics/berries/lum.4bpp.lz");
const u32 gBerryPic_Sitrus[] = INCBIN_U32("graphics/berries/sitrus.4bpp.lz");
const u32 gBerryPic_Figy[] = INCBIN_U32("graphics/berries/figy.4bpp.lz");
const u32 gBerryPic_Wiki[] = INCBIN_U32("graphics/berries/wiki.4bpp.lz");
const u32 gBerryPic_Mago[] = INCBIN_U32("graphics/berries/mago.4bpp.lz");
const u32 gBerryPic_Aguav[] = INCBIN_U32("graphics/berries/aguav.4bpp.lz");
const u32 gBerryPic_Iapapa[] = INCBIN_U32("graphics/berries/iapapa.4bpp.lz");
const u32 gBerryPic_Razz[] = INCBIN_U32("graphics/berries/razz.4bpp.lz");
const u32 gBerryPic_Bluk[] = INCBIN_U32("graphics/berries/bluk.4bpp.lz");
const u32 gBerryPic_Nanab[] = INCBIN_U32("graphics/berries/nanab.4bpp.lz");
const u32 gBerryPic_Wepear[] = INCBIN_U32("graphics/berries/wepear.4bpp.lz");
const u32 gBerryPic_Pinap[] = INCBIN_U32("graphics/berries/pinap.4bpp.lz");
const u32 gBerryPic_Pomeg[] = INCBIN_U32("graphics/berries/pomeg.4bpp.lz");
const u32 gBerryPic_Kelpsy[] = INCBIN_U32("graphics/berries/kelpsy.4bpp.lz");
const u32 gBerryPic_Qualot[] = INCBIN_U32("graphics/berries/qualot.4bpp.lz");
const u32 gBerryPic_Hondew[] = INCBIN_U32("graphics/berries/hondew.4bpp.lz");
const u32 gBerryPic_Grepa[] = INCBIN_U32("graphics/berries/grepa.4bpp.lz");
const u32 gBerryPic_Tamato[] = INCBIN_U32("graphics/berries/tamato.4bpp.lz");
const u32 gBerryPic_Cornn[] = INCBIN_U32("graphics/berries/cornn.4bpp.lz");
const u32 gBerryPic_Magost[] = INCBIN_U32("graphics/berries/magost.4bpp.lz");
const u32 gBerryPic_Rabuta[] = INCBIN_U32("graphics/berries/rabuta.4bpp.lz");
const u32 gBerryPic_Nomel[] = INCBIN_U32("graphics/berries/nomel.4bpp.lz");
const u32 gBerryPic_Spelon[] = INCBIN_U32("graphics/berries/spelon.4bpp.lz");
const u32 gBerryPic_Pamtre[] = INCBIN_U32("graphics/berries/pamtre.4bpp.lz");
const u32 gBerryPic_Watmel[] = INCBIN_U32("graphics/berries/watmel.4bpp.lz");
const u32 gBerryPic_Durin[] = INCBIN_U32("graphics/berries/durin.4bpp.lz");
const u32 gBerryPic_Belue[] = INCBIN_U32("graphics/berries/belue.4bpp.lz");
const u32 gBerryPic_Liechi[] = INCBIN_U32("graphics/berries/liechi.4bpp.lz");
const u32 gBerryPic_Ganlon[] = INCBIN_U32("graphics/berries/ganlon.4bpp.lz");
const u32 gBerryPic_Salac[] = INCBIN_U32("graphics/berries/salac.4bpp.lz");
const u32 gBerryPic_Petaya[] = INCBIN_U32("graphics/berries/petaya.4bpp.lz");
const u32 gBerryPic_Apicot[] = INCBIN_U32("graphics/berries/apicot.4bpp.lz");
const u32 gBerryPic_Lansat[] = INCBIN_U32("graphics/berries/lansat.4bpp.lz");
const u32 gBerryPic_Starf[] = INCBIN_U32("graphics/berries/starf.4bpp.lz");
const u32 gBerryPic_Enigma[] = INCBIN_U32("graphics/berries/enigma.4bpp.lz");
const u8 gBerryPalette_Cheri[] = INCBIN_U8("graphics/berries/cheri.gbapal.lz");
const u8 gBerryPalette_Oran[] = INCBIN_U8("graphics/berries/oran.gbapal.lz");
const u8 gBerryPalette_Pecha[] = INCBIN_U8("graphics/berries/pecha.gbapal.lz");
const u8 gBerryPalette_Rawst[] = INCBIN_U8("graphics/berries/rawst.gbapal.lz");
const u8 gBerryPalette_Aspear[] = INCBIN_U8("graphics/berries/aspear.gbapal.lz");
const u8 gBerryPalette_Leppa[] = INCBIN_U8("graphics/berries/leppa.gbapal.lz");
const u8 gBerryPalette_Chesto[] = INCBIN_U8("graphics/berries/chesto.gbapal.lz");
const u8 gBerryPalette_Persim[] = INCBIN_U8("graphics/berries/persim.gbapal.lz");
const u8 gBerryPalette_Lum[] = INCBIN_U8("graphics/berries/lum.gbapal.lz");
const u8 gBerryPalette_Sitrus[] = INCBIN_U8("graphics/berries/sitrus.gbapal.lz");
const u8 gBerryPalette_Figy[] = INCBIN_U8("graphics/berries/figy.gbapal.lz");
const u8 gBerryPalette_Wiki[] = INCBIN_U8("graphics/berries/wiki.gbapal.lz");
const u8 gBerryPalette_Mago[] = INCBIN_U8("graphics/berries/mago.gbapal.lz");
const u8 gBerryPalette_Aguav[] = INCBIN_U8("graphics/berries/aguav.gbapal.lz");
const u8 gBerryPalette_Iapapa[] = INCBIN_U8("graphics/berries/iapapa.gbapal.lz");
const u8 gBerryPalette_Razz[] = INCBIN_U8("graphics/berries/razz.gbapal.lz");
const u8 gBerryPalette_Bluk[] = INCBIN_U8("graphics/berries/bluk.gbapal.lz");
const u8 gBerryPalette_Nanab[] = INCBIN_U8("graphics/berries/nanab.gbapal.lz");
const u8 gBerryPalette_Wepear[] = INCBIN_U8("graphics/berries/wepear.gbapal.lz");
const u8 gBerryPalette_Pinap[] = INCBIN_U8("graphics/berries/pinap.gbapal.lz");
const u8 gBerryPalette_Pomeg[] = INCBIN_U8("graphics/berries/pomeg.gbapal.lz");
const u8 gBerryPalette_Kelpsy[] = INCBIN_U8("graphics/berries/kelpsy.gbapal.lz");
const u8 gBerryPalette_Qualot[] = INCBIN_U8("graphics/berries/qualot.gbapal.lz");
const u8 gBerryPalette_Hondew[] = INCBIN_U8("graphics/berries/hondew.gbapal.lz");
const u8 gBerryPalette_Grepa[] = INCBIN_U8("graphics/berries/grepa.gbapal.lz");
const u8 gBerryPalette_Tamato[] = INCBIN_U8("graphics/berries/tamato.gbapal.lz");
const u8 gBerryPalette_Cornn[] = INCBIN_U8("graphics/berries/cornn.gbapal.lz");
const u8 gBerryPalette_Magost[] = INCBIN_U8("graphics/berries/magost.gbapal.lz");
const u8 gBerryPalette_Rabuta[] = INCBIN_U8("graphics/berries/rabuta.gbapal.lz");
const u8 gBerryPalette_Nomel[] = INCBIN_U8("graphics/berries/nomel.gbapal.lz");
const u8 gBerryPalette_Spelon[] = INCBIN_U8("graphics/berries/spelon.gbapal.lz");
const u8 gBerryPalette_Pamtre[] = INCBIN_U8("graphics/berries/pamtre.gbapal.lz");
const u8 gBerryPalette_Watmel[] = INCBIN_U8("graphics/berries/watmel.gbapal.lz");
const u8 gBerryPalette_Durin[] = INCBIN_U8("graphics/berries/durin.gbapal.lz");
const u8 gBerryPalette_Belue[] = INCBIN_U8("graphics/berries/belue.gbapal.lz");
const u8 gBerryPalette_Liechi[] = INCBIN_U8("graphics/berries/liechi.gbapal.lz");
const u8 gBerryPalette_Ganlon[] = INCBIN_U8("graphics/berries/ganlon.gbapal.lz");
const u8 gBerryPalette_Salac[] = INCBIN_U8("graphics/berries/salac.gbapal.lz");
const u8 gBerryPalette_Petaya[] = INCBIN_U8("graphics/berries/petaya.gbapal.lz");
const u8 gBerryPalette_Apicot[] = INCBIN_U8("graphics/berries/apicot.gbapal.lz");
const u8 gBerryPalette_Lansat[] = INCBIN_U8("graphics/berries/lansat.gbapal.lz");
const u8 gBerryPalette_Starf[] = INCBIN_U8("graphics/berries/starf.gbapal.lz");
const u8 gBerryPalette_Enigma[] = INCBIN_U8("graphics/berries/enigma.gbapal.lz");
const u32 gBerryPalette_Cheri[] = INCBIN_U32("graphics/berries/cheri.gbapal.lz");
const u32 gBerryPalette_Oran[] = INCBIN_U32("graphics/berries/oran.gbapal.lz");
const u32 gBerryPalette_Pecha[] = INCBIN_U32("graphics/berries/pecha.gbapal.lz");
const u32 gBerryPalette_Rawst[] = INCBIN_U32("graphics/berries/rawst.gbapal.lz");
const u32 gBerryPalette_Aspear[] = INCBIN_U32("graphics/berries/aspear.gbapal.lz");
const u32 gBerryPalette_Leppa[] = INCBIN_U32("graphics/berries/leppa.gbapal.lz");
const u32 gBerryPalette_Chesto[] = INCBIN_U32("graphics/berries/chesto.gbapal.lz");
const u32 gBerryPalette_Persim[] = INCBIN_U32("graphics/berries/persim.gbapal.lz");
const u32 gBerryPalette_Lum[] = INCBIN_U32("graphics/berries/lum.gbapal.lz");
const u32 gBerryPalette_Sitrus[] = INCBIN_U32("graphics/berries/sitrus.gbapal.lz");
const u32 gBerryPalette_Figy[] = INCBIN_U32("graphics/berries/figy.gbapal.lz");
const u32 gBerryPalette_Wiki[] = INCBIN_U32("graphics/berries/wiki.gbapal.lz");
const u32 gBerryPalette_Mago[] = INCBIN_U32("graphics/berries/mago.gbapal.lz");
const u32 gBerryPalette_Aguav[] = INCBIN_U32("graphics/berries/aguav.gbapal.lz");
const u32 gBerryPalette_Iapapa[] = INCBIN_U32("graphics/berries/iapapa.gbapal.lz");
const u32 gBerryPalette_Razz[] = INCBIN_U32("graphics/berries/razz.gbapal.lz");
const u32 gBerryPalette_Bluk[] = INCBIN_U32("graphics/berries/bluk.gbapal.lz");
const u32 gBerryPalette_Nanab[] = INCBIN_U32("graphics/berries/nanab.gbapal.lz");
const u32 gBerryPalette_Wepear[] = INCBIN_U32("graphics/berries/wepear.gbapal.lz");
const u32 gBerryPalette_Pinap[] = INCBIN_U32("graphics/berries/pinap.gbapal.lz");
const u32 gBerryPalette_Pomeg[] = INCBIN_U32("graphics/berries/pomeg.gbapal.lz");
const u32 gBerryPalette_Kelpsy[] = INCBIN_U32("graphics/berries/kelpsy.gbapal.lz");
const u32 gBerryPalette_Qualot[] = INCBIN_U32("graphics/berries/qualot.gbapal.lz");
const u32 gBerryPalette_Hondew[] = INCBIN_U32("graphics/berries/hondew.gbapal.lz");
const u32 gBerryPalette_Grepa[] = INCBIN_U32("graphics/berries/grepa.gbapal.lz");
const u32 gBerryPalette_Tamato[] = INCBIN_U32("graphics/berries/tamato.gbapal.lz");
const u32 gBerryPalette_Cornn[] = INCBIN_U32("graphics/berries/cornn.gbapal.lz");
const u32 gBerryPalette_Magost[] = INCBIN_U32("graphics/berries/magost.gbapal.lz");
const u32 gBerryPalette_Rabuta[] = INCBIN_U32("graphics/berries/rabuta.gbapal.lz");
const u32 gBerryPalette_Nomel[] = INCBIN_U32("graphics/berries/nomel.gbapal.lz");
const u32 gBerryPalette_Spelon[] = INCBIN_U32("graphics/berries/spelon.gbapal.lz");
const u32 gBerryPalette_Pamtre[] = INCBIN_U32("graphics/berries/pamtre.gbapal.lz");
const u32 gBerryPalette_Watmel[] = INCBIN_U32("graphics/berries/watmel.gbapal.lz");
const u32 gBerryPalette_Durin[] = INCBIN_U32("graphics/berries/durin.gbapal.lz");
const u32 gBerryPalette_Belue[] = INCBIN_U32("graphics/berries/belue.gbapal.lz");
const u32 gBerryPalette_Liechi[] = INCBIN_U32("graphics/berries/liechi.gbapal.lz");
const u32 gBerryPalette_Ganlon[] = INCBIN_U32("graphics/berries/ganlon.gbapal.lz");
const u32 gBerryPalette_Salac[] = INCBIN_U32("graphics/berries/salac.gbapal.lz");
const u32 gBerryPalette_Petaya[] = INCBIN_U32("graphics/berries/petaya.gbapal.lz");
const u32 gBerryPalette_Apicot[] = INCBIN_U32("graphics/berries/apicot.gbapal.lz");
const u32 gBerryPalette_Lansat[] = INCBIN_U32("graphics/berries/lansat.gbapal.lz");
const u32 gBerryPalette_Starf[] = INCBIN_U32("graphics/berries/starf.gbapal.lz");
const u32 gBerryPalette_Enigma[] = INCBIN_U32("graphics/berries/enigma.gbapal.lz");
+12 -12
View File
@@ -1,23 +1,23 @@
const u16 gBerryFixGameboy_Pal[] = INCBIN_U16("graphics/berry_fix/gba_small.gbapal");
const u8 gBerryFixGameboy_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_small.4bpp.lz");
const u16 gBerryFixGameboy_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_small.bin.lz");
const u32 gBerryFixGameboy_Gfx[] = INCBIN_U32("graphics/berry_fix/gba_small.4bpp.lz");
const u32 gBerryFixGameboy_Tilemap[] = INCBIN_U32("graphics/berry_fix/gba_small.bin.lz");
const u16 gBerryFixGameboyLogo_Pal[] = INCBIN_U16("graphics/berry_fix/logo.gbapal");
const u8 gBerryFixGameboyLogo_Gfx[] = INCBIN_U8("graphics/berry_fix/logo.4bpp.lz");
const u16 gBerryFixGameboyLogo_Tilemap[] = INCBIN_U16("graphics/berry_fix/logo.bin.lz");
const u32 gBerryFixGameboyLogo_Gfx[] = INCBIN_U32("graphics/berry_fix/logo.4bpp.lz");
const u32 gBerryFixGameboyLogo_Tilemap[] = INCBIN_U32("graphics/berry_fix/logo.bin.lz");
const u16 gBerryFixGbaTransfer_Pal[] = INCBIN_U16("graphics/berry_fix/gba_transfer.gbapal");
const u8 gBerryFixGbaTransfer_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer.4bpp.lz");
const u16 gBerryFixGbaTransfer_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_transfer.bin.lz");
const u32 gBerryFixGbaTransfer_Gfx[] = INCBIN_U32("graphics/berry_fix/gba_transfer.4bpp.lz");
const u32 gBerryFixGbaTransfer_Tilemap[] = INCBIN_U32("graphics/berry_fix/gba_transfer.bin.lz");
const u16 gBerryFixGbaTransferHighlight_Pal[] = INCBIN_U16("graphics/berry_fix/gba_transfer_highlight.gbapal");
const u8 gBerryFixGbaTransferHighlight_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer_highlight.4bpp.lz");
const u16 gBerryFixGbaTransferHighlight_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_transfer_highlight.bin.lz");
const u32 gBerryFixGbaTransferHighlight_Gfx[] = INCBIN_U32("graphics/berry_fix/gba_transfer_highlight.4bpp.lz");
const u32 gBerryFixGbaTransferHighlight_Tilemap[] = INCBIN_U32("graphics/berry_fix/gba_transfer_highlight.bin.lz");
const u16 gBerryFixGbaTransferError_Pal[] = INCBIN_U16("graphics/berry_fix/gba_transfer_error.gbapal");
const u8 gBerryFixGbaTransferError_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer_error.4bpp.lz");
const u16 gBerryFixGbaTransferError_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_transfer_error.bin.lz");
const u32 gBerryFixGbaTransferError_Gfx[] = INCBIN_U32("graphics/berry_fix/gba_transfer_error.4bpp.lz");
const u32 gBerryFixGbaTransferError_Tilemap[] = INCBIN_U32("graphics/berry_fix/gba_transfer_error.bin.lz");
const u16 gBerryFixWindow_Pal[] = INCBIN_U16("graphics/berry_fix/window.gbapal");
const u8 gBerryFixWindow_Gfx[] = INCBIN_U8("graphics/berry_fix/window.4bpp.lz");
const u16 gBerryFixWindow_Tilemap[] = INCBIN_U16("graphics/berry_fix/window.bin.lz");
const u32 gBerryFixWindow_Gfx[] = INCBIN_U32("graphics/berry_fix/window.4bpp.lz");
const u32 gBerryFixWindow_Tilemap[] = INCBIN_U32("graphics/berry_fix/window.bin.lz");
+84 -84
View File
@@ -1,125 +1,125 @@
const u8 gUnknown_08DB7AA0[] = INCBIN_U8("graphics/decorations/decor_heavy_desk.4bpp.lz");
const u8 gUnknown_08DB7B34[] = INCBIN_U8("graphics/decorations/decor_heavy_desk.gbapal.lz");
const u32 gUnknown_08DB7AA0[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.4bpp.lz");
const u32 gUnknown_08DB7B34[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.gbapal.lz");
const u8 gUnknown_08DB7B5C[] = INCBIN_U8("graphics/decorations/decor_ragged_desk.4bpp.lz");
const u8 gUnknown_08DB7BEC[] = INCBIN_U8("graphics/decorations/decor_ragged_desk.gbapal.lz");
const u32 gUnknown_08DB7B5C[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.4bpp.lz");
const u32 gUnknown_08DB7BEC[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.gbapal.lz");
const u8 gUnknown_08DB7C08[] = INCBIN_U8("graphics/decorations/decor_comfort_desk.4bpp.lz");
const u8 gUnknown_08DB7CE8[] = INCBIN_U8("graphics/decorations/decor_comfort_desk.gbapal.lz");
const u32 gUnknown_08DB7C08[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.4bpp.lz");
const u32 gUnknown_08DB7CE8[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.gbapal.lz");
const u8 gUnknown_08DB7D08[] = INCBIN_U8("graphics/decorations/decor_pretty_desk.4bpp.lz");
const u8 gUnknown_08DB7DCC[] = INCBIN_U8("graphics/decorations/decor_pretty_desk.gbapal.lz");
const u32 gUnknown_08DB7D08[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.4bpp.lz");
const u32 gUnknown_08DB7DCC[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.gbapal.lz");
const u8 gUnknown_08DB7DF4[] = INCBIN_U8("graphics/decorations/decor_brick_desk.4bpp.lz");
const u8 gUnknown_08DB7EA0[] = INCBIN_U8("graphics/decorations/decor_brick_desk.gbapal.lz");
const u32 gUnknown_08DB7DF4[] = INCBIN_U32("graphics/decorations/decor_brick_desk.4bpp.lz");
const u32 gUnknown_08DB7EA0[] = INCBIN_U32("graphics/decorations/decor_brick_desk.gbapal.lz");
const u8 gUnknown_08DB7EC4[] = INCBIN_U8("graphics/decorations/decor_camp_desk.4bpp.lz");
const u8 gUnknown_08DB7F60[] = INCBIN_U8("graphics/decorations/decor_camp_desk.gbapal.lz");
const u32 gUnknown_08DB7EC4[] = INCBIN_U32("graphics/decorations/decor_camp_desk.4bpp.lz");
const u32 gUnknown_08DB7F60[] = INCBIN_U32("graphics/decorations/decor_camp_desk.gbapal.lz");
const u8 gUnknown_08DB7F7C[] = INCBIN_U8("graphics/decorations/decor_hard_desk.4bpp.lz");
const u8 gUnknown_08DB8070[] = INCBIN_U8("graphics/decorations/decor_hard_desk.gbapal.lz");
const u32 gUnknown_08DB7F7C[] = INCBIN_U32("graphics/decorations/decor_hard_desk.4bpp.lz");
const u32 gUnknown_08DB8070[] = INCBIN_U32("graphics/decorations/decor_hard_desk.gbapal.lz");
const u8 gUnknown_08DB808C[] = INCBIN_U8("graphics/decorations/decor_red_plant.4bpp.lz");
const u8 gUnknown_08DB8138[] = INCBIN_U8("graphics/decorations/decor_red_plant.gbapal.lz");
const u32 gUnknown_08DB808C[] = INCBIN_U32("graphics/decorations/decor_red_plant.4bpp.lz");
const u32 gUnknown_08DB8138[] = INCBIN_U32("graphics/decorations/decor_red_plant.gbapal.lz");
const u8 gUnknown_08DB8160[] = INCBIN_U8("graphics/decorations/decor_tropical_plant.4bpp.lz");
const u8 gUnknown_08DB8218[] = INCBIN_U8("graphics/decorations/decor_tropical_plant.gbapal.lz");
const u32 gUnknown_08DB8160[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.4bpp.lz");
const u32 gUnknown_08DB8218[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.gbapal.lz");
const u8 gUnknown_08DB823C[] = INCBIN_U8("graphics/decorations/decor_pretty_flowers.4bpp.lz");
const u8 gUnknown_08DB8300[] = INCBIN_U8("graphics/decorations/decor_pretty_flowers.gbapal.lz");
const u32 gUnknown_08DB823C[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.4bpp.lz");
const u32 gUnknown_08DB8300[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.gbapal.lz");
const u8 gUnknown_08DB8328[] = INCBIN_U8("graphics/decorations/decor_colorful_plant.4bpp.lz");
const u8 gUnknown_08DB8430[] = INCBIN_U8("graphics/decorations/decor_colorful_plant.gbapal.lz");
const u32 gUnknown_08DB8328[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.4bpp.lz");
const u32 gUnknown_08DB8430[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.gbapal.lz");
const u8 gUnknown_08DB8458[] = INCBIN_U8("graphics/decorations/decor_big_plant.4bpp.lz");
const u8 gUnknown_08DB8528[] = INCBIN_U8("graphics/decorations/decor_big_plant.gbapal.lz");
const u32 gUnknown_08DB8458[] = INCBIN_U32("graphics/decorations/decor_big_plant.4bpp.lz");
const u32 gUnknown_08DB8528[] = INCBIN_U32("graphics/decorations/decor_big_plant.gbapal.lz");
const u8 gUnknown_08DB854C[] = INCBIN_U8("graphics/decorations/decor_gorgeous_plant.4bpp.lz");
const u8 gUnknown_08DB862C[] = INCBIN_U8("graphics/decorations/decor_gorgeous_plant.gbapal.lz");
const u32 gUnknown_08DB854C[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.4bpp.lz");
const u32 gUnknown_08DB862C[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.gbapal.lz");
const u8 gUnknown_08DB8654[] = INCBIN_U8("graphics/decorations/decor_red_brick.4bpp.lz");
const u8 gUnknown_08DB86C4[] = INCBIN_U8("graphics/decorations/decor_red_brick.gbapal.lz");
const u32 gUnknown_08DB8654[] = INCBIN_U32("graphics/decorations/decor_red_brick.4bpp.lz");
const u32 gUnknown_08DB86C4[] = INCBIN_U32("graphics/decorations/decor_red_brick.gbapal.lz");
const u8 gUnknown_08DB86E0[] = INCBIN_U8("graphics/decorations/decor_yellow_brick.4bpp.lz");
const u8 gUnknown_08DB8750[] = INCBIN_U8("graphics/decorations/decor_yellow_brick.gbapal.lz");
const u32 gUnknown_08DB86E0[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.4bpp.lz");
const u32 gUnknown_08DB8750[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.gbapal.lz");
const u8 gUnknown_08DB876C[] = INCBIN_U8("graphics/decorations/decor_blue_brick.4bpp.lz");
const u8 gUnknown_08DB87DC[] = INCBIN_U8("graphics/decorations/decor_blue_brick.gbapal.lz");
const u32 gUnknown_08DB876C[] = INCBIN_U32("graphics/decorations/decor_blue_brick.4bpp.lz");
const u32 gUnknown_08DB87DC[] = INCBIN_U32("graphics/decorations/decor_blue_brick.gbapal.lz");
const u8 gUnknown_08DB87F8[] = INCBIN_U8("graphics/decorations/decor_red_tent.4bpp.lz");
const u8 gUnknown_08DB88D8[] = INCBIN_U8("graphics/decorations/decor_red_tent.gbapal.lz");
const u32 gUnknown_08DB87F8[] = INCBIN_U32("graphics/decorations/decor_red_tent.4bpp.lz");
const u32 gUnknown_08DB88D8[] = INCBIN_U32("graphics/decorations/decor_red_tent.gbapal.lz");
const u8 gUnknown_08DB8900[] = INCBIN_U8("graphics/decorations/decor_blue_tent.4bpp.lz");
const u8 gUnknown_08DB89E0[] = INCBIN_U8("graphics/decorations/decor_blue_tent.gbapal.lz");
const u32 gUnknown_08DB8900[] = INCBIN_U32("graphics/decorations/decor_blue_tent.4bpp.lz");
const u32 gUnknown_08DB89E0[] = INCBIN_U32("graphics/decorations/decor_blue_tent.gbapal.lz");
const u8 gUnknown_08DB8A08[] = INCBIN_U8("graphics/decorations/decor_solid_board.4bpp.lz");
const u8 gUnknown_08DB8A68[] = INCBIN_U8("graphics/decorations/decor_solid_board.gbapal.lz");
const u32 gUnknown_08DB8A08[] = INCBIN_U32("graphics/decorations/decor_solid_board.4bpp.lz");
const u32 gUnknown_08DB8A68[] = INCBIN_U32("graphics/decorations/decor_solid_board.gbapal.lz");
const u8 gUnknown_08DB8A84[] = INCBIN_U8("graphics/decorations/decor_slide.4bpp.lz");
const u8 gUnknown_08DB8B40[] = INCBIN_U8("graphics/decorations/decor_slide.gbapal.lz");
const u32 gUnknown_08DB8A84[] = INCBIN_U32("graphics/decorations/decor_slide.4bpp.lz");
const u32 gUnknown_08DB8B40[] = INCBIN_U32("graphics/decorations/decor_slide.gbapal.lz");
const u8 gUnknown_08DB8B68[] = INCBIN_U8("graphics/decorations/decor_tire.4bpp.lz");
const u8 gUnknown_08DB8C40[] = INCBIN_U8("graphics/decorations/decor_tire.gbapal.lz");
const u32 gUnknown_08DB8B68[] = INCBIN_U32("graphics/decorations/decor_tire.4bpp.lz");
const u32 gUnknown_08DB8C40[] = INCBIN_U32("graphics/decorations/decor_tire.gbapal.lz");
const u8 gUnknown_08DB8C5C[] = INCBIN_U8("graphics/decorations/decor_stand.4bpp.lz");
const u8 gUnknown_08DB8CF4[] = INCBIN_U8("graphics/decorations/decor_stand.gbapal.lz");
const u32 gUnknown_08DB8C5C[] = INCBIN_U32("graphics/decorations/decor_stand.4bpp.lz");
const u32 gUnknown_08DB8CF4[] = INCBIN_U32("graphics/decorations/decor_stand.gbapal.lz");
const u8 gUnknown_08DB8D18[] = INCBIN_U8("graphics/decorations/decor_breakable_door.4bpp.lz");
const u8 gUnknown_08DB8DB0[] = INCBIN_U8("graphics/decorations/decor_breakable_door.gbapal.lz");
const u32 gUnknown_08DB8D18[] = INCBIN_U32("graphics/decorations/decor_breakable_door.4bpp.lz");
const u32 gUnknown_08DB8DB0[] = INCBIN_U32("graphics/decorations/decor_breakable_door.gbapal.lz");
const u8 gUnknown_08DB8DD4[] = INCBIN_U8("graphics/decorations/decor_sand_ornament.4bpp.lz");
const u8 gUnknown_08DB8E80[] = INCBIN_U8("graphics/decorations/decor_sand_ornament.gbapal.lz");
const u32 gUnknown_08DB8DD4[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.4bpp.lz");
const u32 gUnknown_08DB8E80[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.gbapal.lz");
const u8 gUnknown_08DB8EA0[] = INCBIN_U8("graphics/decorations/decor_glass_ornament.4bpp.lz");
const u8 gUnknown_08DB8F58[] = INCBIN_U8("graphics/decorations/decor_glass_ornament.gbapal.lz");
const u32 gUnknown_08DB8EA0[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.4bpp.lz");
const u32 gUnknown_08DB8F58[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.gbapal.lz");
const u8 gUnknown_08DB8F7C[] = INCBIN_U8("graphics/decorations/decor_surf_mat.4bpp.lz");
const u8 gUnknown_08DB9038[] = INCBIN_U8("graphics/decorations/decor_surf_mat.gbapal.lz");
const u32 gUnknown_08DB8F7C[] = INCBIN_U32("graphics/decorations/decor_surf_mat.4bpp.lz");
const u32 gUnknown_08DB9038[] = INCBIN_U32("graphics/decorations/decor_surf_mat.gbapal.lz");
const u8 gUnknown_08DB9058[] = INCBIN_U8("graphics/decorations/decor_thunder_mat.4bpp.lz");
const u8 gUnknown_08DB9130[] = INCBIN_U8("graphics/decorations/decor_thunder_mat.gbapal.lz");
const u32 gUnknown_08DB9058[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.4bpp.lz");
const u32 gUnknown_08DB9130[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.gbapal.lz");
const u8 gUnknown_08DB9154[] = INCBIN_U8("graphics/decorations/decor_fire_blast_mat.4bpp.lz");
const u8 gUnknown_08DB9218[] = INCBIN_U8("graphics/decorations/decor_fire_blast_mat.gbapal.lz");
const u32 gUnknown_08DB9154[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.4bpp.lz");
const u32 gUnknown_08DB9218[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.gbapal.lz");
const u8 gUnknown_08DB9234[] = INCBIN_U8("graphics/decorations/decor_powder_snow_mat.4bpp.lz");
const u8 gUnknown_08DB92FC[] = INCBIN_U8("graphics/decorations/decor_powder_snow_mat.gbapal.lz");
const u32 gUnknown_08DB9234[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.4bpp.lz");
const u32 gUnknown_08DB92FC[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.gbapal.lz");
const u8 gUnknown_08DB931C[] = INCBIN_U8("graphics/decorations/decor_attract_mat.4bpp.lz");
const u8 gUnknown_08DB93E8[] = INCBIN_U8("graphics/decorations/decor_attract_mat.gbapal.lz");
const u32 gUnknown_08DB931C[] = INCBIN_U32("graphics/decorations/decor_attract_mat.4bpp.lz");
const u32 gUnknown_08DB93E8[] = INCBIN_U32("graphics/decorations/decor_attract_mat.gbapal.lz");
const u8 gUnknown_08DB940C[] = INCBIN_U8("graphics/decorations/decor_fissure_mat.4bpp.lz");
const u8 gUnknown_08DB94CC[] = INCBIN_U8("graphics/decorations/decor_fissure_mat.gbapal.lz");
const u32 gUnknown_08DB940C[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.4bpp.lz");
const u32 gUnknown_08DB94CC[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.gbapal.lz");
const u8 gUnknown_08DB94E8[] = INCBIN_U8("graphics/decorations/decor_spikes_mat.4bpp.lz");
const u8 gUnknown_08DB95AC[] = INCBIN_U8("graphics/decorations/decor_spikes_mat.gbapal.lz");
const u32 gUnknown_08DB94E8[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.4bpp.lz");
const u32 gUnknown_08DB95AC[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.gbapal.lz");
const u8 gUnknown_08DB95D0[] = INCBIN_U8("graphics/decorations/decor_snorlax_doll.4bpp.lz");
const u8 gUnknown_08DB96C4[] = INCBIN_U8("graphics/decorations/decor_snorlax_doll.gbapal.lz");
const u32 gUnknown_08DB95D0[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.4bpp.lz");
const u32 gUnknown_08DB96C4[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.gbapal.lz");
const u8 gUnknown_08DB96EC[] = INCBIN_U8("graphics/decorations/decor_rhydon_doll.4bpp.lz");
const u8 gUnknown_08DB97F4[] = INCBIN_U8("graphics/decorations/decor_rhydon_doll.gbapal.lz");
const u32 gUnknown_08DB96EC[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.4bpp.lz");
const u32 gUnknown_08DB97F4[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.gbapal.lz");
const u8 gUnknown_08DB981C[] = INCBIN_U8("graphics/decorations/decor_lapras_doll.4bpp.lz");
const u8 gUnknown_08DB9908[] = INCBIN_U8("graphics/decorations/decor_lapras_doll.gbapal.lz");
const u32 gUnknown_08DB981C[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.4bpp.lz");
const u32 gUnknown_08DB9908[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.gbapal.lz");
const u8 gUnknown_08DB9930[] = INCBIN_U8("graphics/decorations/decor_venusaur_doll.4bpp.lz");
const u8 gUnknown_08DB9A54[] = INCBIN_U8("graphics/decorations/decor_venusaur_doll.gbapal.lz");
const u32 gUnknown_08DB9930[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.4bpp.lz");
const u32 gUnknown_08DB9A54[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.gbapal.lz");
const u8 gUnknown_08DB9A7C[] = INCBIN_U8("graphics/decorations/decor_charizard_doll.4bpp.lz");
const u8 gUnknown_08DB9B7C[] = INCBIN_U8("graphics/decorations/decor_charizard_doll.gbapal.lz");
const u32 gUnknown_08DB9A7C[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.4bpp.lz");
const u32 gUnknown_08DB9B7C[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.gbapal.lz");
const u8 gUnknown_08DB9BA4[] = INCBIN_U8("graphics/decorations/decor_blastoise_doll.4bpp.lz");
const u8 gUnknown_08DB9CB0[] = INCBIN_U8("graphics/decorations/decor_blastoise_doll.gbapal.lz");
const u32 gUnknown_08DB9BA4[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.4bpp.lz");
const u32 gUnknown_08DB9CB0[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.gbapal.lz");
const u8 gUnknown_08DB9CD8[] = INCBIN_U8("graphics/decorations/decor_wailmer_doll.4bpp.lz");
const u8 gUnknown_08DB9DAC[] = INCBIN_U8("graphics/decorations/decor_wailmer_doll.gbapal.lz");
const u32 gUnknown_08DB9CD8[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.4bpp.lz");
const u32 gUnknown_08DB9DAC[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.gbapal.lz");
const u8 gUnknown_08DB9DD4[] = INCBIN_U8("graphics/decorations/decor_regice_doll.4bpp.lz");
const u8 gUnknown_08DB9EE4[] = INCBIN_U8("graphics/decorations/decor_regice_doll.gbapal.lz");
const u32 gUnknown_08DB9DD4[] = INCBIN_U32("graphics/decorations/decor_regice_doll.4bpp.lz");
const u32 gUnknown_08DB9EE4[] = INCBIN_U32("graphics/decorations/decor_regice_doll.gbapal.lz");
const u8 gUnknown_08DB9F08[] = INCBIN_U8("graphics/decorations/decor_regirock_doll.4bpp.lz");
const u8 gUnknown_08DB9FFC[] = INCBIN_U8("graphics/decorations/decor_regirock_doll.gbapal.lz");
const u32 gUnknown_08DB9F08[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.4bpp.lz");
const u32 gUnknown_08DB9FFC[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.gbapal.lz");
const u8 gUnknown_08DBA020[] = INCBIN_U8("graphics/decorations/decor_registeel_doll.4bpp.lz");
const u8 gUnknown_08DBA12C[] = INCBIN_U8("graphics/decorations/decor_registeel_doll.gbapal.lz");
const u32 gUnknown_08DBA020[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.4bpp.lz");
const u32 gUnknown_08DBA12C[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.gbapal.lz");
+25 -25
View File
@@ -1,37 +1,37 @@
const u8 gInterfaceGfx_PokeBall[] = INCBIN_U8("graphics/interface/ball/poke.4bpp.lz");
const u8 gInterfacePal_PokeBall[] = INCBIN_U8("graphics/interface/ball/poke.gbapal.lz");
const u32 gInterfaceGfx_PokeBall[] = INCBIN_U32("graphics/interface/ball/poke.4bpp.lz");
const u32 gInterfacePal_PokeBall[] = INCBIN_U32("graphics/interface/ball/poke.gbapal.lz");
const u8 gInterfaceGfx_GreatBall[] = INCBIN_U8("graphics/interface/ball/great.4bpp.lz");
const u8 gInterfacePal_GreatBall[] = INCBIN_U8("graphics/interface/ball/great.gbapal.lz");
const u32 gInterfaceGfx_GreatBall[] = INCBIN_U32("graphics/interface/ball/great.4bpp.lz");
const u32 gInterfacePal_GreatBall[] = INCBIN_U32("graphics/interface/ball/great.gbapal.lz");
const u8 gInterfaceGfx_SafariBall[] = INCBIN_U8("graphics/interface/ball/safari.4bpp.lz");
const u8 gInterfacePal_SafariBall[] = INCBIN_U8("graphics/interface/ball/safari.gbapal.lz");
const u32 gInterfaceGfx_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.4bpp.lz");
const u32 gInterfacePal_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.gbapal.lz");
const u8 gInterfaceGfx_UltraBall[] = INCBIN_U8("graphics/interface/ball/ultra.4bpp.lz");
const u8 gInterfacePal_UltraBall[] = INCBIN_U8("graphics/interface/ball/ultra.gbapal.lz");
const u32 gInterfaceGfx_UltraBall[] = INCBIN_U32("graphics/interface/ball/ultra.4bpp.lz");
const u32 gInterfacePal_UltraBall[] = INCBIN_U32("graphics/interface/ball/ultra.gbapal.lz");
const u8 gInterfaceGfx_MasterBall[] = INCBIN_U8("graphics/interface/ball/master.4bpp.lz");
const u8 gInterfacePal_MasterBall[] = INCBIN_U8("graphics/interface/ball/master.gbapal.lz");
const u32 gInterfaceGfx_MasterBall[] = INCBIN_U32("graphics/interface/ball/master.4bpp.lz");
const u32 gInterfacePal_MasterBall[] = INCBIN_U32("graphics/interface/ball/master.gbapal.lz");
const u8 gInterfaceGfx_NetBall[] = INCBIN_U8("graphics/interface/ball/net.4bpp.lz");
const u8 gInterfacePal_NetBall[] = INCBIN_U8("graphics/interface/ball/net.gbapal.lz");
const u32 gInterfaceGfx_NetBall[] = INCBIN_U32("graphics/interface/ball/net.4bpp.lz");
const u32 gInterfacePal_NetBall[] = INCBIN_U32("graphics/interface/ball/net.gbapal.lz");
const u8 gInterfaceGfx_DiveBall[] = INCBIN_U8("graphics/interface/ball/dive.4bpp.lz");
const u8 gInterfacePal_DiveBall[] = INCBIN_U8("graphics/interface/ball/dive.gbapal.lz");
const u32 gInterfaceGfx_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.4bpp.lz");
const u32 gInterfacePal_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.gbapal.lz");
const u8 gInterfaceGfx_NestBall[] = INCBIN_U8("graphics/interface/ball/nest.4bpp.lz");
const u8 gInterfacePal_NestBall[] = INCBIN_U8("graphics/interface/ball/nest.gbapal.lz");
const u32 gInterfaceGfx_NestBall[] = INCBIN_U32("graphics/interface/ball/nest.4bpp.lz");
const u32 gInterfacePal_NestBall[] = INCBIN_U32("graphics/interface/ball/nest.gbapal.lz");
const u8 gInterfaceGfx_RepeatBall[] = INCBIN_U8("graphics/interface/ball/repeat.4bpp.lz");
const u8 gInterfacePal_RepeatBall[] = INCBIN_U8("graphics/interface/ball/repeat.gbapal.lz");
const u32 gInterfaceGfx_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.4bpp.lz");
const u32 gInterfacePal_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.gbapal.lz");
const u8 gInterfaceGfx_TimerBall[] = INCBIN_U8("graphics/interface/ball/timer.4bpp.lz");
const u8 gInterfacePal_TimerBall[] = INCBIN_U8("graphics/interface/ball/timer.gbapal.lz");
const u32 gInterfaceGfx_TimerBall[] = INCBIN_U32("graphics/interface/ball/timer.4bpp.lz");
const u32 gInterfacePal_TimerBall[] = INCBIN_U32("graphics/interface/ball/timer.gbapal.lz");
const u8 gInterfaceGfx_LuxuryBall[] = INCBIN_U8("graphics/interface/ball/luxury.4bpp.lz");
const u8 gInterfacePal_LuxuryBall[] = INCBIN_U8("graphics/interface/ball/luxury.gbapal.lz");
const u32 gInterfaceGfx_LuxuryBall[] = INCBIN_U32("graphics/interface/ball/luxury.4bpp.lz");
const u32 gInterfacePal_LuxuryBall[] = INCBIN_U32("graphics/interface/ball/luxury.gbapal.lz");
const u8 gInterfaceGfx_PremierBall[] = INCBIN_U8("graphics/interface/ball/premier.4bpp.lz");
const u8 gInterfacePal_PremierBall[] = INCBIN_U8("graphics/interface/ball/premier.gbapal.lz");
const u32 gInterfaceGfx_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.4bpp.lz");
const u32 gInterfacePal_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.gbapal.lz");
const u8 gOpenPokeballGfx[] = INCBIN_U8("graphics/interface/ball_open.4bpp.lz");
const u32 gOpenPokeballGfx[] = INCBIN_U32("graphics/interface/ball_open.4bpp.lz");
+27 -27
View File
@@ -6,43 +6,43 @@ const u16 gIntro2TorchicPal[] = INCBIN_U16("graphics/intro/intro2_torchic.gbapal
const u16 gIntro2ManectricPal[] = INCBIN_U16("graphics/intro/intro2_manectric.gbapal");
const u16 gIntro2FlygonPal[] = INCBIN_U16("graphics/intro/intro2_flygon.gbapal");
const u8 gIntro2VolbeatGfx[] = INCBIN_U8("graphics/intro/intro2_volbeat.4bpp.lz");
const u8 gIntro2TorchicGfx[] = INCBIN_U8("graphics/intro/intro2_torchic.4bpp.lz");
const u8 gIntro2ManectricGfx[] = INCBIN_U8("graphics/intro/intro2_manectric.4bpp.lz");
const u8 gIntro2FlygonGfx[] = INCBIN_U8("graphics/intro/intro2_flygon.4bpp.lz");
const u8 gIntro2BrendanNoTurnGfx[] = INCBIN_U8("graphics/intro/intro2_brendan_noturn.4bpp.lz");
const u8 gIntro2MayNoTurnGfx[] = INCBIN_U8("graphics/intro/intro2_may_noturn.4bpp.lz");
const u32 gIntro2VolbeatGfx[] = INCBIN_U32("graphics/intro/intro2_volbeat.4bpp.lz");
const u32 gIntro2TorchicGfx[] = INCBIN_U32("graphics/intro/intro2_torchic.4bpp.lz");
const u32 gIntro2ManectricGfx[] = INCBIN_U32("graphics/intro/intro2_manectric.4bpp.lz");
const u32 gIntro2FlygonGfx[] = INCBIN_U32("graphics/intro/intro2_flygon.4bpp.lz");
const u32 gIntro2BrendanNoTurnGfx[] = INCBIN_U32("graphics/intro/intro2_brendan_noturn.4bpp.lz");
const u32 gIntro2MayNoTurnGfx[] = INCBIN_U32("graphics/intro/intro2_may_noturn.4bpp.lz");
const u16 gIntro3GroudonGfx[] = INCBIN_U16("graphics/intro/intro3_groudon.8bpp.lz");
const u16 gIntro3GroudonTilemap[] = INCBIN_U16("graphics/intro/intro3_groudon.bin.lz");
const u32 gIntro3GroudonGfx[] = INCBIN_U32("graphics/intro/intro3_groudon.8bpp.lz");
const u32 gIntro3GroudonTilemap[] = INCBIN_U32("graphics/intro/intro3_groudon.bin.lz");
const u16 gIntro3KyogreGfx[] = INCBIN_U16("graphics/intro/intro3_kyogre.8bpp.lz");
const u16 gIntro3KyogreTilemap[] = INCBIN_U16("graphics/intro/intro3_kyogre.bin.lz");
const u32 gIntro3KyogreGfx[] = INCBIN_U32("graphics/intro/intro3_kyogre.8bpp.lz");
const u32 gIntro3KyogreTilemap[] = INCBIN_U32("graphics/intro/intro3_kyogre.bin.lz");
const u8 gIntro3LegendBgGfx[] = INCBIN_U8("graphics/intro/legend_bg.4bpp.lz"); // groudon/kyogre/bg
const u32 gIntro3LegendBgGfx[] = INCBIN_U32("graphics/intro/legend_bg.4bpp.lz"); // groudon/kyogre/bg
const u16 gIntro3GroudonBgTilemap[] = INCBIN_U16("graphics/intro/legend_bg1.bin.lz");
const u16 gIntro3KyogreBgTilemap[] = INCBIN_U16("graphics/intro/legend_bg2.bin.lz");
const u32 gIntro3GroudonBgTilemap[] = INCBIN_U32("graphics/intro/legend_bg1.bin.lz");
const u32 gIntro3KyogreBgTilemap[] = INCBIN_U32("graphics/intro/legend_bg2.bin.lz");
const u8 gIntro3CloudsGfx[] = INCBIN_U8("graphics/intro/intro3_clouds.4bpp.lz");
const u16 gIntro3Clouds1Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds1.bin.lz");
const u16 gIntro3Clouds2Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds2.bin.lz");
const u16 gIntro3Clouds3Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds3.bin.lz");
const u32 gIntro3CloudsGfx[] = INCBIN_U32("graphics/intro/intro3_clouds.4bpp.lz");
const u32 gIntro3Clouds1Tilemap[] = INCBIN_U32("graphics/intro/intro3_clouds1.bin.lz");
const u32 gIntro3Clouds2Tilemap[] = INCBIN_U32("graphics/intro/intro3_clouds2.bin.lz");
const u32 gIntro3Clouds3Tilemap[] = INCBIN_U32("graphics/intro/intro3_clouds3.bin.lz");
const u8 gIntro3LightningGfx[] = INCBIN_U8("graphics/intro/intro3_lightning.4bpp.lz");
const u32 gIntro3LightningGfx[] = INCBIN_U32("graphics/intro/intro3_lightning.4bpp.lz");
const u16 gIntro3LightningPal[] = INCBIN_U16("graphics/intro/intro3_lightning.gbapal");
const u8 gIntro3RayquazaGfx[] = INCBIN_U8("graphics/intro/intro3_rayquaza.4bpp.lz");
const u16 gIntro3RayquazaTilemap[] = INCBIN_U16("graphics/intro/intro3_rayquaza.bin.lz");
const u32 gIntro3RayquazaGfx[] = INCBIN_U32("graphics/intro/intro3_rayquaza.4bpp.lz");
const u32 gIntro3RayquazaTilemap[] = INCBIN_U32("graphics/intro/intro3_rayquaza.bin.lz");
const u16 gUnknown_D8C374[] = INCBIN_U16("graphics/unknown/unknown_D8C374.bin.lz");
const u16 gUnknown_D8C5C4[] = INCBIN_U16("graphics/unknown/unknown_D8C5C4.bin.lz");
const u32 gUnknown_D8C374[] = INCBIN_U32("graphics/unknown/unknown_D8C374.bin.lz");
const u32 gUnknown_D8C5C4[] = INCBIN_U32("graphics/unknown/unknown_D8C5C4.bin.lz");
const u8 gIntro3Clouds2Gfx[] = INCBIN_U8("graphics/intro/intro3_clouds2.4bpp.lz"); //clouds 2, during the rayquaza flash
const u16 gIntro3Clouds4Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds4.bin.lz");
const u32 gIntro3Clouds2Gfx[] = INCBIN_U32("graphics/intro/intro3_clouds2.4bpp.lz"); //clouds 2, during the rayquaza flash
const u32 gIntro3Clouds4Tilemap[] = INCBIN_U32("graphics/intro/intro3_clouds4.bin.lz");
const u8 gIntro2BubblesGfx[] = INCBIN_U8("graphics/intro/intro2_bubbles.4bpp.lz");
const u32 gIntro2BubblesGfx[] = INCBIN_U32("graphics/intro/intro2_bubbles.4bpp.lz");
const u16 gIntro2BubblesPal[] = INCBIN_U16("graphics/intro/intro2_bubbles.gbapal");
const u8 gIntro1FlygonGfx[] = INCBIN_U8("graphics/intro/intro1_flygon.4bpp.lz");
const u8 gIntro1SparkleGfx[] = INCBIN_U8("graphics/intro/intro1_sparkle.4bpp.lz");
const u32 gIntro1FlygonGfx[] = INCBIN_U32("graphics/intro/intro1_flygon.4bpp.lz");
const u32 gIntro1SparkleGfx[] = INCBIN_U32("graphics/intro/intro1_sparkle.4bpp.lz");
+471 -471
View File
File diff suppressed because it is too large Load Diff
+24 -24
View File
@@ -11,28 +11,28 @@ const u16 gMailPalette_Dream[] = INCBIN_U16("graphics/mail/dream/palette.gbapal"
const u16 gMailPalette_Fab[] = INCBIN_U16("graphics/mail/fab/palette.gbapal");
const u16 gMailPalette_Retro[] = INCBIN_U16("graphics/mail/retro/palette.gbapal");
const u8 gMailTiles_Orange[] = INCBIN_U8("graphics/mail/orange/tiles.4bpp.lz");
const u8 gMailTiles_Harbor[] = INCBIN_U8("graphics/mail/harbor/tiles.4bpp.lz");
const u8 gMailTiles_Glitter[] = INCBIN_U8("graphics/mail/glitter/tiles.4bpp.lz");
const u8 gMailTiles_Mech[] = INCBIN_U8("graphics/mail/mech/tiles.4bpp.lz");
const u8 gMailTiles_Wood[] = INCBIN_U8("graphics/mail/wood/tiles.4bpp.lz");
const u8 gMailTiles_Wave[] = INCBIN_U8("graphics/mail/wave/tiles.4bpp.lz");
const u8 gMailTiles_Bead[] = INCBIN_U8("graphics/mail/bead/tiles.4bpp.lz");
const u8 gMailTiles_Shadow[] = INCBIN_U8("graphics/mail/shadow/tiles.4bpp.lz");
const u8 gMailTiles_Tropic[] = INCBIN_U8("graphics/mail/tropic/tiles.4bpp.lz");
const u8 gMailTiles_Dream[] = INCBIN_U8("graphics/mail/dream/tiles.4bpp.lz");
const u8 gMailTiles_Fab[] = INCBIN_U8("graphics/mail/fab/tiles.4bpp.lz");
const u8 gMailTiles_Retro[] = INCBIN_U8("graphics/mail/retro/tiles.4bpp.lz");
const u32 gMailTiles_Orange[] = INCBIN_U32("graphics/mail/orange/tiles.4bpp.lz");
const u32 gMailTiles_Harbor[] = INCBIN_U32("graphics/mail/harbor/tiles.4bpp.lz");
const u32 gMailTiles_Glitter[] = INCBIN_U32("graphics/mail/glitter/tiles.4bpp.lz");
const u32 gMailTiles_Mech[] = INCBIN_U32("graphics/mail/mech/tiles.4bpp.lz");
const u32 gMailTiles_Wood[] = INCBIN_U32("graphics/mail/wood/tiles.4bpp.lz");
const u32 gMailTiles_Wave[] = INCBIN_U32("graphics/mail/wave/tiles.4bpp.lz");
const u32 gMailTiles_Bead[] = INCBIN_U32("graphics/mail/bead/tiles.4bpp.lz");
const u32 gMailTiles_Shadow[] = INCBIN_U32("graphics/mail/shadow/tiles.4bpp.lz");
const u32 gMailTiles_Tropic[] = INCBIN_U32("graphics/mail/tropic/tiles.4bpp.lz");
const u32 gMailTiles_Dream[] = INCBIN_U32("graphics/mail/dream/tiles.4bpp.lz");
const u32 gMailTiles_Fab[] = INCBIN_U32("graphics/mail/fab/tiles.4bpp.lz");
const u32 gMailTiles_Retro[] = INCBIN_U32("graphics/mail/retro/tiles.4bpp.lz");
const u16 gMailTilemap_Orange[] = INCBIN_U16("graphics/mail/orange/map.bin.lz");
const u16 gMailTilemap_Harbor[] = INCBIN_U16("graphics/mail/harbor/map.bin.lz");
const u16 gMailTilemap_Glitter[] = INCBIN_U16("graphics/mail/glitter/map.bin.lz");
const u16 gMailTilemap_Mech[] = INCBIN_U16("graphics/mail/mech/map.bin.lz");
const u16 gMailTilemap_Wood[] = INCBIN_U16("graphics/mail/wood/map.bin.lz");
const u16 gMailTilemap_Wave[] = INCBIN_U16("graphics/mail/wave/map.bin.lz");
const u16 gMailTilemap_Bead[] = INCBIN_U16("graphics/mail/bead/map.bin.lz");
const u16 gMailTilemap_Shadow[] = INCBIN_U16("graphics/mail/shadow/map.bin.lz");
const u16 gMailTilemap_Tropic[] = INCBIN_U16("graphics/mail/tropic/map.bin.lz");
const u16 gMailTilemap_Dream[] = INCBIN_U16("graphics/mail/dream/map.bin.lz");
const u16 gMailTilemap_Fab[] = INCBIN_U16("graphics/mail/fab/map.bin.lz");
const u16 gMailTilemap_Retro[] = INCBIN_U16("graphics/mail/retro/map.bin.lz");
const u32 gMailTilemap_Orange[] = INCBIN_U32("graphics/mail/orange/map.bin.lz");
const u32 gMailTilemap_Harbor[] = INCBIN_U32("graphics/mail/harbor/map.bin.lz");
const u32 gMailTilemap_Glitter[] = INCBIN_U32("graphics/mail/glitter/map.bin.lz");
const u32 gMailTilemap_Mech[] = INCBIN_U32("graphics/mail/mech/map.bin.lz");
const u32 gMailTilemap_Wood[] = INCBIN_U32("graphics/mail/wood/map.bin.lz");
const u32 gMailTilemap_Wave[] = INCBIN_U32("graphics/mail/wave/map.bin.lz");
const u32 gMailTilemap_Bead[] = INCBIN_U32("graphics/mail/bead/map.bin.lz");
const u32 gMailTilemap_Shadow[] = INCBIN_U32("graphics/mail/shadow/map.bin.lz");
const u32 gMailTilemap_Tropic[] = INCBIN_U32("graphics/mail/tropic/map.bin.lz");
const u32 gMailTilemap_Dream[] = INCBIN_U32("graphics/mail/dream/map.bin.lz");
const u32 gMailTilemap_Fab[] = INCBIN_U32("graphics/mail/fab/map.bin.lz");
const u32 gMailTilemap_Retro[] = INCBIN_U32("graphics/mail/retro/map.bin.lz");
+1604 -1604
View File
File diff suppressed because it is too large Load Diff
+51 -51
View File
@@ -1,73 +1,73 @@
const u8 gRaySceneGroudon_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon.4bpp.lz");
const u8 gRaySceneGroudon2_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_shoulder.4bpp.lz");
const u8 gRaySceneGroudon3_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_claw.4bpp.lz");
const u32 gRaySceneGroudon_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/groudon.4bpp.lz");
const u32 gRaySceneGroudon2_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/groudon_shoulder.4bpp.lz");
const u32 gRaySceneGroudon3_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/groudon_claw.4bpp.lz");
const u8 gRaySceneKyogre_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre.4bpp.lz");
const u8 gRaySceneKyogre2_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_shoulder.4bpp.lz");
const u8 gRaySceneKyogre3_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_fin.4bpp.lz");
const u32 gRaySceneKyogre_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/kyogre.4bpp.lz");
const u32 gRaySceneKyogre2_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/kyogre_shoulder.4bpp.lz");
const u32 gRaySceneKyogre3_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/kyogre_fin.4bpp.lz");
const u8 gRaySceneGroudon_Pal[] = INCBIN_U8("graphics/rayquaza_scene/groudon.gbapal.lz");
const u8 gRaySceneKyogre_Pal[] = INCBIN_U8("graphics/rayquaza_scene/kyogre.gbapal.lz");
const u32 gRaySceneGroudon_Pal[] = INCBIN_U32("graphics/rayquaza_scene/groudon.gbapal.lz");
const u32 gRaySceneKyogre_Pal[] = INCBIN_U32("graphics/rayquaza_scene/kyogre.gbapal.lz");
const u8 gRaySceneClouds_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/clouds.4bpp.lz");
const u8 gRaySceneClouds_Pal[] = INCBIN_U8("graphics/rayquaza_scene/clouds.gbapal.lz"); // pal 1 clouds, pal 2 rain
const u16 gRaySceneClouds1_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/clouds1.bin.lz");
const u16 gRaySceneClouds2_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/clouds2.bin.lz");
const u16 gRaySceneClouds3_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/clouds3.bin.lz");
const u32 gRaySceneClouds_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/clouds.4bpp.lz");
const u32 gRaySceneClouds_Pal[] = INCBIN_U32("graphics/rayquaza_scene/clouds.gbapal.lz"); // pal 1 clouds, pal 2 rain
const u32 gRaySceneClouds1_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/clouds1.bin.lz");
const u32 gRaySceneClouds2_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/clouds2.bin.lz");
const u32 gRaySceneClouds3_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/clouds3.bin.lz");
const u8 gRaySceneSmoke_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/smoke.4bpp.lz");
const u8 gRaySceneSmoke_Pal[] = INCBIN_U8("graphics/rayquaza_scene/smoke.gbapal.lz");
const u32 gRaySceneSmoke_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/smoke.4bpp.lz");
const u32 gRaySceneSmoke_Pal[] = INCBIN_U32("graphics/rayquaza_scene/smoke.gbapal.lz");
const u16 gRaySceneRayquaza_Gfx[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza.8bpp.lz");
const u8 gRaySceneRayquaza_Pal[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza.gbapal.lz");
const u16 gRaySceneRayquaza_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza.bin.lz");
const u32 gRaySceneRayquaza_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza.8bpp.lz");
const u32 gRaySceneRayquaza_Pal[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza.gbapal.lz");
const u32 gRaySceneRayquaza_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza.bin.lz");
const u8 gRaySceneOvercast_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/overcast.4bpp.lz"); // uses pal 2 of gRaySceneRayquaza_Pal
const u16 gRaySceneOvercast_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/overcast.bin.lz");
const u32 gRaySceneOvercast_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/overcast.4bpp.lz"); // uses pal 2 of gRaySceneRayquaza_Pal
const u32 gRaySceneOvercast_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/overcast.bin.lz");
const u8 gRaySceneRayquazaFly1_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_fly1.4bpp.lz");
const u8 gRaySceneRayquazaTail_Gfx[] = INCBIN_U8( "graphics/rayquaza_scene/rayquaza_tail_fix.4bpp.lz"); // for some reason there are an extra 0xC bytes at the end of the original 4bpp, so in order to produce the correct lz, we have to cat the bytes at the end with a make rule. not sure why those bytes are there, it may have been a bug in Game Freak's software.
const u32 gRaySceneRayquazaFly1_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_fly1.4bpp.lz");
const u32 gRaySceneRayquazaTail_Gfx[] = INCBIN_U32( "graphics/rayquaza_scene/rayquaza_tail_fix.4bpp.lz"); // for some reason there are an extra 0xC bytes at the end of the original 4bpp, so in order to produce the correct lz, we have to cat the bytes at the end with a make rule. not sure why those bytes are there, it may have been a bug in Game Freak's software.
const u8 gRaySceneOvercast2_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/overcast2.4bpp.lz");
const u32 gRaySceneOvercast2_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/overcast2.4bpp.lz");
const u8 gRaySceneRayquazaLight_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_light.4bpp.lz"); // uses pal 2 of gRaySceneOvercast2_Pal
const u32 gRaySceneRayquazaLight_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_light.4bpp.lz"); // uses pal 2 of gRaySceneOvercast2_Pal
const u8 gRaySceneOvercast2_Pal[] = INCBIN_U8("graphics/rayquaza_scene/overcast2.gbapal.lz");
const u16 gRaySceneOvercast2_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/overcast2.bin.lz");
const u32 gRaySceneOvercast2_Pal[] = INCBIN_U32("graphics/rayquaza_scene/overcast2.gbapal.lz");
const u32 gRaySceneOvercast2_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/overcast2.bin.lz");
const u8 gRaySceneRayquazaLight_Tilemap[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_light.bin.lz");
const u32 gRaySceneRayquazaLight_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_light.bin.lz");
const u8 gRaySceneChaseBg_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/chase_bg.4bpp.lz");
const u16 gRaySceneChaseBg_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/chase_bg.bin.lz");
const u32 gRaySceneChaseBg_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/chase_bg.4bpp.lz");
const u32 gRaySceneChaseBg_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/chase_bg.bin.lz");
const u8 gRaySceneChaseStreaks_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/chase_streaks.4bpp.lz");
const u16 gRaySceneChaseStreaks_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/chase_streaks.bin.lz");
const u32 gRaySceneChaseStreaks_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/chase_streaks.4bpp.lz");
const u32 gRaySceneChaseStreaks_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/chase_streaks.bin.lz");
const u8 gRaySceneRayquazaChase_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_chase.4bpp.lz");
const u16 gRayChaseRayquazaChase_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza_chase.bin.lz");
const u16 gRayChaseRayquazaChase2_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza_chase2.bin.lz");
const u32 gRaySceneRayquazaChase_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_chase.4bpp.lz");
const u32 gRayChaseRayquazaChase_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_chase.bin.lz");
const u32 gRayChaseRayquazaChase2_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_chase2.bin.lz");
const u8 gRaySceneChase_Pal[] = INCBIN_U8("graphics/rayquaza_scene/chase.gbapal.lz");
const u32 gRaySceneChase_Pal[] = INCBIN_U32("graphics/rayquaza_scene/chase.gbapal.lz");
const u8 gRaySceneGroudonLeft_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_left.4bpp.lz");
const u8 gRaySceneGroudonTail_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_tail.4bpp.lz");
const u32 gRaySceneGroudonLeft_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/groudon_left.4bpp.lz");
const u32 gRaySceneGroudonTail_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/groudon_tail.4bpp.lz");
const u8 gRaySceneKyogreRight_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_right.4bpp.lz");
const u32 gRaySceneKyogreRight_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/kyogre_right.4bpp.lz");
const u8 gRaySceneRayquazaHover_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_hover.4bpp.lz");
const u8 gRaySceneRayquazaFlyIn_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_flyin.4bpp.lz");
const u32 gRaySceneRayquazaHover_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_hover.4bpp.lz");
const u32 gRaySceneRayquazaFlyIn_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_flyin.4bpp.lz");
const u8 gRaySceneSplash_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/splash.4bpp.lz");
const u32 gRaySceneSplash_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/splash.4bpp.lz");
const u8 gRaySceneGroudonLeft_Pal[] = INCBIN_U8("graphics/rayquaza_scene/groudon_left.gbapal.lz");
const u8 gRaySceneKyogreRight_Pal[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_right.gbapal.lz");
const u8 gRaySceneRayquazaHover_Pal[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_hover.gbapal.lz");
const u32 gRaySceneGroudonLeft_Pal[] = INCBIN_U32("graphics/rayquaza_scene/groudon_left.gbapal.lz");
const u32 gRaySceneKyogreRight_Pal[] = INCBIN_U32("graphics/rayquaza_scene/kyogre_right.gbapal.lz");
const u32 gRaySceneRayquazaHover_Pal[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_hover.gbapal.lz");
const u8 gRaySceneSplash_Pal[] = INCBIN_U8("graphics/rayquaza_scene/splash.gbapal.lz");
const u32 gRaySceneSplash_Pal[] = INCBIN_U32("graphics/rayquaza_scene/splash.gbapal.lz");
const u8 gRaySceneHushBg_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/hush_bg.4bpp.lz");
const u16 gRaySceneHushRing_Gfx[] = INCBIN_U16("graphics/rayquaza_scene/hush_ring.8bpp.lz");
const u16 gRaySceneHushBg_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/hush_bg.bin.lz");
const u16 gRaySceneHushRing_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/hush_ring.bin.lz");
const u16 gRaySceneHushRing_Map[] = INCBIN_U16("graphics/rayquaza_scene/hush_ring_map.bin.lz");
const u8 gRaySceneHushBg_Pal[] = INCBIN_U8("graphics/rayquaza_scene/hush_bg.gbapal.lz");
const u32 gRaySceneHushBg_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/hush_bg.4bpp.lz");
const u32 gRaySceneHushRing_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/hush_ring.8bpp.lz");
const u32 gRaySceneHushBg_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/hush_bg.bin.lz");
const u32 gRaySceneHushRing_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/hush_ring.bin.lz");
const u32 gRaySceneHushRing_Map[] = INCBIN_U32("graphics/rayquaza_scene/hush_ring_map.bin.lz");
const u32 gRaySceneHushBg_Pal[] = INCBIN_U32("graphics/rayquaza_scene/hush_bg.gbapal.lz");
+2 -2
View File
@@ -1,5 +1,5 @@
const u16 gSlotMachineMenu_Pal[] = INCBIN_U16("graphics/slot_machine/menu.gbapal");
const u8 gSlotMachineMenu_Gfx[] = INCBIN_U8("graphics/slot_machine/menu.4bpp.lz");
const u32 gSlotMachineMenu_Gfx[] = INCBIN_U32("graphics/slot_machine/menu.4bpp.lz");
const u16 gSlotMachineMenu_Tilemap[] = INCBIN_U16("graphics/slot_machine/menu.bin");
const u16 gUnknown_08DCEC70[] = INCBIN_U16("graphics/slot_machine/slots_layout.bin");
@@ -26,7 +26,7 @@ const u8 gSlotMachineReelSymbol5Tiles[] = INCBIN_U8("graphics/slot_machine/reel_
const u8 gSlotMachineReelSymbol6Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/6.4bpp");
const u8 gSlotMachineReelSymbol7Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/7.4bpp");
const u8 gSlotMachineReelTime_Gfx[] = INCBIN_U8("graphics/slot_machine/reel_time.4bpp.lz");
const u32 gSlotMachineReelTime_Gfx[] = INCBIN_U32("graphics/slot_machine/reel_time.4bpp.lz");
const u8 gSlotMachineNumber0Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/0.4bpp");
const u8 gSlotMachineNumber1Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/1.4bpp");
+188 -188
View File
@@ -1,281 +1,281 @@
const u8 gTrainerFrontPic_Hiker[] = INCBIN_U8("graphics/trainers/front_pics/hiker_front_pic.4bpp.lz");
const u8 gTrainerPalette_Hiker[] = INCBIN_U8("graphics/trainers/palettes/hiker.gbapal.lz");
const u32 gTrainerFrontPic_Hiker[] = INCBIN_U32("graphics/trainers/front_pics/hiker_front_pic.4bpp.lz");
const u32 gTrainerPalette_Hiker[] = INCBIN_U32("graphics/trainers/palettes/hiker.gbapal.lz");
const u8 gTrainerFrontPic_AquaGruntM[] = INCBIN_U8("graphics/trainers/front_pics/aqua_grunt_m_front_pic.4bpp.lz");
const u8 gTrainerPalette_AquaGruntM[] = INCBIN_U8("graphics/trainers/palettes/aqua_grunt_m.gbapal.lz");
const u32 gTrainerFrontPic_AquaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_m_front_pic.4bpp.lz");
const u32 gTrainerPalette_AquaGruntM[] = INCBIN_U32("graphics/trainers/palettes/aqua_grunt_m.gbapal.lz");
const u8 gTrainerFrontPic_PokemonBreederF[] = INCBIN_U8("graphics/trainers/front_pics/pokemon_breeder_f_front_pic.4bpp.lz");
const u8 gTrainerPalette_PokemonBreederF[] = INCBIN_U8("graphics/trainers/palettes/pokemon_breeder_f.gbapal.lz");
const u32 gTrainerFrontPic_PokemonBreederF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_f_front_pic.4bpp.lz");
const u32 gTrainerPalette_PokemonBreederF[] = INCBIN_U32("graphics/trainers/palettes/pokemon_breeder_f.gbapal.lz");
const u8 gTrainerFrontPic_CoolTrainerM[] = INCBIN_U8("graphics/trainers/front_pics/cool_trainer_m_front_pic.4bpp.lz");
const u8 gTrainerPalette_CoolTrainerM[] = INCBIN_U8("graphics/trainers/palettes/cool_trainer_m.gbapal.lz");
const u32 gTrainerFrontPic_CoolTrainerM[] = INCBIN_U32("graphics/trainers/front_pics/cool_trainer_m_front_pic.4bpp.lz");
const u32 gTrainerPalette_CoolTrainerM[] = INCBIN_U32("graphics/trainers/palettes/cool_trainer_m.gbapal.lz");
const u8 gTrainerFrontPic_BirdKeeper[] = INCBIN_U8("graphics/trainers/front_pics/bird_keeper_front_pic.4bpp.lz");
const u8 gTrainerPalette_BirdKeeper[] = INCBIN_U8("graphics/trainers/palettes/bird_keeper.gbapal.lz");
const u32 gTrainerFrontPic_BirdKeeper[] = INCBIN_U32("graphics/trainers/front_pics/bird_keeper_front_pic.4bpp.lz");
const u32 gTrainerPalette_BirdKeeper[] = INCBIN_U32("graphics/trainers/palettes/bird_keeper.gbapal.lz");
const u8 gTrainerFrontPic_Collector[] = INCBIN_U8("graphics/trainers/front_pics/collector_front_pic.4bpp.lz");
const u8 gTrainerPalette_Collector[] = INCBIN_U8("graphics/trainers/palettes/collector.gbapal.lz");
const u32 gTrainerFrontPic_Collector[] = INCBIN_U32("graphics/trainers/front_pics/collector_front_pic.4bpp.lz");
const u32 gTrainerPalette_Collector[] = INCBIN_U32("graphics/trainers/palettes/collector.gbapal.lz");
const u8 gTrainerFrontPic_AquaGruntF[] = INCBIN_U8("graphics/trainers/front_pics/aqua_grunt_f_front_pic.4bpp.lz");
const u8 gTrainerPalette_AquaGruntF[] = INCBIN_U8("graphics/trainers/palettes/aqua_grunt_f.gbapal.lz");
const u32 gTrainerFrontPic_AquaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_f_front_pic.4bpp.lz");
const u32 gTrainerPalette_AquaGruntF[] = INCBIN_U32("graphics/trainers/palettes/aqua_grunt_f.gbapal.lz");
const u8 gTrainerFrontPic_SwimmerM[] = INCBIN_U8("graphics/trainers/front_pics/swimmer_m_front_pic.4bpp.lz");
const u8 gTrainerPalette_SwimmerM[] = INCBIN_U8("graphics/trainers/palettes/swimmer_m.gbapal.lz");
const u32 gTrainerFrontPic_SwimmerM[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_m_front_pic.4bpp.lz");
const u32 gTrainerPalette_SwimmerM[] = INCBIN_U32("graphics/trainers/palettes/swimmer_m.gbapal.lz");
const u8 gTrainerFrontPic_MagmaGruntM[] = INCBIN_U8("graphics/trainers/front_pics/magma_grunt_m_front_pic.4bpp.lz");
const u8 gTrainerPalette_MagmaGruntM[] = INCBIN_U8("graphics/trainers/palettes/magma_grunt_m.gbapal.lz");
const u32 gTrainerFrontPic_MagmaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_m_front_pic.4bpp.lz");
const u32 gTrainerPalette_MagmaGruntM[] = INCBIN_U32("graphics/trainers/palettes/magma_grunt_m.gbapal.lz");
const u8 gTrainerFrontPic_ExpertM[] = INCBIN_U8("graphics/trainers/front_pics/expert_m_front_pic.4bpp.lz");
const u8 gTrainerPalette_ExpertM[] = INCBIN_U8("graphics/trainers/palettes/expert_m.gbapal.lz");
const u32 gTrainerFrontPic_ExpertM[] = INCBIN_U32("graphics/trainers/front_pics/expert_m_front_pic.4bpp.lz");
const u32 gTrainerPalette_ExpertM[] = INCBIN_U32("graphics/trainers/palettes/expert_m.gbapal.lz");
const u8 gTrainerFrontPic_AquaAdminM[] = INCBIN_U8("graphics/trainers/front_pics/aqua_admin_m_front_pic.4bpp.lz");
const u8 gTrainerPalette_AquaAdminM[] = INCBIN_U8("graphics/trainers/palettes/aqua_admin_m.gbapal.lz");
const u32 gTrainerFrontPic_AquaAdminM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_m_front_pic.4bpp.lz");
const u32 gTrainerPalette_AquaAdminM[] = INCBIN_U32("graphics/trainers/palettes/aqua_admin_m.gbapal.lz");
const u8 gTrainerFrontPic_BlackBelt[] = INCBIN_U8("graphics/trainers/front_pics/black_belt_front_pic.4bpp.lz");
const u8 gTrainerPalette_BlackBelt[] = INCBIN_U8("graphics/trainers/palettes/black_belt.gbapal.lz");
const u32 gTrainerFrontPic_BlackBelt[] = INCBIN_U32("graphics/trainers/front_pics/black_belt_front_pic.4bpp.lz");
const u32 gTrainerPalette_BlackBelt[] = INCBIN_U32("graphics/trainers/palettes/black_belt.gbapal.lz");
const u8 gTrainerFrontPic_AquaAdminF[] = INCBIN_U8("graphics/trainers/front_pics/aqua_admin_f_front_pic.4bpp.lz");
const u8 gTrainerPalette_AquaAdminF[] = INCBIN_U8("graphics/trainers/palettes/aqua_admin_f.gbapal.lz");
const u32 gTrainerFrontPic_AquaAdminF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_f_front_pic.4bpp.lz");
const u32 gTrainerPalette_AquaAdminF[] = INCBIN_U32("graphics/trainers/palettes/aqua_admin_f.gbapal.lz");
const u8 gTrainerFrontPic_AquaLeaderArchie[] = INCBIN_U8("graphics/trainers/front_pics/aqua_leader_archie_front_pic.4bpp.lz");
const u8 gTrainerPalette_AquaLeaderArchie[] = INCBIN_U8("graphics/trainers/palettes/aqua_leader_archie.gbapal.lz");
const u32 gTrainerFrontPic_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/front_pics/aqua_leader_archie_front_pic.4bpp.lz");
const u32 gTrainerPalette_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/palettes/aqua_leader_archie.gbapal.lz");
const u8 gTrainerFrontPic_HexManiac[] = INCBIN_U8("graphics/trainers/front_pics/hex_maniac_front_pic.4bpp.lz");
const u8 gTrainerPalette_HexManiac[] = INCBIN_U8("graphics/trainers/palettes/hex_maniac.gbapal.lz");
const u32 gTrainerFrontPic_HexManiac[] = INCBIN_U32("graphics/trainers/front_pics/hex_maniac_front_pic.4bpp.lz");
const u32 gTrainerPalette_HexManiac[] = INCBIN_U32("graphics/trainers/palettes/hex_maniac.gbapal.lz");
const u8 gTrainerFrontPic_AromaLady[] = INCBIN_U8("graphics/trainers/front_pics/aroma_lady_front_pic.4bpp.lz");
const u8 gTrainerPalette_AromaLady[] = INCBIN_U8("graphics/trainers/palettes/aroma_lady.gbapal.lz");
const u32 gTrainerFrontPic_AromaLady[] = INCBIN_U32("graphics/trainers/front_pics/aroma_lady_front_pic.4bpp.lz");
const u32 gTrainerPalette_AromaLady[] = INCBIN_U32("graphics/trainers/palettes/aroma_lady.gbapal.lz");
const u8 gTrainerFrontPic_RuinManiac[] = INCBIN_U8("graphics/trainers/front_pics/ruin_maniac_front_pic.4bpp.lz");
const u8 gTrainerPalette_RuinManiac[] = INCBIN_U8("graphics/trainers/palettes/ruin_maniac.gbapal.lz");
const u32 gTrainerFrontPic_RuinManiac[] = INCBIN_U32("graphics/trainers/front_pics/ruin_maniac_front_pic.4bpp.lz");
const u32 gTrainerPalette_RuinManiac[] = INCBIN_U32("graphics/trainers/palettes/ruin_maniac.gbapal.lz");
const u8 gTrainerFrontPic_Interviewer[] = INCBIN_U8("graphics/trainers/front_pics/interviewer_front_pic.4bpp.lz");
const u8 gTrainerPalette_Interviewer[] = INCBIN_U8("graphics/trainers/palettes/interviewer.gbapal.lz");
const u32 gTrainerFrontPic_Interviewer[] = INCBIN_U32("graphics/trainers/front_pics/interviewer_front_pic.4bpp.lz");
const u32 gTrainerPalette_Interviewer[] = INCBIN_U32("graphics/trainers/palettes/interviewer.gbapal.lz");
const u8 gTrainerFrontPic_TuberF[] = INCBIN_U8("graphics/trainers/front_pics/tuber_f_front_pic.4bpp.lz");
const u8 gTrainerPalette_TuberF[] = INCBIN_U8("graphics/trainers/palettes/tuber_f.gbapal.lz");
const u32 gTrainerFrontPic_TuberF[] = INCBIN_U32("graphics/trainers/front_pics/tuber_f_front_pic.4bpp.lz");
const u32 gTrainerPalette_TuberF[] = INCBIN_U32("graphics/trainers/palettes/tuber_f.gbapal.lz");
const u8 gTrainerFrontPic_TuberM[] = INCBIN_U8("graphics/trainers/front_pics/tuber_m_front_pic.4bpp.lz");
const u8 gTrainerPalette_TuberM[] = INCBIN_U8("graphics/trainers/palettes/tuber_m.gbapal.lz");
const u32 gTrainerFrontPic_TuberM[] = INCBIN_U32("graphics/trainers/front_pics/tuber_m_front_pic.4bpp.lz");
const u32 gTrainerPalette_TuberM[] = INCBIN_U32("graphics/trainers/palettes/tuber_m.gbapal.lz");
const u8 gTrainerFrontPic_CoolTrainerF[] = INCBIN_U8("graphics/trainers/front_pics/cool_trainer_f_front_pic.4bpp.lz");
const u8 gTrainerPalette_CoolTrainerF[] = INCBIN_U8("graphics/trainers/palettes/cool_trainer_f.gbapal.lz");
const u32 gTrainerFrontPic_CoolTrainerF[] = INCBIN_U32("graphics/trainers/front_pics/cool_trainer_f_front_pic.4bpp.lz");
const u32 gTrainerPalette_CoolTrainerF[] = INCBIN_U32("graphics/trainers/palettes/cool_trainer_f.gbapal.lz");
const u8 gTrainerFrontPic_Lady[] = INCBIN_U8("graphics/trainers/front_pics/lady_front_pic.4bpp.lz");
const u8 gTrainerPalette_Lady[] = INCBIN_U8("graphics/trainers/palettes/lady.gbapal.lz");
const u32 gTrainerFrontPic_Lady[] = INCBIN_U32("graphics/trainers/front_pics/lady_front_pic.4bpp.lz");
const u32 gTrainerPalette_Lady[] = INCBIN_U32("graphics/trainers/palettes/lady.gbapal.lz");
const u8 gTrainerFrontPic_Beauty[] = INCBIN_U8("graphics/trainers/front_pics/beauty_front_pic.4bpp.lz");
const u8 gTrainerPalette_Beauty[] = INCBIN_U8("graphics/trainers/palettes/beauty.gbapal.lz");
const u32 gTrainerFrontPic_Beauty[] = INCBIN_U32("graphics/trainers/front_pics/beauty_front_pic.4bpp.lz");
const u32 gTrainerPalette_Beauty[] = INCBIN_U32("graphics/trainers/palettes/beauty.gbapal.lz");
const u8 gTrainerFrontPic_RichBoy[] = INCBIN_U8("graphics/trainers/front_pics/rich_boy_front_pic.4bpp.lz");
const u8 gTrainerPalette_RichBoy[] = INCBIN_U8("graphics/trainers/palettes/rich_boy.gbapal.lz");
const u32 gTrainerFrontPic_RichBoy[] = INCBIN_U32("graphics/trainers/front_pics/rich_boy_front_pic.4bpp.lz");
const u32 gTrainerPalette_RichBoy[] = INCBIN_U32("graphics/trainers/palettes/rich_boy.gbapal.lz");
const u8 gTrainerFrontPic_ExpertF[] = INCBIN_U8("graphics/trainers/front_pics/expert_f_front_pic.4bpp.lz");
const u8 gTrainerPalette_ExpertF[] = INCBIN_U8("graphics/trainers/palettes/expert_f.gbapal.lz");
const u32 gTrainerFrontPic_ExpertF[] = INCBIN_U32("graphics/trainers/front_pics/expert_f_front_pic.4bpp.lz");
const u32 gTrainerPalette_ExpertF[] = INCBIN_U32("graphics/trainers/palettes/expert_f.gbapal.lz");
const u8 gTrainerFrontPic_Pokemaniac[] = INCBIN_U8("graphics/trainers/front_pics/pokemaniac_front_pic.4bpp.lz");
const u8 gTrainerPalette_Pokemaniac[] = INCBIN_U8("graphics/trainers/palettes/pokemaniac.gbapal.lz");
const u32 gTrainerFrontPic_Pokemaniac[] = INCBIN_U32("graphics/trainers/front_pics/pokemaniac_front_pic.4bpp.lz");
const u32 gTrainerPalette_Pokemaniac[] = INCBIN_U32("graphics/trainers/palettes/pokemaniac.gbapal.lz");
const u8 gTrainerFrontPic_MagmaGruntF[] = INCBIN_U8("graphics/trainers/front_pics/magma_grunt_f_front_pic.4bpp.lz");
const u8 gTrainerPalette_MagmaGruntF[] = INCBIN_U8("graphics/trainers/palettes/magma_grunt_f.gbapal.lz");
const u32 gTrainerFrontPic_MagmaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_f_front_pic.4bpp.lz");
const u32 gTrainerPalette_MagmaGruntF[] = INCBIN_U32("graphics/trainers/palettes/magma_grunt_f.gbapal.lz");
const u8 gTrainerFrontPic_Guitarist[] = INCBIN_U8("graphics/trainers/front_pics/guitarist_front_pic.4bpp.lz");
const u8 gTrainerPalette_Guitarist[] = INCBIN_U8("graphics/trainers/palettes/guitarist.gbapal.lz");
const u32 gTrainerFrontPic_Guitarist[] = INCBIN_U32("graphics/trainers/front_pics/guitarist_front_pic.4bpp.lz");
const u32 gTrainerPalette_Guitarist[] = INCBIN_U32("graphics/trainers/palettes/guitarist.gbapal.lz");
const u8 gTrainerFrontPic_Kindler[] = INCBIN_U8("graphics/trainers/front_pics/kindler_front_pic.4bpp.lz");
const u8 gTrainerPalette_Kindler[] = INCBIN_U8("graphics/trainers/palettes/kindler.gbapal.lz");
const u32 gTrainerFrontPic_Kindler[] = INCBIN_U32("graphics/trainers/front_pics/kindler_front_pic.4bpp.lz");
const u32 gTrainerPalette_Kindler[] = INCBIN_U32("graphics/trainers/palettes/kindler.gbapal.lz");
const u8 gTrainerFrontPic_Camper[] = INCBIN_U8("graphics/trainers/front_pics/camper_front_pic.4bpp.lz");
const u8 gTrainerPalette_Camper[] = INCBIN_U8("graphics/trainers/palettes/camper.gbapal.lz");
const u32 gTrainerFrontPic_Camper[] = INCBIN_U32("graphics/trainers/front_pics/camper_front_pic.4bpp.lz");
const u32 gTrainerPalette_Camper[] = INCBIN_U32("graphics/trainers/palettes/camper.gbapal.lz");
const u8 gTrainerFrontPic_Picnicker[] = INCBIN_U8("graphics/trainers/front_pics/picnicker_front_pic.4bpp.lz");
const u8 gTrainerPalette_Picnicker[] = INCBIN_U8("graphics/trainers/palettes/picnicker.gbapal.lz");
const u32 gTrainerFrontPic_Picnicker[] = INCBIN_U32("graphics/trainers/front_pics/picnicker_front_pic.4bpp.lz");
const u32 gTrainerPalette_Picnicker[] = INCBIN_U32("graphics/trainers/palettes/picnicker.gbapal.lz");
const u8 gTrainerFrontPic_BugManiac[] = INCBIN_U8("graphics/trainers/front_pics/bug_maniac_front_pic.4bpp.lz");
const u8 gTrainerPalette_BugManiac[] = INCBIN_U8("graphics/trainers/palettes/bug_maniac.gbapal.lz");
const u32 gTrainerFrontPic_BugManiac[] = INCBIN_U32("graphics/trainers/front_pics/bug_maniac_front_pic.4bpp.lz");
const u32 gTrainerPalette_BugManiac[] = INCBIN_U32("graphics/trainers/palettes/bug_maniac.gbapal.lz");
const u8 gTrainerFrontPic_PokemonBreederM[] = INCBIN_U8("graphics/trainers/front_pics/pokemon_breeder_m_front_pic.4bpp.lz");
const u8 gTrainerPalette_PokemonBreederM[] = INCBIN_U8("graphics/trainers/palettes/pokemon_breeder_m.gbapal.lz");
const u32 gTrainerFrontPic_PokemonBreederM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_m_front_pic.4bpp.lz");
const u32 gTrainerPalette_PokemonBreederM[] = INCBIN_U32("graphics/trainers/palettes/pokemon_breeder_m.gbapal.lz");
const u8 gTrainerFrontPic_PsychicM[] = INCBIN_U8("graphics/trainers/front_pics/psychic_m_front_pic.4bpp.lz");
const u8 gTrainerPalette_PsychicM[] = INCBIN_U8("graphics/trainers/palettes/psychic_m.gbapal.lz");
const u32 gTrainerFrontPic_PsychicM[] = INCBIN_U32("graphics/trainers/front_pics/psychic_m_front_pic.4bpp.lz");
const u32 gTrainerPalette_PsychicM[] = INCBIN_U32("graphics/trainers/palettes/psychic_m.gbapal.lz");
const u8 gTrainerFrontPic_PsychicF[] = INCBIN_U8("graphics/trainers/front_pics/psychic_f_front_pic.4bpp.lz");
const u8 gTrainerPalette_PsychicF[] = INCBIN_U8("graphics/trainers/palettes/psychic_f.gbapal.lz");
const u32 gTrainerFrontPic_PsychicF[] = INCBIN_U32("graphics/trainers/front_pics/psychic_f_front_pic.4bpp.lz");
const u32 gTrainerPalette_PsychicF[] = INCBIN_U32("graphics/trainers/palettes/psychic_f.gbapal.lz");
const u8 gTrainerFrontPic_Gentleman[] = INCBIN_U8("graphics/trainers/front_pics/gentleman_front_pic.4bpp.lz");
const u8 gTrainerPalette_Gentleman[] = INCBIN_U8("graphics/trainers/palettes/gentleman.gbapal.lz");
const u32 gTrainerFrontPic_Gentleman[] = INCBIN_U32("graphics/trainers/front_pics/gentleman_front_pic.4bpp.lz");
const u32 gTrainerPalette_Gentleman[] = INCBIN_U32("graphics/trainers/palettes/gentleman.gbapal.lz");
const u8 gTrainerFrontPic_EliteFourSidney[] = INCBIN_U8("graphics/trainers/front_pics/elite_four_sidney_front_pic.4bpp.lz");
const u8 gTrainerPalette_EliteFourSidney[] = INCBIN_U8("graphics/trainers/palettes/elite_four_sidney.gbapal.lz");
const u32 gTrainerFrontPic_EliteFourSidney[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_sidney_front_pic.4bpp.lz");
const u32 gTrainerPalette_EliteFourSidney[] = INCBIN_U32("graphics/trainers/palettes/elite_four_sidney.gbapal.lz");
const u8 gTrainerFrontPic_EliteFourPhoebe[] = INCBIN_U8("graphics/trainers/front_pics/elite_four_phoebe_front_pic.4bpp.lz");
const u8 gTrainerPalette_EliteFourPhoebe[] = INCBIN_U8("graphics/trainers/palettes/elite_four_phoebe.gbapal.lz");
const u32 gTrainerFrontPic_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_phoebe_front_pic.4bpp.lz");
const u32 gTrainerPalette_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/palettes/elite_four_phoebe.gbapal.lz");
const u8 gTrainerFrontPic_EliteFourGlacia[] = INCBIN_U8("graphics/trainers/front_pics/elite_four_glacia_front_pic.4bpp.lz");
const u8 gTrainerPalette_EliteFourGlacia[] = INCBIN_U8("graphics/trainers/palettes/elite_four_glacia.gbapal.lz");
const u32 gTrainerFrontPic_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_glacia_front_pic.4bpp.lz");
const u32 gTrainerPalette_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/palettes/elite_four_glacia.gbapal.lz");
const u8 gTrainerFrontPic_EliteFourDrake[] = INCBIN_U8("graphics/trainers/front_pics/elite_four_drake_front_pic.4bpp.lz");
const u8 gTrainerPalette_EliteFourDrake[] = INCBIN_U8("graphics/trainers/palettes/elite_four_drake.gbapal.lz");
const u32 gTrainerFrontPic_EliteFourDrake[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_drake_front_pic.4bpp.lz");
const u32 gTrainerPalette_EliteFourDrake[] = INCBIN_U32("graphics/trainers/palettes/elite_four_drake.gbapal.lz");
const u8 gTrainerFrontPic_LeaderRoxanne[] = INCBIN_U8("graphics/trainers/front_pics/leader_roxanne_front_pic.4bpp.lz");
const u8 gTrainerPalette_LeaderRoxanne[] = INCBIN_U8("graphics/trainers/palettes/leader_roxanne.gbapal.lz");
const u32 gTrainerFrontPic_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/front_pics/leader_roxanne_front_pic.4bpp.lz");
const u32 gTrainerPalette_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/palettes/leader_roxanne.gbapal.lz");
const u8 gTrainerFrontPic_LeaderBrawly[] = INCBIN_U8("graphics/trainers/front_pics/leader_brawly_front_pic.4bpp.lz");
const u8 gTrainerPalette_LeaderBrawly[] = INCBIN_U8("graphics/trainers/palettes/leader_brawly.gbapal.lz");
const u32 gTrainerFrontPic_LeaderBrawly[] = INCBIN_U32("graphics/trainers/front_pics/leader_brawly_front_pic.4bpp.lz");
const u32 gTrainerPalette_LeaderBrawly[] = INCBIN_U32("graphics/trainers/palettes/leader_brawly.gbapal.lz");
const u8 gTrainerFrontPic_LeaderWattson[] = INCBIN_U8("graphics/trainers/front_pics/leader_wattson_front_pic.4bpp.lz");
const u8 gTrainerPalette_LeaderWattson[] = INCBIN_U8("graphics/trainers/palettes/leader_wattson.gbapal.lz");
const u32 gTrainerFrontPic_LeaderWattson[] = INCBIN_U32("graphics/trainers/front_pics/leader_wattson_front_pic.4bpp.lz");
const u32 gTrainerPalette_LeaderWattson[] = INCBIN_U32("graphics/trainers/palettes/leader_wattson.gbapal.lz");
const u8 gTrainerFrontPic_LeaderFlannery[] = INCBIN_U8("graphics/trainers/front_pics/leader_flannery_front_pic.4bpp.lz");
const u8 gTrainerPalette_LeaderFlannery[] = INCBIN_U8("graphics/trainers/palettes/leader_flannery.gbapal.lz");
const u32 gTrainerFrontPic_LeaderFlannery[] = INCBIN_U32("graphics/trainers/front_pics/leader_flannery_front_pic.4bpp.lz");
const u32 gTrainerPalette_LeaderFlannery[] = INCBIN_U32("graphics/trainers/palettes/leader_flannery.gbapal.lz");
const u8 gTrainerFrontPic_LeaderNorman[] = INCBIN_U8("graphics/trainers/front_pics/leader_norman_front_pic.4bpp.lz");
const u8 gTrainerPalette_LeaderNorman[] = INCBIN_U8("graphics/trainers/palettes/leader_norman.gbapal.lz");
const u32 gTrainerFrontPic_LeaderNorman[] = INCBIN_U32("graphics/trainers/front_pics/leader_norman_front_pic.4bpp.lz");
const u32 gTrainerPalette_LeaderNorman[] = INCBIN_U32("graphics/trainers/palettes/leader_norman.gbapal.lz");
const u8 gTrainerFrontPic_LeaderWinona[] = INCBIN_U8("graphics/trainers/front_pics/leader_winona_front_pic.4bpp.lz");
const u8 gTrainerPalette_LeaderWinona[] = INCBIN_U8("graphics/trainers/palettes/leader_winona.gbapal.lz");
const u32 gTrainerFrontPic_LeaderWinona[] = INCBIN_U32("graphics/trainers/front_pics/leader_winona_front_pic.4bpp.lz");
const u32 gTrainerPalette_LeaderWinona[] = INCBIN_U32("graphics/trainers/palettes/leader_winona.gbapal.lz");
const u8 gTrainerFrontPic_LeaderTateAndLiza[] = INCBIN_U8("graphics/trainers/front_pics/leader_tate_and_liza_front_pic.4bpp.lz");
const u8 gTrainerPalette_LeaderTateAndLiza[] = INCBIN_U8("graphics/trainers/palettes/leader_tate_and_liza.gbapal.lz");
const u32 gTrainerFrontPic_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/front_pics/leader_tate_and_liza_front_pic.4bpp.lz");
const u32 gTrainerPalette_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/palettes/leader_tate_and_liza.gbapal.lz");
const u8 gTrainerFrontPic_LeaderJuan[] = INCBIN_U8("graphics/trainers/front_pics/leader_juan_front_pic.4bpp.lz");
const u8 gTrainerPalette_LeaderJuan[] = INCBIN_U8("graphics/trainers/palettes/leader_juan.gbapal.lz");
const u32 gTrainerFrontPic_LeaderJuan[] = INCBIN_U32("graphics/trainers/front_pics/leader_juan_front_pic.4bpp.lz");
const u32 gTrainerPalette_LeaderJuan[] = INCBIN_U32("graphics/trainers/palettes/leader_juan.gbapal.lz");
const u8 gTrainerFrontPic_SchoolKidM[] = INCBIN_U8("graphics/trainers/front_pics/school_kid_m_front_pic.4bpp.lz");
const u8 gTrainerPalette_SchoolKidM[] = INCBIN_U8("graphics/trainers/palettes/school_kid_m.gbapal.lz");
const u32 gTrainerFrontPic_SchoolKidM[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_m_front_pic.4bpp.lz");
const u32 gTrainerPalette_SchoolKidM[] = INCBIN_U32("graphics/trainers/palettes/school_kid_m.gbapal.lz");
const u8 gTrainerFrontPic_SchoolKidF[] = INCBIN_U8("graphics/trainers/front_pics/school_kid_f_front_pic.4bpp.lz");
const u8 gTrainerPalette_SchoolKidF[] = INCBIN_U8("graphics/trainers/palettes/school_kid_f.gbapal.lz");
const u32 gTrainerFrontPic_SchoolKidF[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_f_front_pic.4bpp.lz");
const u32 gTrainerPalette_SchoolKidF[] = INCBIN_U32("graphics/trainers/palettes/school_kid_f.gbapal.lz");
const u8 gTrainerFrontPic_SrAndJr[] = INCBIN_U8("graphics/trainers/front_pics/sr_and_jr_front_pic.4bpp.lz");
const u8 gTrainerPalette_SrAndJr[] = INCBIN_U8("graphics/trainers/palettes/sr_and_jr.gbapal.lz");
const u32 gTrainerFrontPic_SrAndJr[] = INCBIN_U32("graphics/trainers/front_pics/sr_and_jr_front_pic.4bpp.lz");
const u32 gTrainerPalette_SrAndJr[] = INCBIN_U32("graphics/trainers/palettes/sr_and_jr.gbapal.lz");
const u8 gTrainerFrontPic_WinstrateM[] = INCBIN_U8("graphics/trainers/front_pics/winstrate_m_front_pic.4bpp.lz");
const u8 gTrainerPalette_WinstrateM[] = INCBIN_U8("graphics/trainers/palettes/winstrate_m.gbapal.lz");
const u32 gTrainerFrontPic_PokefanM[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_m_front_pic.4bpp.lz");
const u32 gTrainerPalette_PokefanM[] = INCBIN_U32("graphics/trainers/palettes/pokefan_m.gbapal.lz");
const u8 gTrainerFrontPic_WinstrateF[] = INCBIN_U8("graphics/trainers/front_pics/winstrate_f_front_pic.4bpp.lz");
const u8 gTrainerPalette_WinstrateF[] = INCBIN_U8("graphics/trainers/palettes/winstrate_f.gbapal.lz");
const u32 gTrainerFrontPic_PokefanF[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_f_front_pic.4bpp.lz");
const u32 gTrainerPalette_PokefanF[] = INCBIN_U32("graphics/trainers/palettes/pokefan_f.gbapal.lz");
const u8 gTrainerFrontPic_Youngster[] = INCBIN_U8("graphics/trainers/front_pics/youngster_front_pic.4bpp.lz");
const u8 gTrainerPalette_Youngster[] = INCBIN_U8("graphics/trainers/palettes/youngster.gbapal.lz");
const u32 gTrainerFrontPic_Youngster[] = INCBIN_U32("graphics/trainers/front_pics/youngster_front_pic.4bpp.lz");
const u32 gTrainerPalette_Youngster[] = INCBIN_U32("graphics/trainers/palettes/youngster.gbapal.lz");
const u8 gTrainerFrontPic_ChampionWallace[] = INCBIN_U8("graphics/trainers/front_pics/champion_wallace_front_pic.4bpp.lz");
const u8 gTrainerPalette_ChampionWallace[] = INCBIN_U8("graphics/trainers/palettes/champion_wallace.gbapal.lz");
const u32 gTrainerFrontPic_ChampionWallace[] = INCBIN_U32("graphics/trainers/front_pics/champion_wallace_front_pic.4bpp.lz");
const u32 gTrainerPalette_ChampionWallace[] = INCBIN_U32("graphics/trainers/palettes/champion_wallace.gbapal.lz");
const u8 gTrainerFrontPic_Fisherman[] = INCBIN_U8("graphics/trainers/front_pics/fisherman_front_pic.4bpp.lz");
const u8 gTrainerPalette_Fisherman[] = INCBIN_U8("graphics/trainers/palettes/fisherman.gbapal.lz");
const u32 gTrainerFrontPic_Fisherman[] = INCBIN_U32("graphics/trainers/front_pics/fisherman_front_pic.4bpp.lz");
const u32 gTrainerPalette_Fisherman[] = INCBIN_U32("graphics/trainers/palettes/fisherman.gbapal.lz");
const u8 gTrainerFrontPic_CyclingTriathleteM[] = INCBIN_U8("graphics/trainers/front_pics/cycling_triathlete_m_front_pic.4bpp.lz");
const u8 gTrainerPalette_CyclingTriathleteM[] = INCBIN_U8("graphics/trainers/palettes/cycling_triathlete_m.gbapal.lz");
const u32 gTrainerFrontPic_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_m_front_pic.4bpp.lz");
const u32 gTrainerPalette_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/cycling_triathlete_m.gbapal.lz");
const u8 gTrainerFrontPic_CyclingTriathleteF[] = INCBIN_U8("graphics/trainers/front_pics/cycling_triathlete_f_front_pic.4bpp.lz");
const u8 gTrainerPalette_CyclingTriathleteF[] = INCBIN_U8("graphics/trainers/palettes/cycling_triathlete_f.gbapal.lz");
const u32 gTrainerFrontPic_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_f_front_pic.4bpp.lz");
const u32 gTrainerPalette_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/cycling_triathlete_f.gbapal.lz");
const u8 gTrainerFrontPic_RunningTriathleteM[] = INCBIN_U8("graphics/trainers/front_pics/running_triathlete_m_front_pic.4bpp.lz");
const u8 gTrainerPalette_RunningTriathleteM[] = INCBIN_U8("graphics/trainers/palettes/running_triathlete_m.gbapal.lz");
const u32 gTrainerFrontPic_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_m_front_pic.4bpp.lz");
const u32 gTrainerPalette_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/running_triathlete_m.gbapal.lz");
const u8 gTrainerFrontPic_RunningTriathleteF[] = INCBIN_U8("graphics/trainers/front_pics/running_triathlete_f_front_pic.4bpp.lz");
const u8 gTrainerPalette_RunningTriathleteF[] = INCBIN_U8("graphics/trainers/palettes/running_triathlete_f.gbapal.lz");
const u32 gTrainerFrontPic_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_f_front_pic.4bpp.lz");
const u32 gTrainerPalette_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/running_triathlete_f.gbapal.lz");
const u8 gTrainerFrontPic_SwimmingTriathleteM[] = INCBIN_U8("graphics/trainers/front_pics/swimming_triathlete_m_front_pic.4bpp.lz");
const u8 gTrainerPalette_SwimmingTriathleteM[] = INCBIN_U8("graphics/trainers/palettes/swimming_triathlete_m.gbapal.lz");
const u32 gTrainerFrontPic_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_m_front_pic.4bpp.lz");
const u32 gTrainerPalette_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/swimming_triathlete_m.gbapal.lz");
const u8 gTrainerFrontPic_SwimmingTriathleteF[] = INCBIN_U8("graphics/trainers/front_pics/swimming_triathlete_f_front_pic.4bpp.lz");
const u8 gTrainerPalette_SwimmingTriathleteF[] = INCBIN_U8("graphics/trainers/palettes/swimming_triathlete_f.gbapal.lz");
const u32 gTrainerFrontPic_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_f_front_pic.4bpp.lz");
const u32 gTrainerPalette_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/swimming_triathlete_f.gbapal.lz");
const u8 gTrainerFrontPic_DragonTamer[] = INCBIN_U8("graphics/trainers/front_pics/dragon_tamer_front_pic.4bpp.lz");
const u8 gTrainerPalette_DragonTamer[] = INCBIN_U8("graphics/trainers/palettes/dragon_tamer.gbapal.lz");
const u32 gTrainerFrontPic_DragonTamer[] = INCBIN_U32("graphics/trainers/front_pics/dragon_tamer_front_pic.4bpp.lz");
const u32 gTrainerPalette_DragonTamer[] = INCBIN_U32("graphics/trainers/palettes/dragon_tamer.gbapal.lz");
const u8 gTrainerFrontPic_NinjaBoy[] = INCBIN_U8("graphics/trainers/front_pics/ninja_boy_front_pic.4bpp.lz");
const u8 gTrainerPalette_NinjaBoy[] = INCBIN_U8("graphics/trainers/palettes/ninja_boy.gbapal.lz");
const u32 gTrainerFrontPic_NinjaBoy[] = INCBIN_U32("graphics/trainers/front_pics/ninja_boy_front_pic.4bpp.lz");
const u32 gTrainerPalette_NinjaBoy[] = INCBIN_U32("graphics/trainers/palettes/ninja_boy.gbapal.lz");
const u8 gTrainerFrontPic_BattleGirl[] = INCBIN_U8("graphics/trainers/front_pics/battle_girl_front_pic.4bpp.lz");
const u8 gTrainerPalette_BattleGirl[] = INCBIN_U8("graphics/trainers/palettes/battle_girl.gbapal.lz");
const u32 gTrainerFrontPic_BattleGirl[] = INCBIN_U32("graphics/trainers/front_pics/battle_girl_front_pic.4bpp.lz");
const u32 gTrainerPalette_BattleGirl[] = INCBIN_U32("graphics/trainers/palettes/battle_girl.gbapal.lz");
const u8 gTrainerFrontPic_ParasolLady[] = INCBIN_U8("graphics/trainers/front_pics/parasol_lady_front_pic.4bpp.lz");
const u8 gTrainerPalette_ParasolLady[] = INCBIN_U8("graphics/trainers/palettes/parasol_lady.gbapal.lz");
const u32 gTrainerFrontPic_ParasolLady[] = INCBIN_U32("graphics/trainers/front_pics/parasol_lady_front_pic.4bpp.lz");
const u32 gTrainerPalette_ParasolLady[] = INCBIN_U32("graphics/trainers/palettes/parasol_lady.gbapal.lz");
const u8 gTrainerFrontPic_SwimmerF[] = INCBIN_U8("graphics/trainers/front_pics/swimmer_f_front_pic.4bpp.lz");
const u8 gTrainerPalette_SwimmerF[] = INCBIN_U8("graphics/trainers/palettes/swimmer_f.gbapal.lz");
const u32 gTrainerFrontPic_SwimmerF[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_f_front_pic.4bpp.lz");
const u32 gTrainerPalette_SwimmerF[] = INCBIN_U32("graphics/trainers/palettes/swimmer_f.gbapal.lz");
const u8 gTrainerFrontPic_Twins[] = INCBIN_U8("graphics/trainers/front_pics/twins_front_pic.4bpp.lz");
const u8 gTrainerPalette_Twins[] = INCBIN_U8("graphics/trainers/palettes/twins.gbapal.lz");
const u32 gTrainerFrontPic_Twins[] = INCBIN_U32("graphics/trainers/front_pics/twins_front_pic.4bpp.lz");
const u32 gTrainerPalette_Twins[] = INCBIN_U32("graphics/trainers/palettes/twins.gbapal.lz");
const u8 gTrainerFrontPic_Sailor[] = INCBIN_U8("graphics/trainers/front_pics/sailor_front_pic.4bpp.lz");
const u8 gTrainerPalette_Sailor[] = INCBIN_U8("graphics/trainers/palettes/sailor.gbapal.lz");
const u32 gTrainerFrontPic_Sailor[] = INCBIN_U32("graphics/trainers/front_pics/sailor_front_pic.4bpp.lz");
const u32 gTrainerPalette_Sailor[] = INCBIN_U32("graphics/trainers/palettes/sailor.gbapal.lz");
const u8 gTrainerFrontPic_MagmaAdmin[] = INCBIN_U8("graphics/trainers/front_pics/magma_admin_front_pic.4bpp.lz");
const u8 gTrainerPalette_MagmaAdmin[] = INCBIN_U8("graphics/trainers/palettes/magma_admin.gbapal.lz");
const u32 gTrainerFrontPic_MagmaAdmin[] = INCBIN_U32("graphics/trainers/front_pics/magma_admin_front_pic.4bpp.lz");
const u32 gTrainerPalette_MagmaAdmin[] = INCBIN_U32("graphics/trainers/palettes/magma_admin.gbapal.lz");
const u8 gTrainerFrontPic_Wally[] = INCBIN_U8("graphics/trainers/front_pics/wally_front_pic.4bpp.lz");
const u8 gTrainerPalette_Wally[] = INCBIN_U8("graphics/trainers/palettes/wally.gbapal.lz");
const u32 gTrainerFrontPic_Wally[] = INCBIN_U32("graphics/trainers/front_pics/wally_front_pic.4bpp.lz");
const u32 gTrainerPalette_Wally[] = INCBIN_U32("graphics/trainers/palettes/wally.gbapal.lz");
const u8 gTrainerFrontPic_Brendan[] = INCBIN_U8("graphics/trainers/front_pics/brendan_front_pic.4bpp.lz");
const u8 gTrainerPalette_Brendan[] = INCBIN_U8("graphics/trainers/palettes/brendan.gbapal.lz");
const u32 gTrainerFrontPic_Brendan[] = INCBIN_U32("graphics/trainers/front_pics/brendan_front_pic.4bpp.lz");
const u32 gTrainerPalette_Brendan[] = INCBIN_U32("graphics/trainers/palettes/brendan.gbapal.lz");
const u8 gTrainerFrontPic_May[] = INCBIN_U8("graphics/trainers/front_pics/may_front_pic.4bpp.lz");
const u8 gTrainerPalette_May[] = INCBIN_U8("graphics/trainers/palettes/may.gbapal.lz");
const u32 gTrainerFrontPic_May[] = INCBIN_U32("graphics/trainers/front_pics/may_front_pic.4bpp.lz");
const u32 gTrainerPalette_May[] = INCBIN_U32("graphics/trainers/palettes/may.gbapal.lz");
const u8 gTrainerFrontPic_BugCatcher[] = INCBIN_U8("graphics/trainers/front_pics/bug_catcher_front_pic.4bpp.lz");
const u8 gTrainerPalette_BugCatcher[] = INCBIN_U8("graphics/trainers/palettes/bug_catcher.gbapal.lz");
const u32 gTrainerFrontPic_BugCatcher[] = INCBIN_U32("graphics/trainers/front_pics/bug_catcher_front_pic.4bpp.lz");
const u32 gTrainerPalette_BugCatcher[] = INCBIN_U32("graphics/trainers/palettes/bug_catcher.gbapal.lz");
const u8 gTrainerFrontPic_PokemonRangerM[] = INCBIN_U8("graphics/trainers/front_pics/pokemon_ranger_m_front_pic.4bpp.lz");
const u8 gTrainerPalette_PokemonRangerM[] = INCBIN_U8("graphics/trainers/palettes/pokemon_ranger_m.gbapal.lz");
const u32 gTrainerFrontPic_PokemonRangerM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_m_front_pic.4bpp.lz");
const u32 gTrainerPalette_PokemonRangerM[] = INCBIN_U32("graphics/trainers/palettes/pokemon_ranger_m.gbapal.lz");
const u8 gTrainerFrontPic_PokemonRangerF[] = INCBIN_U8("graphics/trainers/front_pics/pokemon_ranger_f_front_pic.4bpp.lz");
const u8 gTrainerPalette_PokemonRangerF[] = INCBIN_U8("graphics/trainers/palettes/pokemon_ranger_f.gbapal.lz");
const u32 gTrainerFrontPic_PokemonRangerF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_f_front_pic.4bpp.lz");
const u32 gTrainerPalette_PokemonRangerF[] = INCBIN_U32("graphics/trainers/palettes/pokemon_ranger_f.gbapal.lz");
const u8 gTrainerFrontPic_MagmaLeaderMaxie[] = INCBIN_U8("graphics/trainers/front_pics/magma_leader_maxie_front_pic.4bpp.lz");
const u8 gTrainerPalette_MagmaLeaderMaxie[] = INCBIN_U8("graphics/trainers/palettes/magma_leader_maxie.gbapal.lz");
const u32 gTrainerFrontPic_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/front_pics/magma_leader_maxie_front_pic.4bpp.lz");
const u32 gTrainerPalette_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/palettes/magma_leader_maxie.gbapal.lz");
const u8 gTrainerFrontPic_Lass[] = INCBIN_U8("graphics/trainers/front_pics/lass_front_pic.4bpp.lz");
const u8 gTrainerPalette_Lass[] = INCBIN_U8("graphics/trainers/palettes/lass.gbapal.lz");
const u32 gTrainerFrontPic_Lass[] = INCBIN_U32("graphics/trainers/front_pics/lass_front_pic.4bpp.lz");
const u32 gTrainerPalette_Lass[] = INCBIN_U32("graphics/trainers/palettes/lass.gbapal.lz");
const u8 gTrainerFrontPic_YoungCouple[] = INCBIN_U8("graphics/trainers/front_pics/young_couple_front_pic.4bpp.lz");
const u8 gTrainerPalette_YoungCouple[] = INCBIN_U8("graphics/trainers/palettes/young_couple.gbapal.lz");
const u32 gTrainerFrontPic_YoungCouple[] = INCBIN_U32("graphics/trainers/front_pics/young_couple_front_pic.4bpp.lz");
const u32 gTrainerPalette_YoungCouple[] = INCBIN_U32("graphics/trainers/palettes/young_couple.gbapal.lz");
const u8 gTrainerFrontPic_OldCouple[] = INCBIN_U8("graphics/trainers/front_pics/old_couple_front_pic.4bpp.lz");
const u8 gTrainerPalette_OldCouple[] = INCBIN_U8("graphics/trainers/palettes/old_couple.gbapal.lz");
const u32 gTrainerFrontPic_OldCouple[] = INCBIN_U32("graphics/trainers/front_pics/old_couple_front_pic.4bpp.lz");
const u32 gTrainerPalette_OldCouple[] = INCBIN_U32("graphics/trainers/palettes/old_couple.gbapal.lz");
const u8 gTrainerFrontPic_SisAndBro[] = INCBIN_U8("graphics/trainers/front_pics/sis_and_bro_front_pic.4bpp.lz");
const u8 gTrainerPalette_SisAndBro[] = INCBIN_U8("graphics/trainers/palettes/sis_and_bro.gbapal.lz");
const u32 gTrainerFrontPic_SisAndBro[] = INCBIN_U32("graphics/trainers/front_pics/sis_and_bro_front_pic.4bpp.lz");
const u32 gTrainerPalette_SisAndBro[] = INCBIN_U32("graphics/trainers/palettes/sis_and_bro.gbapal.lz");
const u8 gTrainerFrontPic_Steven[] = INCBIN_U8("graphics/trainers/front_pics/steven_front_pic.4bpp.lz");
const u8 gTrainerPalette_Steven[] = INCBIN_U8("graphics/trainers/palettes/steven.gbapal.lz");
const u32 gTrainerFrontPic_Steven[] = INCBIN_U32("graphics/trainers/front_pics/steven_front_pic.4bpp.lz");
const u32 gTrainerPalette_Steven[] = INCBIN_U32("graphics/trainers/palettes/steven.gbapal.lz");
const u8 gTrainerFrontPic_SalonMaidenAnabel[] = INCBIN_U8("graphics/trainers/front_pics/salon_maiden_anabel_front_pic.4bpp.lz");
const u8 gTrainerPalette_SalonMaidenAnabel[] = INCBIN_U8("graphics/trainers/palettes/salon_maiden_anabel.gbapal.lz");
const u32 gTrainerFrontPic_SalonMaidenAnabel[] = INCBIN_U32("graphics/trainers/front_pics/salon_maiden_anabel_front_pic.4bpp.lz");
const u32 gTrainerPalette_SalonMaidenAnabel[] = INCBIN_U32("graphics/trainers/palettes/salon_maiden_anabel.gbapal.lz");
const u8 gTrainerFrontPic_DomeAceTucker[] = INCBIN_U8("graphics/trainers/front_pics/dome_ace_tucker_front_pic.4bpp.lz");
const u8 gTrainerPalette_DomeAceTucker[] = INCBIN_U8("graphics/trainers/palettes/dome_ace_tucker.gbapal.lz");
const u32 gTrainerFrontPic_DomeAceTucker[] = INCBIN_U32("graphics/trainers/front_pics/dome_ace_tucker_front_pic.4bpp.lz");
const u32 gTrainerPalette_DomeAceTucker[] = INCBIN_U32("graphics/trainers/palettes/dome_ace_tucker.gbapal.lz");
const u8 gTrainerFrontPic_PalaceMavenSpenser[] = INCBIN_U8("graphics/trainers/front_pics/palace_maven_spenser_front_pic.4bpp.lz");
const u8 gTrainerPalette_PalaceMavenSpenser[] = INCBIN_U8("graphics/trainers/palettes/palace_maven_spenser.gbapal.lz");
const u32 gTrainerFrontPic_PalaceMavenSpenser[] = INCBIN_U32("graphics/trainers/front_pics/palace_maven_spenser_front_pic.4bpp.lz");
const u32 gTrainerPalette_PalaceMavenSpenser[] = INCBIN_U32("graphics/trainers/palettes/palace_maven_spenser.gbapal.lz");
const u8 gTrainerFrontPic_ArenaTycoonGreta[] = INCBIN_U8("graphics/trainers/front_pics/arena_tycoon_greta_front_pic.4bpp.lz");
const u8 gTrainerPalette_ArenaTycoonGreta[] = INCBIN_U8("graphics/trainers/palettes/arena_tycoon_greta.gbapal.lz");
const u32 gTrainerFrontPic_ArenaTycoonGreta[] = INCBIN_U32("graphics/trainers/front_pics/arena_tycoon_greta_front_pic.4bpp.lz");
const u32 gTrainerPalette_ArenaTycoonGreta[] = INCBIN_U32("graphics/trainers/palettes/arena_tycoon_greta.gbapal.lz");
const u8 gTrainerFrontPic_FactoryHeadNoland[] = INCBIN_U8("graphics/trainers/front_pics/factory_head_noland_front_pic.4bpp.lz");
const u8 gTrainerPalette_FactoryHeadNoland[] = INCBIN_U8("graphics/trainers/palettes/factory_head_noland.gbapal.lz");
const u32 gTrainerFrontPic_FactoryHeadNoland[] = INCBIN_U32("graphics/trainers/front_pics/factory_head_noland_front_pic.4bpp.lz");
const u32 gTrainerPalette_FactoryHeadNoland[] = INCBIN_U32("graphics/trainers/palettes/factory_head_noland.gbapal.lz");
const u8 gTrainerFrontPic_PikeQueenLucy[] = INCBIN_U8("graphics/trainers/front_pics/pike_queen_lucy_front_pic.4bpp.lz");
const u8 gTrainerPalette_PikeQueenLucy[] = INCBIN_U8("graphics/trainers/palettes/pike_queen_lucy.gbapal.lz");
const u32 gTrainerFrontPic_PikeQueenLucy[] = INCBIN_U32("graphics/trainers/front_pics/pike_queen_lucy_front_pic.4bpp.lz");
const u32 gTrainerPalette_PikeQueenLucy[] = INCBIN_U32("graphics/trainers/palettes/pike_queen_lucy.gbapal.lz");
const u8 gTrainerFrontPic_PyramidKingBrandon[] = INCBIN_U8("graphics/trainers/front_pics/pyramid_king_brandon_front_pic.4bpp.lz");
const u8 gTrainerPalette_PyramidKingBrandon[] = INCBIN_U8("graphics/trainers/palettes/pyramid_king_brandon.gbapal.lz");
const u32 gTrainerFrontPic_PyramidKingBrandon[] = INCBIN_U32("graphics/trainers/front_pics/pyramid_king_brandon_front_pic.4bpp.lz");
const u32 gTrainerPalette_PyramidKingBrandon[] = INCBIN_U32("graphics/trainers/palettes/pyramid_king_brandon.gbapal.lz");
const u8 gTrainerFrontPic_Red[] = INCBIN_U8("graphics/trainers/front_pics/red_front_pic.4bpp.lz");
const u8 gTrainerPalette_Red[] = INCBIN_U8("graphics/trainers/palettes/red.gbapal.lz");
const u32 gTrainerFrontPic_Red[] = INCBIN_U32("graphics/trainers/front_pics/red_front_pic.4bpp.lz");
const u32 gTrainerPalette_Red[] = INCBIN_U32("graphics/trainers/palettes/red.gbapal.lz");
const u8 gTrainerFrontPic_Leaf[] = INCBIN_U8("graphics/trainers/front_pics/leaf_front_pic.4bpp.lz");
const u8 gTrainerPalette_Leaf[] = INCBIN_U8("graphics/trainers/palettes/leaf.gbapal.lz");
const u32 gTrainerFrontPic_Leaf[] = INCBIN_U32("graphics/trainers/front_pics/leaf_front_pic.4bpp.lz");
const u32 gTrainerPalette_Leaf[] = INCBIN_U32("graphics/trainers/palettes/leaf.gbapal.lz");
const u8 gTrainerFrontPic_RubySapphireBrendan[] = INCBIN_U8("graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz");
const u8 gTrainerPalette_RubySapphireBrendan[] = INCBIN_U8("graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz");
const u32 gTrainerFrontPic_RubySapphireBrendan[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz");
const u32 gTrainerPalette_RubySapphireBrendan[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz");
const u8 gTrainerFrontPic_RubySapphireMay[] = INCBIN_U8("graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz");
const u8 gTrainerPalette_RubySapphireMay[] = INCBIN_U8("graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz");
const u32 gTrainerFrontPic_RubySapphireMay[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz");
const u32 gTrainerPalette_RubySapphireMay[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz");
const u8 gTrainerBackPic_Brendan[] = INCBIN_U8("graphics/trainers/back_pics/brendan_back_pic.4bpp");
const u8 gTrainerBackPic_May[] = INCBIN_U8("graphics/trainers/back_pics/may_back_pic.4bpp");
@@ -286,5 +286,5 @@ const u8 gTrainerBackPic_RubySapphireMay[] = INCBIN_U8("graphics/trainers/back_p
const u8 gTrainerBackPic_Wally[] = INCBIN_U8("graphics/trainers/back_pics/wally_back_pic.4bpp");
const u8 gTrainerBackPic_Steven[] = INCBIN_U8("graphics/trainers/back_pics/steven_back_pic.4bpp");
const u8 gTrainerBackPicPalette_Red[] = INCBIN_U8("graphics/trainers/palettes/red_back_pic.gbapal.lz");
const u8 gTrainerBackPicPalette_Leaf[] = INCBIN_U8("graphics/trainers/palettes/leaf_back_pic.gbapal.lz");
const u32 gTrainerBackPicPalette_Red[] = INCBIN_U32("graphics/trainers/palettes/red_back_pic.gbapal.lz");
const u32 gTrainerBackPicPalette_Leaf[] = INCBIN_U32("graphics/trainers/palettes/leaf_back_pic.gbapal.lz");
+405 -412
View File
@@ -1,414 +1,407 @@
#ifndef GUARD_DATA_ITEM_ICON_TABLE_H
#define GUARD_DATA_ITEM_ICON_TABLE_H
#include "global.h"
#include "graphics.h"
const u8 * const gItemIconTable[][2] =
const u32 *const gItemIconTable[][2] =
{
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Pokeballs
gItemIcon_MasterBall, gItemIconPalette_MasterBall,
gItemIcon_UltraBall, gItemIconPalette_UltraBall,
gItemIcon_GreatBall, gItemIconPalette_GreatBall,
gItemIcon_PokeBall, gItemIconPalette_PokeBall,
gItemIcon_SafariBall, gItemIconPalette_SafariBall,
gItemIcon_NetBall, gItemIconPalette_NetBall,
gItemIcon_DiveBall, gItemIconPalette_DiveBall,
gItemIcon_NestBall, gItemIconPalette_NestBall,
gItemIcon_RepeatBall, gItemIconPalette_RepeatBall,
gItemIcon_TimerBall, gItemIconPalette_RepeatBall,
gItemIcon_LuxuryBall, gItemIconPalette_LuxuryBall,
gItemIcon_PremierBall, gItemIconPalette_LuxuryBall,
// Medicine
gItemIcon_Potion, gItemIconPalette_Potion,
gItemIcon_Antidote, gItemIconPalette_Antidote,
gItemIcon_StatusHeal, gItemIconPalette_BurnHeal,
gItemIcon_StatusHeal, gItemIconPalette_IceHeal,
gItemIcon_StatusHeal, gItemIconPalette_Awakening,
gItemIcon_StatusHeal, gItemIconPalette_ParalyzeHeal,
gItemIcon_LargePotion, gItemIconPalette_FullRestore,
gItemIcon_LargePotion, gItemIconPalette_MaxPotion,
gItemIcon_Potion, gItemIconPalette_HyperPotion,
gItemIcon_Potion, gItemIconPalette_SuperPotion,
gItemIcon_FullHeal, gItemIconPalette_FullHeal,
gItemIcon_Revive, gItemIconPalette_Revive,
gItemIcon_MaxRevive, gItemIconPalette_Revive,
gItemIcon_FreshWater, gItemIconPalette_FreshWater,
gItemIcon_SodaPop, gItemIconPalette_SodaPop,
gItemIcon_Lemonade, gItemIconPalette_Lemonade,
gItemIcon_MoomooMilk, gItemIconPalette_MoomooMilk,
gItemIcon_Powder, gItemIconPalette_EnergyPowder,
gItemIcon_EnergyRoot, gItemIconPalette_EnergyRoot,
gItemIcon_Powder, gItemIconPalette_HealPowder,
gItemIcon_RevivalHerb, gItemIconPalette_RevivalHerb,
gItemIcon_Ether, gItemIconPalette_Ether,
gItemIcon_Ether, gItemIconPalette_MaxEther,
gItemIcon_Ether, gItemIconPalette_Elixir,
gItemIcon_Ether, gItemIconPalette_MaxElixir,
gItemIcon_LavaCookie, gItemIconPalette_LavaCookieAndLetter,
gItemIcon_Flute, gItemIconPalette_BlueFlute,
gItemIcon_Flute, gItemIconPalette_YellowFlute,
gItemIcon_Flute, gItemIconPalette_RedFlute,
gItemIcon_Flute, gItemIconPalette_BlackFlute,
gItemIcon_Flute, gItemIconPalette_WhiteFlute,
gItemIcon_BerryJuice, gItemIconPalette_BerryJuice,
gItemIcon_SacredAsh, gItemIconPalette_SacredAsh,
// Collectibles
gItemIcon_Powder, gItemIconPalette_ShoalSalt,
gItemIcon_ShoalShell, gItemIconPalette_Shell,
gItemIcon_Shard, gItemIconPalette_RedShard,
gItemIcon_Shard, gItemIconPalette_BlueShard,
gItemIcon_Shard, gItemIconPalette_YellowShard,
gItemIcon_Shard, gItemIconPalette_GreenShard,
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Vitamins
gItemIcon_HPUp, gItemIconPalette_HPUp,
gItemIcon_Vitamin, gItemIconPalette_Protein,
gItemIcon_Vitamin, gItemIconPalette_Iron,
gItemIcon_Vitamin, gItemIconPalette_Carbos,
gItemIcon_Vitamin, gItemIconPalette_Calcium,
gItemIcon_RareCandy, gItemIconPalette_RareCandy,
gItemIcon_PPUp, gItemIconPalette_PPUp,
gItemIcon_Vitamin, gItemIconPalette_Zinc,
gItemIcon_PPMax, gItemIconPalette_PPMax,
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Battle items
gItemIcon_BattleStatItem, gItemIconPalette_GuardSpec,
gItemIcon_BattleStatItem, gItemIconPalette_DireHit,
gItemIcon_BattleStatItem, gItemIconPalette_XAttack,
gItemIcon_BattleStatItem, gItemIconPalette_XDefend,
gItemIcon_BattleStatItem, gItemIconPalette_XSpeed,
gItemIcon_BattleStatItem, gItemIconPalette_XAccuracy,
gItemIcon_BattleStatItem, gItemIconPalette_XSpecial,
gItemIcon_PokeDoll, gItemIconPalette_PokeDoll,
gItemIcon_FluffyTail, gItemIconPalette_FluffyTail,
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Field items
gItemIcon_Repel, gItemIconPalette_SuperRepel,
gItemIcon_Repel, gItemIconPalette_MaxRepel,
gItemIcon_EscapeRope, gItemIconPalette_EscapeRope,
gItemIcon_Repel, gItemIconPalette_Repel,
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Evolution stones
gItemIcon_SunStone, gItemIconPalette_SunStone,
gItemIcon_MoonStone, gItemIconPalette_MoonStone,
gItemIcon_FireStone, gItemIconPalette_FireStone,
gItemIcon_ThunderStone, gItemIconPalette_ThunderStone,
gItemIcon_WaterStone, gItemIconPalette_WaterStone,
gItemIcon_LeafStone, gItemIconPalette_LeafStone,
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Valuables
gItemIcon_TinyMushroom, gItemIconPalette_Mushroom,
gItemIcon_BigMushroom, gItemIconPalette_Mushroom,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_Pearl, gItemIconPalette_Pearl,
gItemIcon_BigPearl, gItemIconPalette_Pearl,
gItemIcon_Stardust, gItemIconPalette_Star,
gItemIcon_StarPiece, gItemIconPalette_Star,
gItemIcon_Nugget, gItemIconPalette_Nugget,
gItemIcon_HeartScale, gItemIconPalette_HeartScale,
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Mail
gItemIcon_OrangeMail, gItemIconPalette_OrangeMail,
gItemIcon_HarborMail, gItemIconPalette_HarborMail,
gItemIcon_GlitterMail, gItemIconPalette_GlitterMail,
gItemIcon_MechMail, gItemIconPalette_MechMail,
gItemIcon_WoodMail, gItemIconPalette_WoodMail,
gItemIcon_WaveMail, gItemIconPalette_WaveMail,
gItemIcon_BeadMail, gItemIconPalette_BeadMail,
gItemIcon_ShadowMail, gItemIconPalette_ShadowMail,
gItemIcon_TropicMail, gItemIconPalette_TropicMail,
gItemIcon_DreamMail, gItemIconPalette_DreamMail,
gItemIcon_FabMail, gItemIconPalette_FabMail,
gItemIcon_RetroMail, gItemIconPalette_RetroMail,
// Berries
gItemIcon_CheriBerry, gItemIconPalette_CheriBerry,
gItemIcon_ChestoBerry, gItemIconPalette_ChestoBerry,
gItemIcon_PechaBerry, gItemIconPalette_PechaBerry,
gItemIcon_RawstBerry, gItemIconPalette_RawstBerry,
gItemIcon_AspearBerry, gItemIconPalette_AspearBerry,
gItemIcon_LeppaBerry, gItemIconPalette_LeppaBerry,
gItemIcon_OranBerry, gItemIconPalette_OranBerry,
gItemIcon_PersimBerry, gItemIconPalette_PersimBerry,
gItemIcon_LumBerry, gItemIconPalette_LumBerry,
gItemIcon_SitrusBerry, gItemIconPalette_SitrusBerry,
gItemIcon_FigyBerry, gItemIconPalette_FigyBerry,
gItemIcon_WikiBerry, gItemIconPalette_WikiBerry,
gItemIcon_MagoBerry, gItemIconPalette_MagoBerry,
gItemIcon_AguavBerry, gItemIconPalette_AguavBerry,
gItemIcon_IapapaBerry, gItemIconPalette_IapapaBerry,
gItemIcon_RazzBerry, gItemIconPalette_RazzBerry,
gItemIcon_BlukBerry, gItemIconPalette_BlukBerry,
gItemIcon_NanabBerry, gItemIconPalette_NanabBerry,
gItemIcon_WepearBerry, gItemIconPalette_WepearBerry,
gItemIcon_PinapBerry, gItemIconPalette_PinapBerry,
gItemIcon_PomegBerry, gItemIconPalette_PomegBerry,
gItemIcon_KelpsyBerry, gItemIconPalette_KelpsyBerry,
gItemIcon_QualotBerry, gItemIconPalette_QualotBerry,
gItemIcon_HondewBerry, gItemIconPalette_HondewBerry,
gItemIcon_GrepaBerry, gItemIconPalette_GrepaBerry,
gItemIcon_TamatoBerry, gItemIconPalette_TamatoBerry,
gItemIcon_CornnBerry, gItemIconPalette_CornnBerry,
gItemIcon_MagostBerry, gItemIconPalette_MagostBerry,
gItemIcon_RabutaBerry, gItemIconPalette_RabutaBerry,
gItemIcon_NomelBerry, gItemIconPalette_NomelBerry,
gItemIcon_SpelonBerry, gItemIconPalette_SpelonBerry,
gItemIcon_PamtreBerry, gItemIconPalette_PamtreBerry,
gItemIcon_WatmelBerry, gItemIconPalette_WatmelBerry,
gItemIcon_DurinBerry, gItemIconPalette_DurinBerry,
gItemIcon_BelueBerry, gItemIconPalette_BelueBerry,
gItemIcon_LiechiBerry, gItemIconPalette_LiechiBerry,
gItemIcon_GanlonBerry, gItemIconPalette_GanlonBerry,
gItemIcon_SalacBerry, gItemIconPalette_SalacBerry,
gItemIcon_PetayaBerry, gItemIconPalette_PetayaBerry,
gItemIcon_ApicotBerry, gItemIconPalette_ApicotBerry,
gItemIcon_LansatBerry, gItemIconPalette_LansatBerry,
gItemIcon_StarfBerry, gItemIconPalette_StarfBerry,
gItemIcon_EnigmaBerry, gItemIconPalette_EnigmaBerry,
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Hold items
gItemIcon_BrightPowder, gItemIconPalette_BrightPowder,
gItemIcon_InBattleHerb, gItemIconPalette_WhiteHerb,
gItemIcon_MachoBrace, gItemIconPalette_MachoBrace,
gItemIcon_ExpShare, gItemIconPalette_ExpShare,
gItemIcon_QuickClaw, gItemIconPalette_QuickClaw,
gItemIcon_SootheBell, gItemIconPalette_SootheBell,
gItemIcon_InBattleHerb, gItemIconPalette_MentalHerb,
gItemIcon_ChoiceBand, gItemIconPalette_ChoiceBand,
gItemIcon_KingsRock, gItemIconPalette_KingsRock,
gItemIcon_SilverPowder, gItemIconPalette_SilverPowder,
gItemIcon_AmuletCoin, gItemIconPalette_AmuletCoin,
gItemIcon_CleanseTag, gItemIconPalette_CleanseTag,
gItemIcon_SoulDew, gItemIconPalette_SoulDew,
gItemIcon_DeepSeaTooth, gItemIconPalette_DeepSeaTooth,
gItemIcon_DeepSeaScale, gItemIconPalette_DeepSeaScale,
gItemIcon_SmokeBall, gItemIconPalette_SmokeBall,
gItemIcon_Everstone, gItemIconPalette_Everstone,
gItemIcon_FocusBand, gItemIconPalette_FocusBand,
gItemIcon_LuckyEgg, gItemIconPalette_LuckyEgg,
gItemIcon_ScopeLens, gItemIconPalette_ScopeLens,
gItemIcon_MetalCoat, gItemIconPalette_MetalCoat,
gItemIcon_Leftovers, gItemIconPalette_Leftovers,
gItemIcon_DragonScale, gItemIconPalette_DragonScale,
gItemIcon_LightBall, gItemIconPalette_LightBall,
gItemIcon_SoftSand, gItemIconPalette_SoftSand,
gItemIcon_HardStone, gItemIconPalette_HardStone,
gItemIcon_MiracleSeed, gItemIconPalette_MiracleSeed,
gItemIcon_BlackGlasses, gItemIconPalette_BlackTypeEnhancingItem,
gItemIcon_BlackBelt, gItemIconPalette_BlackTypeEnhancingItem,
gItemIcon_Magnet, gItemIconPalette_Magnet,
gItemIcon_MysticWater, gItemIconPalette_MysticWater,
gItemIcon_SharpBeak, gItemIconPalette_SharpBeak,
gItemIcon_PoisonBarb, gItemIconPalette_PoisonBarb,
gItemIcon_NeverMeltIce, gItemIconPalette_NeverMeltIce,
gItemIcon_SpellTag, gItemIconPalette_SpellTag,
gItemIcon_TwistedSpoon, gItemIconPalette_TwistedSpoon,
gItemIcon_Charcoal, gItemIconPalette_Charcoal,
gItemIcon_DragonFang, gItemIconPalette_DragonFang,
gItemIcon_SilkScarf, gItemIconPalette_SilkScarf,
gItemIcon_UpGrade, gItemIconPalette_UpGrade,
gItemIcon_ShellBell, gItemIconPalette_Shell,
gItemIcon_SeaIncense, gItemIconPalette_SeaIncense,
gItemIcon_LaxIncense, gItemIconPalette_LaxIncense,
gItemIcon_LuckyPunch, gItemIconPalette_LuckyPunch,
gItemIcon_MetalPowder, gItemIconPalette_MetalPowder,
gItemIcon_ThickClub, gItemIconPalette_ThickClub,
gItemIcon_Stick, gItemIconPalette_Stick,
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// Contest hold items
gItemIcon_Scarf, gItemIconPalette_RedScarf,
gItemIcon_Scarf, gItemIconPalette_BlueScarf,
gItemIcon_Scarf, gItemIconPalette_PinkScarf,
gItemIcon_Scarf, gItemIconPalette_GreenScarf,
gItemIcon_Scarf, gItemIconPalette_YellowScarf,
// Key items
gItemIcon_MachBike, gItemIconPalette_MachBike,
gItemIcon_CoinCase, gItemIconPalette_CoinCase,
gItemIcon_Itemfinder, gItemIconPalette_Itemfinder,
gItemIcon_OldRod, gItemIconPalette_OldRod,
gItemIcon_GoodRod, gItemIconPalette_GoodRod,
gItemIcon_SuperRod, gItemIconPalette_SuperRod,
gItemIcon_SSTicket, gItemIconPalette_SSTicket,
gItemIcon_ContestPass, gItemIconPalette_ContestPass,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_WailmerPail, gItemIconPalette_WailmerPail,
gItemIcon_DevonGoods, gItemIconPalette_DevonGoods,
gItemIcon_SootSack, gItemIconPalette_SootSack,
gItemIcon_BasementKey, gItemIconPalette_OldKey,
gItemIcon_AcroBike, gItemIconPalette_AcroBike,
gItemIcon_PokeblockCase, gItemIconPalette_PokeblockCase,
gItemIcon_Letter, gItemIconPalette_LavaCookieAndLetter,
gItemIcon_EonTicket, gItemIconPalette_EonTicket,
gItemIcon_Orb, gItemIconPalette_RedOrb,
gItemIcon_Orb, gItemIconPalette_BlueOrb,
gItemIcon_Scanner, gItemIconPalette_Scanner,
gItemIcon_GoGoggles, gItemIconPalette_GoGoggles,
gItemIcon_Meteorite, gItemIconPalette_Meteorite,
gItemIcon_Room1Key, gItemIconPalette_Key,
gItemIcon_Room2Key, gItemIconPalette_Key,
gItemIcon_Room4Key, gItemIconPalette_Key,
gItemIcon_Room6Key, gItemIconPalette_Key,
gItemIcon_StorageKey, gItemIconPalette_OldKey,
gItemIcon_RootFossil, gItemIconPalette_HoennFossil,
gItemIcon_ClawFossil, gItemIconPalette_HoennFossil,
gItemIcon_DevonScope, gItemIconPalette_DevonScope,
// TMs/HMs
gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM01
gItemIcon_TM, gItemIconPalette_DragonTMHM, // TM02
gItemIcon_TM, gItemIconPalette_WaterTMHM, // TM03
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM04
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM05
gItemIcon_TM, gItemIconPalette_PoisonTMHM, // TM06
gItemIcon_TM, gItemIconPalette_IceTMHM, // TM07
gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM08
gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM09
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM10
gItemIcon_TM, gItemIconPalette_FireTMHM, // TM11
gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM12
gItemIcon_TM, gItemIconPalette_IceTMHM, // TM13
gItemIcon_TM, gItemIconPalette_IceTMHM, // TM14
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM15
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM16
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM17
gItemIcon_TM, gItemIconPalette_WaterTMHM, // TM18
gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM19
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM20
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM21
gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM22
gItemIcon_TM, gItemIconPalette_SteelTMHM, // TM23
gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM24
gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM25
gItemIcon_TM, gItemIconPalette_GroundTMHM, // TM26
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM27
gItemIcon_TM, gItemIconPalette_GroundTMHM, // TM28
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM29
gItemIcon_TM, gItemIconPalette_GhostTMHM, // TM30
gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM31
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM32
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM33
gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM34
gItemIcon_TM, gItemIconPalette_FireTMHM, // TM35
gItemIcon_TM, gItemIconPalette_PoisonTMHM, // TM36
gItemIcon_TM, gItemIconPalette_RockTMHM, // TM37
gItemIcon_TM, gItemIconPalette_FireTMHM, // TM38
gItemIcon_TM, gItemIconPalette_RockTMHM, // TM39
gItemIcon_TM, gItemIconPalette_FlyingTMHM, // TM40
gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM41
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM42
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM43
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM44
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM45
gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM46
gItemIcon_TM, gItemIconPalette_SteelTMHM, // TM47
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM48
gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM49
gItemIcon_TM, gItemIconPalette_FireTMHM, // TM50
gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM01
gItemIcon_HM, gItemIconPalette_FlyingTMHM, // HM02
gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM03
gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM04
gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM05
gItemIcon_HM, gItemIconPalette_FightingTMHM, // HM06
gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM07
gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM08
// ????????
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
// FireRed/LeafGreen key items
gItemIcon_OaksParcel, gItemIconPalette_OaksParcel,
gItemIcon_PokeFlute, gItemIconPalette_PokeFlute,
gItemIcon_SecretKey, gItemIconPalette_SecretKey,
gItemIcon_BikeVoucher, gItemIconPalette_BikeVoucher,
gItemIcon_GoldTeeth, gItemIconPalette_GoldTeeth,
gItemIcon_OldAmber, gItemIconPalette_OldAmber,
gItemIcon_CardKey, gItemIconPalette_CardKey,
gItemIcon_LiftKey, gItemIconPalette_Key,
gItemIcon_HelixFossil, gItemIconPalette_KantoFossil,
gItemIcon_DomeFossil, gItemIconPalette_KantoFossil,
gItemIcon_SilphScope, gItemIconPalette_SilphScope,
gItemIcon_Bicycle, gItemIconPalette_Bicycle,
gItemIcon_TownMap, gItemIconPalette_TownMap,
gItemIcon_VSSeeker, gItemIconPalette_VSSeeker,
gItemIcon_FameChecker, gItemIconPalette_FameChecker,
gItemIcon_TMCase, gItemIconPalette_TMCase,
gItemIcon_BerryPouch, gItemIconPalette_BerryPouch,
gItemIcon_TeachyTV, gItemIconPalette_TeachyTV,
gItemIcon_TriPass, gItemIconPalette_TriPass,
gItemIcon_RainbowPass, gItemIconPalette_RainbowPass,
gItemIcon_Tea, gItemIconPalette_Tea,
gItemIcon_MysticTicket, gItemIconPalette_MysticTicket,
gItemIcon_AuroraTicket, gItemIconPalette_AuroraTicket,
gItemIcon_PowderJar, gItemIconPalette_PowderJar,
gItemIcon_Gem, gItemIconPalette_Ruby,
gItemIcon_Gem, gItemIconPalette_Sapphire,
// Emerald-only key items
gItemIcon_MagmaEmblem, gItemIconPalette_MagmaEmblem,
gItemIcon_OldSeaMap, gItemIconPalette_OldSeaMap,
// Return to field arrow
gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow,
[ITEM_NONE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
// Pokeballs
[ITEM_MASTER_BALL] = {gItemIcon_MasterBall, gItemIconPalette_MasterBall},
[ITEM_ULTRA_BALL] = {gItemIcon_UltraBall, gItemIconPalette_UltraBall},
[ITEM_GREAT_BALL] = {gItemIcon_GreatBall, gItemIconPalette_GreatBall},
[ITEM_POKE_BALL] = {gItemIcon_PokeBall, gItemIconPalette_PokeBall},
[ITEM_SAFARI_BALL] = {gItemIcon_SafariBall, gItemIconPalette_SafariBall},
[ITEM_NET_BALL] = {gItemIcon_NetBall, gItemIconPalette_NetBall},
[ITEM_DIVE_BALL] = {gItemIcon_DiveBall, gItemIconPalette_DiveBall},
[ITEM_NEST_BALL] = {gItemIcon_NestBall, gItemIconPalette_NestBall},
[ITEM_REPEAT_BALL] = {gItemIcon_RepeatBall, gItemIconPalette_RepeatBall},
[ITEM_TIMER_BALL] = {gItemIcon_TimerBall, gItemIconPalette_RepeatBall},
[ITEM_LUXURY_BALL] = {gItemIcon_LuxuryBall, gItemIconPalette_LuxuryBall},
[ITEM_PREMIER_BALL] = {gItemIcon_PremierBall, gItemIconPalette_LuxuryBall},
// Medicine
[ITEM_POTION] = {gItemIcon_Potion, gItemIconPalette_Potion},
[ITEM_ANTIDOTE] = {gItemIcon_Antidote, gItemIconPalette_Antidote},
[ITEM_BURN_HEAL] = {gItemIcon_StatusHeal, gItemIconPalette_BurnHeal},
[ITEM_ICE_HEAL] = {gItemIcon_StatusHeal, gItemIconPalette_IceHeal},
[ITEM_AWAKENING] = {gItemIcon_StatusHeal, gItemIconPalette_Awakening},
[ITEM_PARALYZE_HEAL] = {gItemIcon_StatusHeal, gItemIconPalette_ParalyzeHeal},
[ITEM_FULL_RESTORE] = {gItemIcon_LargePotion, gItemIconPalette_FullRestore},
[ITEM_MAX_POTION] = {gItemIcon_LargePotion, gItemIconPalette_MaxPotion},
[ITEM_HYPER_POTION] = {gItemIcon_Potion, gItemIconPalette_HyperPotion},
[ITEM_SUPER_POTION] = {gItemIcon_Potion, gItemIconPalette_SuperPotion},
[ITEM_FULL_HEAL] = {gItemIcon_FullHeal, gItemIconPalette_FullHeal},
[ITEM_REVIVE] = {gItemIcon_Revive, gItemIconPalette_Revive},
[ITEM_MAX_REVIVE] = {gItemIcon_MaxRevive, gItemIconPalette_Revive},
[ITEM_FRESH_WATER] = {gItemIcon_FreshWater, gItemIconPalette_FreshWater},
[ITEM_SODA_POP] = {gItemIcon_SodaPop, gItemIconPalette_SodaPop},
[ITEM_LEMONADE] = {gItemIcon_Lemonade, gItemIconPalette_Lemonade},
[ITEM_MOOMOO_MILK] = {gItemIcon_MoomooMilk, gItemIconPalette_MoomooMilk},
[ITEM_ENERGY_POWDER] = {gItemIcon_Powder, gItemIconPalette_EnergyPowder},
[ITEM_ENERGY_ROOT] = {gItemIcon_EnergyRoot, gItemIconPalette_EnergyRoot},
[ITEM_HEAL_POWDER] = {gItemIcon_Powder, gItemIconPalette_HealPowder},
[ITEM_REVIVAL_HERB] = {gItemIcon_RevivalHerb, gItemIconPalette_RevivalHerb},
[ITEM_ETHER] = {gItemIcon_Ether, gItemIconPalette_Ether},
[ITEM_MAX_ETHER] = {gItemIcon_Ether, gItemIconPalette_MaxEther},
[ITEM_ELIXIR] = {gItemIcon_Ether, gItemIconPalette_Elixir},
[ITEM_MAX_ELIXIR] = {gItemIcon_Ether, gItemIconPalette_MaxElixir},
[ITEM_LAVA_COOKIE] = {gItemIcon_LavaCookie, gItemIconPalette_LavaCookieAndLetter},
[ITEM_BLUE_FLUTE] = {gItemIcon_Flute, gItemIconPalette_BlueFlute},
[ITEM_YELLOW_FLUTE] = {gItemIcon_Flute, gItemIconPalette_YellowFlute},
[ITEM_RED_FLUTE] = {gItemIcon_Flute, gItemIconPalette_RedFlute},
[ITEM_BLACK_FLUTE] = {gItemIcon_Flute, gItemIconPalette_BlackFlute},
[ITEM_WHITE_FLUTE] = {gItemIcon_Flute, gItemIconPalette_WhiteFlute},
[ITEM_BERRY_JUICE] = {gItemIcon_BerryJuice, gItemIconPalette_BerryJuice},
[ITEM_SACRED_ASH] = {gItemIcon_SacredAsh, gItemIconPalette_SacredAsh},
// Collectibles
[ITEM_SHOAL_SALT] = {gItemIcon_Powder, gItemIconPalette_ShoalSalt},
[ITEM_SHOAL_SHELL] = {gItemIcon_ShoalShell, gItemIconPalette_Shell},
[ITEM_RED_SHARD] = {gItemIcon_Shard, gItemIconPalette_RedShard},
[ITEM_BLUE_SHARD] = {gItemIcon_Shard, gItemIconPalette_BlueShard},
[ITEM_YELLOW_SHARD] = {gItemIcon_Shard, gItemIconPalette_YellowShard},
[ITEM_GREEN_SHARD] = {gItemIcon_Shard, gItemIconPalette_GreenShard},
// ????????
[ITEM_034] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_035] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_036] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_037] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_038] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_039] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_03A] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_03B] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_03C] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_03D] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_03E] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
// Vitamins
[ITEM_HP_UP] = {gItemIcon_HPUp, gItemIconPalette_HPUp},
[ITEM_PROTEIN] = {gItemIcon_Vitamin, gItemIconPalette_Protein},
[ITEM_IRON] = {gItemIcon_Vitamin, gItemIconPalette_Iron},
[ITEM_CARBOS] = {gItemIcon_Vitamin, gItemIconPalette_Carbos},
[ITEM_CALCIUM] = {gItemIcon_Vitamin, gItemIconPalette_Calcium},
[ITEM_RARE_CANDY] = {gItemIcon_RareCandy, gItemIconPalette_RareCandy},
[ITEM_PP_UP] = {gItemIcon_PPUp, gItemIconPalette_PPUp},
[ITEM_ZINC] = {gItemIcon_Vitamin, gItemIconPalette_Zinc},
[ITEM_PP_MAX] = {gItemIcon_PPMax, gItemIconPalette_PPMax},
// ????????
[ITEM_048] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
// Battle items
[ITEM_GUARD_SPEC] = {gItemIcon_BattleStatItem, gItemIconPalette_GuardSpec},
[ITEM_DIRE_HIT] = {gItemIcon_BattleStatItem, gItemIconPalette_DireHit},
[ITEM_X_ATTACK] = {gItemIcon_BattleStatItem, gItemIconPalette_XAttack},
[ITEM_X_DEFEND] = {gItemIcon_BattleStatItem, gItemIconPalette_XDefend},
[ITEM_X_SPEED] = {gItemIcon_BattleStatItem, gItemIconPalette_XSpeed},
[ITEM_X_ACCURACY] = {gItemIcon_BattleStatItem, gItemIconPalette_XAccuracy},
[ITEM_X_SPECIAL] = {gItemIcon_BattleStatItem, gItemIconPalette_XSpecial},
[ITEM_POKE_DOLL] = {gItemIcon_PokeDoll, gItemIconPalette_PokeDoll},
[ITEM_FLUFFY_TAIL] = {gItemIcon_FluffyTail, gItemIconPalette_FluffyTail},
// ????????
[ITEM_052] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
// Field items
[ITEM_SUPER_REPEL] = {gItemIcon_Repel, gItemIconPalette_SuperRepel},
[ITEM_MAX_REPEL] = {gItemIcon_Repel, gItemIconPalette_MaxRepel},
[ITEM_ESCAPE_ROPE] = {gItemIcon_EscapeRope, gItemIconPalette_EscapeRope},
[ITEM_REPEL] = {gItemIcon_Repel, gItemIconPalette_Repel},
// ????????
[ITEM_057] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_058] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_059] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_05A] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_05B] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_05C] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
// Evolution stones
[ITEM_SUN_STONE] = {gItemIcon_SunStone, gItemIconPalette_SunStone},
[ITEM_MOON_STONE] = {gItemIcon_MoonStone, gItemIconPalette_MoonStone},
[ITEM_FIRE_STONE] = {gItemIcon_FireStone, gItemIconPalette_FireStone},
[ITEM_THUNDER_STONE] = {gItemIcon_ThunderStone, gItemIconPalette_ThunderStone},
[ITEM_WATER_STONE] = {gItemIcon_WaterStone, gItemIconPalette_WaterStone},
[ITEM_LEAF_STONE] = {gItemIcon_LeafStone, gItemIconPalette_LeafStone},
// ????????
[ITEM_063] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_064] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_065] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_066] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
// Valuables
[ITEM_TINY_MUSHROOM] = {gItemIcon_TinyMushroom, gItemIconPalette_Mushroom},
[ITEM_BIG_MUSHROOM] = {gItemIcon_BigMushroom, gItemIconPalette_Mushroom},
[ITEM_069] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_PEARL] = {gItemIcon_Pearl, gItemIconPalette_Pearl},
[ITEM_BIG_PEARL] = {gItemIcon_BigPearl, gItemIconPalette_Pearl},
[ITEM_STARDUST] = {gItemIcon_Stardust, gItemIconPalette_Star},
[ITEM_STAR_PIECE] = {gItemIcon_StarPiece, gItemIconPalette_Star},
[ITEM_NUGGET] = {gItemIcon_Nugget, gItemIconPalette_Nugget},
[ITEM_HEART_SCALE] = {gItemIcon_HeartScale, gItemIconPalette_HeartScale},
// ????????
[ITEM_070] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_071] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_072] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_073] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_074] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_075] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_076] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_077] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_078] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
// Mail
[ITEM_ORANGE_MAIL] = {gItemIcon_OrangeMail, gItemIconPalette_OrangeMail},
[ITEM_HARBOR_MAIL] = {gItemIcon_HarborMail, gItemIconPalette_HarborMail},
[ITEM_GLITTER_MAIL] = {gItemIcon_GlitterMail, gItemIconPalette_GlitterMail},
[ITEM_MECH_MAIL] = {gItemIcon_MechMail, gItemIconPalette_MechMail},
[ITEM_WOOD_MAIL] = {gItemIcon_WoodMail, gItemIconPalette_WoodMail},
[ITEM_WAVE_MAIL] = {gItemIcon_WaveMail, gItemIconPalette_WaveMail},
[ITEM_BEAD_MAIL] = {gItemIcon_BeadMail, gItemIconPalette_BeadMail},
[ITEM_SHADOW_MAIL] = {gItemIcon_ShadowMail, gItemIconPalette_ShadowMail},
[ITEM_TROPIC_MAIL] = {gItemIcon_TropicMail, gItemIconPalette_TropicMail},
[ITEM_DREAM_MAIL] = {gItemIcon_DreamMail, gItemIconPalette_DreamMail},
[ITEM_FAB_MAIL] = {gItemIcon_FabMail, gItemIconPalette_FabMail},
[ITEM_RETRO_MAIL] = {gItemIcon_RetroMail, gItemIconPalette_RetroMail},
// Berries
[ITEM_CHERI_BERRY] = {gItemIcon_CheriBerry, gItemIconPalette_CheriBerry},
[ITEM_CHESTO_BERRY] = {gItemIcon_ChestoBerry, gItemIconPalette_ChestoBerry},
[ITEM_PECHA_BERRY] = {gItemIcon_PechaBerry, gItemIconPalette_PechaBerry},
[ITEM_RAWST_BERRY] = {gItemIcon_RawstBerry, gItemIconPalette_RawstBerry},
[ITEM_ASPEAR_BERRY] = {gItemIcon_AspearBerry, gItemIconPalette_AspearBerry},
[ITEM_LEPPA_BERRY] = {gItemIcon_LeppaBerry, gItemIconPalette_LeppaBerry},
[ITEM_ORAN_BERRY] = {gItemIcon_OranBerry, gItemIconPalette_OranBerry},
[ITEM_PERSIM_BERRY] = {gItemIcon_PersimBerry, gItemIconPalette_PersimBerry},
[ITEM_LUM_BERRY] = {gItemIcon_LumBerry, gItemIconPalette_LumBerry},
[ITEM_SITRUS_BERRY] = {gItemIcon_SitrusBerry, gItemIconPalette_SitrusBerry},
[ITEM_FIGY_BERRY] = {gItemIcon_FigyBerry, gItemIconPalette_FigyBerry},
[ITEM_WIKI_BERRY] = {gItemIcon_WikiBerry, gItemIconPalette_WikiBerry},
[ITEM_MAGO_BERRY] = {gItemIcon_MagoBerry, gItemIconPalette_MagoBerry},
[ITEM_AGUAV_BERRY] = {gItemIcon_AguavBerry, gItemIconPalette_AguavBerry},
[ITEM_IAPAPA_BERRY] = {gItemIcon_IapapaBerry, gItemIconPalette_IapapaBerry},
[ITEM_RAZZ_BERRY] = {gItemIcon_RazzBerry, gItemIconPalette_RazzBerry},
[ITEM_BLUK_BERRY] = {gItemIcon_BlukBerry, gItemIconPalette_BlukBerry},
[ITEM_NANAB_BERRY] = {gItemIcon_NanabBerry, gItemIconPalette_NanabBerry},
[ITEM_WEPEAR_BERRY] = {gItemIcon_WepearBerry, gItemIconPalette_WepearBerry},
[ITEM_PINAP_BERRY] = {gItemIcon_PinapBerry, gItemIconPalette_PinapBerry},
[ITEM_POMEG_BERRY] = {gItemIcon_PomegBerry, gItemIconPalette_PomegBerry},
[ITEM_KELPSY_BERRY] = {gItemIcon_KelpsyBerry, gItemIconPalette_KelpsyBerry},
[ITEM_QUALOT_BERRY] = {gItemIcon_QualotBerry, gItemIconPalette_QualotBerry},
[ITEM_HONDEW_BERRY] = {gItemIcon_HondewBerry, gItemIconPalette_HondewBerry},
[ITEM_GREPA_BERRY] = {gItemIcon_GrepaBerry, gItemIconPalette_GrepaBerry},
[ITEM_TAMATO_BERRY] = {gItemIcon_TamatoBerry, gItemIconPalette_TamatoBerry},
[ITEM_CORNN_BERRY] = {gItemIcon_CornnBerry, gItemIconPalette_CornnBerry},
[ITEM_MAGOST_BERRY] = {gItemIcon_MagostBerry, gItemIconPalette_MagostBerry},
[ITEM_RABUTA_BERRY] = {gItemIcon_RabutaBerry, gItemIconPalette_RabutaBerry},
[ITEM_NOMEL_BERRY] = {gItemIcon_NomelBerry, gItemIconPalette_NomelBerry},
[ITEM_SPELON_BERRY] = {gItemIcon_SpelonBerry, gItemIconPalette_SpelonBerry},
[ITEM_PAMTRE_BERRY] = {gItemIcon_PamtreBerry, gItemIconPalette_PamtreBerry},
[ITEM_WATMEL_BERRY] = {gItemIcon_WatmelBerry, gItemIconPalette_WatmelBerry},
[ITEM_DURIN_BERRY] = {gItemIcon_DurinBerry, gItemIconPalette_DurinBerry},
[ITEM_BELUE_BERRY] = {gItemIcon_BelueBerry, gItemIconPalette_BelueBerry},
[ITEM_LIECHI_BERRY] = {gItemIcon_LiechiBerry, gItemIconPalette_LiechiBerry},
[ITEM_GANLON_BERRY] = {gItemIcon_GanlonBerry, gItemIconPalette_GanlonBerry},
[ITEM_SALAC_BERRY] = {gItemIcon_SalacBerry, gItemIconPalette_SalacBerry},
[ITEM_PETAYA_BERRY] = {gItemIcon_PetayaBerry, gItemIconPalette_PetayaBerry},
[ITEM_APICOT_BERRY] = {gItemIcon_ApicotBerry, gItemIconPalette_ApicotBerry},
[ITEM_LANSAT_BERRY] = {gItemIcon_LansatBerry, gItemIconPalette_LansatBerry},
[ITEM_STARF_BERRY] = {gItemIcon_StarfBerry, gItemIconPalette_StarfBerry},
[ITEM_ENIGMA_BERRY] = {gItemIcon_EnigmaBerry, gItemIconPalette_EnigmaBerry},
// ????????
[ITEM_0B0] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0B1] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0B2] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
// Hold items
[ITEM_BRIGHT_POWDER] = {gItemIcon_BrightPowder, gItemIconPalette_BrightPowder},
[ITEM_WHITE_HERB] = {gItemIcon_InBattleHerb, gItemIconPalette_WhiteHerb},
[ITEM_MACHO_BRACE] = {gItemIcon_MachoBrace, gItemIconPalette_MachoBrace},
[ITEM_EXP_SHARE] = {gItemIcon_ExpShare, gItemIconPalette_ExpShare},
[ITEM_QUICK_CLAW] = {gItemIcon_QuickClaw, gItemIconPalette_QuickClaw},
[ITEM_SOOTHE_BELL] = {gItemIcon_SootheBell, gItemIconPalette_SootheBell},
[ITEM_MENTAL_HERB] = {gItemIcon_InBattleHerb, gItemIconPalette_MentalHerb},
[ITEM_CHOICE_BAND] = {gItemIcon_ChoiceBand, gItemIconPalette_ChoiceBand},
[ITEM_KINGS_ROCK] = {gItemIcon_KingsRock, gItemIconPalette_KingsRock},
[ITEM_SILVER_POWDER] = {gItemIcon_SilverPowder, gItemIconPalette_SilverPowder},
[ITEM_AMULET_COIN] = {gItemIcon_AmuletCoin, gItemIconPalette_AmuletCoin},
[ITEM_CLEANSE_TAG] = {gItemIcon_CleanseTag, gItemIconPalette_CleanseTag},
[ITEM_SOUL_DEW] = {gItemIcon_SoulDew, gItemIconPalette_SoulDew},
[ITEM_DEEP_SEA_TOOTH] = {gItemIcon_DeepSeaTooth, gItemIconPalette_DeepSeaTooth},
[ITEM_DEEP_SEA_SCALE] = {gItemIcon_DeepSeaScale, gItemIconPalette_DeepSeaScale},
[ITEM_SMOKE_BALL] = {gItemIcon_SmokeBall, gItemIconPalette_SmokeBall},
[ITEM_EVERSTONE] = {gItemIcon_Everstone, gItemIconPalette_Everstone},
[ITEM_FOCUS_BAND] = {gItemIcon_FocusBand, gItemIconPalette_FocusBand},
[ITEM_LUCKY_EGG] = {gItemIcon_LuckyEgg, gItemIconPalette_LuckyEgg},
[ITEM_SCOPE_LENS] = {gItemIcon_ScopeLens, gItemIconPalette_ScopeLens},
[ITEM_METAL_COAT] = {gItemIcon_MetalCoat, gItemIconPalette_MetalCoat},
[ITEM_LEFTOVERS] = {gItemIcon_Leftovers, gItemIconPalette_Leftovers},
[ITEM_DRAGON_SCALE] = {gItemIcon_DragonScale, gItemIconPalette_DragonScale},
[ITEM_LIGHT_BALL] = {gItemIcon_LightBall, gItemIconPalette_LightBall},
[ITEM_SOFT_SAND] = {gItemIcon_SoftSand, gItemIconPalette_SoftSand},
[ITEM_HARD_STONE] = {gItemIcon_HardStone, gItemIconPalette_HardStone},
[ITEM_MIRACLE_SEED] = {gItemIcon_MiracleSeed, gItemIconPalette_MiracleSeed},
[ITEM_BLACK_GLASSES] = {gItemIcon_BlackGlasses, gItemIconPalette_BlackTypeEnhancingItem},
[ITEM_BLACK_BELT] = {gItemIcon_BlackBelt, gItemIconPalette_BlackTypeEnhancingItem},
[ITEM_MAGNET] = {gItemIcon_Magnet, gItemIconPalette_Magnet},
[ITEM_MYSTIC_WATER] = {gItemIcon_MysticWater, gItemIconPalette_MysticWater},
[ITEM_SHARP_BEAK] = {gItemIcon_SharpBeak, gItemIconPalette_SharpBeak},
[ITEM_POISON_BARB] = {gItemIcon_PoisonBarb, gItemIconPalette_PoisonBarb},
[ITEM_NEVER_MELT_ICE] = {gItemIcon_NeverMeltIce, gItemIconPalette_NeverMeltIce},
[ITEM_SPELL_TAG] = {gItemIcon_SpellTag, gItemIconPalette_SpellTag},
[ITEM_TWISTED_SPOON] = {gItemIcon_TwistedSpoon, gItemIconPalette_TwistedSpoon},
[ITEM_CHARCOAL] = {gItemIcon_Charcoal, gItemIconPalette_Charcoal},
[ITEM_DRAGON_FANG] = {gItemIcon_DragonFang, gItemIconPalette_DragonFang},
[ITEM_SILK_SCARF] = {gItemIcon_SilkScarf, gItemIconPalette_SilkScarf},
[ITEM_UP_GRADE] = {gItemIcon_UpGrade, gItemIconPalette_UpGrade},
[ITEM_SHELL_BELL] = {gItemIcon_ShellBell, gItemIconPalette_Shell},
[ITEM_SEA_INCENSE] = {gItemIcon_SeaIncense, gItemIconPalette_SeaIncense},
[ITEM_LAX_INCENSE] = {gItemIcon_LaxIncense, gItemIconPalette_LaxIncense},
[ITEM_LUCKY_PUNCH] = {gItemIcon_LuckyPunch, gItemIconPalette_LuckyPunch},
[ITEM_METAL_POWDER] = {gItemIcon_MetalPowder, gItemIconPalette_MetalPowder},
[ITEM_THICK_CLUB] = {gItemIcon_ThickClub, gItemIconPalette_ThickClub},
[ITEM_STICK] = {gItemIcon_Stick, gItemIconPalette_Stick},
// ????????
[ITEM_0E2] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0E3] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0E4] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0E5] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0E6] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0E7] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0E8] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0E9] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0EA] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0EB] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0EC] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0ED] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0EE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0EF] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0F0] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0F1] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0F2] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0F3] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0F4] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0F5] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0F6] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0F7] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0F8] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0F9] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0FA] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0FB] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0FC] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_0FD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
// Contest hold items
[ITEM_RED_SCARF] = {gItemIcon_Scarf, gItemIconPalette_RedScarf},
[ITEM_BLUE_SCARF] = {gItemIcon_Scarf, gItemIconPalette_BlueScarf},
[ITEM_PINK_SCARF] = {gItemIcon_Scarf, gItemIconPalette_PinkScarf},
[ITEM_GREEN_SCARF] = {gItemIcon_Scarf, gItemIconPalette_GreenScarf},
[ITEM_YELLOW_SCARF] = {gItemIcon_Scarf, gItemIconPalette_YellowScarf},
// Key items
[ITEM_MACH_BIKE] = {gItemIcon_MachBike, gItemIconPalette_MachBike},
[ITEM_COIN_CASE] = {gItemIcon_CoinCase, gItemIconPalette_CoinCase},
[ITEM_ITEMFINDER] = {gItemIcon_Itemfinder, gItemIconPalette_Itemfinder},
[ITEM_OLD_ROD] = {gItemIcon_OldRod, gItemIconPalette_OldRod},
[ITEM_GOOD_ROD] = {gItemIcon_GoodRod, gItemIconPalette_GoodRod},
[ITEM_SUPER_ROD] = {gItemIcon_SuperRod, gItemIconPalette_SuperRod},
[ITEM_SS_TICKET] = {gItemIcon_SSTicket, gItemIconPalette_SSTicket},
[ITEM_CONTEST_PASS] = {gItemIcon_ContestPass, gItemIconPalette_ContestPass},
[ITEM_10B] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_WAILMER_PAIL] = {gItemIcon_WailmerPail, gItemIconPalette_WailmerPail},
[ITEM_DEVON_GOODS] = {gItemIcon_DevonGoods, gItemIconPalette_DevonGoods},
[ITEM_SOOT_SACK] = {gItemIcon_SootSack, gItemIconPalette_SootSack},
[ITEM_BASEMENT_KEY] = {gItemIcon_BasementKey, gItemIconPalette_OldKey},
[ITEM_ACRO_BIKE] = {gItemIcon_AcroBike, gItemIconPalette_AcroBike},
[ITEM_POKEBLOCK_CASE] = {gItemIcon_PokeblockCase, gItemIconPalette_PokeblockCase},
[ITEM_LETTER] = {gItemIcon_Letter, gItemIconPalette_LavaCookieAndLetter},
[ITEM_EON_TICKET] = {gItemIcon_EonTicket, gItemIconPalette_EonTicket},
[ITEM_RED_ORB] = {gItemIcon_Orb, gItemIconPalette_RedOrb},
[ITEM_BLUE_ORB] = {gItemIcon_Orb, gItemIconPalette_BlueOrb},
[ITEM_SCANNER] = {gItemIcon_Scanner, gItemIconPalette_Scanner},
[ITEM_GO_GOGGLES] = {gItemIcon_GoGoggles, gItemIconPalette_GoGoggles},
[ITEM_METEORITE] = {gItemIcon_Meteorite, gItemIconPalette_Meteorite},
[ITEM_ROOM_1_KEY] = {gItemIcon_Room1Key, gItemIconPalette_Key},
[ITEM_ROOM_2_KEY] = {gItemIcon_Room2Key, gItemIconPalette_Key},
[ITEM_ROOM_4_KEY] = {gItemIcon_Room4Key, gItemIconPalette_Key},
[ITEM_ROOM_6_KEY] = {gItemIcon_Room6Key, gItemIconPalette_Key},
[ITEM_STORAGE_KEY] = {gItemIcon_StorageKey, gItemIconPalette_OldKey},
[ITEM_ROOT_FOSSIL] = {gItemIcon_RootFossil, gItemIconPalette_HoennFossil},
[ITEM_CLAW_FOSSIL] = {gItemIcon_ClawFossil, gItemIconPalette_HoennFossil},
[ITEM_DEVON_SCOPE] = {gItemIcon_DevonScope, gItemIconPalette_DevonScope},
// TMs / HMs
[ITEM_TM01] = {gItemIcon_TM, gItemIconPalette_FightingTMHM}, // TM01
[ITEM_TM02] = {gItemIcon_TM, gItemIconPalette_DragonTMHM}, // TM02
[ITEM_TM03] = {gItemIcon_TM, gItemIconPalette_WaterTMHM}, // TM03
[ITEM_TM04] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM04
[ITEM_TM05] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM05
[ITEM_TM06] = {gItemIcon_TM, gItemIconPalette_PoisonTMHM}, // TM06
[ITEM_TM07] = {gItemIcon_TM, gItemIconPalette_IceTMHM}, // TM07
[ITEM_TM08] = {gItemIcon_TM, gItemIconPalette_FightingTMHM}, // TM08
[ITEM_TM09] = {gItemIcon_TM, gItemIconPalette_GrassTMHM}, // TM09
[ITEM_TM10] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM10
[ITEM_TM11] = {gItemIcon_TM, gItemIconPalette_FireTMHM}, // TM11
[ITEM_TM12] = {gItemIcon_TM, gItemIconPalette_DarkTMHM}, // TM12
[ITEM_TM13] = {gItemIcon_TM, gItemIconPalette_IceTMHM}, // TM13
[ITEM_TM14] = {gItemIcon_TM, gItemIconPalette_IceTMHM}, // TM14
[ITEM_TM15] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM15
[ITEM_TM16] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM16
[ITEM_TM17] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM17
[ITEM_TM18] = {gItemIcon_TM, gItemIconPalette_WaterTMHM}, // TM18
[ITEM_TM19] = {gItemIcon_TM, gItemIconPalette_GrassTMHM}, // TM19
[ITEM_TM20] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM20
[ITEM_TM21] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM21
[ITEM_TM22] = {gItemIcon_TM, gItemIconPalette_GrassTMHM}, // TM22
[ITEM_TM23] = {gItemIcon_TM, gItemIconPalette_SteelTMHM}, // TM23
[ITEM_TM24] = {gItemIcon_TM, gItemIconPalette_ElectricTMHM}, // TM24
[ITEM_TM25] = {gItemIcon_TM, gItemIconPalette_ElectricTMHM}, // TM25
[ITEM_TM26] = {gItemIcon_TM, gItemIconPalette_GroundTMHM}, // TM26
[ITEM_TM27] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM27
[ITEM_TM28] = {gItemIcon_TM, gItemIconPalette_GroundTMHM}, // TM28
[ITEM_TM29] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM29
[ITEM_TM30] = {gItemIcon_TM, gItemIconPalette_GhostTMHM}, // TM30
[ITEM_TM31] = {gItemIcon_TM, gItemIconPalette_FightingTMHM}, // TM31
[ITEM_TM32] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM32
[ITEM_TM33] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM33
[ITEM_TM34] = {gItemIcon_TM, gItemIconPalette_ElectricTMHM}, // TM34
[ITEM_TM35] = {gItemIcon_TM, gItemIconPalette_FireTMHM}, // TM35
[ITEM_TM36] = {gItemIcon_TM, gItemIconPalette_PoisonTMHM}, // TM36
[ITEM_TM37] = {gItemIcon_TM, gItemIconPalette_RockTMHM}, // TM37
[ITEM_TM38] = {gItemIcon_TM, gItemIconPalette_FireTMHM}, // TM38
[ITEM_TM39] = {gItemIcon_TM, gItemIconPalette_RockTMHM}, // TM39
[ITEM_TM40] = {gItemIcon_TM, gItemIconPalette_FlyingTMHM}, // TM40
[ITEM_TM41] = {gItemIcon_TM, gItemIconPalette_DarkTMHM}, // TM41
[ITEM_TM42] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM42
[ITEM_TM43] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM43
[ITEM_TM44] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM44
[ITEM_TM45] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM45
[ITEM_TM46] = {gItemIcon_TM, gItemIconPalette_DarkTMHM}, // TM46
[ITEM_TM47] = {gItemIcon_TM, gItemIconPalette_SteelTMHM}, // TM47
[ITEM_TM48] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM48
[ITEM_TM49] = {gItemIcon_TM, gItemIconPalette_DarkTMHM}, // TM49
[ITEM_TM50] = {gItemIcon_TM, gItemIconPalette_FireTMHM}, // TM50
[ITEM_HM01] = {gItemIcon_HM, gItemIconPalette_NormalTMHM}, // HM01
[ITEM_HM02] = {gItemIcon_HM, gItemIconPalette_FlyingTMHM}, // HM02
[ITEM_HM03] = {gItemIcon_HM, gItemIconPalette_WaterTMHM}, // HM03
[ITEM_HM04] = {gItemIcon_HM, gItemIconPalette_NormalTMHM}, // HM04
[ITEM_HM05] = {gItemIcon_HM, gItemIconPalette_NormalTMHM}, // HM05
[ITEM_HM06] = {gItemIcon_HM, gItemIconPalette_FightingTMHM}, // HM06
[ITEM_HM07] = {gItemIcon_HM, gItemIconPalette_WaterTMHM}, // HM07
[ITEM_HM08] = {gItemIcon_HM, gItemIconPalette_WaterTMHM}, // HM08
// ????????
[ITEM_15B] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
[ITEM_15C] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
// FireRed/LeafGreen key items
[ITEM_OAKS_PARCEL] = {gItemIcon_OaksParcel, gItemIconPalette_OaksParcel},
[ITEM_POKE_FLUTE] = {gItemIcon_PokeFlute, gItemIconPalette_PokeFlute},
[ITEM_SECRET_KEY] = {gItemIcon_SecretKey, gItemIconPalette_SecretKey},
[ITEM_BIKE_VOUCHER] = {gItemIcon_BikeVoucher, gItemIconPalette_BikeVoucher},
[ITEM_GOLD_TEETH] = {gItemIcon_GoldTeeth, gItemIconPalette_GoldTeeth},
[ITEM_OLD_AMBER] = {gItemIcon_OldAmber, gItemIconPalette_OldAmber},
[ITEM_CARD_KEY] = {gItemIcon_CardKey, gItemIconPalette_CardKey},
[ITEM_LIFT_KEY] = {gItemIcon_LiftKey, gItemIconPalette_Key},
[ITEM_HELIX_FOSSIL] = {gItemIcon_HelixFossil, gItemIconPalette_KantoFossil},
[ITEM_DOME_FOSSIL] = {gItemIcon_DomeFossil, gItemIconPalette_KantoFossil},
[ITEM_SILPH_SCOPE] = {gItemIcon_SilphScope, gItemIconPalette_SilphScope},
[ITEM_BICYCLE] = {gItemIcon_Bicycle, gItemIconPalette_Bicycle},
[ITEM_TOWN_MAP] = {gItemIcon_TownMap, gItemIconPalette_TownMap},
[ITEM_VS_SEEKER] = {gItemIcon_VSSeeker, gItemIconPalette_VSSeeker},
[ITEM_FAME_CHECKER] = {gItemIcon_FameChecker, gItemIconPalette_FameChecker},
[ITEM_TM_CASE] = {gItemIcon_TMCase, gItemIconPalette_TMCase},
[ITEM_BERRY_POUCH] = {gItemIcon_BerryPouch, gItemIconPalette_BerryPouch},
[ITEM_TEACHY_TV] = {gItemIcon_TeachyTV, gItemIconPalette_TeachyTV},
[ITEM_TRI_PASS] = {gItemIcon_TriPass, gItemIconPalette_TriPass},
[ITEM_RAINBOW_PASS] = {gItemIcon_RainbowPass, gItemIconPalette_RainbowPass},
[ITEM_TEA] = {gItemIcon_Tea, gItemIconPalette_Tea},
[ITEM_MYSTIC_TICKET] = {gItemIcon_MysticTicket, gItemIconPalette_MysticTicket},
[ITEM_AURORA_TICKET] = {gItemIcon_AuroraTicket, gItemIconPalette_AuroraTicket},
[ITEM_POWDER_JAR] = {gItemIcon_PowderJar, gItemIconPalette_PowderJar},
[ITEM_RUBY] = {gItemIcon_Gem, gItemIconPalette_Ruby},
[ITEM_SAPPHIRE] = {gItemIcon_Gem, gItemIconPalette_Sapphire},
// Emerald-only key items
[ITEM_MAGMA_EMBLEM] = {gItemIcon_MagmaEmblem, gItemIconPalette_MagmaEmblem},
[ITEM_OLD_SEA_MAP] = {gItemIcon_OldSeaMap, gItemIconPalette_OldSeaMap},
// Return to field arrow
[ITEM_FIELD_ARROW] = {gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow},
};
#endif // GUARD_DATA_ITEM_ICON_TABLE_H
+1336 -598
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-5
View File
@@ -1,6 +1,3 @@
#ifndef GUARD_BASE_STATS_H
#define GUARD_BASE_STATS_H
// Maximum value for a female pokemon is 254 (MON_FEMALE) which is 100% female.
// 255 (MON_GENDERLESS) is reserved for genderless pokemon.
#define PERCENT_FEMALE(percent) min(254, ((percent * 255) / 100))
@@ -13572,5 +13569,3 @@ const struct BaseStats gBaseStats[] =
.noFlip = FALSE,
}
};
#endif //GUARD_BASE_STATS_H
-5
View File
@@ -1,6 +1,3 @@
#ifndef POKEEMERALD_CRY_IDS_H
#define POKEEMERALD_CRY_IDS_H
const u16 gSpeciesIdToCryId[] =
{
273, // TREECKO
@@ -139,5 +136,3 @@ const u16 gSpeciesIdToCryId[] =
386, // DEOXYS
387 // CHIMECHO
};
#endif //POKEEMERALD_CRY_IDS_H
-5
View File
@@ -1,12 +1,7 @@
#ifndef POKEEMERALD_DAYCARE_H
#define POKEEMERALD_DAYCARE_H
#define EGG_MOVES_SPECIES_OFFSET 20000
#define EGG_MOVES_TERMINATOR 0xFFFF
#define egg_moves(species, moves...) (SPECIES_##species + EGG_MOVES_SPECIES_OFFSET), moves
#endif // POKEEMERALD_DAYCARE_H
const u16 gEggMoves[] = {
egg_moves(BULBASAUR,
MOVE_LIGHT_SCREEN,
-5
View File
@@ -1,6 +1,3 @@
#ifndef POKEEMERALD_EVOLUTION_H
#define POKEEMERALD_EVOLUTION_H
const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
{
[SPECIES_BULBASAUR] = {{EVO_LEVEL, 16, SPECIES_IVYSAUR}},
@@ -188,5 +185,3 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
[SPECIES_BELDUM] = {{EVO_LEVEL, 20, SPECIES_METANG}},
[SPECIES_METANG] = {{EVO_LEVEL, 45, SPECIES_METAGROSS}},
};
#endif //POKEEMERALD_EVOLUTION_H
-5
View File
@@ -1,6 +1,3 @@
#ifndef POKEEMERALD_EXPERIENCE_TABLES_H
#define POKEEMERALD_EXPERIENCE_TABLES_H
#define SQUARE(n)(n * n)
#define CUBE(n)(n * n * n)
@@ -845,5 +842,3 @@ const u32 gExperienceTables[][MAX_LEVEL + 1] =
EXP_MEDIUM_FAST(100),
}
};
#endif //POKEEMERALD_EXPERIENCE_TABLES_H
-5
View File
@@ -1,6 +1,3 @@
#ifndef GUARD_ITEM_EFFECTS_H
#define GUARD_ITEM_EFFECTS_H
const u8 gItemEffect_Potion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 20};
const u8 gItemEffect_Antidote[] = {0x00, 0x00, 0x00, 0x10, 0x00, 0x00};
const u8 gItemEffect_BurnHeal[] = {0x00, 0x00, 0x00, 0x08, 0x00, 0x00};
@@ -237,5 +234,3 @@ const u8 *const gItemEffectTable[] =
NULL,
NULL
};
#endif //GUARD_ITEM_EFFECTS_H
@@ -1,6 +1,3 @@
#ifndef POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H
#define POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H
const u16 *const gLevelUpLearnsets[NUM_SPECIES] =
{
[SPECIES_NONE] = sBulbasaurLevelUpLearnset,
@@ -416,5 +413,3 @@ const u16 *const gLevelUpLearnsets[NUM_SPECIES] =
[SPECIES_DEOXYS] = sDeoxysLevelUpLearnset,
[SPECIES_CHIMECHO] = sChimechoLevelUpLearnset,
};
#endif //POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H
-5
View File
@@ -1,6 +1,3 @@
#ifndef POKEEMERALD_LEVEL_UP_LEARNSETS_H
#define POKEEMERALD_LEVEL_UP_LEARNSETS_H
#define LEVEL_UP_MOVE(lvl, move) ((lvl << 9) | move)
#define LEVEL_UP_END 0xffff
@@ -5619,5 +5616,3 @@ static const u16 sChimechoLevelUpLearnset[] = {
LEVEL_UP_MOVE(46, MOVE_PSYCHIC),
LEVEL_UP_END
};
#endif //POKEEMERALD_LEVEL_UP_LEARNSETS_H

Some files were not shown because too many files have changed in this diff Show More