From 2d0e0083bb454880765a8cff7e45f250f6f22284 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Fri, 1 Mar 2019 01:06:27 -0500 Subject: [PATCH 01/47] Improve OK bot's symbol counting --- .travis/calcrom/calcrom.pl | 49 +++++++++++++++++++++++++++++++------- 1 file changed, 40 insertions(+), 9 deletions(-) diff --git a/.travis/calcrom/calcrom.pl b/.travis/calcrom/calcrom.pl index 9eff1c0648..696d228fe6 100755 --- a/.travis/calcrom/calcrom.pl +++ b/.travis/calcrom/calcrom.pl @@ -1,5 +1,7 @@ #!/usr/bin/perl +use IPC::Cmd qw[ run ]; + (@ARGV == 1) or die "ERROR: no map file specified.\n"; open(my $file, $ARGV[0]) @@ -7,7 +9,6 @@ open(my $file, $ARGV[0]) my $src = 0; my $asm = 0; -my $undocumented = 0; while (my $line = <$file>) { if ($line =~ /^ \.(\w+)\s+0x[0-9a-f]+\s+(0x[0-9a-f]+) (\w+)\/.+\.o/) @@ -28,19 +29,49 @@ while (my $line = <$file>) } } } - if($line =~ /^\s+0x([0-9A-f]+)\s+[A-z_]+([0-9A-f]+)/) { - my $thing1 = sprintf("%08X", hex($1)); - my $thing2 = sprintf("%08X", hex($2)); - if($thing1 eq $thing2) { - $undocumented += 1; - } - } } +# It sucks that we have to objdump twice, but I can't figure out how to get +# stdin working for subcommands in perl while still having a timeout. +my $total_syms_as_string; +(run ( + command => "arm-none-eabi-nm pokeemerald.elf | wc -l", + buffer => \$total_syms_as_string, + timeout => 30 +)) + or die "ERROR: Error while getting all symbols: $?"; + +my $undocumented_as_string; +(run ( + command => "arm-none-eabi-nm pokeemerald.elf | grep \"Unknown_\\|sub_\" | wc -l", + buffer => \$undocumented_as_string, + timeout => 30 +)) + or die "ERROR: Error while filtering for undocumented symbols: $?"; + +my $undocumented = $undocumented_as_string + 0; +(($undocumented != 0) and ($undocumented_as_string ne "0")) + or die "ERROR: Cannot convert string to num: '$undocumented_as_string'"; + +my $total_syms = $total_syms_as_string + 0; +(($total_syms != 0) and ($total_syms_as_string ne "0")) + or die "ERROR: Cannot convert string to num: '$total_syms_as_string'"; + +($total_syms != 0) + or die "ERROR: No symbols found."; + my $total = $src + $asm; my $srcPct = sprintf("%.4f", 100 * $src / $total); my $asmPct = sprintf("%.4f", 100 * $asm / $total); + +my $documented = $total_syms - $undocumented; +my $docPct = sprintf("%.4f", 100 * $documented / $total_syms); +my $undocPct = sprintf("%.4f", 100 * $undocumented / $total_syms); + print "$total total bytes of code\n"; print "$src bytes of code in src ($srcPct%)\n"; print "$asm bytes of code in asm ($asmPct%)\n"; -print "$undocumented global symbols undocumented\n"; +print "\n"; +print "$total_syms total symbols\n"; +print "$documented symbols documented ($docPct%)\n"; +print "$undocumented symbols undocumented ($undocPct%)\n"; From d0f665fddcff922390960e98fcd2f83b6890c602 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Fri, 1 Mar 2019 01:09:53 -0500 Subject: [PATCH 02/47] Fix tabs --- .travis/calcrom/calcrom.pl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis/calcrom/calcrom.pl b/.travis/calcrom/calcrom.pl index 696d228fe6..354f9bcee5 100755 --- a/.travis/calcrom/calcrom.pl +++ b/.travis/calcrom/calcrom.pl @@ -35,17 +35,17 @@ while (my $line = <$file>) # stdin working for subcommands in perl while still having a timeout. my $total_syms_as_string; (run ( - command => "arm-none-eabi-nm pokeemerald.elf | wc -l", - buffer => \$total_syms_as_string, - timeout => 30 + command => "arm-none-eabi-nm pokeemerald.elf | wc -l", + buffer => \$total_syms_as_string, + timeout => 30 )) or die "ERROR: Error while getting all symbols: $?"; my $undocumented_as_string; (run ( - command => "arm-none-eabi-nm pokeemerald.elf | grep \"Unknown_\\|sub_\" | wc -l", - buffer => \$undocumented_as_string, - timeout => 30 + command => "arm-none-eabi-nm pokeemerald.elf | grep \"Unknown_\\|sub_\" | wc -l", + buffer => \$undocumented_as_string, + timeout => 30 )) or die "ERROR: Error while filtering for undocumented symbols: $?"; From 3ceb1667c9b5e81934c7d608efc08905f21c372e Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Fri, 1 Mar 2019 22:32:50 -0500 Subject: [PATCH 03/47] Reduce externs --- include/battle_anim.h | 9 +++ include/contest.h | 1 + include/event_obj_lock.h | 1 + include/event_object_movement.h | 3 + include/field_control_avatar.h | 1 + include/field_effect_helpers.h | 1 + include/field_player_avatar.h | 7 +++ include/field_screen_effect.h | 1 + include/field_special_scene.h | 1 + include/field_specials.h | 2 +- include/fieldmap.h | 4 +- include/flying.h | 6 ++ include/item_menu.h | 3 + include/link.h | 1 + include/main.h | 2 +- include/match_call.h | 3 + include/pokedex.h | 1 + include/water.h | 6 ++ src/battle_anim_effects_2.c | 4 +- src/battle_anim_effects_3.c | 4 +- src/battle_controller_link_opponent.c | 5 +- src/battle_controller_link_partner.c | 4 +- src/battle_controller_opponent.c | 4 +- src/battle_controller_player.c | 4 -- src/battle_controller_player_partner.c | 3 - src/battle_controller_recorded_opponent.c | 3 - src/battle_controller_recorded_player.c | 2 - src/battle_controller_safari.c | 2 - src/battle_controller_wally.c | 2 - src/battle_main.c | 4 +- src/battle_records.c | 3 +- src/battle_script_commands.c | 4 +- src/battle_setup.c | 5 +- src/berry.c | 6 +- src/berry_blender.c | 3 - src/bike.c | 6 -- src/contest.c | 2 - src/contest_link_80F57C4.c | 3 +- src/diploma.c | 3 +- src/electric.c | 4 +- src/field_control_avatar.c | 3 +- src/field_effect.c | 6 -- src/field_message_box.c | 4 +- src/field_screen_effect.c | 13 ++-- src/field_specials.c | 2 +- src/fldeff_cut.c | 1 - src/item_menu.c | 2 +- src/item_use.c | 2 +- src/normal.c | 3 +- src/safari_zone.c | 3 +- src/start_menu.c | 76 +++++++++++------------ 51 files changed, 112 insertions(+), 136 deletions(-) create mode 100644 include/flying.h create mode 100644 include/water.h diff --git a/include/battle_anim.h b/include/battle_anim.h index d0d3232160..4e241686fd 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -204,6 +204,9 @@ void sub_80A718C(struct Sprite *sprite); #define STAT_ANIM_MULTIPLE_MINUS2 58 void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId); +// battle_anim_8170478.c +void sub_8172EF0(u8 battler, struct Pokemon *mon); + // ground.c void sub_81152DC(u8 taskId); @@ -216,6 +219,12 @@ u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 selectedPalettes, void sub_8116EB4(u8); void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *arg8, const u32 *arg9, const u32 *palette); +// battle_anim_effects_1.c +void sub_810310C(u8 battler, struct Sprite* sprite); + +// smokescreen.c +u8 sub_807521C(s16 x, s16 y, u8 a3); + u32 UnpackSelectedBattleAnimPalettes(s16); u8 GetBattlerSpriteFinal_Y(u8, u16, u8); diff --git a/include/contest.h b/include/contest.h index e4391a3273..8146486cbf 100644 --- a/include/contest.h +++ b/include/contest.h @@ -478,5 +478,6 @@ bool32 sub_80FC4F4(void *, u16); bool8 sub_80FC55C(void); bool8 sub_80FC530(u8); u8 sub_80F86E0(u8 *); +void sub_80FC9F8(u8 taskId); #endif //GUARD_CONTEST_H diff --git a/include/event_obj_lock.h b/include/event_obj_lock.h index 59532fdcb2..2f09ad36a7 100644 --- a/include/event_obj_lock.h +++ b/include/event_obj_lock.h @@ -7,5 +7,6 @@ bool8 sub_809847C(void); void LockSelectedEventObject(void); void sub_8098630(void); bool8 sub_8098734(void); +void ScriptUnfreezeEventObjects(void); #endif // GUARD_EVENT_OBJ_LOCK_H diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 284bbe8db5..63ac09f2d3 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -193,6 +193,9 @@ void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible); s16 sub_809773C(s16 a1); s16 sub_8097728(s16 a1); void CameraObjectReset2(void); +u8 EventObjectGetBerryTreeId(u8 eventObjectId); +void sub_8092EF0(u8 mapId, u8 mapNumber, u8 mapGroup); +bool8 IsBerryTreeSparkling(u8, u8, u8); void MovementType_None(struct Sprite *); void MovementType_LookAround(struct Sprite *); diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h index 738cceb3e6..feb20cef6d 100644 --- a/include/field_control_avatar.h +++ b/include/field_control_avatar.h @@ -39,5 +39,6 @@ int SetCableClubWarp(void); u8 TrySetDiveWarp(void); const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatileBehavior, u8 direction); u8 *GetCoordEventScriptAtMapPosition(struct MapPosition *position); +void ClearPoisonStepCounter(void); #endif // GUARD_FIELDCONTROLAVATAR_H diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 6022467e49..6ea9771e61 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -34,5 +34,6 @@ void UpdateSparkleFieldEffect(struct Sprite*); void SetSpriteInvisible(u8 spriteId); void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y); void sub_8155604(u8 spriteId, u8 value, s16 data1); +void sub_81555D8(u8 spriteId, u8 value); #endif //GUARD_FIELD_EFFECT_HELPERS_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 45cd0dbd92..ae7aa92d27 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -63,5 +63,12 @@ u8 sub_808BCD0(void); void sub_808B578(void); u8 GetFRLGAvatarGraphicsIdByGender(u8); u8 GetRSAvatarGraphicsIdByGender(u8); +void sub_808B980(u8 direction); +void sub_808B9BC(u8 direction); +void sub_808B9A4(u8 direction); +void sub_808C1B4(u8 direction); +void sub_808B9D4(u8 direction); +void sub_808D194(void); +void sub_808D1C8(void); #endif // GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index 2b8b3a5a3a..b4429c1670 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.h @@ -41,5 +41,6 @@ void sub_80B0534(void); void sub_80B058C(void); void sub_80B05B4(void); void WriteFlashScanlineEffectBuffer(u8 flashLevel); +bool8 walkrun_is_standing_still(void); #endif // GUARD_FIELD_SCREEN_EFFECT_H diff --git a/include/field_special_scene.h b/include/field_special_scene.h index 240e9ecb60..2219c94332 100644 --- a/include/field_special_scene.h +++ b/include/field_special_scene.h @@ -10,5 +10,6 @@ void Task_HandleTruckSequence(u8 taskId); void ExecuteTruckSequence(void); void EndTruckSequence(u8); void sub_80C791C(void); +void sub_80FB768(void); #endif // GUARD_FIELD_SPECIAL_SCENE_H diff --git a/include/field_specials.h b/include/field_specials.h index bff04a7397..e6ed605936 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -26,6 +26,6 @@ void UpdateFrontierGambler(u16 a0); void ResetCyclingRoadChallengeData(void); bool8 warp0_in_pokecenter(void); void ResetFanClub(void); - +bool8 sub_813B21C(void); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/fieldmap.h b/include/fieldmap.h index 24bc4989af..8e10240d22 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -37,8 +37,8 @@ void copy_map_tileset1_tileset2_to_vram(struct MapLayout const *mapLayout); void apply_map_tileset1_tileset2_palette(struct MapLayout const *mapLayout); void apply_map_tileset2_palette(struct MapLayout const *mapLayout); void copy_map_tileset2_to_vram_2(struct MapLayout const *mapLayout); -extern void copy_map_tileset1_to_vram(const struct MapLayout *); -extern void copy_map_tileset2_to_vram(const struct MapLayout *); +void copy_map_tileset1_to_vram(const struct MapLayout *); +void copy_map_tileset2_to_vram(const struct MapLayout *); void SpriteCB_PokeballGlow(struct Sprite *); void SpriteCB_PokecenterMonitor(struct Sprite *); diff --git a/include/flying.h b/include/flying.h new file mode 100644 index 0000000000..062320b4d2 --- /dev/null +++ b/include/flying.h @@ -0,0 +1,6 @@ +#ifndef GUARD_FLYING_H +#define GUARD_FLYING_H + +void sub_810E2C8(struct Sprite *sprite); + +#endif // GUARD_FLYING_H \ No newline at end of file diff --git a/include/item_menu.h b/include/item_menu.h index 2ca1af2001..465e5966e6 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -71,6 +71,7 @@ void sub_81AAC14(void); void sub_81AAC50(void); void sub_81AAC70(void); void sub_81AAC28(void); +void sub_81AABB0(void); void SetInitialScrollAndCursorPositions(u8 pocketId); void bag_menu_mail_related(void); void CB2_BagMenuFromStartMenu(void); @@ -80,6 +81,8 @@ void CB2_GoToSellMenu(void); void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)()); void DoWallyTutorialBagMenu(void); void ResetBagScrollPositions(void); +void sub_81AABF0(void (*callback)(void)); +void CB2_ChooseBerry(void); #endif //GUARD_item_menu_H diff --git a/include/link.h b/include/link.h index 83deab88f7..400816fd01 100644 --- a/include/link.h +++ b/include/link.h @@ -261,6 +261,7 @@ void sub_800B3A4(u32 who); bool32 sub_800A07C(void); void sub_800AB98(void); void sub_800AA04(u8 a0); +void sub_800B4C0(void); extern u16 gLinkPartnersHeldKeys[6]; extern u32 gLinkDebugSeed; diff --git a/include/main.h b/include/main.h index 728064288a..1b312550ef 100644 --- a/include/main.h +++ b/include/main.h @@ -68,7 +68,7 @@ void ClearPokemonCrySongs(void); void RestoreSerialTimer3IntrHandlers(void); void StartTimer1(void); void SeedRngAndSetTrainerId(void); -extern u16 GetGeneratedTrainerIdLower(void); +u16 GetGeneratedTrainerIdLower(void); #endif // GUARD_MAIN_H diff --git a/include/match_call.h b/include/match_call.h index 17d40d41cf..1bf654937d 100644 --- a/include/match_call.h +++ b/include/match_call.h @@ -12,5 +12,8 @@ enum { s32 GetRematchIdxByTrainerIdx(s32 trainerIdx); void InitMatchCallCounters(void); +bool32 TryStartMatchCall(void); +bool32 IsMatchCallTaskActive(void); +void StartMatchCallFromScript(u8* script); #endif //GUARD_MATCH_CALL_H diff --git a/include/pokedex.h b/include/pokedex.h index 6136f77861..c3700c8112 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -43,5 +43,6 @@ s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId); u16 CreateMonSpriteFromNationalDexNumber(u16, s16, s16, u16); bool16 HasAllHoennMons(void); void ResetPokedexScrollPositions(void); +u16 sub_80C0944(void); #endif // GUARD_POKEDEX_H diff --git a/include/water.h b/include/water.h new file mode 100644 index 0000000000..9f876021c4 --- /dev/null +++ b/include/water.h @@ -0,0 +1,6 @@ +#ifndef GUARD_WATER_H +#define GUARD_WATER_H + +void sub_8108C94(struct Sprite *sprite); + +#endif // GUARD_WATER_H \ No newline at end of file diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index ee6676e644..a72b2c8dce 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -15,9 +15,7 @@ #include "util.h" #include "constants/rgb.h" #include "constants/songs.h" - -extern void sub_8108C94(struct Sprite *); -extern void sub_810310C(u8, struct Sprite *); +#include "water.h" void sub_8103448(struct Sprite *); void sub_8103498(struct Sprite *); diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 49fb693421..de00892ba4 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -23,9 +23,7 @@ #include "constants/songs.h" #include "constants/species.h" #include "constants/weather.h" - -extern u8 sub_807521C(s16 x, s16 y, u8 a3); -extern void sub_810E2C8(struct Sprite *); +#include "flying.h" extern const struct SpriteTemplate gUnknown_08593114; extern const union AffineAnimCmd *const gUnknown_082FF6C0[]; diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 05da72e16a..6c0f81d41f 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -26,15 +26,12 @@ #include "constants/battle_anim.h" #include "constants/songs.h" #include "constants/trainers.h" +#include "recorded_battle.h" extern struct MusicPlayerInfo gMPlayInfo_BGM; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -extern void sub_81851A8(u8 *); -extern u16 sub_8068B48(void); - // this file's functions static void LinkOpponentHandleGetMonData(void); static void LinkOpponentHandleGetRawMonData(void); diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 19d39609fb..59fc2aae58 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -26,13 +26,11 @@ #include "constants/battle_anim.h" #include "constants/songs.h" #include "constants/trainers.h" +#include "recorded_battle.h" extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; -extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -extern void sub_81851A8(u8 *); - // this file's functions static void LinkPartnerHandleGetMonData(void); static void LinkPartnerHandleGetRawMonData(void); diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 99bb0c5887..9fee8134de 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -32,14 +32,12 @@ #include "constants/moves.h" #include "constants/songs.h" #include "constants/trainers.h" +#include "trainer_hill.h" extern struct MusicPlayerInfo gMPlayInfo_BGM; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -extern u8 GetTrainerHillTrainerFrontSpriteId(u16 trainerId); - // this file's functions static void OpponentHandleGetMonData(void); static void OpponentHandleGetRawMonData(void); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 6bcc97c68d..42d29dbbd9 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -39,10 +39,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; -extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -extern void sub_81AABB0(void); -extern void sub_81851A8(u8 *); - // this file's functions static void PlayerHandleGetMonData(void); static void PlayerHandleSetMonData(void); diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index a9b0f376be..95a3f698b7 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -30,9 +30,6 @@ extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; -extern void sub_81358F4(void); -extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); - // this file's functions static void PlayerPartnerHandleGetMonData(void); static void PlayerPartnerHandleGetRawMonData(void); diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 911eb6ce58..c66a1b49cc 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -33,9 +33,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -extern u16 sub_8068B48(void); - // this file's functions static void RecordedOpponentHandleGetMonData(void); static void RecordedOpponentHandleGetRawMonData(void); diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index b2dfca6a07..cc40f159ab 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -30,8 +30,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; -extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); - // this file's functions static void RecordedPlayerHandleGetMonData(void); static void RecordedPlayerHandleGetRawMonData(void); diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 54ba04ab4a..b0173df687 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -25,8 +25,6 @@ extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; -extern void sub_81358F4(void); - // this file's functions static void SafariHandleGetMonData(void); static void SafariHandleGetRawMonData(void); diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index d891b96b67..a3dc927574 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -33,8 +33,6 @@ extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; -extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); - // this file's functions static void WallyHandleGetMonData(void); static void WallyHandleGetRawMonData(void); diff --git a/src/battle_main.c b/src/battle_main.c index 043e758087..befef364f7 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -57,6 +57,7 @@ #include "constants/songs.h" #include "constants/species.h" #include "constants/trainers.h" +#include "cable_club.h" extern struct MusicPlayerInfo gMPlayInfo_SE1; extern struct MusicPlayerInfo gMPlayInfo_SE2; @@ -69,9 +70,6 @@ extern const u8 *const gBattlescriptsForRunningByItem[]; extern const u8 *const gBattlescriptsForUsingItem[]; extern const u8 *const gBattlescriptsForSafariActions[]; -// functions -extern void sub_80B3AF8(u8 taskId); // cable club - // this file's functions static void CB2_InitBattleInternal(void); static void CB2_PreInitMultiBattle(void); diff --git a/src/battle_records.c b/src/battle_records.c index f9c40d8de6..d905ccaf38 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -21,8 +21,7 @@ #include "alloc.h" #include "gpu_regs.h" #include "constants/game_stat.h" - -extern void PrintOnTrainerHillRecordsWindow(void); // pokenav.s +#include "trainer_hill.h" // this file's functions static void Task_CloseTrainerHillRecordsOnButton(u8 taskId); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index a53fa30f21..8a4436a3f9 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -48,6 +48,7 @@ #include "battle_pyramid.h" #include "field_specials.h" #include "pokemon_summary_screen.h" +#include "pokenav.h" extern struct MusicPlayerInfo gMPlayInfo_BGM; @@ -55,9 +56,6 @@ extern const u8* const gBattleScriptsForMoveEffects[]; // functions extern void sub_81D388C(struct Pokemon* mon, void* statStoreLocation); // pokenav.s -extern void sub_81D3640(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); // pokenav.s -extern void sub_81D3784(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); // pokenav.s -extern u8 sub_813B21C(void); #define DEFENDER_IS_PROTECTED ((gProtectStructs[gBattlerTarget].protected) && (gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED)) diff --git a/src/battle_setup.c b/src/battle_setup.c index 7626420e92..3d27b517e8 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -44,6 +44,7 @@ #include "mirage_tower.h" #include "constants/map_types.h" #include "constants/battle_frontier.h" +#include "field_screen_effect.h" enum { @@ -62,10 +63,6 @@ struct TrainerBattleParameter u8 ptrType; }; -extern void ClearPoisonStepCounter(void); -extern void sub_808BCF4(void); -extern void sub_80AF6F0(void); - // this file's functions static void DoBattlePikeWildBattle(void); static void DoSafariBattle(void); diff --git a/src/berry.c b/src/berry.c index bd596db7f7..cbac06a3dd 100644 --- a/src/berry.c +++ b/src/berry.c @@ -11,11 +11,9 @@ #include "text.h" #include "constants/event_object_movement_constants.h" #include "constants/items.h" +#include "event_object_movement.h" + -extern u8 EventObjectGetBerryTreeId(u8 eventObjectId); -extern void sub_8092EF0(u8 mapId, u8 mapNumber, u8 mapGroup); -extern void CB2_ChooseBerry(void); -extern bool8 IsBerryTreeSparkling(u8, u8, u8); extern const u8 BerryTreeScript[]; diff --git a/src/berry_blender.c b/src/berry_blender.c index 87d24e7175..70e50a72e8 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -142,9 +142,6 @@ extern const u8 gText_Space[]; extern const u8 gText_BlenderMaxSpeedRecord[]; extern const u8 gText_234Players[]; -extern void sub_81AABF0(void (*callback)(void)); -extern void sub_800B4C0(void); - // this file's functions static void BerryBlender_SetBackgroundsPos(void); static void sub_8080EA4(u8 taskId); diff --git a/src/bike.c b/src/bike.c index 1e91baab07..530742bdf6 100644 --- a/src/bike.c +++ b/src/bike.c @@ -14,12 +14,6 @@ extern bool8 gBikeCyclingChallenge; extern u8 gBikeCollisions; -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 sub_808B9D4(u8 direction); - // this file's functions static void MovePlayerOnMachBike(u8, u16, u16); static u8 GetMachBikeTransition(u8 *); diff --git a/src/contest.c b/src/contest.c index 7be4aa23b5..230ccd1b48 100644 --- a/src/contest.c +++ b/src/contest.c @@ -45,8 +45,6 @@ #include "constants/rgb.h" #include "contest_ai.h" -extern void sub_80FC9F8(u8); // contest_link_80FC4F4.c - // This file's functions. static void sub_80D782C(void); static void sub_80D7C7C(u8 taskId); diff --git a/src/contest_link_80F57C4.c b/src/contest_link_80F57C4.c index c0a79af814..881d9847ee 100644 --- a/src/contest_link_80F57C4.c +++ b/src/contest_link_80F57C4.c @@ -39,6 +39,7 @@ #include "constants/rgb.h" #include "constants/songs.h" #include "constants/vars.h" +#include "contest.h" struct ContestLinkUnk0 { @@ -99,8 +100,6 @@ extern const struct SpriteSheet gUnknown_0858D810[]; extern const struct SpritePalette gUnknown_0858D850; extern const struct SpriteTemplate gSpriteTemplate_858D860; -extern void sub_81D9DE4(u8); - static void sub_80F6A9C(void); static void sub_80F71C8(void); u8 sub_80F7310(u8, u8); diff --git a/src/diploma.c b/src/diploma.c index b3d5a48fa0..78d49527f3 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -13,8 +13,7 @@ #include "text.h" #include "overworld.h" #include "menu.h" - -extern bool16 sub_80C0944(void); +#include "pokedex.h" extern const u8 gText_DexNational[]; extern const u8 gText_DexHoenn[]; diff --git a/src/electric.c b/src/electric.c index 142a9ca090..6c6c337467 100644 --- a/src/electric.c +++ b/src/electric.c @@ -4,9 +4,7 @@ #include "trig.h" #include "constants/songs.h" #include "sound.h" - -extern void sub_810E2C8(struct Sprite *); -extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *); +#include "flying.h" static void sub_810A1A8(struct Sprite *); static void sub_810A1F8(struct Sprite *); diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index cffafaf9f7..f5961bb48c 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -32,8 +32,7 @@ #include "constants/map_types.h" #include "constants/maps.h" #include "constants/songs.h" - -extern bool32 TryStartMatchCall(void); +#include "match_call.h" static EWRAM_DATA u8 sWildEncounterImmunitySteps = 0; static EWRAM_DATA u16 sPreviousPlayerMetatileBehavior = 0; diff --git a/src/field_effect.c b/src/field_effect.c index 7f11a8e582..fcdc483e69 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -240,12 +240,6 @@ static IWRAM_DATA u8 sActiveList[32]; extern u8 *gFieldEffectScriptPointers[]; extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; -extern void sub_81555D8(u8, u8); -extern void pal_fill_for_maplights(void); -extern void sub_80E1558(u8); -extern void sub_80E1570(void); -extern bool8 sub_80E1584(void); -extern void WarpFadeScreen(void); // .rodata const u32 gNewGameBirchPic[] = INCBIN_U32("graphics/birch_speech/birch.4bpp"); diff --git a/src/field_message_box.c b/src/field_message_box.c index 299aafaf26..fa1aee5660 100755 --- a/src/field_message_box.c +++ b/src/field_message_box.c @@ -4,9 +4,7 @@ #include "string_util.h" #include "task.h" #include "text.h" - -extern bool32 IsMatchCallTaskActive(void); -extern void StartMatchCallFromScript(u8*); +#include "match_call.h" static EWRAM_DATA u8 sFieldMessageBoxMode = 0; diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index e7476dea3a..3e49656677 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -10,7 +10,6 @@ #include "field_screen_effect.h" #include "field_special_scene.h" #include "field_weather.h" -// #include "fldeff_flash.h" #include "gpu_regs.h" #include "link.h" #include "link_rfu.h" @@ -31,15 +30,9 @@ #include "constants/event_object_movement_constants.h" #include "constants/songs.h" #include "constants/rgb.h" +#include "trainer_hill.h" +#include "event_obj_lock.h" -extern bool32 sub_81D6534(void); -extern bool8 walkrun_is_standing_still(void); -extern void ScriptUnfreezeEventObjects(void); -extern void sub_80FB768(void); -extern void sub_808D194(void); -extern void sub_808D1C8(void); -extern bool32 sub_808D1B4(void); -extern bool32 sub_808D1E8(void); extern void sub_80B6B68(void); extern void sub_80B6E4C(u8, u8); extern void sub_80B75D8(u8); @@ -47,6 +40,8 @@ extern void sub_80B7A74(u8); extern void sub_808C0A8(u8); extern u8 GetMapPairFadeToType(u8, u8); extern u8 GetMapPairFadeFromType(u8, u8); +extern bool32 sub_808D1B4(void); +extern bool32 sub_808D1E8(void); extern const u16 gUnknown_82EC7CC[]; diff --git a/src/field_specials.c b/src/field_specials.c index 639d86e685..3994f8c36a 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -3379,7 +3379,7 @@ u16 get_unknown_box_id(void) return gUnknown_0203AB6F; } -bool32 sub_813B21C(void) +bool8 sub_813B21C(void) { if (FlagGet(FLAG_SYS_STORAGE_UNKNOWN_FLAG) == FALSE) { diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index 348a1f46c9..a715608c5c 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -20,7 +20,6 @@ #include "constants/field_effects.h" #include "constants/songs.h" -extern void ScriptUnfreezeEventObjects(void); extern bool8 IsMewPlayingHideAndSeek(void); extern struct MapPosition gPlayerFacingPosition; diff --git a/src/item_menu.c b/src/item_menu.c index 43f2afce34..b3d341c2ee 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -476,7 +476,7 @@ void CB2_ChooseBerry(void) GoToBagMenu(RETURN_LOCATION_FIELD_2, BERRIES_POCKET, CB2_ReturnToFieldContinueScript); } -void sub_81AABF0(void(*callback)(void)) +void sub_81AABF0(void (*callback)(void)) { GoToBagMenu(RETURN_LOCATION_FIELD_3, BERRIES_POCKET, callback); } diff --git a/src/item_use.c b/src/item_use.c index 97d6292c45..16fb22d94d 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -37,10 +37,10 @@ #include "constants/items.h" #include "constants/songs.h" #include "constants/vars.h" +#include "event_obj_lock.h" extern void unknown_ItemMenu_Confirm(u8 taskId); extern void sub_81C5B14(u8 taskId); -extern void ScriptUnfreezeEventObjects(void); extern void ItemUseOutOfBattle_TMHM(u8 a); extern void ItemUseOutOfBattle_EvolutionStone(u8 b); extern bool8 IsPlayerFacingSurfableFishableWater(void); diff --git a/src/normal.c b/src/normal.c index 87c8792f14..cbf0caa83c 100644 --- a/src/normal.c +++ b/src/normal.c @@ -5,6 +5,7 @@ #include "task.h" #include "trig.h" #include "constants/rgb.h" +#include "flying.h" void AnimConfusionDuck(struct Sprite *); void AnimSimplePaletteBlend(struct Sprite *); @@ -36,8 +37,6 @@ static void sub_81162F8(u8); static void sub_81163D0(struct Sprite *); static void sub_81165E4(struct Sprite *); -extern void sub_810E2C8(struct Sprite *); - const union AnimCmd gUnknown_0859722C[] = { ANIMCMD_FRAME(0, 8), diff --git a/src/safari_zone.c b/src/safari_zone.c index accf949817..703c3d0cde 100644 --- a/src/safari_zone.c +++ b/src/safari_zone.c @@ -10,6 +10,7 @@ #include "string_util.h" #include "tv.h" #include "constants/game_stat.h" +#include "field_screen_effect.h" struct PokeblockFeeder { @@ -27,8 +28,6 @@ extern const u8 EventScript_2A4B6F[]; extern const u8 EventScript_2A4B4C[]; extern const u8 EventScript_2A4B9B[]; -extern void sub_80AF6F0(void); - EWRAM_DATA u8 gNumSafariBalls = 0; EWRAM_DATA static u16 sSafariZoneStepCounter = 0; EWRAM_DATA static u8 sSafariZoneCaughtMons = 0; diff --git a/src/start_menu.c b/src/start_menu.c index 4b71f61474..79404d0b2d 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -1,44 +1,45 @@ #include "global.h" -#include "start_menu.h" -#include "menu.h" -#include "safari_zone.h" -#include "event_data.h" -#include "window.h" -#include "string_util.h" -#include "text.h" -#include "strings.h" -#include "bg.h" -#include "field_effect.h" -#include "party_menu.h" -#include "frontier_pass.h" -#include "task.h" -#include "overworld.h" -#include "link.h" -#include "frontier_util.h" -#include "field_specials.h" -#include "event_object_movement.h" -#include "script.h" -#include "main.h" -#include "sound.h" -#include "pokedex.h" -#include "field_weather.h" -#include "palette.h" -#include "item_menu.h" -#include "option_menu.h" -#include "event_scripts.h" -#include "save.h" -#include "gpu_regs.h" -#include "scanline_effect.h" -#include "text_window.h" -#include "load_save.h" -#include "trainer_card.h" -#include "international_string_util.h" -#include "constants/songs.h" -#include "field_player_avatar.h" +#include "battle_pike.h" #include "battle_pyramid.h" #include "battle_pyramid_bag.h" -#include "battle_pike.h" +#include "bg.h" +#include "event_data.h" +#include "event_object_movement.h" +#include "event_obj_lock.h" +#include "event_scripts.h" +#include "field_effect.h" +#include "field_player_avatar.h" +#include "field_specials.h" +#include "field_weather.h" +#include "frontier_pass.h" +#include "frontier_util.h" +#include "gpu_regs.h" +#include "international_string_util.h" +#include "item_menu.h" +#include "link.h" +#include "load_save.h" +#include "main.h" +#include "menu.h" #include "new_game.h" +#include "option_menu.h" +#include "overworld.h" +#include "palette.h" +#include "party_menu.h" +#include "pokedex.h" +#include "safari_zone.h" +#include "save.h" +#include "scanline_effect.h" +#include "script.h" +#include "sound.h" +#include "start_menu.h" +#include "strings.h" +#include "string_util.h" +#include "task.h" +#include "text.h" +#include "text_window.h" +#include "trainer_card.h" +#include "window.h" +#include "constants/songs.h" // Menu actions enum @@ -93,7 +94,6 @@ extern void sub_808B864(void); extern void CB2_Pokedex(void); extern void PlayRainStoppingSoundEffect(void); extern void CB2_PokeNav(void); -extern void ScriptUnfreezeEventObjects(void); extern void save_serialize_map(void); // Menu action callbacks From 0f6cc27e81d4985d61e5caa669027801d520a122 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sat, 2 Mar 2019 00:36:59 -0500 Subject: [PATCH 04/47] Fixed decomp issue around LoadPalette In LoadLinkPartnerEventObjectSpritePalette, using paletteNum += 6 causes GCC to "mark" paletteNum's register as a possible overflow, even though it performs the overflow check. Then, when passing args to LoadPalette, GCC fails to recognize that 0x100 + ((any u8) << 4) can never overflow as a u16. It then does an overflow check before calling LoadPalette. Assigning to a temp variable seems to avoid this "marking" behavior. --- src/field_specials.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/field_specials.c b/src/field_specials.c index 3994f8c36a..629dd80152 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -55,6 +55,7 @@ #include "constants/vars.h" #include "constants/battle_frontier.h" #include "constants/weather.h" +#include "palette.h" EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE; EWRAM_DATA u8 gBikeCollisions = 0; @@ -80,7 +81,6 @@ extern const u16 gEventObjectPalette17[]; extern const u16 gEventObjectPalette33[]; extern const u16 gEventObjectPalette34[]; -extern void LoadPalette(const void *src, u32 offset, u16 size); // incorrect signature, needed to match extern void BlendPalettes(u32, u8, u16); extern void FieldInitRegionMap(MainCallback callback); @@ -591,7 +591,9 @@ void SpawnLinkPartnerEventObject(void) static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum) { - paletteNum += 6; + u8 adjustedPaletteNum; + // Note: This temp var is necessary; paletteNum += 6 doesn't match. + adjustedPaletteNum = paletteNum + 6; if (graphicsId == EVENT_OBJ_GFX_LINK_RS_BRENDAN || graphicsId == EVENT_OBJ_GFX_LINK_RS_MAY || graphicsId == EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL || @@ -602,21 +604,21 @@ static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEvent { u8 spriteId = gEventObjects[obj].spriteId; struct Sprite *sprite = &gSprites[spriteId]; - sprite->oam.paletteNum = paletteNum; + sprite->oam.paletteNum = adjustedPaletteNum; switch (graphicsId) { case EVENT_OBJ_GFX_LINK_RS_BRENDAN: - LoadPalette(gEventObjectPalette33, 0x100 + paletteNum * 16, 0x20); + LoadPalette(gEventObjectPalette33, 0x100 + (adjustedPaletteNum << 4), 0x20); break; case EVENT_OBJ_GFX_LINK_RS_MAY: - LoadPalette(gEventObjectPalette34, 0x100 + paletteNum * 16, 0x20); + LoadPalette(gEventObjectPalette34, 0x100 + (adjustedPaletteNum << 4), 0x20); break; case EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL: - LoadPalette(gEventObjectPalette8, 0x100 + paletteNum * 16, 0x20); + LoadPalette(gEventObjectPalette8, 0x100 + (adjustedPaletteNum << 4), 0x20); break; case EVENT_OBJ_GFX_RIVAL_MAY_NORMAL: - LoadPalette(gEventObjectPalette17, 0x100 + paletteNum * 16, 0x20); + LoadPalette(gEventObjectPalette17, 0x100 + (adjustedPaletteNum << 4), 0x20); break; } } From ee6942683882e2abd4bde79f8355b71abbd21af9 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sat, 2 Mar 2019 02:44:02 -0500 Subject: [PATCH 05/47] Eliminate more externs --- include/agb_flash.h | 1 + include/easy_chat.h | 1 + include/field_effect.h | 5 ++++ include/field_player_avatar.h | 3 +++ include/field_specials.h | 1 + include/fieldmap.h | 7 ++++++ include/hall_of_fame.h | 3 +++ include/item_menu.h | 4 +++ include/link.h | 1 + include/rom_8011DC0.h | 1 + include/script_menu.h | 2 ++ src/field_player_avatar.c | 4 +-- src/field_screen_effect.c | 11 +------- src/field_specials.c | 2 -- src/frontier_util.c | 5 +--- src/hall_of_fame.c | 2 -- src/hof_pc.c | 4 --- src/ice.c | 47 +++++++++++++++++------------------ src/item_menu.c | 1 - src/item_use.c | 30 ++++++---------------- src/link.c | 2 +- src/link_rfu.c | 2 +- src/load_save.c | 2 +- src/main.c | 5 ---- src/match_call.c | 2 -- src/menu.c | 24 ++++++++---------- src/menu_helpers.c | 2 -- src/mystery_event_script.c | 2 -- src/option_menu.c | 3 +-- src/poison.c | 2 -- src/pokeblock_feed.c | 2 -- src/pokemon.c | 5 +--- src/pokemon_size_record.c | 4 +-- src/script_menu.c | 2 +- src/water.c | 1 - 35 files changed, 82 insertions(+), 113 deletions(-) diff --git a/include/agb_flash.h b/include/agb_flash.h index 27e45e8fa5..3dd60df0f1 100644 --- a/include/agb_flash.h +++ b/include/agb_flash.h @@ -8,5 +8,6 @@ // Exported ROM declarations u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void)); +u16 IdentifyFlash(void); #endif //GUARD_AGB_FLASH_H diff --git a/include/easy_chat.h b/include/easy_chat.h index 2efdc4e5d6..84ac154227 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -134,5 +134,6 @@ u16 EasyChat_GetNumWordsInGroup(u8); u16 sub_811EE90(u16); void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback, u8 displayedPersonType); void sub_811F8BC(void); +void sub_811EFC0(u8 additionalPhraseId); #endif // GUARD_EASYCHAT_H diff --git a/include/field_effect.h b/include/field_effect.h index 205dbb68a1..1f5f4ee297 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -36,6 +36,10 @@ bool8 FieldEffectCmd_end(u8 **script, u32 *val); bool8 FieldEffectCmd_loadgfx_callnative(u8 **script, u32 *val); bool8 FieldEffectCmd_loadtiles_callnative(u8 **script, u32 *val); bool8 FieldEffectCmd_loadfadedpal_callnative(u8 **script, u32 *val); +void sub_80B6B68(void); +void sub_80B6E4C(u8 a0, u8 priority); +void sub_80B75D8(u8 priority); +void sub_80B7A74(u8 priority); void sub_80B9C28(s16*, u8); void sub_80B9C54(s16*, u8); @@ -47,5 +51,6 @@ void sub_80B7A58(struct Sprite*); void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b); void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId); u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority); +void StartEscapeRopeFieldEffect(void); #endif //GUARD_FIELD_EFFECTS_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index ae7aa92d27..ca3d415468 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -70,5 +70,8 @@ void sub_808C1B4(u8 direction); void sub_808B9D4(u8 direction); void sub_808D194(void); void sub_808D1C8(void); +bool32 sub_808D1B4(void); +bool32 sub_808D1E8(void); +void sub_808C0A8(u8 a); #endif // GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/field_specials.h b/include/field_specials.h index e6ed605936..3131531dc8 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -27,5 +27,6 @@ void ResetCyclingRoadChallengeData(void); bool8 warp0_in_pokecenter(void); void ResetFanClub(void); bool8 sub_813B21C(void); +void set_unknown_box_id(u8 id); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/fieldmap.h b/include/fieldmap.h index 8e10240d22..bb5b0e290a 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -9,6 +9,8 @@ #define NUM_PALS_TOTAL 13 #define MAX_MAP_DATA_SIZE 0x2800 +#include "main.h" + extern struct BackupMapLayout gBackupMapLayout; u32 MapGridGetMetatileIdAt(int, int); @@ -39,9 +41,14 @@ void apply_map_tileset2_palette(struct MapLayout const *mapLayout); void copy_map_tileset2_to_vram_2(struct MapLayout const *mapLayout); void copy_map_tileset1_to_vram(const struct MapLayout *); void copy_map_tileset2_to_vram(const struct MapLayout *); +struct MapHeader const *const mapconnection_get_mapheader(struct MapConnection *connection); +struct MapConnection *sub_8088A8C(s16 x, s16 y); void SpriteCB_PokeballGlow(struct Sprite *); void SpriteCB_PokecenterMonitor(struct Sprite *); void SpriteCB_HallOfFameMonitor(struct Sprite *); +// field_region_map.c +void FieldInitRegionMap(MainCallback callback); + #endif //GUARD_FIELDMAP_H diff --git a/include/hall_of_fame.h b/include/hall_of_fame.h index d35ecf268c..5c8a01bcb6 100644 --- a/include/hall_of_fame.h +++ b/include/hall_of_fame.h @@ -6,4 +6,7 @@ void CB2_DoHallOfFameScreenDontSaveData(void); void CB2_DoHallOfFamePC(void); void sub_8175280(void); +// hof_pc.c +void ReturnFromHallOfFamePC(void); + #endif // GUARD_HALL_OF_FAME_H diff --git a/include/item_menu.h b/include/item_menu.h index 465e5966e6..70d6b5a94d 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -2,6 +2,7 @@ #define GUARD_item_menu_H #include "item.h" +#include "menu_helpers.h" #define RETURN_LOCATION_FIELD 0 #define RETURN_LOCATION_BATTLE 1 @@ -83,6 +84,9 @@ void DoWallyTutorialBagMenu(void); void ResetBagScrollPositions(void); void sub_81AABF0(void (*callback)(void)); void CB2_ChooseBerry(void); +void unknown_ItemMenu_Confirm(u8 taskId); +void bag_menu_yes_no(u8, u8, const struct YesNoFuncTable*); +void sub_81AB9A8(u8 pocketId); #endif //GUARD_item_menu_H diff --git a/include/link.h b/include/link.h index 400816fd01..24a834c686 100644 --- a/include/link.h +++ b/include/link.h @@ -262,6 +262,7 @@ bool32 sub_800A07C(void); void sub_800AB98(void); void sub_800AA04(u8 a0); void sub_800B4C0(void); +bool32 sub_800B504(void); extern u16 gLinkPartnersHeldKeys[6]; extern u32 gLinkDebugSeed; diff --git a/include/rom_8011DC0.h b/include/rom_8011DC0.h index faffd33752..9940a5b441 100644 --- a/include/rom_8011DC0.h +++ b/include/rom_8011DC0.h @@ -17,5 +17,6 @@ u16 mevent_081445C0(u8); void sub_801B990(u32, u32); u8 sub_8013F78(void); bool32 sub_802C908(u16); +void nullsub_89(u8 taskId); #endif //GUARD_rom_8011DC0_H diff --git a/include/script_menu.h b/include/script_menu.h index a6d52c31e9..1f4e549fec 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -14,5 +14,7 @@ u8 CreateWindowFromRect(u8, u8, u8, u8); void sub_80E2A78(u8); int display_text_and_get_width(const u8*, int); int sub_80E2D5C(int arg0, int tileWidth); +bool16 ScrSpecial_CreatePCMenu(void); +void ScriptMenu_DisplayPCStartupPrompt(void); #endif //GUARD_SCRIPT_MENU_H diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index b1291f0ce1..66f176d39e 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -2125,7 +2125,7 @@ void sub_808D194(void) sub_808D1FC(CreateTask(sub_808D1FC, 0)); } -bool8 sub_808D1B4(void) +bool32 sub_808D1B4(void) { return FuncIsActiveTask(sub_808D1FC); } @@ -2135,7 +2135,7 @@ void sub_808D1C8(void) sub_808D094(CreateTask(sub_808D094, 0)); } -bool8 sub_808D1E8(void) +bool32 sub_808D1E8(void) { return FuncIsActiveTask(sub_808D094); } diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 3e49656677..b6dcf212c0 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -32,16 +32,7 @@ #include "constants/rgb.h" #include "trainer_hill.h" #include "event_obj_lock.h" - -extern void sub_80B6B68(void); -extern void sub_80B6E4C(u8, u8); -extern void sub_80B75D8(u8); -extern void sub_80B7A74(u8); -extern void sub_808C0A8(u8); -extern u8 GetMapPairFadeToType(u8, u8); -extern u8 GetMapPairFadeFromType(u8, u8); -extern bool32 sub_808D1B4(void); -extern bool32 sub_808D1E8(void); +#include "fldeff.h" extern const u16 gUnknown_82EC7CC[]; diff --git a/src/field_specials.c b/src/field_specials.c index 629dd80152..85bc41723c 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -81,8 +81,6 @@ extern const u16 gEventObjectPalette17[]; extern const u16 gEventObjectPalette33[]; extern const u16 gEventObjectPalette34[]; -extern void BlendPalettes(u32, u8, u16); -extern void FieldInitRegionMap(MainCallback callback); void UpdateMovedLilycoveFanClubMembers(void); void sub_813BF60(void); diff --git a/src/frontier_util.c b/src/frontier_util.c index 6fcbd4ffbe..8c190f5223 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -35,8 +35,7 @@ #include "constants/moves.h" #include "constants/items.h" #include "constants/event_objects.h" - -extern u8 gSelectedOrderFromParty[]; +#include "party_menu.h" struct FrontierBrainMon { @@ -48,8 +47,6 @@ struct FrontierBrainMon u16 moves[4]; }; -extern void sub_81B8558(void); - // This file's functions. static void sub_81A17A0(void); static void sub_81A1830(void); diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 3f217b7828..48e4f8bec0 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -66,8 +66,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; #define HALL_OF_FAME_MAX_TEAMS 50 -extern void ReturnFromHallOfFamePC(void); - // this file's functions static void ClearVramOamPltt_LoadHofPal(void); static void sub_8174F70(void); diff --git a/src/hof_pc.c b/src/hof_pc.c index 2cea5540af..d76f043725 100644 --- a/src/hof_pc.c +++ b/src/hof_pc.c @@ -7,10 +7,6 @@ #include "script_menu.h" #include "task.h" -extern void Overworld_PlaySpecialMapMusic(void); -extern bool16 ScrSpecial_CreatePCMenu(void); -extern void ScriptMenu_DisplayPCStartupPrompt(void); - static void ReshowPCMenuAfterHallOfFamePC(void); static void Task_WaitForPaletteFade(u8); diff --git a/src/ice.c b/src/ice.c index 34ad572e8f..fa1913b967 100644 --- a/src/ice.c +++ b/src/ice.c @@ -21,30 +21,29 @@ struct HailStruct { }; static void sub_810B6C4(struct Sprite *); -extern void sub_810B848(struct Sprite *); -extern void AnimIcePunchSwirlingParticle(struct Sprite *); -extern void AnimIceBeamParticle(struct Sprite *); -extern void AnimIceEffectParticle(struct Sprite *); -extern void AnimFlickerIceEffectParticle(struct Sprite *); -extern void AnimSwirlingSnowball_Step1(struct Sprite *); -extern void AnimSwirlingSnowball_Step2(struct Sprite *); -extern void AnimSwirlingSnowball_Step3(struct Sprite *); -extern void AnimSwirlingSnowball_End(struct Sprite *); -extern void AnimMoveParticleBeyondTarget(struct Sprite *); -extern void AnimWiggleParticleTowardsTarget(struct Sprite *); -extern void AnimWaveFromCenterOfTarget(struct Sprite *); -extern void InitSwirlingFogAnim(struct Sprite *); -extern void AnimSwirlingFogAnim(struct Sprite *); -extern void AnimThrowMistBall(struct Sprite *); -extern void InitPoisonGasCloudAnim(struct Sprite *); -extern void MovePoisonGasCloud(struct Sprite *); -extern void AnimHailBegin(struct Sprite *); -extern void AnimHailContinue(struct Sprite *); -extern void sub_80A8EE4(struct Sprite *); -extern void InitIceBallAnim(struct Sprite *); -extern void AnimThrowIceBall(struct Sprite *); -extern void InitIceBallParticle(struct Sprite *); -extern void AnimIceBallParticle(struct Sprite *); +void sub_810B848(struct Sprite *); +void AnimIcePunchSwirlingParticle(struct Sprite *); +void AnimIceBeamParticle(struct Sprite *); +void AnimIceEffectParticle(struct Sprite *); +void AnimFlickerIceEffectParticle(struct Sprite *); +void AnimSwirlingSnowball_Step1(struct Sprite *); +void AnimSwirlingSnowball_Step2(struct Sprite *); +void AnimSwirlingSnowball_Step3(struct Sprite *); +void AnimSwirlingSnowball_End(struct Sprite *); +void AnimMoveParticleBeyondTarget(struct Sprite *); +void AnimWiggleParticleTowardsTarget(struct Sprite *); +void AnimWaveFromCenterOfTarget(struct Sprite *); +void InitSwirlingFogAnim(struct Sprite *); +void AnimSwirlingFogAnim(struct Sprite *); +void AnimThrowMistBall(struct Sprite *); +void InitPoisonGasCloudAnim(struct Sprite *); +void MovePoisonGasCloud(struct Sprite *); +void AnimHailBegin(struct Sprite *); +void AnimHailContinue(struct Sprite *); +void InitIceBallAnim(struct Sprite *); +void AnimThrowIceBall(struct Sprite *); +void InitIceBallParticle(struct Sprite *); +void AnimIceBallParticle(struct Sprite *); void AnimTask_Haze2(u8); void AnimTask_OverlayFogTiles(u8); void AnimTask_Hail2(u8); diff --git a/src/item_menu.c b/src/item_menu.c index b3d341c2ee..8774445752 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -140,7 +140,6 @@ void unknown_ItemMenu_Confirm2(u8 taskId); void unknown_item_menu_type(u8 taskId); void item_menu_type_2(u8 taskId); void display_sell_item_ask_str(u8 taskId); -void unknown_ItemMenu_Confirm(u8 taskId); void display_deposit_item_ask_str(u8 taskId); void item_menu_type_b(u8 taskId); void BagMenuActuallyToss(u8 taskId); diff --git a/src/item_use.c b/src/item_use.c index 16fb22d94d..f9d81bfc08 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -8,13 +8,15 @@ #include "coins.h" #include "data2.h" #include "event_data.h" -#include "fieldmap.h" #include "event_object_movement.h" +#include "fieldmap.h" +#include "field_effect.h" #include "field_player_avatar.h" #include "field_screen_effect.h" #include "field_weather.h" #include "item.h" #include "item_menu.h" +#include "item_use.h" #include "mail.h" #include "main.h" #include "menu.h" @@ -39,29 +41,13 @@ #include "constants/vars.h" #include "event_obj_lock.h" -extern void unknown_ItemMenu_Confirm(u8 taskId); -extern void sub_81C5B14(u8 taskId); -extern void ItemUseOutOfBattle_TMHM(u8 a); -extern void ItemUseOutOfBattle_EvolutionStone(u8 b); -extern bool8 IsPlayerFacingSurfableFishableWater(void); -extern bool8 sub_81221AC(void); extern u8 Route102_EventScript_274482[]; extern u8 Route102_EventScript_2744C0[]; extern u8 BattleFrontier_OutsideEast_EventScript_242CFC[]; -extern int sub_80247BC(void); -extern struct MapHeader* mapconnection_get_mapheader(struct MapConnection *connection); -extern void SetUpItemUseCallback(u8 taskId); -extern void ItemUseCB_Medicine(u8, TaskFunc); -extern void bag_menu_yes_no(u8, u8, const struct YesNoFuncTable*); -extern void sub_81C5924(void); -extern void sub_81C59BC(void); -extern void sub_81AB9A8(u8); -extern void StartEscapeRopeFieldEffect(void); -extern u8* sub_806CF78(u16); -extern void sub_81B89F0(void); -extern u8 GetItemEffectType(u16); -extern struct MapConnection *sub_8088A8C(s16, s16); +extern s32 sub_80247BC(void); + +void SetUpItemUseCallback(u8 taskId); void MapPostLoadHook_UseItem(void); void sub_80AF6D4(void); void Task_CallItemUseOnFieldCallback(u8 taskId); @@ -404,12 +390,12 @@ bool8 sub_80FD6D4(const struct MapEvents *events, s16 x, s16 y) bool8 sub_80FD730(struct MapConnection *connection, int x, int y) { - struct MapHeader *mapHeader; + u16 localX, localY; u32 localOffset; s32 localLength; - mapHeader = mapconnection_get_mapheader(connection); + struct MapHeader const *const mapHeader = mapconnection_get_mapheader(connection); switch (connection->direction) { diff --git a/src/link.c b/src/link.c index 72ac3e8787..05da4e4588 100644 --- a/src/link.c +++ b/src/link.c @@ -1893,7 +1893,7 @@ u32 GetLinkRecvQueueLength(void) return gLink.recvQueue.count; } -bool8 sub_800B504(void) +bool32 sub_800B504(void) { if (GetLinkRecvQueueLength() > 2) { diff --git a/src/link_rfu.c b/src/link_rfu.c index 8da6b166a8..d80ff2ae91 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -17,9 +17,9 @@ #include "text.h" #include "constants/species.h" #include "save.h" +#include "rom_8011DC0.h" extern u16 gHeldKeyCodeToSend; -extern void nullsub_89(u8 taskId); struct UnkRfuStruct_1 gUnknown_03004140; struct UnkRfuStruct_2 gUnknown_03005000; diff --git a/src/load_save.c b/src/load_save.c index 0d19c6dae2..a0d2568d31 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -11,10 +11,10 @@ #include "trainer_hill.h" #include "gba/flash_internal.h" #include "decoration_inventory.h" +#include "agb_flash.h" static void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey); -extern bool16 IdentifyFlash(void); extern void ApplyNewEncryptionKeyToBerryPowder(u32 key); #define SAVEBLOCK_MOVE_RANGE 128 diff --git a/src/main.c b/src/main.c index 61c5e33865..aa42c59585 100644 --- a/src/main.c +++ b/src/main.c @@ -24,9 +24,6 @@ #include "main.h" #include "trainer_hill.h" -extern void sub_800B9B8(void); -extern u8 gUnknown_03002748; - static void VBlankIntr(void); static void HBlankIntr(void); static void VCountIntr(void); @@ -313,8 +310,6 @@ void SetSerialCallback(IntrCallback callback) gMain.serialCallback = callback; } -extern void CopyBufferedValuesToGpuRegs(void); - static void VBlankIntr(void) { if (gWirelessCommType != 0) diff --git a/src/match_call.c b/src/match_call.c index e7e91969f1..ce15731646 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -111,8 +111,6 @@ static void PopulateSpeciesFromTrainerParty(int, u8 *); static void PopulateBattleFrontierFacilityName(int, u8 *); static void PopulateBattleFrontierStreak(int, u8 *); -extern void sub_81973A4(void); - #define TEXT_ID(topic, id) (((topic) << 8) | ((id) & 0xFF)) static const struct MatchCallTrainerTextInfo sMatchCallTrainers[] = diff --git a/src/menu.c b/src/menu.c index ae589dff4c..e82a6355c0 100644 --- a/src/menu.c +++ b/src/menu.c @@ -122,20 +122,18 @@ const struct MoveMenuInfoIcon gMoveMenuInfoIcons[] = { 8, 8, 0xAF }, // Unused (Small dark pokeball) }; + // Forward declarations -extern void sub_81973A4(void); -extern void DrawStandardFrame(u8, u8, u8, u8, u8, u8); -extern void DrawDialogueFrame(u8, u8, u8, u8, u8, u8); -extern void sub_81977BC(u8, u8, u8, u8, u8, u8); -extern void sub_8197804(u8, u8, u8, u8, u8, u8); -extern void sub_8197BB4(u8, u8, u8, u8, u8, u8); -extern void sub_8197E30(u8, u8, u8, u8, u8, u8); -extern void DrawWindowBorder(u8, u8, u8, u8, u8, u8); -extern void sub_81980A8(u8, u8, u8, u8, u8, u8); -extern u8 Menu_MoveCursor(s8); -extern u8 sub_8199134(s8, s8); -extern void sub_8198C78(void); -extern void task_free_buf_after_copying_tile_data_to_vram(u8 taskId); +void DrawStandardFrame(u8, u8, u8, u8, u8, u8); +void DrawDialogueFrame(u8, u8, u8, u8, u8, u8); +void sub_81977BC(u8, u8, u8, u8, u8, u8); +void sub_8197804(u8, u8, u8, u8, u8, u8); +void sub_8197BB4(u8, u8, u8, u8, u8, u8); +void sub_8197E30(u8, u8, u8, u8, u8, u8); +void DrawWindowBorder(u8, u8, u8, u8, u8, u8); +void sub_81980A8(u8, u8, u8, u8, u8, u8); +void task_free_buf_after_copying_tile_data_to_vram(u8 taskId); +void sub_8198C78(void); void InitStandardTextBoxWindows(void) { diff --git a/src/menu_helpers.c b/src/menu_helpers.c index 846c23b6b6..1f9979ecac 100644 --- a/src/menu_helpers.c +++ b/src/menu_helpers.c @@ -18,8 +18,6 @@ #include "constants/items.h" #include "constants/maps.h" -extern bool32 sub_800B504(void); - // this file's functions static void Task_ContinueTaskAfterMessagePrints(u8 taskId); static void Task_CallYesOrNoCallback(u8 taskId); diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c index 4196bb34c2..dba914b512 100644 --- a/src/mystery_event_script.c +++ b/src/mystery_event_script.c @@ -17,8 +17,6 @@ #include "mystery_event_msg.h" #include "pokemon_storage_system.h" -extern void sub_811EFC0(u8); - extern ScrCmdFunc gMysteryEventScriptCmdTable[]; extern ScrCmdFunc gMysteryEventScriptCmdTableEnd[]; diff --git a/src/option_menu.c b/src/option_menu.c index 122ba8d8af..caeb3d5daa 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -13,8 +13,7 @@ #include "text_window.h" #include "international_string_util.h" #include "strings.h" - -extern void SetPokemonCryStereo(u32 val); +#include "gba/m4a_internal.h" // Task data enum diff --git a/src/poison.c b/src/poison.c index c86ec2cd82..9af981694c 100644 --- a/src/poison.c +++ b/src/poison.c @@ -3,8 +3,6 @@ #include "trig.h" #include "constants/rgb.h" -extern void sub_80A77C8(struct Sprite *); - void sub_810DBAC(struct Sprite *); void sub_810DC2C(struct Sprite *); void sub_810DCD0(struct Sprite *); diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index b1f182b660..42a71ad52f 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -55,8 +55,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const u16 gUnknown_0860F074[]; -extern bool8 sub_81221EC(void); - // this file's functions static void HandleInitBackgrounds(void); static void HandleInitWindows(void); diff --git a/src/pokemon.c b/src/pokemon.c index a35033d498..a984abbb98 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -10,6 +10,7 @@ #include "battle_tower.h" #include "event_data.h" #include "evolution_scene.h" +#include "field_specials.h" #include "item.h" #include "link.h" #include "main.h" @@ -72,10 +73,6 @@ extern const struct CompressedSpritePalette gMonPaletteTable[]; extern const struct CompressedSpritePalette gMonShinyPaletteTable[]; extern const u8 gTrainerClassNames[][13]; -extern u16 get_unknown_box_id(void); -extern void set_unknown_box_id(u8); -extern bool8 sub_806F104(void); - // this file's functions static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon); static union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 personality, u8 substructType); diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c index b0e14d2b17..98d83d8ce4 100644 --- a/src/pokemon_size_record.c +++ b/src/pokemon_size_record.c @@ -1,5 +1,6 @@ #include "global.h" #include "event_data.h" +#include "pokedex.h" #include "pokemon.h" #include "pokemon_size_record.h" #include "string_util.h" @@ -15,9 +16,6 @@ struct UnknownStruct u16 unk4; }; -extern u16 GetPokedexHeightWeight(u16 dexNo, bool8 height); -extern u16 SpeciesToNationalPokedexNum(u16 species); - static const struct UnknownStruct sBigMonSizeTable[] = { { 290, 1, 0 }, diff --git a/src/script_menu.c b/src/script_menu.c index 7180bfc607..d9dbc770c2 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -1312,7 +1312,7 @@ static void Task_HandleMultichoiceGridInput(u8 taskId) #undef tWindowId -bool8 ScrSpecial_CreatePCMenu(void) +bool16 ScrSpecial_CreatePCMenu(void) { if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE) { diff --git a/src/water.c b/src/water.c index d13b1378e8..c856b9aa45 100644 --- a/src/water.c +++ b/src/water.c @@ -41,7 +41,6 @@ extern void sub_8108BE0(struct Sprite *); extern void sub_8108C08(struct Sprite *); extern void sub_8108C54(struct Sprite *); extern void sub_8108CDC(struct Sprite *); -extern void sub_80A8EE4(struct Sprite *); void sub_810756C(u8); void sub_81076F4(u8); void sub_8107B84(u8); From 49bef258567b8ac6ead607de8ce0ac64581cdb55 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sat, 2 Mar 2019 03:18:08 -0500 Subject: [PATCH 06/47] Clean up the last extern functions --- include/agb_flash.h | 1 + include/battle_anim.h | 1 + include/dewford_trend.h | 2 ++ include/match_call.h | 1 + include/pokedex.h | 1 + include/pokemon_icon.h | 1 + include/pokenav.h | 1 + include/rom_8011DC0.h | 1 + include/save.h | 3 +++ include/script.h | 3 +++ include/secret_base.h | 2 ++ include/text.h | 4 +++ src/dewford_trend.c | 4 +-- src/pokenav.c | 10 +++---- src/pokenav_match_call.c | 4 +-- src/record_mixing.c | 3 +-- src/reshow_battle_screen.c | 3 +-- src/rock.c | 2 -- src/rom_8011DC0.c | 3 +-- src/save.c | 9 +++---- src/secret_base.c | 2 -- src/start_menu.c | 18 ++++--------- src/text.c | 4 --- src/trainer_card.c | 4 +-- src/trainer_see.c | 2 -- src/unk_text_util_2.c | 2 +- src/water.c | 55 +++++++++++++++++++------------------- 27 files changed, 69 insertions(+), 77 deletions(-) diff --git a/include/agb_flash.h b/include/agb_flash.h index 3dd60df0f1..ba5820f016 100644 --- a/include/agb_flash.h +++ b/include/agb_flash.h @@ -9,5 +9,6 @@ u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void)); u16 IdentifyFlash(void); +u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src); #endif //GUARD_AGB_FLASH_H diff --git a/include/battle_anim.h b/include/battle_anim.h index 4e241686fd..ac47cadf14 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -221,6 +221,7 @@ void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, // battle_anim_effects_1.c void sub_810310C(u8 battler, struct Sprite* sprite); +void AnimMoveTwisterParticle(struct Sprite* sprite); // smokescreen.c u8 sub_807521C(s16 x, s16 y, u8 a3); diff --git a/include/dewford_trend.h b/include/dewford_trend.h index 608a925f57..bdb0fc95cf 100644 --- a/include/dewford_trend.h +++ b/include/dewford_trend.h @@ -5,5 +5,7 @@ void InitDewfordTrend(void); void UpdateDewfordTrendPerDay(u16); void UpdateDewfordTrendPerDay(u16 days); bool8 sub_81226D8(u16 *a); +void ReceiveEasyChatPairsData(struct EasyChatPair *a, size_t b, u8 unused); + #endif // GUARD_DEWFORDTREND_H diff --git a/include/match_call.h b/include/match_call.h index 1bf654937d..6803d2f260 100644 --- a/include/match_call.h +++ b/include/match_call.h @@ -15,5 +15,6 @@ void InitMatchCallCounters(void); bool32 TryStartMatchCall(void); bool32 IsMatchCallTaskActive(void); void StartMatchCallFromScript(u8* script); +void sub_8197080(u8 *destStr); #endif //GUARD_MATCH_CALL_H diff --git a/include/pokedex.h b/include/pokedex.h index c3700c8112..a1b7378bfc 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -44,5 +44,6 @@ u16 CreateMonSpriteFromNationalDexNumber(u16, s16, s16, u16); bool16 HasAllHoennMons(void); void ResetPokedexScrollPositions(void); u16 sub_80C0944(void); +void CB2_Pokedex(void); #endif // GUARD_POKEDEX_H diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 4f27ef2811..c7b895028c 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -23,5 +23,6 @@ void LoadMonIconPalette(u16 species); void sub_80D328C(struct Sprite *sprite); void sub_80D3014(struct Sprite *sprite); void sub_80D32C8(struct Sprite *sprite, u8 animNum); +u8 sub_80D30A0(u16 species); #endif // GUARD_POKEMON_ICON_H diff --git a/include/pokenav.h b/include/pokenav.h index e5dba8ae09..29ccaec3e5 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -30,5 +30,6 @@ u32 sub_81D427C(void); void sub_81D4998(void); void sub_81D3640(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); void sub_81D3784(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); +void CB2_InitPokeNav(void); #endif //GUARD_POKENAV_H diff --git a/include/rom_8011DC0.h b/include/rom_8011DC0.h index 9940a5b441..ac9bbb5c30 100644 --- a/include/rom_8011DC0.h +++ b/include/rom_8011DC0.h @@ -18,5 +18,6 @@ void sub_801B990(u32, u32); u8 sub_8013F78(void); bool32 sub_802C908(u16); void nullsub_89(u8 taskId); +void var_800D_set_xB(void); #endif //GUARD_rom_8011DC0_H diff --git a/include/save.h b/include/save.h index 7ce86de705..88e5f22806 100644 --- a/include/save.h +++ b/include/save.h @@ -92,4 +92,7 @@ u32 TryCopySpecialSaveSection(u8 sector, u8* dst); u32 sub_8153634(u8 sector, u8* src); void sub_8153688(u8 taskId); +// save_failed_screen.c +void DoSaveFailedScreen(u8 saveType); + #endif // GUARD_SAVE_H diff --git a/include/script.h b/include/script.h index 386b388d02..34f4635bb3 100644 --- a/include/script.h +++ b/include/script.h @@ -61,4 +61,7 @@ bool32 sub_80991F8(void); u8 *sub_8099244(void); void sub_80992A0(u8 *script, u16 scriptSize); +// srccmd.h +void sub_809BE48(u16 npcId); + #endif // GUARD_SCRIPT_H diff --git a/include/secret_base.h b/include/secret_base.h index 699158d0e6..17efc314d3 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -33,6 +33,8 @@ void sub_80E8B6C(void); void sub_80E8BC8(void); void sub_80E8D4C(void); void EnableBothScriptContexts(void); +void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx); + #endif //GUARD_SECRET_BASE_H diff --git a/include/text.h b/include/text.h index 96c5a45071..d8f2fd8a35 100644 --- a/include/text.h +++ b/include/text.h @@ -284,4 +284,8 @@ void DecompressGlyphFont1(u16 glyphId, bool32 isJapanese); u32 GetGlyphWidthFont1(u16 glyphId, bool32 isJapanese); void DecompressGlyphFont9(u16 glyphId); +// unk_text_util_2.c +u16 Font6Func(struct TextPrinter *textPrinter); +u32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese); + #endif // GUARD_TEXT_H diff --git a/src/dewford_trend.c b/src/dewford_trend.c index cad5ef9c2a..ee310af04a 100644 --- a/src/dewford_trend.c +++ b/src/dewford_trend.c @@ -159,7 +159,7 @@ static void sub_8122804(struct EasyChatPair *s, u16 b, u8 c) } } -void ReceiveEasyChatPairsData(void *a, u32 b, u8 unused) +void ReceiveEasyChatPairsData(struct EasyChatPair *a, size_t size, u8 unused) { u16 i, j, r3, players; struct EasyChatPair *buffer1, *buffer2, *src, *dst, *foo_of_buffer2; @@ -176,7 +176,7 @@ void ReceiveEasyChatPairsData(void *a, u32 b, u8 unused) { players = GetLinkPlayerCount(); for (i = 0; i < players; i++) - memcpy(&(buffer1[i * 5]), (u8 *)a + i * b, 40); + memcpy(&(buffer1[i * 5]), (u8 *)a + i * size, 40); src = buffer1; dst = buffer2; r3 = 0; diff --git a/src/pokenav.c b/src/pokenav.c index 41434606cb..62ec75842b 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -141,7 +141,7 @@ void sub_81C7710(void); static void InitKeys_(void); static void FreeVars(void); static void VblankCb_Pokenav(void); -static void Cb2_Pokenav(void); +static void CB2_Pokenav(void); void sub_81C7C28(void); void sub_81C72BC(void); void sub_81C7B74(void); @@ -485,7 +485,7 @@ void sub_81C71E4(u8 taskId) } } -void CB2_PokeNav(void) +void CB2_InitPokeNav(void) { gUnknown_0203CF40 = Alloc(sizeof(*gUnknown_0203CF40)); if (gUnknown_0203CF40 == NULL) @@ -498,7 +498,7 @@ void CB2_PokeNav(void) ResetTasks(); SetVBlankCallback(NULL); CreateTask(sub_81C742C, 0); - SetMainCallback2(Cb2_Pokenav); + SetMainCallback2(CB2_Pokenav); SetVBlankCallback(VblankCb_Pokenav); } } @@ -529,7 +529,7 @@ void sub_81C72BC(void) FreeAllSpritePalettes(); SetVBlankCallback(NULL); CreateTask(sub_81C742C, 0); - SetMainCallback2(Cb2_Pokenav); + SetMainCallback2(CB2_Pokenav); SetVBlankCallback(VblankCb_Pokenav); } } @@ -588,7 +588,7 @@ static bool32 AnyMonHasRibbon(void) return FALSE; } -static void Cb2_Pokenav(void) +static void CB2_Pokenav(void) { RunTasks(); AnimateSprites(); diff --git a/src/pokenav_match_call.c b/src/pokenav_match_call.c index 53f9f05484..b775ed10e3 100644 --- a/src/pokenav_match_call.c +++ b/src/pokenav_match_call.c @@ -1,13 +1,11 @@ - -// Includes #include "global.h" #include "battle_setup.h" #include "event_data.h" #include "string_util.h" #include "battle.h" #include "gym_leader_rematch.h" +#include "match_call.h" -extern void sub_8197080(u8 *dest); extern const u8 gTrainerClassNames[][13]; // Static type declarations diff --git a/src/record_mixing.c b/src/record_mixing.c index aafd7284ba..ce9bacf4cd 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -34,9 +34,8 @@ #include "daycare.h" #include "international_string_util.h" #include "constants/battle_frontier.h" +#include "dewford_trend.h" -extern void ReceiveSecretBasesData(struct SecretBaseRecord *, size_t, u8); -extern void ReceiveEasyChatPairsData(struct EasyChatPair *, size_t, u8); // Static type declarations diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index 0926d4569e..dd177f8842 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -2,6 +2,7 @@ #include "reshow_battle_screen.h" #include "battle.h" #include "palette.h" +#include "pokemon.h" #include "main.h" #include "scanline_effect.h" #include "text.h" @@ -18,8 +19,6 @@ extern const union AnimCmd * const * const gMonAnimationsSpriteAnimsPtrTable[]; -extern void SetMultiuseSpriteTemplateToTrainerBack(u16 backPicId, u8 battlerPosition); - // this file's functions static void CB2_ReshowBattleScreenAfterMenu(void); static bool8 LoadBattlerSpriteGfx(u8 battlerId); diff --git a/src/rock.c b/src/rock.c index 14ffc63e01..814b1d88bf 100644 --- a/src/rock.c +++ b/src/rock.c @@ -12,8 +12,6 @@ extern const union AnimCmd *const gUnknown_085950E0[]; extern const union AnimCmd *const gUnknown_085954D0[]; -extern void AnimMoveTwisterParticle(struct Sprite *); - void sub_81109F0(struct Sprite *); void sub_8110AB4(struct Sprite *); void AnimDirtParticleAcrossScreen(struct Sprite *); diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c index 27472b6e38..b0e861fac3 100644 --- a/src/rom_8011DC0.c +++ b/src/rom_8011DC0.c @@ -33,8 +33,7 @@ #include "start_menu.h" #include "data2.h" #include "field_screen_effect.h" - -extern void HealPlayerParty(void); +#include "script_pokemon_util_80F87D8.h" struct UnkStruct_Shared { diff --git a/src/save.c b/src/save.c index d07e597661..ff26ce4606 100644 --- a/src/save.c +++ b/src/save.c @@ -1,5 +1,7 @@ #include "global.h" +#include "agb_flash.h" #include "gba/flash_internal.h" +#include "fieldmap.h" #include "save.h" #include "task.h" #include "decompress.h" @@ -8,6 +10,7 @@ #include "pokemon_storage_system.h" #include "main.h" #include "trainer_hill.h" +#include "link.h" #include "constants/game_stat.h" static u16 CalculateChecksum(void *data, u16 size); @@ -70,12 +73,6 @@ const struct SaveSectionOffsets gSaveSectionOffsets[] = SAVEBLOCK_CHUNK(gPokemonStorage, 8), }; -extern void DoSaveFailedScreen(u8); // save_failed_screen -extern bool32 ProgramFlashSectorAndVerify(u8 sector, u8 *data); -extern void save_serialize_map(void); -extern void sub_800ADF8(void); -extern bool8 IsLinkTaskFinished(void); - // iwram common u16 gLastWrittenSector; u32 gLastSaveCounter; diff --git a/src/secret_base.c b/src/secret_base.c index 3e591eba2c..8bb216452d 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -43,8 +43,6 @@ #include "constants/species.h" #include "constants/trainers.h" -extern void mapldr_default(void); - // Static type declarations struct SecretBaseListMenuBuffer { diff --git a/src/start_menu.c b/src/start_menu.c index 79404d0b2d..1052b640c2 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -7,10 +7,12 @@ #include "event_object_movement.h" #include "event_obj_lock.h" #include "event_scripts.h" +#include "fieldmap.h" #include "field_effect.h" #include "field_player_avatar.h" #include "field_specials.h" #include "field_weather.h" +#include "field_screen_effect.h" #include "frontier_pass.h" #include "frontier_util.h" #include "gpu_regs.h" @@ -26,6 +28,7 @@ #include "palette.h" #include "party_menu.h" #include "pokedex.h" +#include "pokenav.h" #include "safari_zone.h" #include "save.h" #include "scanline_effect.h" @@ -40,6 +43,7 @@ #include "trainer_card.h" #include "window.h" #include "constants/songs.h" +#include "rom_8011DC0.h" // Menu actions enum @@ -84,18 +88,6 @@ EWRAM_DATA static u8 sSaveDialogTimer = 0; EWRAM_DATA static bool8 sSavingComplete = FALSE; EWRAM_DATA static u8 sSaveInfoWindowId = 0; -// Extern variables. -extern u8 gLocalLinkPlayerId; - -// Extern functions in not decompiled files. -extern void sub_80AF688(void); -extern void var_800D_set_xB(void); -extern void sub_808B864(void); -extern void CB2_Pokedex(void); -extern void PlayRainStoppingSoundEffect(void); -extern void CB2_PokeNav(void); -extern void save_serialize_map(void); - // Menu action callbacks static bool8 StartMenuPokedexCallback(void); static bool8 StartMenuPokemonCallback(void); @@ -656,7 +648,7 @@ static bool8 StartMenuPokeNavCallback(void) PlayRainStoppingSoundEffect(); RemoveExtraStartMenuWindows(); CleanupOverworldWindowsAndTilemaps(); - SetMainCallback2(CB2_PokeNav); // Display PokeNav + SetMainCallback2(CB2_InitPokeNav); // Display PokeNav return TRUE; } diff --git a/src/text.c b/src/text.c index a439d3ced8..bdc0f14f79 100644 --- a/src/text.c +++ b/src/text.c @@ -12,10 +12,6 @@ #include "menu.h" #include "dynamic_placeholder_text_util.h" -extern u8 GetKeypadIconWidth(u8 keypadIconId); -extern u16 Font6Func(struct TextPrinter *textPrinter); -extern u32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese); - EWRAM_DATA struct TextPrinter gTempTextPrinter = {0}; EWRAM_DATA struct TextPrinter gTextPrinters[NUM_TEXT_PRINTERS] = {0}; diff --git a/src/trainer_card.c b/src/trainer_card.c index 4fb30f616c..41bf71cd33 100755 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -21,6 +21,7 @@ #include "gpu_regs.h" #include "international_string_util.h" #include "pokedex.h" +#include "pokemon_icon.h" #include "graphics.h" #include "pokemon_icon.h" #include "trainer_pokemon_sprites.h" @@ -89,9 +90,6 @@ struct TrainerCardData u8 language; }; -//external functions -extern u8 sub_80D30A0(u16); - // EWRAM EWRAM_DATA struct TrainerCard gTrainerCards[4] = {0}; EWRAM_DATA static struct TrainerCardData *sData = NULL; diff --git a/src/trainer_see.c b/src/trainer_see.c index bc5d9cbc39..16ea88a455 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -17,8 +17,6 @@ #include "constants/event_object_movement_constants.h" #include "constants/field_effects.h" -extern void sub_809BE48(u16 npcId); - // this file's functions static u8 CheckTrainer(u8 eventObjectId); static u8 GetTrainerApproachDistance(struct EventObject *trainerObj); diff --git a/src/unk_text_util_2.c b/src/unk_text_util_2.c index bbc256915f..530bd40852 100644 --- a/src/unk_text_util_2.c +++ b/src/unk_text_util_2.c @@ -214,7 +214,7 @@ static void DecompressGlyphFont6(u16 glyph) gUnknown_03002F90.unk81 = 0x10; } -u8 GetGlyphWidthFont6(void) +u32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese) { return 0x10; } diff --git a/src/water.c b/src/water.c index c856b9aa45..20bf2542d3 100644 --- a/src/water.c +++ b/src/water.c @@ -13,34 +13,33 @@ #include "constants/battle.h" #include "constants/rgb.h" -extern void sub_810721C(struct Sprite *); -extern void sub_8107228(struct Sprite *); -extern void sub_8107260(struct Sprite *); -extern void sub_8107380(struct Sprite *); -extern void sub_8107408(struct Sprite *); -extern void sub_8107430(struct Sprite *); -extern void sub_810744C(struct Sprite *); -extern void sub_81074E4(struct Sprite *); -extern void sub_81075EC(struct Sprite *); -extern void sub_8107674(struct Sprite *); -extern void sub_8107730(struct Sprite *); -extern void sub_81077A4(struct Sprite *); -extern void sub_81077C0(struct Sprite *); -extern void sub_80A78AC(struct Sprite *); -extern void sub_8107894(struct Sprite *); -extern void sub_81078D0(struct Sprite *); -extern void sub_810790C(struct Sprite *); -extern void sub_8108034(struct Sprite *); -extern void sub_8108098(struct Sprite *); -extern void sub_810851C(struct Sprite *); -extern void sub_81087C0(struct Sprite *); -extern void sub_810886C(struct Sprite *); -extern void sub_8108B2C(struct Sprite *); -extern void sub_8108B94(struct Sprite *); -extern void sub_8108BE0(struct Sprite *); -extern void sub_8108C08(struct Sprite *); -extern void sub_8108C54(struct Sprite *); -extern void sub_8108CDC(struct Sprite *); +void sub_810721C(struct Sprite *); +void sub_8107228(struct Sprite *); +void sub_8107260(struct Sprite *); +void sub_8107380(struct Sprite *); +void sub_8107408(struct Sprite *); +void sub_8107430(struct Sprite *); +void sub_810744C(struct Sprite *); +void sub_81074E4(struct Sprite *); +void sub_81075EC(struct Sprite *); +void sub_8107674(struct Sprite *); +void sub_8107730(struct Sprite *); +void sub_81077A4(struct Sprite *); +void sub_81077C0(struct Sprite *); +void sub_8107894(struct Sprite *); +void sub_81078D0(struct Sprite *); +void sub_810790C(struct Sprite *); +void sub_8108034(struct Sprite *); +void sub_8108098(struct Sprite *); +void sub_810851C(struct Sprite *); +void sub_81087C0(struct Sprite *); +void sub_810886C(struct Sprite *); +void sub_8108B2C(struct Sprite *); +void sub_8108B94(struct Sprite *); +void sub_8108BE0(struct Sprite *); +void sub_8108C08(struct Sprite *); +void sub_8108C54(struct Sprite *); +void sub_8108CDC(struct Sprite *); void sub_810756C(u8); void sub_81076F4(u8); void sub_8107B84(u8); From 80a4ee11457e82092f52a3aef5362f8b59b68633 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sat, 2 Mar 2019 17:23:10 -0500 Subject: [PATCH 07/47] Remove water.h and flying.h --- include/battle_anim.h | 6 ++++++ include/flying.h | 6 ------ include/water.h | 6 ------ src/battle_anim_effects_2.c | 1 - src/battle_anim_effects_3.c | 1 - src/electric.c | 1 - src/normal.c | 1 - 7 files changed, 6 insertions(+), 16 deletions(-) delete mode 100644 include/flying.h delete mode 100644 include/water.h diff --git a/include/battle_anim.h b/include/battle_anim.h index ac47cadf14..b3350f893d 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -223,6 +223,12 @@ void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, void sub_810310C(u8 battler, struct Sprite* sprite); void AnimMoveTwisterParticle(struct Sprite* sprite); +// water.c +void sub_8108C94(struct Sprite *sprite); + +// flying.c +void sub_810E2C8(struct Sprite *sprite); + // smokescreen.c u8 sub_807521C(s16 x, s16 y, u8 a3); diff --git a/include/flying.h b/include/flying.h deleted file mode 100644 index 062320b4d2..0000000000 --- a/include/flying.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef GUARD_FLYING_H -#define GUARD_FLYING_H - -void sub_810E2C8(struct Sprite *sprite); - -#endif // GUARD_FLYING_H \ No newline at end of file diff --git a/include/water.h b/include/water.h deleted file mode 100644 index 9f876021c4..0000000000 --- a/include/water.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef GUARD_WATER_H -#define GUARD_WATER_H - -void sub_8108C94(struct Sprite *sprite); - -#endif // GUARD_WATER_H \ No newline at end of file diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index a72b2c8dce..80b3258b45 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -15,7 +15,6 @@ #include "util.h" #include "constants/rgb.h" #include "constants/songs.h" -#include "water.h" void sub_8103448(struct Sprite *); void sub_8103498(struct Sprite *); diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index de00892ba4..efa2620fd5 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -23,7 +23,6 @@ #include "constants/songs.h" #include "constants/species.h" #include "constants/weather.h" -#include "flying.h" extern const struct SpriteTemplate gUnknown_08593114; extern const union AffineAnimCmd *const gUnknown_082FF6C0[]; diff --git a/src/electric.c b/src/electric.c index 6c6c337467..5e77298421 100644 --- a/src/electric.c +++ b/src/electric.c @@ -4,7 +4,6 @@ #include "trig.h" #include "constants/songs.h" #include "sound.h" -#include "flying.h" static void sub_810A1A8(struct Sprite *); static void sub_810A1F8(struct Sprite *); diff --git a/src/normal.c b/src/normal.c index cbf0caa83c..2b592e1998 100644 --- a/src/normal.c +++ b/src/normal.c @@ -5,7 +5,6 @@ #include "task.h" #include "trig.h" #include "constants/rgb.h" -#include "flying.h" void AnimConfusionDuck(struct Sprite *); void AnimSimplePaletteBlend(struct Sprite *); From 4907ce6f7f5e8d73c32f6d8746ba64465502df03 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sun, 3 Mar 2019 02:50:40 -0500 Subject: [PATCH 08/47] Fully document move_tutor (formerly learn_move) --- asm/rom_81D1C44.s | 60 +- data/rom_81D1C44.s | 31 +- include/field_screen_effect.h | 2 +- include/list_menu.h | 2 +- include/{learn_move.h => move_tutor.h} | 2 +- include/pokenav.h | 10 +- include/strings.h | 16 +- ld_script.txt | 4 +- src/battle_pyramid_bag.c | 12 +- src/decoration.c | 2 +- src/egg_hatch.c | 2 +- src/field_screen_effect.c | 26 +- src/field_specials.c | 6 +- src/item_menu.c | 4 +- src/learn_move.c | 833 --------------------- src/list_menu.c | 4 +- src/move_tutor.c | 976 +++++++++++++++++++++++++ src/overworld.c | 2 +- src/party_menu.c | 2 +- src/player_pc.c | 6 +- src/pokeblock.c | 10 +- src/roulette.c | 2 +- src/secret_base.c | 4 +- src/shop.c | 2 +- src/strings.c | 16 +- src/trade.c | 2 +- src/walda_phrase.c | 2 +- sym_ewram.txt | 2 +- 28 files changed, 1090 insertions(+), 952 deletions(-) rename include/{learn_move.h => move_tutor.h} (76%) delete mode 100644 src/learn_move.c create mode 100644 src/move_tutor.c diff --git a/asm/rom_81D1C44.s b/asm/rom_81D1C44.s index a9ef8e4f20..df17e6ae07 100644 --- a/asm/rom_81D1C44.s +++ b/asm/rom_81D1C44.s @@ -1579,12 +1579,12 @@ _081D2800: .pool thumb_func_end sub_81D2754 - thumb_func_start sub_81D2824 -sub_81D2824: @ 81D2824 + thumb_func_start InitMoveTutorWindows +InitMoveTutorWindows: @ 81D2824 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, =gUnknown_08625510 + ldr r0, =gMoveTutorWindowTemplates bl InitWindows bl DeactivateAllTextPrinters movs r0, 0 @@ -1645,21 +1645,21 @@ _081D288E: pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_81D2824 + thumb_func_end InitMoveTutorWindows thumb_func_start nullsub_79 nullsub_79: @ 81D28C4 bx lr thumb_func_end nullsub_79 - thumb_func_start sub_81D28C8 -sub_81D28C8: @ 81D28C8 + thumb_func_start LoadMoveTutorMovesList +LoadMoveTutorMovesList: @ 81D28C8 push {r4-r7,lr} lsls r1, 16 lsrs r4, r1, 16 ldr r3, =gMultiuseListMenuTemplate adds r2, r3, 0 - ldr r1, =gUnknown_08625548 + ldr r1, =gMoveTutorMovesListTemplate ldm r1!, {r5-r7} stm r2!, {r5-r7} ldm r1!, {r5-r7} @@ -1679,10 +1679,10 @@ _081D28F4: pop {r4-r7} pop {r1} bx r1 - thumb_func_end sub_81D28C8 + thumb_func_end LoadMoveTutorMovesList - thumb_func_start sub_81D28FC -sub_81D28FC: @ 81D28FC + thumb_func_start MoveTutorLoadBattleMoveDescription +MoveTutorLoadBattleMoveDescription: @ 81D28FC push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -1884,16 +1884,16 @@ _081D2AB6: pop {r0} bx r0 .pool - thumb_func_end sub_81D28FC + thumb_func_end MoveTutorLoadBattleMoveDescription - thumb_func_start sub_81D2ACC -sub_81D2ACC: @ 81D2ACC + thumb_func_start MoveTutorMenuLoadContestMoveDescription +MoveTutorMenuLoadContestMoveDescription: @ 81D2ACC push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0xC adds r4, r0, 0 - bl ShowHideHearts + bl MoveTutorShowHideHearts movs r0, 0x1 movs r1, 0x11 bl FillWindowPixelBuffer @@ -1997,10 +1997,10 @@ _081D2BB8: pop {r0} bx r0 .pool - thumb_func_end sub_81D2ACC + thumb_func_end MoveTutorMenuLoadContestMoveDescription - thumb_func_start sub_81D2BD0 -sub_81D2BD0: @ 81D2BD0 + thumb_func_start MoveTutorCursorCallback +MoveTutorCursorCallback: @ 81D2BD0 push {r4,lr} adds r4, r0, 0 lsls r1, 24 @@ -2011,16 +2011,16 @@ sub_81D2BD0: @ 81D2BD0 bl PlaySE _081D2BE2: adds r0, r4, 0 - bl sub_81D28FC + bl MoveTutorLoadBattleMoveDescription adds r0, r4, 0 - bl sub_81D2ACC + bl MoveTutorMenuLoadContestMoveDescription pop {r4} pop {r0} bx r0 - thumb_func_end sub_81D2BD0 + thumb_func_end MoveTutorCursorCallback - thumb_func_start sub_81D2BF4 -sub_81D2BF4: @ 81D2BF4 + thumb_func_start MoveTutorPrintText +MoveTutorPrintText: @ 81D2BF4 push {r4,lr} sub sp, 0x10 adds r4, r0, 0 @@ -2052,10 +2052,10 @@ sub_81D2BF4: @ 81D2BF4 pop {r0} bx r0 .pool - thumb_func_end sub_81D2BF4 + thumb_func_end MoveTutorPrintText - thumb_func_start sub_81D2C3C -sub_81D2C3C: @ 81D2C3C + thumb_func_start MoveTutorRunTextPrinters +MoveTutorRunTextPrinters: @ 81D2C3C push {lr} bl RunTextPrinters movs r0, 0x3 @@ -2064,12 +2064,12 @@ sub_81D2C3C: @ 81D2C3C lsrs r0, 16 pop {r1} bx r1 - thumb_func_end sub_81D2C3C + thumb_func_end MoveTutorRunTextPrinters - thumb_func_start sub_81D2C50 -sub_81D2C50: @ 81D2C50 + thumb_func_start MoveTutorCreateYesNoMenu +MoveTutorCreateYesNoMenu: @ 81D2C50 push {lr} - ldr r0, =gUnknown_08625540 + ldr r0, =gMoveTutorYesNoMenuTemplate movs r1, 0x1 movs r2, 0xE movs r3, 0 @@ -2077,7 +2077,7 @@ sub_81D2C50: @ 81D2C50 pop {r0} bx r0 .pool - thumb_func_end sub_81D2C50 + thumb_func_end MoveTutorCreateYesNoMenu thumb_func_start sub_81D2C68 sub_81D2C68: @ 81D2C68 diff --git a/data/rom_81D1C44.s b/data/rom_81D1C44.s index 9a012a6a71..f9bd20bad7 100644 --- a/data/rom_81D1C44.s +++ b/data/rom_81D1C44.s @@ -23,27 +23,22 @@ gUnknown_08625404:: @ 8625404 gUnknown_08625410:: @ 8625410 .byte 4, 5, 6, 7, 8, 9, 9, 0xA, 0xA, 0xB, 0xB, 0xC, 0xC, 0xD, 0xD, 0xD, 0xD, 0xE, 0xE, 0xE, 0xE, 0xF, 0xF, 0xF, 0xF, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23 -gUnknown_08625510:: @ 8625510 - .4byte 0x10010101 - .4byte 0xA0F0C - .4byte 0x10010101 - .4byte 0xCA0F0C - .4byte 0xA011301 - .4byte 0x18A0F0C - .4byte 0x160F0401 - .4byte 0x2020F04 - .4byte 0x5081600 - .4byte 0x25A0F04 - .4byte 0xFF - .4byte NULL +gMoveTutorWindowTemplates:: @ 8625510s + window_template 1, 1, 1, 16, 12, 0xF, 0x000A + window_template 1, 1, 1, 16, 12, 0xF, 0x00CA + window_template 1, 19, 1, 10, 12, 0xF, 0x018A + window_template 1, 4, 15, 22, 4, 0xF, 0x0202 + window_template 0, 22, 8, 5, 4, 0xF, 0x025A + null_window_template -gUnknown_08625540:: @ 8625540 - .4byte 0x5081600 - .4byte 0x25A0F04 +gMoveTutorYesNoMenuTemplate:: @ 8625540 + window_template 0, 22, 8, 5, 4, 0xF, 0x025A + @.4byte 0x5081600 + @.4byte 0x25A0F04 -gUnknown_08625548:: @ 8625548 +gMoveTutorMovesListTemplate:: @ 8625548 struct ListMenuTemplate .4byte NULL - .4byte sub_81D2BD0 + .4byte MoveTutorCursorCallback .4byte NULL .2byte 0 .2byte 0 diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index 2b8b3a5a3a..a1cf580cdd 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.h @@ -5,7 +5,7 @@ void pal_fill_for_maplights(void); void pal_fill_black(void); void WarpFadeScreen(void); void sub_80AF128(void); -void sub_80AF168(void); +void FieldCallback_ReturnToEventScript2(void); void sub_80AF188(void); void sub_80AF214(void); void sub_80AF2B4(u8 taskId); diff --git a/include/list_menu.h b/include/list_menu.h index ef23688d85..a301e5b327 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -4,7 +4,7 @@ #include "window.h" #define LIST_NOTHING_CHOSEN -1 -#define LIST_B_PRESSED -2 +#define LIST_CANCEL -2 #define LIST_HEADER -3 #define LIST_NO_MULTIPLE_SCROLL 0 diff --git a/include/learn_move.h b/include/move_tutor.h similarity index 76% rename from include/learn_move.h rename to include/move_tutor.h index 542ae6a5af..e3e5da1d4b 100644 --- a/include/learn_move.h +++ b/include/move_tutor.h @@ -2,6 +2,6 @@ #define GUARD_LEARN_MOVE_H void TeachMoveTutorMove(void); -void ShowHideHearts(s32); +void MoveTutorShowHideHearts(s32); #endif //GUARD_LEARN_MOVE_H diff --git a/include/pokenav.h b/include/pokenav.h index e5dba8ae09..f80123757d 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -20,11 +20,11 @@ void sub_81D1EC0(void); void sub_81D1D04(u8); bool8 sub_81D1C44(u8); bool8 sub_81D4A58(struct EventObject*); -void sub_81D2BF4(u8 *); -u16 sub_81D2C3C(void); -void sub_81D2C50(void); -u8 sub_81D28C8(const struct ListMenuItem *items, u16 numChoices); -void sub_81D2824(u16); +void MoveTutorPrintText(u8 *); +u16 MoveTutorRunTextPrinters(void); +void MoveTutorCreateYesNoMenu(void); +u8 LoadMoveTutorMovesList(const struct ListMenuItem *items, u16 numChoices); +void InitMoveTutorWindows(bool8 useContextWindow); bool8 EventObjectIsFarawayIslandMew(struct EventObject *); u32 sub_81D427C(void); void sub_81D4998(void); diff --git a/include/strings.h b/include/strings.h index 3899b63aa5..bd1a5349c6 100644 --- a/include/strings.h +++ b/include/strings.h @@ -859,15 +859,15 @@ extern const u8 gText_Winona[]; extern const u8 gText_Phoebe[]; extern const u8 gText_Glacia[]; -extern const u8 gText_PkmnLearnedMove4[]; -extern const u8 gText_PkmnTryingToLearnMove[]; -extern const u8 gText_WhichMoveToForget2[]; -extern const u8 gText_StopTryingToTeachMove[]; -extern const u8 gText_12AndPoof[]; -extern const u8 gText_PkmnForgotMoveAndLearnedNew[]; +extern const u8 gText_MoveTutorPkmnLearnedMove[]; +extern const u8 gText_MoveTutorPkmnTryingToLearnMove[]; +extern const u8 gText_MoveTutorWhichMoveToForget[]; +extern const u8 gText_MoveTutorStopTryingToTeachMove[]; +extern const u8 gText_MoveTutorAndPoof[]; +extern const u8 gText_MoveTutorPkmnForgotMoveAndLearnedNew[]; extern const u8 gText_TeachWhichMoveToPkmn[]; -extern const u8 gText_GiveUpTeachingNewMove[]; -extern const u8 gText_TeachX[]; +extern const u8 gText_MoveTutorGiveUp[]; +extern const u8 gText_MoveTutorTeachMoveConfirm[]; extern const u8 gText_Kira[]; extern const u8 gText_Amy[]; diff --git a/ld_script.txt b/ld_script.txt index acfd535f89..12756b5bc5 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -226,7 +226,7 @@ SECTIONS { src/battle_controller_safari.o(.text); src/fldeff_sweetscent.o(.text); src/battle_anim_effects_3.o(.text); - src/learn_move.o(.text); + src/move_tutor.o(.text); src/fldeff_softboiled.o(.text); src/decoration_inventory.o(.text); src/roamer.o(.text); @@ -535,7 +535,7 @@ SECTIONS { src/contest_ai.o(.rodata); src/battle_controller_safari.o(.rodata); src/battle_anim_effects_3.o(.rodata); - src/learn_move.o(.rodata); + src/move_tutor.o(.rodata); src/roamer.o(.rodata); src/battle_tower.o(.rodata); src/use_pokeblock.o(.rodata); diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index 1f0672dcb1..ed25c4a569 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -576,7 +576,7 @@ static void SetBagItemsListTemplate(void) } StringCopy(gPyramidBagResources->itemStrings[i], gText_CloseBag); gPyramidBagResources->bagListItems[i].name = gPyramidBagResources->itemStrings[i]; - gPyramidBagResources->bagListItems[i].id = LIST_B_PRESSED; + gPyramidBagResources->bagListItems[i].id = LIST_CANCEL; gMultiuseListMenuTemplate = gUnknown_0861F2C0; gMultiuseListMenuTemplate.totalItems = gPyramidBagResources->listMenuCount; gMultiuseListMenuTemplate.items = gPyramidBagResources->bagListItems; @@ -607,7 +607,7 @@ static void PyramidBagMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMen if (gPyramidBagResources->unk814 == 0xFF) { sub_81C6FF8(gPyramidBagResources->unk815 ^ 1); - if (itemIndex != LIST_B_PRESSED) + if (itemIndex != LIST_CANCEL) ShowItemImage(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][itemIndex], gPyramidBagResources->unk815); else ShowItemImage(0xFFFF, gPyramidBagResources->unk815); @@ -619,7 +619,7 @@ static void PyramidBagMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMen static void PrintItemQuantity(u8 windowId, s32 itemIndex, u8 y) { s32 xAlign; - if (itemIndex == LIST_B_PRESSED) + if (itemIndex == LIST_CANCEL) return; if (gPyramidBagResources->unk814 != 0xFF) @@ -641,7 +641,7 @@ static void PrintItemQuantity(u8 windowId, s32 itemIndex, u8 y) static void PrintItemDescription(s32 listMenuId) { const u8 *desc; - if (listMenuId != LIST_B_PRESSED) + if (listMenuId != LIST_CANCEL) { desc = ItemId_GetDescription(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][listMenuId]); } @@ -859,7 +859,7 @@ static void Task_HandlePyramidBagInput(u8 taskId) { case LIST_NOTHING_CHOSEN: break; - case LIST_B_PRESSED: + case LIST_CANCEL: PlaySE(SE_SELECT); gSpecialVar_ItemId = 0; sub_81C5B14(taskId); @@ -1293,7 +1293,7 @@ static void Task_ItemSwapHandleInput(u8 taskId) { case LIST_NOTHING_CHOSEN: break; - case LIST_B_PRESSED: + case LIST_CANCEL: PlaySE(SE_SELECT); if (gMain.newKeys & A_BUTTON) PerformItemSwap(taskId); diff --git a/src/decoration.c b/src/decoration.c index fb6cbb10a5..3c93336257 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -939,7 +939,7 @@ void sub_812764C(u8 taskId) { case LIST_NOTHING_CHOSEN: break; - case LIST_B_PRESSED: + case LIST_CANCEL: PlaySE(SE_SELECT); SecretBasePC_SelectedDecorActions[data[11]][1](taskId); break; diff --git a/src/egg_hatch.c b/src/egg_hatch.c index ba10206696..e5280a136f 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -469,7 +469,7 @@ static void Task_EggHatch(u8 taskID) { CleanupOverworldWindowsAndTilemaps(); SetMainCallback2(CB2_EggHatch_0); - gFieldCallback = sub_80AF168; + gFieldCallback = FieldCallback_ReturnToEventScript2; DestroyTask(taskID); } } diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index e7476dea3a..4027fdffc7 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -58,7 +58,7 @@ static void task0A_fade_n_map_maybe(u8); static void sub_808115C(u8); static void palette_bg_faded_fill_white(void); static void sub_80AF438(u8); -static bool32 sub_80AF71C(void); +static bool32 WaitForWeatherFadeIn(void); static void task0A_mpl_807E31C(u8 taskId); static void sub_80AFA0C(u8 taskId); static void sub_80AFA88(u8 taskId); @@ -133,7 +133,7 @@ static void sub_80AF0F4(u8 arg) static void task0A_nop_for_a_while(u8 taskId) { - if (sub_80AF71C() == TRUE) + if (WaitForWeatherFadeIn() == TRUE) DestroyTask(taskId); } @@ -147,14 +147,14 @@ void sub_80AF128(void) static void task0A_asap_script_env_2_enable_and_set_ctx_running(u8 taskID) { - if (sub_80AF71C() == TRUE) + if (WaitForWeatherFadeIn() == TRUE) { DestroyTask(taskID); EnableBothScriptContexts(); } } -void sub_80AF168(void) +void FieldCallback_ReturnToEventScript2(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); @@ -187,7 +187,7 @@ static void task_mpl_807DD60(u8 taskId) } break; case 2: - if (sub_80AF71C() == TRUE) + if (WaitForWeatherFadeIn() == TRUE) { ScriptContext2_Disable(); DestroyTask(taskId); @@ -227,7 +227,7 @@ static void sub_80AF234(u8 taskId) } break; case 2: - if (sub_80AF71C() == TRUE) + if (WaitForWeatherFadeIn() == TRUE) { sub_8009F18(); ScriptContext2_Disable(); @@ -347,7 +347,7 @@ static void sub_80AF438(u8 taskId) task->data[0] = 1; break; case 1: - if (sub_80AF71C()) + if (WaitForWeatherFadeIn()) { u8 eventObjId; sub_80AF0F4(1); @@ -395,7 +395,7 @@ static void task_map_chg_seq_0807E20C(u8 taskId) task->data[0] = 1; break; case 1: - if (sub_80AF71C()) + if (WaitForWeatherFadeIn()) { u8 eventObjId; sub_80AF0F4(1); @@ -428,7 +428,7 @@ static void task_map_chg_seq_0807E2CC(u8 taskId) gTasks[taskId].data[0]++; break; case 1: - if (sub_80AF71C()) + if (WaitForWeatherFadeIn()) { UnfreezeEventObjects(); ScriptContext2_Disable(); @@ -440,7 +440,7 @@ static void task_map_chg_seq_0807E2CC(u8 taskId) static void sub_80AF660(u8 taskId) { - if (sub_80AF71C() == TRUE) + if (WaitForWeatherFadeIn() == TRUE) { DestroyTask(taskId); CreateTask(sub_809FA34, 80); @@ -462,7 +462,7 @@ bool8 sub_80AF6A4(void) static void task_mpl_807E3C8(u8 taskId) { - if (sub_80AF71C() == 1) + if (WaitForWeatherFadeIn() == 1) { ScriptContext2_Disable(); DestroyTask(taskId); @@ -490,7 +490,7 @@ static bool32 PaletteFadeActive(void) return gPaletteFade.active; } -static bool32 sub_80AF71C(void) +static bool32 WaitForWeatherFadeIn(void) { if (IsWeatherNotFadingIn() == TRUE) return TRUE; @@ -1021,7 +1021,7 @@ static void task0A_mpl_807E31C(u8 taskId) gTasks[taskId].data[0]++; break; case 1: - if (sub_80AF71C() && sub_808D1B4() != TRUE) + if (WaitForWeatherFadeIn() && sub_808D1B4() != TRUE) { UnfreezeEventObjects(); ScriptContext2_Disable(); diff --git a/src/field_specials.c b/src/field_specials.c index 3919855827..0122dc32ce 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -2610,7 +2610,7 @@ static void sub_813A4EC(u8 taskId) { case LIST_NOTHING_CHOSEN: break; - case LIST_B_PRESSED: + case LIST_CANCEL: gSpecialVar_Result = 0x7F; PlaySE(SE_SELECT); sub_813A570(taskId); @@ -2690,10 +2690,10 @@ static void sub_813A664(u8 taskId) static void sub_813A694(u8 taskId) { static const struct ScrollArrowsTemplate gUnknown_085B3030 = { - .firstArrowType = 2, + .firstArrowType = SCROLL_ARROW_UP, .firstX = 0, .firstY = 0, - .secondArrowType = 3, + .secondArrowType = SCROLL_ARROW_DOWN, .secondX = 0, .secondY = 0, .fullyUpThreshold = 0, diff --git a/src/item_menu.c b/src/item_menu.c index 7b48a2d5d2..a3a0d80808 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -1108,7 +1108,7 @@ void Task_BagMenu(u8 taskId) { case LIST_NOTHING_CHOSEN: break; - case LIST_B_PRESSED: + case LIST_CANCEL: if (gUnknown_0203CE58.location == 5) { PlaySE(SE_HAZURE); @@ -1324,7 +1324,7 @@ void sub_81AC3C0(u8 taskId) { case LIST_NOTHING_CHOSEN: break; - case LIST_B_PRESSED: + case LIST_CANCEL: PlaySE(SE_SELECT); if (gMain.newKeys & A_BUTTON) sub_81AC498(taskId); diff --git a/src/learn_move.c b/src/learn_move.c deleted file mode 100644 index 7a6916013a..0000000000 --- a/src/learn_move.c +++ /dev/null @@ -1,833 +0,0 @@ -#include "global.h" -#include "main.h" -#include "battle.h" -#include "bg.h" -#include "contest_effect.h" -#include "data2.h" -#include "event_data.h" -#include "field_screen_effect.h" -#include "gpu_regs.h" -#include "learn_move.h" -#include "list_menu.h" -#include "alloc.h" -#include "menu.h" -#include "menu_helpers.h" -#include "overworld.h" -#include "palette.h" -#include "pokemon_summary_screen.h" -#include "pokenav.h" -#include "script.h" -#include "sound.h" -#include "sprite.h" -#include "string_util.h" -#include "strings.h" -#include "task.h" -#include "constants/rgb.h" -#include "constants/songs.h" - -static EWRAM_DATA struct -{ - u8 state; - u8 spriteIds[16]; /*0x001*/ - u16 movesToLearn[4]; /*0x012*/ - u8 filler1A[0x44 - 0x1A]; /*0x01A*/ - u8 partyMon; /*0x044*/ - u8 moveSlot; /*0x045*/ - struct ListMenuItem menuItems[20]; /*0x048*/ - u8 fillerE8[0x110 - 0xE8]; /*0x0E8*/ - u8 numMenuChoices; /*0x110*/ - u8 numToShowAtOnce; /*0x111*/ - u8 listMenuTask; /*0x112*/ - u8 scrollArrowTaskId1; /*0x113*/ - u8 scrollArrowTaskId2; /*0x114*/ - u16 scrollOffset; /*0x116*/ -} *sLearnMoveStruct = {0}; - -static EWRAM_DATA struct { - u16 listOffset; - u16 listRow; - u8 showContestInfo; -} sLearnMoveStruct2 = {0}; - -const u16 gUnknown_085CE9F8[] = INCBIN_U16("graphics/interface/ui_learn_move.gbapal"); -const u8 gUnknown_085CEA18[] = INCBIN_U8("graphics/interface/ui_learn_move.4bpp"); - -const struct OamData gUnknown_085CEB98 = -{ - .y = 0, - .affineMode = 0, - .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, - .bpp = ST_OAM_4BPP, - .shape = ST_OAM_SQUARE, - .x = 0, - .matrixNum = 0, - .size = 0, - .tileNum = 0, - .priority = 0, - .paletteNum = 0, - .affineParam = 0, -}; - -const struct OamData gUnknown_085CEBA0 = -{ - .y = 0, - .affineMode = 0, - .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, - .bpp = ST_OAM_4BPP, - .shape = ST_OAM_V_RECTANGLE, - .x = 0, - .matrixNum = 0, - .size = 0, - .tileNum = 0, - .priority = 0, - .paletteNum = 0, - .affineParam = 0, -}; - -const struct OamData gUnknown_085CEBA8 = -{ - .y = 0, - .affineMode = 0, - .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = 0, - .bpp = ST_OAM_4BPP, - .shape = ST_OAM_H_RECTANGLE, - .x = 0, - .matrixNum = 0, - .size = 0, - .tileNum = 0, - .priority = 0, - .paletteNum = 0, - .affineParam = 0, -}; - -const struct SpriteSheet gUnknown_085CEBB0 = -{ - .data = gUnknown_085CEA18, - .size = 0x180, - .tag = 5525 -}; - -const struct SpritePalette gUnknown_085CEBB8 = -{ - .data = gUnknown_085CE9F8, - .tag = 5526 -}; - -const struct ScrollArrowsTemplate gUnknown_085CEBC0 = -{ - .firstArrowType = 0, - .firstX = 27, - .firstY = 16, - .secondArrowType = 1, - .secondX = 117, - .secondY = 16, - .fullyUpThreshold = -1, - .fullyDownThreshold = -1, - .tileTag = 5325, - .palTag = 5325, - .palNum = 0, -}; - -const struct ScrollArrowsTemplate gUnknown_085CEBD0 = -{ - .firstArrowType = 2, - .firstX = 192, - .firstY = 8, - .secondArrowType = 3, - .secondX = 192, - .secondY = 104, - .fullyUpThreshold = 0, - .fullyDownThreshold = 0, - .tileTag = 5425, - .palTag = 5425, - .palNum = 0, -}; - -const union AnimCmd gUnknown_085CEBE0[] = -{ - ANIMCMD_FRAME(8, 5, FALSE, FALSE), - ANIMCMD_END -}; - -const union AnimCmd gUnknown_085CEBE8[] = -{ - ANIMCMD_FRAME(9, 5, FALSE, FALSE), - ANIMCMD_END -}; - -const union AnimCmd gUnknown_085CEBF0[] = -{ - ANIMCMD_FRAME(10, 5, FALSE, FALSE), - ANIMCMD_END -}; - -const union AnimCmd gUnknown_085CEBF8[] = -{ - ANIMCMD_FRAME(11, 5, FALSE, FALSE), - ANIMCMD_END -}; - -const union AnimCmd *const gUnknown_085CEC00[] = -{ - gUnknown_085CEBE0, - gUnknown_085CEBE8, - gUnknown_085CEBF0, - gUnknown_085CEBF8, -}; - -const struct SpriteTemplate gUnknown_085CEC10 = -{ - .tileTag = 5525, - .paletteTag = 5526, - .oam = &gUnknown_085CEB98, - .anims = gUnknown_085CEC00, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCallbackDummy -}; - -const struct BgTemplate gUnknown_085CEC28[] = -{ - { - .bg = 0, - .charBaseIndex = 0, - .mapBaseIndex = 31, - .screenSize = 0, - .paletteMode = 0, - .priority = 0, - .baseTile = 0, - }, - { - .bg = 1, - .charBaseIndex = 0, - .mapBaseIndex = 30, - .screenSize = 0, - .paletteMode = 0, - .priority = 1, - .baseTile = 0, - }, -}; - -static void LearnMoveMain(void); -static void CreateMenuItemsList(void); -static void CreateHearts(void); -static void CB2_Main(void); -static void Task_WaitForFadeOut(u8 taskId); -static void CB2_InitLearnMove(void); -static void CB2_InitLearnMoveReturnFromSelectMove(void); -static void InitBGs(void); -static void AddScrollArrows(void); -static void HandleInput(u8); -static void ShowTeachMoveText(u8); -static s32 GetCurrentItemId(void); -static void FreeListMenuResources(void); -static void RemoveScrollArrows(void); -static void HideSpritesAndPrintTeachText(bool8); - -static void VBlankCB_LearnMove(void) -{ - LoadOam(); - ProcessSpriteCopyRequests(); - TransferPlttBuffer(); -} - -void TeachMoveTutorMove(void) -{ - ScriptContext2_Enable(); - CreateTask(Task_WaitForFadeOut, 0xA); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); -} - -static void Task_WaitForFadeOut(u8 taskId) -{ - if (!gPaletteFade.active) - { - SetMainCallback2(CB2_InitLearnMove); - gFieldCallback = sub_80AF168; - DestroyTask(taskId); - } -} - -static void CB2_InitLearnMove(void) -{ - ResetSpriteData(); - FreeAllSpritePalettes(); - ResetTasks(); - clear_scheduled_bg_copies_to_vram(); - sLearnMoveStruct = AllocZeroed(sizeof(*sLearnMoveStruct)); - sLearnMoveStruct->partyMon = gSpecialVar_0x8004; - SetVBlankCallback(VBlankCB_LearnMove); - - InitBGs(); - sub_81D2824(0); - - sLearnMoveStruct2.listOffset = 0; - sLearnMoveStruct2.listRow = 0; - sLearnMoveStruct2.showContestInfo = FALSE; - - CreateMenuItemsList(); - - LoadSpriteSheet(&gUnknown_085CEBB0); - LoadSpritePalette(&gUnknown_085CEBB8); - CreateHearts(); - - sLearnMoveStruct->listMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sLearnMoveStruct2.listOffset, sLearnMoveStruct2.listRow); - FillPalette(RGB_BLACK, 0, 2); - SetMainCallback2(CB2_Main); -} - -static void CB2_InitLearnMoveReturnFromSelectMove(void) -{ - ResetSpriteData(); - FreeAllSpritePalettes(); - ResetTasks(); - clear_scheduled_bg_copies_to_vram(); - sLearnMoveStruct = AllocZeroed(sizeof(*sLearnMoveStruct)); - sLearnMoveStruct->state = 28; - sLearnMoveStruct->partyMon = gSpecialVar_0x8004; - sLearnMoveStruct->moveSlot = gSpecialVar_0x8005; - SetVBlankCallback(VBlankCB_LearnMove); - - InitBGs(); - sub_81D2824(sLearnMoveStruct2.showContestInfo); - CreateMenuItemsList(); - - LoadSpriteSheet(&gUnknown_085CEBB0); - LoadSpritePalette(&gUnknown_085CEBB8); - CreateHearts(); - - sLearnMoveStruct->listMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sLearnMoveStruct2.listOffset, sLearnMoveStruct2.listRow); - FillPalette(RGB_BLACK, 0, 2); - SetMainCallback2(CB2_Main); -} - -static void InitBGs(void) -{ - ResetVramOamAndBgCntRegs(); - ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_085CEC28, 2); - ResetAllBgsCoordinates(); - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | - DISPCNT_OBJ_ON); - ShowBg(0); - ShowBg(1); - SetGpuReg(REG_OFFSET_BLDCNT, 0); -} - -static void CB2_Main(void) -{ - LearnMoveMain(); - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - do_scheduled_bg_tilemap_copies_to_vram(); - UpdatePaletteFade(); -} - -static void sub_816084C(const u8 *src) -{ - StringExpandPlaceholders(gStringVar4, src); - sub_81D2BF4(gStringVar4); -} - -static void LearnMoveMain(void) -{ - switch (sLearnMoveStruct->state) - { - case 0: - sLearnMoveStruct->state++; - HideSpritesAndPrintTeachText(FALSE); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); - break; - case 1: - if (!gPaletteFade.active) - { - sLearnMoveStruct->state = 4; - } - break; - case 2: - sLearnMoveStruct->state++; - break; - case 3: - HideSpritesAndPrintTeachText(FALSE); - sLearnMoveStruct->state++; - AddScrollArrows(); - break; - case 4: - HandleInput(FALSE); - return; - case 5: - ShowTeachMoveText(FALSE); - sLearnMoveStruct->state++; - AddScrollArrows(); - break; - case 6: - HandleInput(TRUE); - break; - case 8: - if (!sub_81D2C3C()) - { - sub_81D2C50(); - sLearnMoveStruct->state++; - } - break; - case 9: - { - s8 selection = Menu_ProcessInputNoWrapClearOnChoose(); - - if (selection == 0) - { - if (GiveMoveToMon(&gPlayerParty[sLearnMoveStruct->partyMon], GetCurrentItemId()) != 0xFFFF) - { - sub_816084C(gText_PkmnLearnedMove4); - gSpecialVar_0x8004 = 1; - sLearnMoveStruct->state = 31; - } - else - { - sLearnMoveStruct->state = 16; - } - } - else if (selection == -1 || selection == 1) - { - if (sLearnMoveStruct2.showContestInfo == FALSE) - { - sLearnMoveStruct->state = 3; - } - else if (sLearnMoveStruct2.showContestInfo == TRUE) - { - sLearnMoveStruct->state = 5; - } - } - } - break; - case 12: - if (!sub_81D2C3C()) - { - sub_81D2C50(); - sLearnMoveStruct->state++; - } - break; - case 13: - { - s8 selection = Menu_ProcessInputNoWrapClearOnChoose(); - - if (selection == 0) - { - gSpecialVar_0x8004 = selection; - sLearnMoveStruct->state = 14; - } - else if (selection == -1 || selection == 1) - { - if (sLearnMoveStruct2.showContestInfo == FALSE) - { - sLearnMoveStruct->state = 3; - } - else if (sLearnMoveStruct2.showContestInfo == TRUE) - { - sLearnMoveStruct->state = 5; - } - } - } - break; - case 16: - sub_816084C(gText_PkmnTryingToLearnMove); - sLearnMoveStruct->state++; - break; - case 17: - if (!sub_81D2C3C()) - { - sub_81D2C50(); - sLearnMoveStruct->state = 18; - } - break; - case 18: - { - s8 var = Menu_ProcessInputNoWrapClearOnChoose(); - - if (var == 0) - { - sub_816084C(gText_WhichMoveToForget2); - sLearnMoveStruct->state = 19; - } - else if (var == -1 || var == 1) - { - sLearnMoveStruct->state = 24; - } - } - break; - case 24: - StringCopy(gStringVar2, gMoveNames[GetCurrentItemId()]); - sub_816084C(gText_StopTryingToTeachMove); - sLearnMoveStruct->state++; - break; - case 25: - if (!sub_81D2C3C()) - { - sub_81D2C50(); - sLearnMoveStruct->state++; - } - break; - case 26: - { - s8 var = Menu_ProcessInputNoWrapClearOnChoose(); - - if (var == 0) - { - sLearnMoveStruct->state = 27; - } - else if (var == -1 || var == 1) - { - // What's the point? It gets set to 16, anyway. - if (sLearnMoveStruct2.showContestInfo == FALSE) - { - sLearnMoveStruct->state = 3; - } - else if (sLearnMoveStruct2.showContestInfo == TRUE) - { - sLearnMoveStruct->state = 5; - } - sLearnMoveStruct->state = 16; - } - } - break; - case 27: - if (!sub_81D2C3C()) - { - FillWindowPixelBuffer(3, 0x11); - if (sLearnMoveStruct2.showContestInfo == FALSE) - { - sLearnMoveStruct->state = 3; - } - else if (sLearnMoveStruct2.showContestInfo == TRUE) - { - sLearnMoveStruct->state = 5; - } - } - break; - case 19: - if (!sub_81D2C3C()) - { - sLearnMoveStruct->state = 20; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - } - break; - case 20: - if (!gPaletteFade.active) - { - ShowSelectMovePokemonSummaryScreen(gPlayerParty, sLearnMoveStruct->partyMon, gPlayerPartyCount - 1, CB2_InitLearnMoveReturnFromSelectMove, GetCurrentItemId()); - FreeListMenuResources(); - } - break; - case 21: - if (!sub_81D2C3C()) - { - sLearnMoveStruct->state = 14; - } - break; - case 22: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); - break; - case 14: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - sLearnMoveStruct->state++; - break; - case 15: - if (!gPaletteFade.active) - { - FreeListMenuResources(); - SetMainCallback2(CB2_ReturnToField); - } - break; - case 28: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); - sLearnMoveStruct->state++; - if (sLearnMoveStruct2.showContestInfo == FALSE) - { - HideSpritesAndPrintTeachText(TRUE); - } - else if (sLearnMoveStruct2.showContestInfo == TRUE) - { - ShowTeachMoveText(TRUE); - } - RemoveScrollArrows(); - CopyWindowToVram(3, 2); - break; - case 29: - if (!gPaletteFade.active) - { - if (sLearnMoveStruct->moveSlot == MAX_MON_MOVES) - { - sLearnMoveStruct->state = 24; - } - else - { - u16 moveId = GetMonData(&gPlayerParty[sLearnMoveStruct->partyMon], MON_DATA_MOVE1 + sLearnMoveStruct->moveSlot); - - StringCopy(gStringVar3, gMoveNames[moveId]); - RemoveMonPPBonus(&gPlayerParty[sLearnMoveStruct->partyMon], sLearnMoveStruct->moveSlot); - SetMonMoveSlot(&gPlayerParty[sLearnMoveStruct->partyMon], GetCurrentItemId(), sLearnMoveStruct->moveSlot); - StringCopy(gStringVar2, gMoveNames[GetCurrentItemId()]); - sub_816084C(gText_12AndPoof); - sLearnMoveStruct->state = 30; - gSpecialVar_0x8004 = 1; - } - } - break; - case 30: - if (!sub_81D2C3C()) - { - sub_816084C(gText_PkmnForgotMoveAndLearnedNew); - sLearnMoveStruct->state = 31; - PlayFanfare(MUS_FANFA1); - } - break; - case 31: - if (!sub_81D2C3C()) - { - PlayFanfare(MUS_FANFA1); - sLearnMoveStruct->state = 32; - } - break; - case 32: - if (IsFanfareTaskInactive()) - { - sLearnMoveStruct->state = 33; - } - break; - case 33: - if (gMain.newKeys & A_BUTTON) - { - PlaySE(SE_SELECT); - sLearnMoveStruct->state = 14; - } - break; - } -} - -static void FreeListMenuResources(void) -{ - RemoveScrollArrows(); - DestroyListMenuTask(sLearnMoveStruct->listMenuTask, &sLearnMoveStruct2.listOffset, &sLearnMoveStruct2.listRow); - FreeAllWindowBuffers(); - FREE_AND_SET_NULL(sLearnMoveStruct); - ResetSpriteData(); - FreeAllSpritePalettes(); -} - -static void HideSpritesAndPrintTeachText(bool8 a) -{ - s32 i; - - for (i = 0; i < 16; i++) - { - gSprites[sLearnMoveStruct->spriteIds[i]].invisible = TRUE; - } - - if (!a) - { - StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToPkmn); - FillWindowPixelBuffer(3, 0x11); - AddTextPrinterParameterized(3, 1, gStringVar4, 0, 1, 0, NULL); - } -} - -static void HandleInput(bool8 showContest) -{ - s32 itemId = ListMenu_ProcessInput(sLearnMoveStruct->listMenuTask); - ListMenuGetScrollAndRow(sLearnMoveStruct->listMenuTask, &sLearnMoveStruct2.listOffset, &sLearnMoveStruct2.listRow); - - switch (itemId) - { - case LIST_NOTHING_CHOSEN: - if (!(gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT)) && !GetLRKeysState()) - { - break; - } - - PlaySE(SE_SELECT); - - if (showContest == FALSE) - { - PutWindowTilemap(1); - sLearnMoveStruct->state = 5; - sLearnMoveStruct2.showContestInfo = TRUE; - } - else - { - PutWindowTilemap(0); - sLearnMoveStruct->state = 3; - sLearnMoveStruct2.showContestInfo = FALSE; - } - - schedule_bg_copy_tilemap_to_vram(1); - ShowHideHearts(GetCurrentItemId()); - break; - case LIST_B_PRESSED: - PlaySE(SE_SELECT); - RemoveScrollArrows(); - sLearnMoveStruct->state = 12; - StringExpandPlaceholders(gStringVar4, gText_GiveUpTeachingNewMove); - sub_81D2BF4(gStringVar4); - break; - default: - PlaySE(SE_SELECT); - RemoveScrollArrows(); - sLearnMoveStruct->state = 8; - StringCopy(gStringVar2, gMoveNames[itemId]); - StringExpandPlaceholders(gStringVar4, gText_TeachX); - sub_81D2BF4(gStringVar4); - break; - } -} - -static s32 GetCurrentItemId(void) -{ - return sLearnMoveStruct->menuItems[sLearnMoveStruct2.listRow + sLearnMoveStruct2.listOffset].id; -} - -static void ShowTeachMoveText(bool8 showContest) -{ - if (showContest == FALSE) - { - StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToPkmn); - FillWindowPixelBuffer(3, 0x11); - AddTextPrinterParameterized(3, 1, gStringVar4, 0, 1, 0, NULL); - } -} - -static void CreateHearts(void) -{ - int i; - - sLearnMoveStruct->scrollArrowTaskId2 = -1; - sLearnMoveStruct->scrollArrowTaskId1 = -1; - AddScrollArrows(); - - for (i = 0; i < 8; i++) - { - sLearnMoveStruct->spriteIds[i] = CreateSprite(&gUnknown_085CEC10, (i - (i / 4) * 4) * 8 + 104, (i / 4) * 8 + 36, 0); - } - - for (i = 0; i < 8; i++) - { - sLearnMoveStruct->spriteIds[i + 8] = CreateSprite(&gUnknown_085CEC10, (i - (i / 4) * 4) * 8 + 104, (i / 4) * 8 + 52, 0); - StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i + 8]], 2); - } - - for (i = 0; i < 16; i++) - { - gSprites[sLearnMoveStruct->spriteIds[i]].invisible = TRUE; - } -} - -static void AddScrollArrows(void) -{ - if (sLearnMoveStruct->scrollArrowTaskId2 == 0xFF) - { - sLearnMoveStruct->scrollArrowTaskId2 = AddScrollIndicatorArrowPair(&gUnknown_085CEBC0, &sLearnMoveStruct->scrollOffset); - } - - if (sLearnMoveStruct->scrollArrowTaskId1 == 0xFF) - { - gTempScrollArrowTemplate = gUnknown_085CEBD0; - gTempScrollArrowTemplate.fullyDownThreshold = sLearnMoveStruct->numMenuChoices - sLearnMoveStruct->numToShowAtOnce; - sLearnMoveStruct->scrollArrowTaskId1 = AddScrollIndicatorArrowPair(&gTempScrollArrowTemplate, &sLearnMoveStruct2.listOffset); - } -} - -static void RemoveScrollArrows(void) -{ - if (sLearnMoveStruct->scrollArrowTaskId2 != 0xFF) - { - RemoveScrollIndicatorArrowPair(sLearnMoveStruct->scrollArrowTaskId2); - sLearnMoveStruct->scrollArrowTaskId2 = 0xFF; - } - - if (sLearnMoveStruct->scrollArrowTaskId1 != 0xFF) - { - RemoveScrollIndicatorArrowPair(sLearnMoveStruct->scrollArrowTaskId1); - sLearnMoveStruct->scrollArrowTaskId1 = 0xFF; - } -} - -static void CreateMenuItemsList(void) -{ - s32 i; - u8 nickname[POKEMON_NAME_LENGTH + 1]; - - sLearnMoveStruct->numMenuChoices = GetMoveRelearnerMoves(&gPlayerParty[sLearnMoveStruct->partyMon], sLearnMoveStruct->movesToLearn); - - for (i = 0; i < sLearnMoveStruct->numMenuChoices; i++) - { - sLearnMoveStruct->menuItems[i].name = gMoveNames[sLearnMoveStruct->movesToLearn[i]]; - sLearnMoveStruct->menuItems[i].id = sLearnMoveStruct->movesToLearn[i]; - } - - GetMonData(&gPlayerParty[sLearnMoveStruct->partyMon], MON_DATA_NICKNAME, nickname); - StringCopy10(gStringVar1, nickname); - sLearnMoveStruct->menuItems[sLearnMoveStruct->numMenuChoices].name = gText_Cancel; - sLearnMoveStruct->menuItems[sLearnMoveStruct->numMenuChoices].id = LIST_B_PRESSED; - sLearnMoveStruct->numMenuChoices++; - sLearnMoveStruct->numToShowAtOnce = sub_81D28C8(sLearnMoveStruct->menuItems, sLearnMoveStruct->numMenuChoices); -} - -void ShowHideHearts(s32 item) -{ - u16 numHearts; - u16 i; - - if (!sLearnMoveStruct2.showContestInfo || item == LIST_B_PRESSED) - { - for (i = 0; i < 16; i++) - { - gSprites[sLearnMoveStruct->spriteIds[i]].invisible = TRUE; - } - } - else - { - numHearts = (u8)(gContestEffects[gContestMoves[item].effect].appeal / 10); - - if (numHearts == 0xFF) - { - numHearts = 0; - } - - for (i = 0; i < 8; i++) - { - if (i < numHearts) - { - StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i]], 1); - } - else - { - StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i]], 0); - } - gSprites[sLearnMoveStruct->spriteIds[i]].invisible = FALSE; - } - - numHearts = (u8)(gContestEffects[gContestMoves[item].effect].jam / 10); - - if (numHearts == 0xFF) - { - numHearts = 0; - } - - for (i = 0; i < 8; i++) - { - if (i < numHearts) - { - StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i + 8]], 3); - } - else - { - StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i + 8]], 2); - } - gSprites[sLearnMoveStruct->spriteIds[i + 8]].invisible = FALSE; - } - } -} diff --git a/src/list_menu.c b/src/list_menu.c index 7a95476614..930e87816e 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -341,7 +341,7 @@ s32 DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenu } if (gMain.newKeys & B_BUTTON) { - sMysteryGiftLinkMenu.currItemId = LIST_B_PRESSED; + sMysteryGiftLinkMenu.currItemId = LIST_CANCEL; sMysteryGiftLinkMenu.state = 2; } if (sMysteryGiftLinkMenu.state == 2) @@ -416,7 +416,7 @@ s32 ListMenu_ProcessInput(u8 listTaskId) } else if (gMain.newKeys & B_BUTTON) { - return LIST_B_PRESSED; + return LIST_CANCEL; } else if (gMain.newAndRepeatedKeys & DPAD_UP) { diff --git a/src/move_tutor.c b/src/move_tutor.c new file mode 100644 index 0000000000..89291a0087 --- /dev/null +++ b/src/move_tutor.c @@ -0,0 +1,976 @@ +#include "global.h" +#include "main.h" +#include "battle.h" +#include "bg.h" +#include "contest_effect.h" +#include "data2.h" +#include "event_data.h" +#include "field_screen_effect.h" +#include "gpu_regs.h" +#include "move_tutor.h" +#include "list_menu.h" +#include "alloc.h" +#include "menu.h" +#include "menu_helpers.h" +#include "overworld.h" +#include "palette.h" +#include "pokemon_summary_screen.h" +#include "pokenav.h" +#include "script.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "constants/rgb.h" +#include "constants/songs.h" + +/* + * Move tutor state machine + * ------------------------ + * + * Entry point: TeachMoveTutorMove + * + * TeachMoveTutorMove + * Task_WaitForFadeOut + * CB2_InitLearnMove + * - Creates moveDisplayArrowTask to listen to right/left buttons. + * - Creates moveListScrollArrowTask to listen to up/down buttons. + * - Whenever the selected move changes (and once on init), the MoveTutorCursorCallback + * is called (see gMoveTutorMovesListTemplate). That callback will reload the contest + * display and battle display windows for the new move. Both are always loaded in + * memory, but only the currently active one is copied to VRAM. The exception to this + * is the appeal and jam hearts, which are sprites. MoveTutorShowHideHearts is called + * while reloading the contest display to control them. + * DoMoveTutorMain: MENU_STATE_FADE_TO_BLACK + * DoMoveTutorMain: MENU_STATE_WAIT_FOR_FADE + * - Go to MENU_STATE_IDLE_BATTLE_MODE + * + * DoMoveTutorMain: MENU_STATE_SETUP_BATTLE_MODE + * DoMoveTutorMain: MENU_STATE_IDLE_BATTLE_MODE + * - If the player selected a move (pressed A), go to MENU_STATE_PRINT_TEACH_MOVE_PROMPT. + * - If the player cancelled (pressed B), go to MENU_STATE_PRINT_GIVE_UP_PROMPT. + * - If the player pressed left or right, swap the move display window to contest mode, + * and go to MENU_STATE_SETUP_CONTEST_MODE. + * + * DoMoveTutorMain: MENU_STATE_SETUP_CONTEST_MODE + * DoMoveTutorMain: MENU_STATE_IDLE_CONTEST_MODE + * - If the player selected a move, go to MENU_STATE_PRINT_TEACH_MOVE_PROMPT. + * - If the player cancelled, go to MENU_STATE_PRINT_GIVE_UP_PROMPT + * - If the player pressed left or right, swap the move display window to battle mode, + * and go to MENU_STATE_SETUP_BATTLE_MODE. + * + * DoMoveTutorMain: MENU_STATE_PRINT_TEACH_MOVE_PROMPT + * DoMoveTutorMain: MENU_STATE_TEACH_MOVE_CONFIRM + * - Wait for the player to confirm. + * - If cancelled, go to either MENU_STATE_SETUP_BATTLE_MODE or MENU_STATE_SETUP_CONTEST_MODE. + * - If confirmed and the pokemon had an empty move slot, set VAR_0x8004 to TRUE and go to + * MENU_STATE_PRINT_TEXT_THEN_FANFARE. + * - If confirmed and the pokemon doesn't have an empty move slot, go to + * MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT. + * + * DoMoveTutorMain: MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT + * DoMoveTutorMain: MENU_STATE_WAIT_FOR_TRYING_TO_LEARN + * DoMoveTutorMain: MENU_STATE_CONFIRM_DELETE_OLD_MOVE + * - If the player confirms, go to MENU_STATE_PRINT_WHICH_MOVE_PROMPT. + * - If the player cancels, go to MENU_STATE_PRINT_STOP_TEACHING + * + * DoMoveTutorMain: MENU_STATE_PRINT_STOP_TEACHING + * DoMoveTutorMain: MENU_STATE_WAIT_FOR_STOP_TEACHING + * DoMoveTutorMain: MENU_STATE_CONFIRM_STOP_TEACHING + * - If the player confirms, go to MENU_STATE_CHOOSE_SETUP_STATE. + * - If the player cancels, go back to MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT. + * + * DoMoveTutorMain: MENU_STATE_PRINT_WHICH_MOVE_PROMPT + * DoMoveTutorMain: MENU_STATE_SHOW_MOVE_SUMMARY_SCREEN + * - Go to ShowSelectMovePokemonSummaryScreen. When done, control returns to + * CB2_InitLearnMoveReturnFromSelectMove. + * + * DoMoveTutorMain: MENU_STATE_DOUBLE_FANFARE_FORGOT_MOVE + * DoMoveTutorMain: MENU_STATE_PRINT_TEXT_THEN_FANFARE + * DoMoveTutorMain: MENU_STATE_WAIT_FOR_FANFARE + * DoMoveTutorMain: MENU_STATE_WAIT_FOR_A_BUTTON + * DoMoveTutorMain: MENU_STATE_FADE_AND_RETURN + * DoMoveTutorMain: MENU_STATE_RETURN_TO_FIELD + * - Clean up and go to CB2_ReturnToField. + * + * DoMoveTutorMain: MENU_STATE_PRINT_GIVE_UP_PROMPT + * DoMoveTutorMain: MENU_STATE_GIVE_UP_CONFIRM + * - If the player confirms, go to MENU_STATE_FADE_AND_RETURN, and set VAR_0x8004 to FALSE. + * - If the player cancels, go to either MENU_STATE_SETUP_BATTLE_MODE or + * MENU_STATE_SETUP_CONTEST_MODE. + * + * CB2_InitLearnMoveReturnFromSelectMove: + * - Do most of the same stuff as CB2_InitLearnMove. + * DoMoveTutorMain: MENU_STATE_FADE_FROM_SUMMARY_SCREEN + * DoMoveTutorMain: MENU_STATE_TRY_OVERWRITE_MOVE + * - If any of the pokemon's existing moves were chosen, overwrite the move and + * go to MENU_STATE_DOUBLE_FANFARE_FORGOT_MOVE and set VAR_0x8004 to TRUE. + * - If the chosen move is the one the player selected before the summary screen, + * go to MENU_STATE_PRINT_STOP_TEACHING. + * + */ + +#define MENU_STATE_FADE_TO_BLACK 0 +#define MENU_STATE_WAIT_FOR_FADE 1 +#define MENU_STATE_UNREACHABLE 2 +#define MENU_STATE_SETUP_BATTLE_MODE 3 +#define MENU_STATE_IDLE_BATTLE_MODE 4 +#define MENU_STATE_SETUP_CONTEST_MODE 5 +#define MENU_STATE_IDLE_CONTEST_MODE 6 +// State 7 is skipped. +#define MENU_STATE_PRINT_TEACH_MOVE_PROMPT 8 +#define MENU_STATE_TEACH_MOVE_CONFIRM 9 +// States 10 and 11 are skipped. +#define MENU_STATE_PRINT_GIVE_UP_PROMPT 12 +#define MENU_STATE_GIVE_UP_CONFIRM 13 +#define MENU_STATE_FADE_AND_RETURN 14 +#define MENU_STATE_RETURN_TO_FIELD 15 +#define MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT 16 +#define MENU_STATE_WAIT_FOR_TRYING_TO_LEARN 17 +#define MENU_STATE_CONFIRM_DELETE_OLD_MOVE 18 +#define MENU_STATE_PRINT_WHICH_MOVE_PROMPT 19 +#define MENU_STATE_SHOW_MOVE_SUMMARY_SCREEN 20 +// States 21, 22, and 23 are skipped. +#define MENU_STATE_PRINT_STOP_TEACHING 24 +#define MENU_STATE_WAIT_FOR_STOP_TEACHING 25 +#define MENU_STATE_CONFIRM_STOP_TEACHING 26 +#define MENU_STATE_CHOOSE_SETUP_STATE 27 +#define MENU_STATE_FADE_FROM_SUMMARY_SCREEN 28 +#define MENU_STATE_TRY_OVERWRITE_MOVE 29 +#define MENU_STATE_DOUBLE_FANFARE_FORGOT_MOVE 30 +#define MENU_STATE_PRINT_TEXT_THEN_FANFARE 31 +#define MENU_STATE_WAIT_FOR_FANFARE 32 +#define MENU_STATE_WAIT_FOR_A_BUTTON 33 + +// The different versions of hearts are selected using animation +// commands. +#define APPEAL_HEART_EMPTY 0 +#define APPEAL_HEART_FULL 1 +#define JAM_HEART_EMPTY 2 +#define JAM_HEART_FULL 3 + +static EWRAM_DATA struct +{ + u8 state; + u8 heartSpriteIds[16]; /*0x001*/ + u16 movesToLearn[4]; /*0x012*/ + u8 filler1A[0x44 - 0x1A]; /*0x01A*/ + u8 partyMon; /*0x044*/ + u8 moveSlot; /*0x045*/ + struct ListMenuItem menuItems[20]; /*0x048*/ + u8 fillerE8[0x110 - 0xE8]; /*0x0E8*/ + u8 numMenuChoices; /*0x110*/ + u8 numToShowAtOnce; /*0x111*/ + u8 moveListMenuTask; /*0x112*/ + u8 moveListScrollArrowTask; /*0x113*/ + u8 moveDisplayArrowTask; /*0x114*/ + u16 scrollOffset; /*0x116*/ +} *sMoveTutorStruct = {0}; + +static EWRAM_DATA struct { + u16 listOffset; + u16 listRow; + bool8 showContestInfo; +} sMoveTutorMenuSate = {0}; + +static const u16 sMoveTutorPaletteData[] = INCBIN_U16("graphics/interface/ui_learn_move.gbapal"); + +// The arrow sprites in this spritesheet aren't used. The scroll-arrow system provides its own +// arrow sprites. +static const u8 sMoveTutorSpriteSheetData[] = INCBIN_U8("graphics/interface/ui_learn_move.4bpp"); + +static const struct OamData sHeartSpriteOamData = +{ + .y = 0, + .affineMode = 0, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = ST_OAM_SQUARE, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData sUnusedOam1 = +{ + .y = 0, + .affineMode = 0, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = ST_OAM_V_RECTANGLE, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData sUnusedOam2 = +{ + .y = 0, + .affineMode = 0, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = ST_OAM_H_RECTANGLE, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct SpriteSheet sMoveTutorSpriteSheet = +{ + .data = sMoveTutorSpriteSheetData, + .size = 0x180, + .tag = 5525 +}; + +static const struct SpritePalette sMoveTutorPalette = +{ + .data = sMoveTutorPaletteData, + .tag = 5526 +}; + +static const struct ScrollArrowsTemplate sDisplayModeArrowsTemplate = +{ + .firstArrowType = SCROLL_ARROW_LEFT, + .firstX = 27, + .firstY = 16, + .secondArrowType = SCROLL_ARROW_RIGHT, + .secondX = 117, + .secondY = 16, + .fullyUpThreshold = -1, + .fullyDownThreshold = -1, + .tileTag = 5325, + .palTag = 5325, + .palNum = 0, +}; + +static const struct ScrollArrowsTemplate sMoveListScrollArrowsTemplate = +{ + .firstArrowType = SCROLL_ARROW_UP, + .firstX = 192, + .firstY = 8, + .secondArrowType = SCROLL_ARROW_DOWN, + .secondX = 192, + .secondY = 104, + .fullyUpThreshold = 0, + .fullyDownThreshold = 0, + .tileTag = 5425, + .palTag = 5425, + .palNum = 0, +}; + +static const union AnimCmd sHeartSprite_AppealEmptyFrame[] = +{ + ANIMCMD_FRAME(8, 5, FALSE, FALSE), + ANIMCMD_END +}; + +static const union AnimCmd sHeartSprite_AppealFullFrame[] = +{ + ANIMCMD_FRAME(9, 5, FALSE, FALSE), + ANIMCMD_END +}; + +static const union AnimCmd sHeartSprite_JamEmptyFrame[] = +{ + ANIMCMD_FRAME(10, 5, FALSE, FALSE), + ANIMCMD_END +}; + +static const union AnimCmd sHeartSprite_JamFullFrame[] = +{ + ANIMCMD_FRAME(11, 5, FALSE, FALSE), + ANIMCMD_END +}; + +static const union AnimCmd *const sHeartSpriteAnimationCommands[] = +{ + [APPEAL_HEART_EMPTY] = sHeartSprite_AppealEmptyFrame, + [APPEAL_HEART_FULL] = sHeartSprite_AppealFullFrame, + [JAM_HEART_EMPTY] = sHeartSprite_JamEmptyFrame, + [JAM_HEART_FULL] = sHeartSprite_JamFullFrame, +}; + +static const struct SpriteTemplate sConstestMoveHeartSprite = +{ + .tileTag = 5525, + .paletteTag = 5526, + .oam = &sHeartSpriteOamData, + .anims = sHeartSpriteAnimationCommands, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct BgTemplate sMoveTutorMenuBackgroundTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0, + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0, + }, +}; + +static void DoMoveTutorMain(void); +static void CreateLearnableMovesList(void); +static void CreateUISprites(void); +static void CB2_MoveTutorMain(void); +static void Task_WaitForFadeOut(u8 taskId); +static void CB2_InitLearnMove(void); +static void CB2_InitLearnMoveReturnFromSelectMove(void); +static void InitMoveTutorBackgroundLayers(void); +static void AddScrollArrows(void); +static void HandleInput(u8); +static void ShowTeachMoveText(u8); +static s32 GetCurrentSelectedMove(void); +static void FreeMoveTutorResources(void); +static void RemoveScrollArrows(void); +static void HideHeartSpritesAndShowTeachMoveText(bool8); + +static void VBlankCB_MoveTutor(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +// Script arguments: The pokemon to teach is in VAR_0x8004 +void TeachMoveTutorMove(void) +{ + ScriptContext2_Enable(); + CreateTask(Task_WaitForFadeOut, 10); + // Fade to black + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); +} + +static void Task_WaitForFadeOut(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(CB2_InitLearnMove); + gFieldCallback = FieldCallback_ReturnToEventScript2; + DestroyTask(taskId); + } +} + +static void CB2_InitLearnMove(void) +{ + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + clear_scheduled_bg_copies_to_vram(); + sMoveTutorStruct = AllocZeroed(sizeof(*sMoveTutorStruct)); + sMoveTutorStruct->partyMon = gSpecialVar_0x8004; + SetVBlankCallback(VBlankCB_MoveTutor); + + InitMoveTutorBackgroundLayers(); + InitMoveTutorWindows(FALSE); + + sMoveTutorMenuSate.listOffset = 0; + sMoveTutorMenuSate.listRow = 0; + sMoveTutorMenuSate.showContestInfo = FALSE; + + CreateLearnableMovesList(); + + LoadSpriteSheet(&sMoveTutorSpriteSheet); + LoadSpritePalette(&sMoveTutorPalette); + CreateUISprites(); + + sMoveTutorStruct->moveListMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sMoveTutorMenuSate.listOffset, sMoveTutorMenuSate.listRow); + FillPalette(RGB_BLACK, 0, 2); + SetMainCallback2(CB2_MoveTutorMain); +} + +static void CB2_InitLearnMoveReturnFromSelectMove(void) +{ + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + clear_scheduled_bg_copies_to_vram(); + sMoveTutorStruct = AllocZeroed(sizeof(*sMoveTutorStruct)); + sMoveTutorStruct->state = MENU_STATE_FADE_FROM_SUMMARY_SCREEN; + sMoveTutorStruct->partyMon = gSpecialVar_0x8004; + sMoveTutorStruct->moveSlot = gSpecialVar_0x8005; + SetVBlankCallback(VBlankCB_MoveTutor); + + InitMoveTutorBackgroundLayers(); + InitMoveTutorWindows(sMoveTutorMenuSate.showContestInfo); + CreateLearnableMovesList(); + + LoadSpriteSheet(&sMoveTutorSpriteSheet); + LoadSpritePalette(&sMoveTutorPalette); + CreateUISprites(); + + sMoveTutorStruct->moveListMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sMoveTutorMenuSate.listOffset, sMoveTutorMenuSate.listRow); + FillPalette(RGB_BLACK, 0, 2); + SetMainCallback2(CB2_MoveTutorMain); +} + +static void InitMoveTutorBackgroundLayers(void) +{ + ResetVramOamAndBgCntRegs(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sMoveTutorMenuBackgroundTemplates, ARRAY_COUNT(sMoveTutorMenuBackgroundTemplates)); + ResetAllBgsCoordinates(); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_OBJ_ON); + ShowBg(0); + ShowBg(1); + SetGpuReg(REG_OFFSET_BLDCNT, 0); +} + +static void CB2_MoveTutorMain(void) +{ + DoMoveTutorMain(); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +static void FormatAndPrintText(const u8 *src) +{ + StringExpandPlaceholders(gStringVar4, src); + MoveTutorPrintText(gStringVar4); +} + +// See the state machine doc at the top of the file. +static void DoMoveTutorMain(void) +{ + switch (sMoveTutorStruct->state) + { + case MENU_STATE_FADE_TO_BLACK: + sMoveTutorStruct->state++; + HideHeartSpritesAndShowTeachMoveText(FALSE); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + break; + case MENU_STATE_WAIT_FOR_FADE: + if (!gPaletteFade.active) + { + sMoveTutorStruct->state = MENU_STATE_IDLE_BATTLE_MODE; + } + break; + case MENU_STATE_UNREACHABLE: + sMoveTutorStruct->state++; + break; + case MENU_STATE_SETUP_BATTLE_MODE: + + HideHeartSpritesAndShowTeachMoveText(FALSE); + sMoveTutorStruct->state++; + AddScrollArrows(); + break; + case MENU_STATE_IDLE_BATTLE_MODE: + HandleInput(FALSE); + break; + case MENU_STATE_SETUP_CONTEST_MODE: + ShowTeachMoveText(FALSE); + sMoveTutorStruct->state++; + AddScrollArrows(); + break; + case MENU_STATE_IDLE_CONTEST_MODE: + HandleInput(TRUE); + break; + case MENU_STATE_PRINT_TEACH_MOVE_PROMPT: + if (!MoveTutorRunTextPrinters()) + { + MoveTutorCreateYesNoMenu(); + sMoveTutorStruct->state++; + } + break; + case MENU_STATE_TEACH_MOVE_CONFIRM: + { + s8 selection = Menu_ProcessInputNoWrapClearOnChoose(); + + if (selection == 0) + { + if (GiveMoveToMon(&gPlayerParty[sMoveTutorStruct->partyMon], GetCurrentSelectedMove()) != 0xFFFF) + { + FormatAndPrintText(gText_MoveTutorPkmnLearnedMove); + gSpecialVar_0x8004 = TRUE; + sMoveTutorStruct->state = MENU_STATE_PRINT_TEXT_THEN_FANFARE; + } + else + { + sMoveTutorStruct->state = MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT; + } + } + else if (selection == MENU_B_PRESSED || selection == 1) + { + if (sMoveTutorMenuSate.showContestInfo == FALSE) + { + sMoveTutorStruct->state = MENU_STATE_SETUP_BATTLE_MODE; + } + else if (sMoveTutorMenuSate.showContestInfo == TRUE) + { + sMoveTutorStruct->state = MENU_STATE_SETUP_CONTEST_MODE; + } + } + } + break; + case MENU_STATE_PRINT_GIVE_UP_PROMPT: + if (!MoveTutorRunTextPrinters()) + { + MoveTutorCreateYesNoMenu(); + sMoveTutorStruct->state++; + } + break; + case MENU_STATE_GIVE_UP_CONFIRM: + { + s8 selection = Menu_ProcessInputNoWrapClearOnChoose(); + + if (selection == 0) + { + gSpecialVar_0x8004 = FALSE; + sMoveTutorStruct->state = MENU_STATE_FADE_AND_RETURN; + } + else if (selection == -1 || selection == 1) + { + if (sMoveTutorMenuSate.showContestInfo == FALSE) + { + sMoveTutorStruct->state = MENU_STATE_SETUP_BATTLE_MODE; + } + else if (sMoveTutorMenuSate.showContestInfo == TRUE) + { + sMoveTutorStruct->state = MENU_STATE_SETUP_CONTEST_MODE; + } + } + } + break; + case MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT: + FormatAndPrintText(gText_MoveTutorPkmnTryingToLearnMove); + sMoveTutorStruct->state++; + break; + case MENU_STATE_WAIT_FOR_TRYING_TO_LEARN: + if (!MoveTutorRunTextPrinters()) + { + MoveTutorCreateYesNoMenu(); + sMoveTutorStruct->state = MENU_STATE_CONFIRM_DELETE_OLD_MOVE; + } + break; + case MENU_STATE_CONFIRM_DELETE_OLD_MOVE: + { + s8 var = Menu_ProcessInputNoWrapClearOnChoose(); + + if (var == 0) + { + FormatAndPrintText(gText_MoveTutorWhichMoveToForget); + sMoveTutorStruct->state = MENU_STATE_PRINT_WHICH_MOVE_PROMPT; + } + else if (var == -1 || var == 1) + { + sMoveTutorStruct->state = MENU_STATE_PRINT_STOP_TEACHING; + } + } + break; + case MENU_STATE_PRINT_STOP_TEACHING: + StringCopy(gStringVar2, gMoveNames[GetCurrentSelectedMove()]); + FormatAndPrintText(gText_MoveTutorStopTryingToTeachMove); + sMoveTutorStruct->state++; + break; + case MENU_STATE_WAIT_FOR_STOP_TEACHING: + if (!MoveTutorRunTextPrinters()) + { + MoveTutorCreateYesNoMenu(); + sMoveTutorStruct->state++; + } + break; + case MENU_STATE_CONFIRM_STOP_TEACHING: + { + s8 var = Menu_ProcessInputNoWrapClearOnChoose(); + + if (var == 0) + { + sMoveTutorStruct->state = MENU_STATE_CHOOSE_SETUP_STATE; + } + else if (var == MENU_B_PRESSED || var == 1) + { + // What's the point? It gets set to MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT, anyway. + if (sMoveTutorMenuSate.showContestInfo == FALSE) + { + sMoveTutorStruct->state = MENU_STATE_SETUP_BATTLE_MODE; + } + else if (sMoveTutorMenuSate.showContestInfo == TRUE) + { + sMoveTutorStruct->state = MENU_STATE_SETUP_CONTEST_MODE; + } + sMoveTutorStruct->state = MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT; + } + } + break; + case MENU_STATE_CHOOSE_SETUP_STATE: + if (!MoveTutorRunTextPrinters()) + { + FillWindowPixelBuffer(3, 0x11); + if (sMoveTutorMenuSate.showContestInfo == FALSE) + { + sMoveTutorStruct->state = MENU_STATE_SETUP_BATTLE_MODE; + } + else if (sMoveTutorMenuSate.showContestInfo == TRUE) + { + sMoveTutorStruct->state = MENU_STATE_SETUP_CONTEST_MODE; + } + } + break; + case MENU_STATE_PRINT_WHICH_MOVE_PROMPT: + if (!MoveTutorRunTextPrinters()) + { + sMoveTutorStruct->state = MENU_STATE_SHOW_MOVE_SUMMARY_SCREEN; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + } + break; + case MENU_STATE_SHOW_MOVE_SUMMARY_SCREEN: + if (!gPaletteFade.active) + { + ShowSelectMovePokemonSummaryScreen(gPlayerParty, sMoveTutorStruct->partyMon, gPlayerPartyCount - 1, CB2_InitLearnMoveReturnFromSelectMove, GetCurrentSelectedMove()); + FreeMoveTutorResources(); + } + break; + case 21: + if (!MoveTutorRunTextPrinters()) + { + sMoveTutorStruct->state = MENU_STATE_FADE_AND_RETURN; + } + break; + case 22: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + break; + case MENU_STATE_FADE_AND_RETURN: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sMoveTutorStruct->state++; + break; + case MENU_STATE_RETURN_TO_FIELD: + if (!gPaletteFade.active) + { + FreeMoveTutorResources(); + SetMainCallback2(CB2_ReturnToField); + } + break; + case MENU_STATE_FADE_FROM_SUMMARY_SCREEN: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + sMoveTutorStruct->state++; + if (sMoveTutorMenuSate.showContestInfo == FALSE) + { + HideHeartSpritesAndShowTeachMoveText(TRUE); + } + else if (sMoveTutorMenuSate.showContestInfo == TRUE) + { + ShowTeachMoveText(TRUE); + } + RemoveScrollArrows(); + CopyWindowToVram(3, 2); + break; + case MENU_STATE_TRY_OVERWRITE_MOVE: + if (!gPaletteFade.active) + { + if (sMoveTutorStruct->moveSlot == MAX_MON_MOVES) + { + sMoveTutorStruct->state = MENU_STATE_PRINT_STOP_TEACHING; + } + else + { + u16 moveId = GetMonData(&gPlayerParty[sMoveTutorStruct->partyMon], MON_DATA_MOVE1 + sMoveTutorStruct->moveSlot); + + StringCopy(gStringVar3, gMoveNames[moveId]); + RemoveMonPPBonus(&gPlayerParty[sMoveTutorStruct->partyMon], sMoveTutorStruct->moveSlot); + SetMonMoveSlot(&gPlayerParty[sMoveTutorStruct->partyMon], GetCurrentSelectedMove(), sMoveTutorStruct->moveSlot); + StringCopy(gStringVar2, gMoveNames[GetCurrentSelectedMove()]); + FormatAndPrintText(gText_MoveTutorAndPoof); + sMoveTutorStruct->state = MENU_STATE_DOUBLE_FANFARE_FORGOT_MOVE; + gSpecialVar_0x8004 = TRUE; + } + } + break; + case MENU_STATE_DOUBLE_FANFARE_FORGOT_MOVE: + if (!MoveTutorRunTextPrinters()) + { + FormatAndPrintText(gText_MoveTutorPkmnForgotMoveAndLearnedNew); + sMoveTutorStruct->state = MENU_STATE_PRINT_TEXT_THEN_FANFARE; + PlayFanfare(MUS_FANFA1); + } + break; + case MENU_STATE_PRINT_TEXT_THEN_FANFARE: + if (!MoveTutorRunTextPrinters()) + { + PlayFanfare(MUS_FANFA1); + sMoveTutorStruct->state = MENU_STATE_WAIT_FOR_FANFARE; + } + break; + case MENU_STATE_WAIT_FOR_FANFARE: + if (IsFanfareTaskInactive()) + { + sMoveTutorStruct->state = MENU_STATE_WAIT_FOR_A_BUTTON; + } + break; + case MENU_STATE_WAIT_FOR_A_BUTTON: + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sMoveTutorStruct->state = MENU_STATE_FADE_AND_RETURN; + } + break; + } +} + +static void FreeMoveTutorResources(void) +{ + RemoveScrollArrows(); + DestroyListMenuTask(sMoveTutorStruct->moveListMenuTask, &sMoveTutorMenuSate.listOffset, &sMoveTutorMenuSate.listRow); + FreeAllWindowBuffers(); + FREE_AND_SET_NULL(sMoveTutorStruct); + ResetSpriteData(); + FreeAllSpritePalettes(); +} + +// Note: The hearts are already made invisible by MoveTutorShowHideHearts, +// which is called whenever the cursor in either list changes. +static void HideHeartSpritesAndShowTeachMoveText(bool8 onlyHideSprites) +{ + s32 i; + + for (i = 0; i < 16; i++) + { + gSprites[sMoveTutorStruct->heartSpriteIds[i]].invisible = TRUE; + } + + if (!onlyHideSprites) + { + StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToPkmn); + FillWindowPixelBuffer(3, 0x11); + AddTextPrinterParameterized(3, 1, gStringVar4, 0, 1, 0, NULL); + } +} + +static void HandleInput(bool8 showContest) +{ + s32 itemId = ListMenu_ProcessInput(sMoveTutorStruct->moveListMenuTask); + ListMenuGetScrollAndRow(sMoveTutorStruct->moveListMenuTask, &sMoveTutorMenuSate.listOffset, &sMoveTutorMenuSate.listRow); + + switch (itemId) + { + case LIST_NOTHING_CHOSEN: + if (!(gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT)) && !GetLRKeysState()) + { + break; + } + + PlaySE(SE_SELECT); + + if (showContest == FALSE) + { + PutWindowTilemap(1); + sMoveTutorStruct->state = MENU_STATE_SETUP_CONTEST_MODE; + sMoveTutorMenuSate.showContestInfo = TRUE; + } + else + { + PutWindowTilemap(0); + sMoveTutorStruct->state = MENU_STATE_SETUP_BATTLE_MODE; + sMoveTutorMenuSate.showContestInfo = FALSE; + } + + schedule_bg_copy_tilemap_to_vram(1); + MoveTutorShowHideHearts(GetCurrentSelectedMove()); + break; + case LIST_CANCEL: + PlaySE(SE_SELECT); + RemoveScrollArrows(); + sMoveTutorStruct->state = MENU_STATE_PRINT_GIVE_UP_PROMPT; + StringExpandPlaceholders(gStringVar4, gText_MoveTutorGiveUp); + MoveTutorPrintText(gStringVar4); + break; + default: + PlaySE(SE_SELECT); + RemoveScrollArrows(); + sMoveTutorStruct->state = MENU_STATE_PRINT_TEACH_MOVE_PROMPT; + StringCopy(gStringVar2, gMoveNames[itemId]); + StringExpandPlaceholders(gStringVar4, gText_MoveTutorTeachMoveConfirm); + MoveTutorPrintText(gStringVar4); + break; + } +} + +static s32 GetCurrentSelectedMove(void) +{ + return sMoveTutorStruct->menuItems[sMoveTutorMenuSate.listRow + sMoveTutorMenuSate.listOffset].id; +} + +// Theory: This used to make the heart sprites visible again (i.e. +// this was the inverse of HideHeartsAndShowTeachMoveText), but the +// code was commented out. The bool argument would have been named +// "justShowHearts." The code for showing/hiding the heards was moved +// to MoveTutorShowHideHearts, which is called whenever a new move is +// selected and whenever the display mode changes. +static void ShowTeachMoveText(bool8 shouldDoNothingInstead) +{ + if (shouldDoNothingInstead == FALSE) + { + StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToPkmn); + FillWindowPixelBuffer(3, 0x11); + AddTextPrinterParameterized(3, 1, gStringVar4, 0, 1, 0, NULL); + } +} + +static void CreateUISprites(void) +{ + int i; + + sMoveTutorStruct->moveDisplayArrowTask = 0xFF; + sMoveTutorStruct->moveListScrollArrowTask = 0xFF; + AddScrollArrows(); + + // These are the appeal hearts. + for (i = 0; i < 8; i++) + { + sMoveTutorStruct->heartSpriteIds[i] = CreateSprite(&sConstestMoveHeartSprite, (i - (i / 4) * 4) * 8 + 104, (i / 4) * 8 + 36, 0); + } + + // These are the jam harts. + // The animation is used to toggle between full/empty heart sprites. + for (i = 0; i < 8; i++) + { + sMoveTutorStruct->heartSpriteIds[i + 8] = CreateSprite(&sConstestMoveHeartSprite, (i - (i / 4) * 4) * 8 + 104, (i / 4) * 8 + 52, 0); + StartSpriteAnim(&gSprites[sMoveTutorStruct->heartSpriteIds[i + 8]], 2); + } + + for (i = 0; i < 16; i++) + { + gSprites[sMoveTutorStruct->heartSpriteIds[i]].invisible = TRUE; + } +} + +static void AddScrollArrows(void) +{ + if (sMoveTutorStruct->moveDisplayArrowTask == 0xFF) + { + sMoveTutorStruct->moveDisplayArrowTask = AddScrollIndicatorArrowPair(&sDisplayModeArrowsTemplate, &sMoveTutorStruct->scrollOffset); + } + + if (sMoveTutorStruct->moveListScrollArrowTask == 0xFF) + { + gTempScrollArrowTemplate = sMoveListScrollArrowsTemplate; + gTempScrollArrowTemplate.fullyDownThreshold = sMoveTutorStruct->numMenuChoices - sMoveTutorStruct->numToShowAtOnce; + sMoveTutorStruct->moveListScrollArrowTask = AddScrollIndicatorArrowPair(&gTempScrollArrowTemplate, &sMoveTutorMenuSate.listOffset); + } +} + +static void RemoveScrollArrows(void) +{ + if (sMoveTutorStruct->moveDisplayArrowTask != 0xFF) + { + RemoveScrollIndicatorArrowPair(sMoveTutorStruct->moveDisplayArrowTask); + sMoveTutorStruct->moveDisplayArrowTask = 0xFF; + } + + if (sMoveTutorStruct->moveListScrollArrowTask != 0xFF) + { + RemoveScrollIndicatorArrowPair(sMoveTutorStruct->moveListScrollArrowTask); + sMoveTutorStruct->moveListScrollArrowTask = 0xFF; + } +} + +static void CreateLearnableMovesList(void) +{ + s32 i; + u8 nickname[POKEMON_NAME_LENGTH + 1]; + + sMoveTutorStruct->numMenuChoices = GetMoveRelearnerMoves(&gPlayerParty[sMoveTutorStruct->partyMon], sMoveTutorStruct->movesToLearn); + + for (i = 0; i < sMoveTutorStruct->numMenuChoices; i++) + { + sMoveTutorStruct->menuItems[i].name = gMoveNames[sMoveTutorStruct->movesToLearn[i]]; + sMoveTutorStruct->menuItems[i].id = sMoveTutorStruct->movesToLearn[i]; + } + + GetMonData(&gPlayerParty[sMoveTutorStruct->partyMon], MON_DATA_NICKNAME, nickname); + StringCopy10(gStringVar1, nickname); + sMoveTutorStruct->menuItems[sMoveTutorStruct->numMenuChoices].name = gText_Cancel; + sMoveTutorStruct->menuItems[sMoveTutorStruct->numMenuChoices].id = LIST_CANCEL; + sMoveTutorStruct->numMenuChoices++; + sMoveTutorStruct->numToShowAtOnce = LoadMoveTutorMovesList(sMoveTutorStruct->menuItems, sMoveTutorStruct->numMenuChoices); +} + +void MoveTutorShowHideHearts(s32 moveId) +{ + u16 numHearts; + u16 i; + + if (!sMoveTutorMenuSate.showContestInfo || moveId == LIST_CANCEL) + { + for (i = 0; i < 16; i++) + { + gSprites[sMoveTutorStruct->heartSpriteIds[i]].invisible = TRUE; + } + } + else + { + numHearts = (u8)(gContestEffects[gContestMoves[moveId].effect].appeal / 10); + + if (numHearts == 0xFF) + { + numHearts = 0; + } + + for (i = 0; i < 8; i++) + { + if (i < numHearts) + { + StartSpriteAnim(&gSprites[sMoveTutorStruct->heartSpriteIds[i]], 1); + } + else + { + StartSpriteAnim(&gSprites[sMoveTutorStruct->heartSpriteIds[i]], 0); + } + gSprites[sMoveTutorStruct->heartSpriteIds[i]].invisible = FALSE; + } + + numHearts = (u8)(gContestEffects[gContestMoves[moveId].effect].jam / 10); + + if (numHearts == 0xFF) + { + numHearts = 0; + } + + for (i = 0; i < 8; i++) + { + if (i < numHearts) + { + StartSpriteAnim(&gSprites[sMoveTutorStruct->heartSpriteIds[i + 8]], 3); + } + else + { + StartSpriteAnim(&gSprites[sMoveTutorStruct->heartSpriteIds[i + 8]], 2); + } + gSprites[sMoveTutorStruct->heartSpriteIds[i + 8]].invisible = FALSE; + } + } +} diff --git a/src/overworld.c b/src/overworld.c index 0ff8d5b7f0..ce1e21ab15 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -1688,7 +1688,7 @@ void CB2_ReturnToFieldContinueScript(void) void CB2_ReturnToFieldContinueScriptPlayMapMusic(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback = sub_80AF168; + gFieldCallback = FieldCallback_ReturnToEventScript2; CB2_ReturnToField(); } diff --git a/src/party_menu.c b/src/party_menu.c index 10665ad9ef..dad778b49c 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -7287,7 +7287,7 @@ static void sub_81B9640(u8 taskId) void sub_81B968C(void) { ShowPokemonSummaryScreen(PSS_MODE_SELECT_MOVE, gPlayerParty, gSpecialVar_0x8004, gPlayerPartyCount - 1, CB2_ReturnToField); - gFieldCallback = sub_80AF168; + gFieldCallback = FieldCallback_ReturnToEventScript2; } void sub_81B96D0(void) diff --git a/src/player_pc.c b/src/player_pc.c index 0d08a5e7b2..bec763b415 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -645,7 +645,7 @@ static void Mailbox_ProcessInput(u8 taskId) { case LIST_NOTHING_CHOSEN: break; - case LIST_B_PRESSED: + case LIST_CANCEL: PlaySE(SE_SELECT); RemoveScrollIndicatorArrowPair(playerPCItemPageInfo.scrollIndicatorId); Mailbox_ReturnToPlayerPC(taskId); @@ -1151,7 +1151,7 @@ static void ItemStorage_ProcessInput(u8 taskId) { case LIST_NOTHING_CHOSEN: break; - case LIST_B_PRESSED: + case LIST_CANCEL: PlaySE(SE_SELECT); ItemStorage_GoBackToPlayerPCMenu(taskId); break; @@ -1226,7 +1226,7 @@ static void sub_816C4FC(u8 taskId) { case LIST_NOTHING_CHOSEN: break; - case LIST_B_PRESSED: + case LIST_CANCEL: if (gMain.newKeys & A_BUTTON) { ItemStorage_DoItemSwap(taskId, FALSE); diff --git a/src/pokeblock.c b/src/pokeblock.c index 3fd4f34df4..10149c1e73 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -709,7 +709,7 @@ static void HandlePokeblockListMenuItems(void) StringCopy(sPokeblockMenu->menuItemsStrings[i], gText_StowCase); sPokeblockMenu->items[i].name = sPokeblockMenu->menuItemsStrings[i]; - sPokeblockMenu->items[i].id = LIST_B_PRESSED; + sPokeblockMenu->items[i].id = LIST_CANCEL; gMultiuseListMenuTemplate = sPokeblockListMenuTemplate; gMultiuseListMenuTemplate.fontId = 7; @@ -751,7 +751,7 @@ static void sub_8135FCC(s32 pkblId) FillWindowPixelBuffer(7, 0); - if (pkblId != LIST_B_PRESSED) + if (pkblId != LIST_CANCEL) { pokeblock = &gSaveBlock1Ptr->pokeblocks[pkblId]; rectTilemapSrc[0] = 0x17; @@ -959,7 +959,7 @@ static void Task_FreeDataAndExitPokeblockCase(u8 taskId) if (!gPaletteFade.active) { if (sPokeblockMenu->caseId == PBLOCK_CASE_FEEDER || sPokeblockMenu->caseId == PBLOCK_CASE_GIVE) - gFieldCallback = sub_80AF168; + gFieldCallback = FieldCallback_ReturnToEventScript2; DestroyListMenuTask(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos); sub_8136418(); @@ -1011,7 +1011,7 @@ static void Task_HandlePokeblockMenuInput(u8 taskId) { case LIST_NOTHING_CHOSEN: break; - case LIST_B_PRESSED: + case LIST_CANCEL: PlaySE(SE_SELECT); gSpecialVar_Result = 0xFFFF; gSpecialVar_ItemId = 0; @@ -1066,7 +1066,7 @@ static void Task_HandlePokeblocksSwapInput(u8 taskId) { case LIST_NOTHING_CHOSEN: break; - case LIST_B_PRESSED: // same id as STOW CASE field + case LIST_CANCEL: // same id as STOW CASE field PlaySE(SE_SELECT); if (gMain.newKeys & A_BUTTON) HandlePokeblocksSwap(taskId, FALSE); diff --git a/src/roulette.c b/src/roulette.c index 4c20bd0fe1..4663602fac 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -1984,7 +1984,7 @@ static void sub_8141E7C(u8 taskId) // end roulette ? ResetPaletteFade(); ResetSpriteData(); sub_8140418(); - gFieldCallback = sub_80AF168; + gFieldCallback = FieldCallback_ReturnToEventScript2; SetMainCallback2(CB2_ReturnToField); DestroyTask(taskId); } diff --git a/src/secret_base.c b/src/secret_base.c index 33fa0c05ee..b2d6971426 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -391,7 +391,7 @@ void sub_80E8FD0(u8 taskId) } sub_80E8F9C(); WarpIntoMap(); - gFieldCallback = sub_80AF168; + gFieldCallback = FieldCallback_ReturnToEventScript2; SetMainCallback2(CB2_LoadMap); DestroyTask(taskId); break; @@ -959,7 +959,7 @@ void sub_80E9E90(u8 taskId) { case LIST_NOTHING_CHOSEN: break; - case LIST_B_PRESSED: + case LIST_CANCEL: PlaySE(SE_SELECT); DestroyListMenuTask(data[5], NULL, NULL); RemoveScrollIndicatorArrowPair(data[8]); diff --git a/src/shop.c b/src/shop.c index 8eefd5e97f..2c2a28eea7 100755 --- a/src/shop.c +++ b/src/shop.c @@ -918,7 +918,7 @@ static void Task_BuyMenu(u8 taskId) { case LIST_NOTHING_CHOSEN: break; - case LIST_B_PRESSED: + case LIST_CANCEL: PlaySE(SE_SELECT); ExitBuyMenu(taskId); break; diff --git a/src/strings.c b/src/strings.c index f81a19083c..c2f476b585 100644 --- a/src/strings.c +++ b/src/strings.c @@ -1742,15 +1742,15 @@ const u8 gText_TrainerHill2F[] = _("2F"); const u8 gText_TrainerHill3F[] = _("3F"); const u8 gText_TrainerHill4F[] = _("4F"); const u8 gText_TeachWhichMoveToPkmn[] = _("Teach which move to {STR_VAR_1}?"); -const u8 gText_TeachX[] = _("Teach {STR_VAR_2}?"); -const u8 gText_PkmnLearnedMove4[] = _("{STR_VAR_1} learned\n{STR_VAR_2}!"); -const u8 gText_PkmnTryingToLearnMove[] = _("{STR_VAR_1} is trying to learn\n{STR_VAR_2}.\pBut {STR_VAR_1} can't learn more\nthan four moves.\pDelete an older move to make\nroom for {STR_VAR_2}?"); -const u8 gText_StopTryingToTeachMove[] = _("Stop trying to teach\n{STR_VAR_2}?"); -const u8 gText_12AndPoof[] = _("{PAUSE 32}1, {PAUSE 15}2, and {PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE 0x0038}Poof!\p"); -const u8 gText_PkmnForgotMoveAndLearnedNew[] = _("{STR_VAR_1} forgot {STR_VAR_3}.\pAnd…\p{STR_VAR_1} learned {STR_VAR_2}."); +const u8 gText_MoveTutorTeachMoveConfirm[] = _("Teach {STR_VAR_2}?"); +const u8 gText_MoveTutorPkmnLearnedMove[] = _("{STR_VAR_1} learned\n{STR_VAR_2}!"); +const u8 gText_MoveTutorPkmnTryingToLearnMove[] = _("{STR_VAR_1} is trying to learn\n{STR_VAR_2}.\pBut {STR_VAR_1} can't learn more\nthan four moves.\pDelete an older move to make\nroom for {STR_VAR_2}?"); +const u8 gText_MoveTutorStopTryingToTeachMove[] = _("Stop trying to teach\n{STR_VAR_2}?"); +const u8 gText_MoveTutorAndPoof[] = _("{PAUSE 32}1, {PAUSE 15}2, and {PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE 0x0038}Poof!\p"); +const u8 gText_MoveTutorPkmnForgotMoveAndLearnedNew[] = _("{STR_VAR_1} forgot {STR_VAR_3}.\pAnd…\p{STR_VAR_1} learned {STR_VAR_2}."); const u8 gUnknown_085EF9C8[] = _("{STR_VAR_1} did not learn the\nmove {STR_VAR_2}."); -const u8 gText_GiveUpTeachingNewMove[] = _("Give up trying to teach a new\nmove to {STR_VAR_1}?"); -const u8 gText_WhichMoveToForget2[] = _("Which move should be\nforgotten?\p"); +const u8 gText_MoveTutorGiveUp[] = _("Give up trying to teach a new\nmove to {STR_VAR_1}?"); +const u8 gText_MoveTutorWhichMoveToForget[] = _("Which move should be\nforgotten?\p"); const u8 gText_BattleMoves2[] = _("BATTLE MOVES"); const u8 gText_ContestMoves2[] = _("CONTEST MOVES"); const u8 gUnknown_085EFA4C[] = _("TYPE/"); diff --git a/src/trade.c b/src/trade.c index 849442ae04..25705b7bb2 100644 --- a/src/trade.c +++ b/src/trade.c @@ -6061,7 +6061,7 @@ static void sub_807F110(u8 taskId) if (!gPaletteFade.active) { SetMainCallback2(sub_807B270); - gFieldCallback = sub_80AF168; + gFieldCallback = FieldCallback_ReturnToEventScript2; DestroyTask(taskId); } } diff --git a/src/walda_phrase.c b/src/walda_phrase.c index 83004777f6..e8c1e4aedb 100644 --- a/src/walda_phrase.c +++ b/src/walda_phrase.c @@ -70,7 +70,7 @@ static void CB2_HandleGivenWaldaPhrase(void) } StringCopy(gStringVar1, GetWaldaPhrasePtr()); - gFieldCallback = sub_80AF168; + gFieldCallback = FieldCallback_ReturnToEventScript2; SetMainCallback2(CB2_ReturnToField); } diff --git a/sym_ewram.txt b/sym_ewram.txt index 361c0921f6..85c81643e7 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -192,7 +192,7 @@ gPlayerFacingPosition: @ 203AB40 .include "src/rom_81520A8.o" .include "src/save.o" .include "src/mystery_event_script.o" - .include "src/learn_move.o" + .include "src/move_tutor.o" .include "src/decoration_inventory.o" .include "src/roamer.o" .include "src/battle_tower.o" From 27aa27a2e9ee59d9afcacf0b893f3622ae07484c Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sun, 3 Mar 2019 02:58:50 -0500 Subject: [PATCH 09/47] Fix tabs --- data/rom_81D1C44.s | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/data/rom_81D1C44.s b/data/rom_81D1C44.s index f9bd20bad7..f9625c9ca9 100644 --- a/data/rom_81D1C44.s +++ b/data/rom_81D1C44.s @@ -24,17 +24,15 @@ gUnknown_08625410:: @ 8625410 .byte 4, 5, 6, 7, 8, 9, 9, 0xA, 0xA, 0xB, 0xB, 0xC, 0xC, 0xD, 0xD, 0xD, 0xD, 0xE, 0xE, 0xE, 0xE, 0xF, 0xF, 0xF, 0xF, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23 gMoveTutorWindowTemplates:: @ 8625510s - window_template 1, 1, 1, 16, 12, 0xF, 0x000A - window_template 1, 1, 1, 16, 12, 0xF, 0x00CA - window_template 1, 19, 1, 10, 12, 0xF, 0x018A - window_template 1, 4, 15, 22, 4, 0xF, 0x0202 - window_template 0, 22, 8, 5, 4, 0xF, 0x025A - null_window_template + window_template 1, 1, 1, 16, 12, 0xF, 0x000A + window_template 1, 1, 1, 16, 12, 0xF, 0x00CA + window_template 1, 19, 1, 10, 12, 0xF, 0x018A + window_template 1, 4, 15, 22, 4, 0xF, 0x0202 + window_template 0, 22, 8, 5, 4, 0xF, 0x025A + null_window_template gMoveTutorYesNoMenuTemplate:: @ 8625540 - window_template 0, 22, 8, 5, 4, 0xF, 0x025A - @.4byte 0x5081600 - @.4byte 0x25A0F04 + window_template 0, 22, 8, 5, 4, 0xF, 0x025A gMoveTutorMovesListTemplate:: @ 8625548 struct ListMenuTemplate .4byte NULL From f378a5a316682247bc9385594706518461eaacde Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sun, 3 Mar 2019 15:02:26 -0500 Subject: [PATCH 10/47] Fix symbol overcounting, add partial symbols --- .travis/calcrom/calcrom.pl | 57 +++++++++++++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 7 deletions(-) diff --git a/.travis/calcrom/calcrom.pl b/.travis/calcrom/calcrom.pl index 354f9bcee5..9c48679290 100755 --- a/.travis/calcrom/calcrom.pl +++ b/.travis/calcrom/calcrom.pl @@ -31,28 +31,66 @@ while (my $line = <$file>) } } -# It sucks that we have to objdump twice, but I can't figure out how to get -# stdin working for subcommands in perl while still having a timeout. +# Note that the grep filters out all branch labels. It also requires a minimum +# line length of 5, to filter out a ton of generated symbols (like AcCn). No +# settings to nm seem to remove these symbols. Finally, nm prints out a separate +# entry for whenever a name appears in a file, not just where it's defined. uniq +# removes all the duplicate entries. +# +# +# You'd expect this to take a while, because of uniq. It runs in under a second, +# though. Uniq is pretty fast! +my $base_cmd = "nm pokeemerald.elf | awk '{print \$3}' | grep '^[^_].\\{4\\}' | uniq"; + +# This looks for Unknown_, Unknown_, or sub_, followed by just numbers. Note that +# it matches even if stuff precedes the unknown, like sUnknown/gUnknown. +my $undoc_cmd = "grep '[Uu]nknown_[0-9a-fA-F]*\\|sub_[0-9a-fA-F]*'"; + +# This looks for every symbol with an address at the end of it. Some things are +# given a name based on their type / location, but still have an unknown purpose. +# For example, FooMap_EventScript_FFFFFFF. +my $partial_doc_cmd = "grep '[0-9a-fA-F]\\{6,7\\}'"; + +my $count_cmd = "wc -l"; + +# It sucks that we have to run this three times, but I can't figure out how to get +# stdin working for subcommands in perl while still having a timeout. It's decently +# fast anyway. my $total_syms_as_string; (run ( - command => "arm-none-eabi-nm pokeemerald.elf | wc -l", + command => "$base_cmd | $count_cmd", buffer => \$total_syms_as_string, - timeout => 30 + timeout => 60 )) or die "ERROR: Error while getting all symbols: $?"; my $undocumented_as_string; (run ( - command => "arm-none-eabi-nm pokeemerald.elf | grep \"Unknown_\\|sub_\" | wc -l", + command => "$base_cmd | $undoc_cmd | $count_cmd", buffer => \$undocumented_as_string, - timeout => 30 + timeout => 60 )) or die "ERROR: Error while filtering for undocumented symbols: $?"; +my $partial_documented_as_string; +(run ( + command => "$base_cmd | $partial_doc_cmd | $count_cmd", + buffer => \$partial_documented_as_string, + timeout => 60 +)) + or die "ERROR: Error while filtering for partial symbols: $?"; + +# Performing addition on a string converts it to a number. Any string that fails +# to convert to a number becomes 0. So if our converted number is 0, but our string +# is nonzero, then the conversion was an error. my $undocumented = $undocumented_as_string + 0; (($undocumented != 0) and ($undocumented_as_string ne "0")) or die "ERROR: Cannot convert string to num: '$undocumented_as_string'"; +my $partial_documented = $partial_documented_as_string + 0; +(($partial_documented != 0) and ($partial_documented_as_string ne "0")) + or die "ERROR: Cannot convert string to num: '$partial_documented_as_string'"; + my $total_syms = $total_syms_as_string + 0; (($total_syms != 0) and ($total_syms_as_string ne "0")) or die "ERROR: Cannot convert string to num: '$total_syms_as_string'"; @@ -64,8 +102,12 @@ my $total = $src + $asm; my $srcPct = sprintf("%.4f", 100 * $src / $total); my $asmPct = sprintf("%.4f", 100 * $asm / $total); -my $documented = $total_syms - $undocumented; +# partial_documented is double-counting the unknown_* and sub_* symbols. +$partial_documented = $partial_documented - $undocumented; + +my $documented = $total_syms - ($undocumented + $partial_documented); my $docPct = sprintf("%.4f", 100 * $documented / $total_syms); +my $partialPct = sprintf("%.4f", 100 * $partial_documented / $total_syms); my $undocPct = sprintf("%.4f", 100 * $undocumented / $total_syms); print "$total total bytes of code\n"; @@ -74,4 +116,5 @@ print "$asm bytes of code in asm ($asmPct%)\n"; print "\n"; print "$total_syms total symbols\n"; print "$documented symbols documented ($docPct%)\n"; +print "$partial_documented symbols partially documented ($partialPct%)\n"; print "$undocumented symbols undocumented ($undocPct%)\n"; From 63e700af6c735dc40f8ddb2b46cad9c0c43ad6b3 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sun, 3 Mar 2019 16:50:51 -0500 Subject: [PATCH 11/47] Use macros for summary windows Other minor changes and fixes are included --- include/battle_tent.h | 2 +- include/party_menu.h | 2 +- src/battle_tent.c | 2 +- src/party_menu.c | 6 +- src/pokemon_summary_screen.c | 1184 ++++++++++++++++++---------------- 5 files changed, 627 insertions(+), 569 deletions(-) diff --git a/include/battle_tent.h b/include/battle_tent.h index a894d4cfb2..ca3faa4a6b 100644 --- a/include/battle_tent.h +++ b/include/battle_tent.h @@ -1,6 +1,6 @@ #ifndef GUARD_BATTLE_TENT_H #define GUARD_BATTLE_TENT_H -bool8 sub_81B9E94(void); +bool8 InSlateportBattleTent(void); #endif //GUARD_BATTLE_TENT_H diff --git a/include/party_menu.h b/include/party_menu.h index e67dd56f2c..413a896895 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -62,7 +62,7 @@ u8 sub_81B1B5C(const u8* str, u8 b); bool8 sub_81B1BD4(void); void sub_81B1F18(u8 taskId, u8 slot, s8 c, s16 HPDifference, TaskFunc func); u8 pokemon_ailments_get_primary(u32 status); -u8 sub_81B205C(struct Pokemon *mon); +u8 GetMonAilment(struct Pokemon *mon); void display_pokemon_menu_message(u32 stringID); void sub_81B47E0(u8 taskId); bool8 FieldCallback_PrepareFadeInFromMenu(void); diff --git a/src/battle_tent.c b/src/battle_tent.c index b07020822e..85194417fb 100644 --- a/src/battle_tent.c +++ b/src/battle_tent.c @@ -269,7 +269,7 @@ static void sub_81B9E88(void) DoBattleFactorySwapScreen(); } -bool8 sub_81B9E94(void) +bool8 InSlateportBattleTent(void) { return gMapHeader.regionMapSectionId == MAPSEC_SLATEPORT_CITY && (gMapHeader.mapLayoutId == LAYOUT_BATTLE_TENT_CORRIDOR || gMapHeader.mapLayoutId == LAYOUT_BATTLE_TENT_BATTLE_ROOM); diff --git a/src/party_menu.c b/src/party_menu.c index 10665ad9ef..71f4cb6394 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -2936,7 +2936,7 @@ u8 pokemon_ailments_get_primary(u32 status) return AILMENT_NONE; } -u8 sub_81B205C(struct Pokemon *mon) +u8 GetMonAilment(struct Pokemon *mon) { u8 ailment; @@ -3355,7 +3355,7 @@ static void DisplayPartyPokemonLevelCheck(struct Pokemon *mon, struct Struct203C { if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) { - u8 ailment = sub_81B205C(mon); + u8 ailment = GetMonAilment(mon); if (ailment == AILMENT_NONE || ailment == AILMENT_PKRS) { if (c != 0) @@ -5183,7 +5183,7 @@ static void party_menu_link_mon_status_condition_object(u16 species, u8 status, static void party_menu_get_status_condition_and_update_object(struct Pokemon *mon, struct Struct203CEDC *ptr) { - party_menu_update_status_condition_object(sub_81B205C(mon), ptr); + party_menu_update_status_condition_object(GetMonAilment(mon), ptr); } static void party_menu_update_status_condition_object(u8 status, struct Struct203CEDC *ptr) diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index bd1ae78027..1d35689d0d 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -47,7 +47,62 @@ #include "constants/songs.h" #include "constants/species.h" -static EWRAM_DATA struct PssData +// Screen titles (upper left) +#define PSS_LABEL_WINDOW_POKEMON_INFO_TITLE 0 +#define PSS_LABEL_WINDOW_POKEMON_SKILLS_TITLE 1 +#define PSS_LABEL_WINDOW_BATTLE_MOVES_TITLE 2 +#define PSS_LABEL_WINDOW_CONTEST_MOVES_TITLE 3 + +// Button control text (upper right) +#define PSS_LABEL_WINDOW_PROMPT_CANCEL 4 +#define PSS_LABEL_WINDOW_PROMPT_INFO 5 +#define PSS_LABEL_WINDOW_PROMPT_SWITCH 6 +#define PSS_LABEL_WINDOW_UNUSED1 7 + +// Info screen +#define PSS_LABEL_WINDOW_POKEMON_INFO_RENTAL 8 +#define PSS_LABEL_WINDOW_POKEMON_INFO_TYPE 9 + +// Skills screen +#define PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_LEFT 10 // HP, Attack, Defense +#define PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_RIGHT 11 // Sp. Attack, Sp. Defense, Speed +#define PSS_LABEL_WINDOW_POKEMON_SKILLS_EXP 12 // EXP, Next Level +#define PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS 13 + +// Moves screen +#define PSS_LABEL_WINDOW_MOVES_POWER_ACC 14 // Also contains the power and accuracy values +#define PSS_LABEL_WINDOW_MOVES_APPEAL_JAM 15 +#define PSS_LABEL_WINDOW_UNUSED2 16 + +// Above/below the pokemon's portrait (left) +#define PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER 17 +#define PSS_LABEL_WINDOW_PORTRAIT_NICKNAME 18 // The upper name +#define PSS_LABEL_WINDOW_PORTRAIT_SPECIES 19 // The lower name +#define PSS_LABEL_WINDOW_END 20 + +// Dynamic fields for the Pokemon Info page +#define PSS_DATA_WINDOW_INFO_ORIGINAL_TRAINER 0 +#define PSS_DATA_WINDOW_INFO_ID 1 +#define PSS_DATA_WINDOW_INFO_ABILITY 2 +#define PSS_DATA_WINDOW_INFO_MEMO 3 + +// Dynamic fields for the Pokemon Skills page +#define PSS_DATA_WINDOW_SKILLS_HELD_ITEM 0 +#define PSS_DATA_WINDOW_SKILLS_RIBBON_COUNT 1 +#define PSS_DATA_WINDOW_SKILLS_STATS_LEFT 2 // HP, Attack, Defense +#define PSS_DATA_WINDOW_SKILLS_STATS_RIGHT 3 // Sp. Attack, Sp. Defense, Speed +#define PSS_DATA_WINDOW_EXP 4 // Exp, next level + +// Dynamic fields for the Battle Moves and Contest Moves pages. +#define PSS_DATA_WINDOW_MOVE_NAMES 0 +#define PSS_DATA_WINDOW_MOVE_PP 1 +#define PSS_DATA_WINDOW_MOVE_DESCRIPTION 2 + +// Used for switching between pages, pokemon, and moves. +#define PSS_CHANGE_NEXT 1 +#define PSS_CHANGE_PREV -1 + +static EWRAM_DATA struct PokemonSummaryScreenData { /*0x00*/ union { struct Pokemon *mons; @@ -63,7 +118,7 @@ static EWRAM_DATA struct PssData u8 isEgg; // 0x4 u8 level; // 0x5 u8 ribbonCount; // 0x6 - u8 unk7; // 0x7 + u8 ailment; // 0x7 u8 altAbility; // 0x8 u8 metLocation; // 0x9 u8 metLevel; // 0xA @@ -109,7 +164,7 @@ static EWRAM_DATA struct PssData bool8 unk40EF; s16 switchCounter; // Used for various switch statement cases that decompress/load graphics or pokemon data u8 unk_filler4[6]; -} *pssData = NULL; +} *sMonSummaryScreenData = NULL; EWRAM_DATA u8 gLastViewedMonIndex = 0; static EWRAM_DATA u8 sUnknown_0203CF21 = 0; ALIGNED(4) static EWRAM_DATA u8 sUnknownTaskId = 0; @@ -135,7 +190,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon* a); static void sub_81C0348(void); static void CloseSummaryScreen(u8 taskId); static void HandleInput(u8 taskId); -static void ChangePokemon(u8 taskId, s8 a); +static void ChangeSummaryPokemon(u8 taskId, s8 a); static void sub_81C0704(u8 taskId); static s8 sub_81C08F8(s8 a); static s8 sub_81C09B4(s8 a); @@ -309,7 +364,7 @@ static const struct UnkStruct_61CC04 sUnknown_0861CC10 = static const s8 gUnknown_0861CC1C[] = {0, 2, 3, 1, 4, 5}; static const struct WindowTemplate sSummaryTemplate[] = { - {//Text for Pokemon Info + [PSS_LABEL_WINDOW_POKEMON_INFO_TITLE] = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, @@ -318,7 +373,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 1, }, - {//Text for Pokemon Skills + [PSS_LABEL_WINDOW_POKEMON_SKILLS_TITLE] = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, @@ -327,7 +382,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 23, }, - {//Text for Battle Moves + [PSS_LABEL_WINDOW_BATTLE_MOVES_TITLE] = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, @@ -336,7 +391,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 45, }, - {//Text for Contest Moves + [PSS_LABEL_WINDOW_CONTEST_MOVES_TITLE] = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, @@ -345,7 +400,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 67, }, - { //Text on Pokemon Info: Button prompt: Cancel + [PSS_LABEL_WINDOW_PROMPT_CANCEL] = { .bg = 0, .tilemapLeft = 22, .tilemapTop = 0, @@ -354,7 +409,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 7, .baseBlock = 89, }, - {//Info button found under moves + [PSS_LABEL_WINDOW_PROMPT_INFO] = { .bg = 0, .tilemapLeft = 22, .tilemapTop = 0, @@ -363,7 +418,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 7, .baseBlock = 105, }, - {//Switch button under moves when viewing moves + [PSS_LABEL_WINDOW_PROMPT_SWITCH] = { .bg = 0, .tilemapLeft = 22, .tilemapTop = 0, @@ -372,7 +427,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 7, .baseBlock = 121, }, - {//Unknown + [PSS_LABEL_WINDOW_UNUSED1] = { .bg = 0, .tilemapLeft = 11, .tilemapTop = 4, @@ -381,7 +436,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 137, }, - {//Unknown + [PSS_LABEL_WINDOW_POKEMON_INFO_RENTAL] = { .bg = 0, .tilemapLeft = 11, .tilemapTop = 4, @@ -390,7 +445,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 137, }, - {//Type on pokemon info page + [PSS_LABEL_WINDOW_POKEMON_INFO_TYPE] = { .bg = 0, .tilemapLeft = 11, .tilemapTop = 6, @@ -399,7 +454,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 173, }, - {//HP, Attack and Defense text + [PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_LEFT] = { .bg = 0, .tilemapLeft = 10, .tilemapTop = 7, @@ -408,7 +463,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 209, }, - {//Sp. atk, Sp. Def and Speed texxt + [PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_RIGHT] = { .bg = 0, .tilemapLeft = 22, .tilemapTop = 7, @@ -417,7 +472,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 245, }, - {//EXP and next lvl. + [PSS_LABEL_WINDOW_POKEMON_SKILLS_EXP] = { .bg = 0, .tilemapLeft = 10, .tilemapTop = 14, @@ -426,7 +481,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 275, }, - {//Unknown + [PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS] = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 18, @@ -435,7 +490,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 319, }, - {//move text: Power, Accuracy and their numeric values. + [PSS_LABEL_WINDOW_MOVES_POWER_ACC] = { .bg = 0, .tilemapLeft = 1, .tilemapTop = 15, @@ -444,7 +499,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 331, }, - {//contest text: appeal and jam + [PSS_LABEL_WINDOW_MOVES_APPEAL_JAM] = { .bg = 0, .tilemapLeft = 1, .tilemapTop = 15, @@ -453,7 +508,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 367, }, - {//Unknown + [PSS_LABEL_WINDOW_UNUSED2] = { .bg = 0, .tilemapLeft = 22, .tilemapTop = 4, @@ -462,7 +517,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 387, }, - {//No. + [PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER] = { .bg = 0, .tilemapLeft = 1, .tilemapTop = 2, @@ -471,7 +526,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 7, .baseBlock = 387, }, - {//Upper name + [PSS_LABEL_WINDOW_PORTRAIT_NICKNAME] = { .bg = 0, .tilemapLeft = 1, .tilemapTop = 12, @@ -480,7 +535,7 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 395, }, - {//Lower name + [PSS_LABEL_WINDOW_PORTRAIT_SPECIES] = { .bg = 0, .tilemapLeft = 1, .tilemapTop = 14, @@ -489,11 +544,11 @@ static const struct WindowTemplate sSummaryTemplate[] = .paletteNum = 6, .baseBlock = 413, }, - DUMMY_WIN_TEMPLATE + [PSS_LABEL_WINDOW_END] = DUMMY_WIN_TEMPLATE }; static const struct WindowTemplate sPageInfoTemplate[] = { - {//Original Trainer + [PSS_DATA_WINDOW_INFO_ORIGINAL_TRAINER] = { .bg = 0, .tilemapLeft = 11, .tilemapTop = 4, @@ -502,7 +557,7 @@ static const struct WindowTemplate sPageInfoTemplate[] = .paletteNum = 6, .baseBlock = 449, }, - {//ID numbers + [PSS_DATA_WINDOW_INFO_ID] = { .bg = 0, .tilemapLeft = 22, .tilemapTop = 4, @@ -511,7 +566,7 @@ static const struct WindowTemplate sPageInfoTemplate[] = .paletteNum = 6, .baseBlock = 471, }, - {//Ability + [PSS_DATA_WINDOW_INFO_ABILITY] = { .bg = 0, .tilemapLeft = 11, .tilemapTop = 9, @@ -520,7 +575,7 @@ static const struct WindowTemplate sPageInfoTemplate[] = .paletteNum = 6, .baseBlock = 485, }, - {//Trainer Memo + [PSS_DATA_WINDOW_INFO_MEMO] = { .bg = 0, .tilemapLeft = 11, .tilemapTop = 14, @@ -532,7 +587,7 @@ static const struct WindowTemplate sPageInfoTemplate[] = }; static const struct WindowTemplate sPageSkillsTemplate[] = { - {//Held Item string + [PSS_DATA_WINDOW_SKILLS_HELD_ITEM] = { .bg = 0, .tilemapLeft = 10, .tilemapTop = 4, @@ -541,7 +596,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .paletteNum = 6, .baseBlock = 449, }, - {//Ribbon string + [PSS_DATA_WINDOW_SKILLS_RIBBON_COUNT] = { .bg = 0, .tilemapLeft = 20, .tilemapTop = 4, @@ -550,7 +605,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .paletteNum = 6, .baseBlock = 469, }, - {//Stat numbers left (HP, ATK & DEF) + [PSS_DATA_WINDOW_SKILLS_STATS_LEFT] = { .bg = 0, .tilemapLeft = 16, .tilemapTop = 7, @@ -559,7 +614,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .paletteNum = 6, .baseBlock = 489, }, - {//Stat numbers right (SP.ATK, SP.DEF & SPEED) + [PSS_DATA_WINDOW_SKILLS_STATS_RIGHT] = { .bg = 0, .tilemapLeft = 27, .tilemapTop = 7, @@ -568,7 +623,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = .paletteNum = 6, .baseBlock = 525, }, - {//Exp numbers + [PSS_DATA_WINDOW_EXP] = { .bg = 0, .tilemapLeft = 24, .tilemapTop = 14, @@ -580,7 +635,7 @@ static const struct WindowTemplate sPageSkillsTemplate[] = }; static const struct WindowTemplate sPageMovesTemplate[] = // This is used for both battle and contest moves { - {//Move names? + [PSS_DATA_WINDOW_MOVE_NAMES] = { .bg = 0, .tilemapLeft = 15, .tilemapTop = 4, @@ -589,7 +644,7 @@ static const struct WindowTemplate sPageMovesTemplate[] = // This is used for bo .paletteNum = 6, .baseBlock = 449, }, - {//PP Numbers + [PSS_DATA_WINDOW_MOVE_PP] = { .bg = 0, .tilemapLeft = 24, .tilemapTop = 4, @@ -598,7 +653,7 @@ static const struct WindowTemplate sPageMovesTemplate[] = // This is used for bo .paletteNum = 8, .baseBlock = 539, }, - {//Move description text + [PSS_DATA_WINDOW_MOVE_DESCRIPTION] = { .bg = 0, .tilemapLeft = 10, .tilemapTop = 15, @@ -996,38 +1051,38 @@ static const u16 sSummaryMarkingsPalette[] = INCBIN_U16("graphics/interface/summ // code void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) { - pssData = AllocZeroed(sizeof(*pssData)); - pssData->mode = mode; - pssData->monList.mons = mons; - pssData->curMonIndex = monIndex; - pssData->maxMonIndex = maxMonIndex; - pssData->callback = callback; + sMonSummaryScreenData = AllocZeroed(sizeof(*sMonSummaryScreenData)); + sMonSummaryScreenData->mode = mode; + sMonSummaryScreenData->monList.mons = mons; + sMonSummaryScreenData->curMonIndex = monIndex; + sMonSummaryScreenData->maxMonIndex = maxMonIndex; + sMonSummaryScreenData->callback = callback; if (mode == PSS_MODE_BOX) - pssData->isBoxMon = TRUE; + sMonSummaryScreenData->isBoxMon = TRUE; else - pssData->isBoxMon = FALSE; + sMonSummaryScreenData->isBoxMon = FALSE; switch (mode) { case PSS_MODE_NORMAL: case PSS_MODE_BOX: - pssData->minPageIndex = 0; - pssData->maxPageIndex = 3; + sMonSummaryScreenData->minPageIndex = 0; + sMonSummaryScreenData->maxPageIndex = 3; break; case PSS_MODE_UNK1: - pssData->minPageIndex = 0; - pssData->maxPageIndex = 3; - pssData->unk40C8 = TRUE; + sMonSummaryScreenData->minPageIndex = 0; + sMonSummaryScreenData->maxPageIndex = 3; + sMonSummaryScreenData->unk40C8 = TRUE; break; case PSS_MODE_SELECT_MOVE: - pssData->minPageIndex = 2; - pssData->maxPageIndex = 3; - pssData->lockMonFlag = TRUE; + sMonSummaryScreenData->minPageIndex = 2; + sMonSummaryScreenData->maxPageIndex = 3; + sMonSummaryScreenData->lockMonFlag = TRUE; break; } - pssData->currPageIndex = pssData->minPageIndex; + sMonSummaryScreenData->currPageIndex = sMonSummaryScreenData->minPageIndex; SummaryScreen_SetUnknownTaskId(-1); if (gMonSpritesGfxPtr == 0) @@ -1039,13 +1094,13 @@ void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void), u16 newMove) { ShowPokemonSummaryScreen(PSS_MODE_SELECT_MOVE, mons, monIndex, maxMonIndex, callback); - pssData->newMove = newMove; + sMonSummaryScreenData->newMove = newMove; } void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) { ShowPokemonSummaryScreen(mode, mons, monIndex, maxMonIndex, callback); - pssData->unk40EF = TRUE; + sMonSummaryScreenData->unk40EF = TRUE; } static void SummaryScreen_MainCB2(void) @@ -1098,7 +1153,7 @@ static bool8 SummaryScreen_LoadGraphics(void) break; case 5: InitBGs(); - pssData->switchCounter = 0; + sMonSummaryScreenData->switchCounter = 0; gMain.state++; break; case 6: @@ -1114,12 +1169,12 @@ static bool8 SummaryScreen_LoadGraphics(void) gMain.state++; break; case 9: - CopyMonToSummaryStruct(&pssData->currentMon); - pssData->switchCounter = 0; + CopyMonToSummaryStruct(&sMonSummaryScreenData->currentMon); + sMonSummaryScreenData->switchCounter = 0; gMain.state++; break; case 10: - if (ExtractMonDataToSummaryStruct(&pssData->currentMon) != 0) + if (ExtractMonDataToSummaryStruct(&sMonSummaryScreenData->currentMon) != 0) gMain.state++; break; case 11: @@ -1131,7 +1186,7 @@ static bool8 SummaryScreen_LoadGraphics(void) gMain.state++; break; case 13: - PrintPageSpecificText(pssData->currPageIndex); + PrintPageSpecificText(sMonSummaryScreenData->currPageIndex); gMain.state++; break; case 14: @@ -1139,29 +1194,29 @@ static bool8 SummaryScreen_LoadGraphics(void) gMain.state++; break; case 15: - CreatePageWindowTilemaps(pssData->currPageIndex); + CreatePageWindowTilemaps(sMonSummaryScreenData->currPageIndex); gMain.state++; break; case 16: ResetSpriteIds(); CreateMoveTypeIcons(); - pssData->switchCounter = 0; + sMonSummaryScreenData->switchCounter = 0; gMain.state++; break; case 17: - pssData->spriteIds[0] = CreatePokemonSprite(&pssData->currentMon, &pssData->switchCounter); - if (pssData->spriteIds[0] != 0xFF) + sMonSummaryScreenData->spriteIds[0] = CreatePokemonSprite(&sMonSummaryScreenData->currentMon, &sMonSummaryScreenData->switchCounter); + if (sMonSummaryScreenData->spriteIds[0] != 0xFF) { - pssData->switchCounter = 0; + sMonSummaryScreenData->switchCounter = 0; gMain.state++; } break; case 18: - CreateMonMarkingsSprite(&pssData->currentMon); + CreateMonMarkingsSprite(&sMonSummaryScreenData->currentMon); gMain.state++; break; case 19: - CreateCaughtBallSprite(&pssData->currentMon); + CreateCaughtBallSprite(&sMonSummaryScreenData->currentMon); gMain.state++; break; case 20: @@ -1173,7 +1228,7 @@ static bool8 SummaryScreen_LoadGraphics(void) gMain.state++; break; case 22: - if (pssData->mode != PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreenData->mode != PSS_MODE_SELECT_MOVE) CreateTask(HandleInput, 0); else CreateTask(sub_81C171C, 0); @@ -1200,9 +1255,9 @@ static void InitBGs(void) { ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sUnknown_0861CBB4, ARRAY_COUNT(sUnknown_0861CBB4)); - SetBgTilemapBuffer(1, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); - SetBgTilemapBuffer(2, pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][0]); - SetBgTilemapBuffer(3, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0]); + SetBgTilemapBuffer(1, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); + SetBgTilemapBuffer(2, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_SKILLS][0]); + SetBgTilemapBuffer(3, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][0]); ResetAllBgsCoordinates(); schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); @@ -1217,64 +1272,64 @@ static void InitBGs(void) static bool8 SummaryScreen_DecompressGraphics(void) { - switch (pssData->switchCounter) + switch (sMonSummaryScreenData->switchCounter) { case 0: reset_temp_tile_data_buffers(); decompress_and_copy_tile_data_to_vram(1, &gStatusScreenBitmap, 0, 0, 0); - pssData->switchCounter++; + sMonSummaryScreenData->switchCounter++; break; case 1: if (free_temp_tile_data_buffers_if_possible() != 1) { - LZDecompressWram(gPageInfoTilemap, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0]); - pssData->switchCounter++; + LZDecompressWram(gPageInfoTilemap, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][0]); + sMonSummaryScreenData->switchCounter++; } break; case 2: - LZDecompressWram(gUnknown_08D98CC8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][1]); - pssData->switchCounter++; + LZDecompressWram(gUnknown_08D98CC8, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][1]); + sMonSummaryScreenData->switchCounter++; break; case 3: - LZDecompressWram(gPageSkillsTilemap, pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][1]); - pssData->switchCounter++; + LZDecompressWram(gPageSkillsTilemap, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_SKILLS][1]); + sMonSummaryScreenData->switchCounter++; break; case 4: - LZDecompressWram(gPageBattleMovesTilemap, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][1]); - pssData->switchCounter++; + LZDecompressWram(gPageBattleMovesTilemap, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][1]); + sMonSummaryScreenData->switchCounter++; break; case 5: - LZDecompressWram(gPageContestMovesTilemap, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]); - pssData->switchCounter++; + LZDecompressWram(gPageContestMovesTilemap, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]); + sMonSummaryScreenData->switchCounter++; break; case 6: LoadCompressedPalette(gStatusScreenPalette, 0, 0x100); LoadPalette(&gUnknown_08D85620, 0x81, 0x1E); - pssData->switchCounter++; + sMonSummaryScreenData->switchCounter++; break; case 7: LoadCompressedSpriteSheet(&sSpriteSheet_MoveTypes); - pssData->switchCounter++; + sMonSummaryScreenData->switchCounter++; break; case 8: LoadCompressedSpriteSheet(&sMoveSelectorSpriteSheet); - pssData->switchCounter++; + sMonSummaryScreenData->switchCounter++; break; case 9: LoadCompressedSpriteSheet(&sStatusIconsSpriteSheet); - pssData->switchCounter++; + sMonSummaryScreenData->switchCounter++; break; case 10: LoadCompressedSpritePalette(&sStatusIconsSpritePalette); - pssData->switchCounter++; + sMonSummaryScreenData->switchCounter++; break; case 11: LoadCompressedSpritePalette(&gUnknown_0861D07C); - pssData->switchCounter++; + sMonSummaryScreenData->switchCounter++; break; case 12: LoadCompressedPalette(gMoveTypes_Pal, 0x1D0, 0x60); - pssData->switchCounter = 0; + sMonSummaryScreenData->switchCounter = 0; return TRUE; } return FALSE; @@ -1282,126 +1337,127 @@ static bool8 SummaryScreen_DecompressGraphics(void) static void CopyMonToSummaryStruct(struct Pokemon *mon) { - if (!pssData->isBoxMon) + if (!sMonSummaryScreenData->isBoxMon) { - struct Pokemon *partyMon = pssData->monList.mons; - *mon = partyMon[pssData->curMonIndex]; + struct Pokemon *partyMon = sMonSummaryScreenData->monList.mons; + *mon = partyMon[sMonSummaryScreenData->curMonIndex]; } else { - struct BoxPokemon *boxMon = pssData->monList.boxMons; - BoxMonToMon(&boxMon[pssData->curMonIndex], mon); + struct BoxPokemon *boxMon = sMonSummaryScreenData->monList.boxMons; + BoxMonToMon(&boxMon[sMonSummaryScreenData->curMonIndex], mon); } } -static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *a) +static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *mon) { u32 i; - struct PokeSummary *sum = &pssData->summary; - switch (pssData->switchCounter) + struct PokeSummary *sum = &sMonSummaryScreenData->summary; + // Spread the data extraction over multiple frames. + switch (sMonSummaryScreenData->switchCounter) { case 0: - sum->species = GetMonData(a, MON_DATA_SPECIES); - sum->species2 = GetMonData(a, MON_DATA_SPECIES2); - sum->exp = GetMonData(a, MON_DATA_EXP); - sum->level = GetMonData(a, MON_DATA_LEVEL); - sum->altAbility = GetMonData(a, MON_DATA_ALT_ABILITY); - sum->item = GetMonData(a, MON_DATA_HELD_ITEM); - sum->pid = GetMonData(a, MON_DATA_PERSONALITY); - sum->sanity = GetMonData(a, MON_DATA_SANITY_IS_BAD_EGG); + sum->species = GetMonData(mon, MON_DATA_SPECIES); + sum->species2 = GetMonData(mon, MON_DATA_SPECIES2); + sum->exp = GetMonData(mon, MON_DATA_EXP); + sum->level = GetMonData(mon, MON_DATA_LEVEL); + sum->altAbility = GetMonData(mon, MON_DATA_ALT_ABILITY); + sum->item = GetMonData(mon, MON_DATA_HELD_ITEM); + sum->pid = GetMonData(mon, MON_DATA_PERSONALITY); + sum->sanity = GetMonData(mon, MON_DATA_SANITY_IS_BAD_EGG); if (sum->sanity) sum->isEgg = TRUE; else - sum->isEgg = GetMonData(a, MON_DATA_IS_EGG); + sum->isEgg = GetMonData(mon, MON_DATA_IS_EGG); break; case 1: for (i = 0; i < MAX_MON_MOVES; i++) { - sum->moves[i] = GetMonData(a, MON_DATA_MOVE1+i); - sum->pp[i] = GetMonData(a, MON_DATA_PP1+i); + sum->moves[i] = GetMonData(mon, MON_DATA_MOVE1+i); + sum->pp[i] = GetMonData(mon, MON_DATA_PP1+i); } - sum->ppBonuses = GetMonData(a, MON_DATA_PP_BONUSES); + sum->ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES); break; case 2: - if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_BOX || pssData->unk40EF == TRUE) + if (sMonSummaryScreenData->monList.mons == gPlayerParty || sMonSummaryScreenData->mode == PSS_MODE_BOX || sMonSummaryScreenData->unk40EF == TRUE) { - sum->nature = GetNature(a); - sum->currentHP = GetMonData(a, MON_DATA_HP); - sum->maxHP = GetMonData(a, MON_DATA_MAX_HP); - sum->atk = GetMonData(a, MON_DATA_ATK); - sum->def = GetMonData(a, MON_DATA_DEF); - sum->spatk = GetMonData(a, MON_DATA_SPATK); - sum->spdef = GetMonData(a, MON_DATA_SPDEF); - sum->speed = GetMonData(a, MON_DATA_SPEED); + sum->nature = GetNature(mon); + sum->currentHP = GetMonData(mon, MON_DATA_HP); + sum->maxHP = GetMonData(mon, MON_DATA_MAX_HP); + sum->atk = GetMonData(mon, MON_DATA_ATK); + sum->def = GetMonData(mon, MON_DATA_DEF); + sum->spatk = GetMonData(mon, MON_DATA_SPATK); + sum->spdef = GetMonData(mon, MON_DATA_SPDEF); + sum->speed = GetMonData(mon, MON_DATA_SPEED); } else { - sum->nature = GetNature(a); - sum->currentHP = GetMonData(a, MON_DATA_HP); - sum->maxHP = GetMonData(a, MON_DATA_MAX_HP); - sum->atk = GetMonData(a, MON_DATA_ATK2); - sum->def = GetMonData(a, MON_DATA_DEF2); - sum->spatk = GetMonData(a, MON_DATA_SPATK2); - sum->spdef = GetMonData(a, MON_DATA_SPDEF2); - sum->speed = GetMonData(a, MON_DATA_SPEED2); + sum->nature = GetNature(mon); + sum->currentHP = GetMonData(mon, MON_DATA_HP); + sum->maxHP = GetMonData(mon, MON_DATA_MAX_HP); + sum->atk = GetMonData(mon, MON_DATA_ATK2); + sum->def = GetMonData(mon, MON_DATA_DEF2); + sum->spatk = GetMonData(mon, MON_DATA_SPATK2); + sum->spdef = GetMonData(mon, MON_DATA_SPDEF2); + sum->speed = GetMonData(mon, MON_DATA_SPEED2); } break; case 3: - GetMonData(a, MON_DATA_OT_NAME, &sum->OTName); - ConvertInternationalString((u8*)&sum->OTName, GetMonData(a, MON_DATA_LANGUAGE)); - sum->unk7 = sub_81B205C(a); - sum->OTGender = GetMonData(a, MON_DATA_OT_GENDER); - sum->OTID = GetMonData(a, MON_DATA_OT_ID); - sum->metLocation = GetMonData(a, MON_DATA_MET_LOCATION); - sum->metLevel = GetMonData(a, MON_DATA_MET_LEVEL); - sum->metGame = GetMonData(a, MON_DATA_MET_GAME); - sum->friendship = GetMonData(a, MON_DATA_FRIENDSHIP); + GetMonData(mon, MON_DATA_OT_NAME, &sum->OTName); + ConvertInternationalString((u8*)&sum->OTName, GetMonData(mon, MON_DATA_LANGUAGE)); + sum->ailment = GetMonAilment(mon); + sum->OTGender = GetMonData(mon, MON_DATA_OT_GENDER); + sum->OTID = GetMonData(mon, MON_DATA_OT_ID); + sum->metLocation = GetMonData(mon, MON_DATA_MET_LOCATION); + sum->metLevel = GetMonData(mon, MON_DATA_MET_LEVEL); + sum->metGame = GetMonData(mon, MON_DATA_MET_GAME); + sum->friendship = GetMonData(mon, MON_DATA_FRIENDSHIP); break; default: - sum->ribbonCount = GetMonData(a, MON_DATA_RIBBON_COUNT); + sum->ribbonCount = GetMonData(mon, MON_DATA_RIBBON_COUNT); return TRUE; } - pssData->switchCounter++; + sMonSummaryScreenData->switchCounter++; return FALSE; } static void sub_81C0348(void) { - if (pssData->currPageIndex != PSS_PAGE_BATTLE_MOVES && pssData->currPageIndex != PSS_PAGE_CONTEST_MOVES) + if (sMonSummaryScreenData->currPageIndex != PSS_PAGE_BATTLE_MOVES && sMonSummaryScreenData->currPageIndex != PSS_PAGE_CONTEST_MOVES) { sub_81C1DA4(0, 255); sub_81C1EFC(0, 255, 0); } else { - DrawContestMoveHearts(pssData->summary.moves[pssData->firstMoveIndex]); - sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); - sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); - SetBgTilemapBuffer(1, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0]); - SetBgTilemapBuffer(2, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); + DrawContestMoveHearts(sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]); + sub_81C2194(sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); + sub_81C2194(sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); + SetBgTilemapBuffer(1, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0]); + SetBgTilemapBuffer(2, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); ChangeBgX(2, 0x10000, 1); - ClearWindowTilemap(19); - ClearWindowTilemap(13); + ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); + ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); } - if (pssData->summary.unk7 == 0) + if (sMonSummaryScreenData->summary.ailment == AILMENT_NONE) { sub_81C2074(0, 0xFF); } else { - if (pssData->currPageIndex != PSS_PAGE_BATTLE_MOVES && pssData->currPageIndex != PSS_PAGE_CONTEST_MOVES) - PutWindowTilemap(13); + if (sMonSummaryScreenData->currPageIndex != PSS_PAGE_BATTLE_MOVES && sMonSummaryScreenData->currPageIndex != PSS_PAGE_CONTEST_MOVES) + PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); } LimitEggSummaryPageDisplay(); - DrawPokerusCuredSymbol(&pssData->currentMon); + DrawPokerusCuredSymbol(&sMonSummaryScreenData->currentMon); } static void sub_81C0434(void) { FreeAllWindowBuffers(); - Free(pssData); + Free(sMonSummaryScreenData); } static void BeginCloseSummaryScreen(u8 taskId) @@ -1414,8 +1470,8 @@ static void CloseSummaryScreen(u8 taskId) { if (sub_81221EC() != TRUE && !gPaletteFade.active) { - SetMainCallback2(pssData->callback); - gLastViewedMonIndex = pssData->curMonIndex; + SetMainCallback2(sMonSummaryScreenData->callback); + gLastViewedMonIndex = sMonSummaryScreenData->curMonIndex; SummaryScreen_DestroyUnknownTask(); ResetSpriteData(); FreeAllSpritePalettes(); @@ -1434,25 +1490,25 @@ static void HandleInput(u8 taskId) { if (gMain.newKeys & DPAD_UP) { - ChangePokemon(taskId, -1); + ChangeSummaryPokemon(taskId, PSS_CHANGE_PREV); } else if (gMain.newKeys & DPAD_DOWN) { - ChangePokemon(taskId, 1); + ChangeSummaryPokemon(taskId, PSS_CHANGE_NEXT); } else if ((gMain.newKeys & DPAD_LEFT) || GetLRKeysState() == 1) { - ChangePage(taskId, -1); + ChangePage(taskId, PSS_CHANGE_PREV); } else if ((gMain.newKeys & DPAD_RIGHT) || GetLRKeysState() == 2) { - ChangePage(taskId, 1); + ChangePage(taskId, PSS_CHANGE_NEXT); } else if (gMain.newKeys & A_BUTTON) { - if (pssData->currPageIndex != PSS_PAGE_SKILLS) + if (sMonSummaryScreenData->currPageIndex != PSS_PAGE_SKILLS) { - if (pssData->currPageIndex == PSS_PAGE_INFO) + if (sMonSummaryScreenData->currPageIndex == PSS_PAGE_INFO) { StopPokemonAnimations(); PlaySE(SE_SELECT); @@ -1474,50 +1530,52 @@ static void HandleInput(u8 taskId) } } -static void ChangePokemon(u8 taskId, s8 a) +static void ChangeSummaryPokemon(u8 taskId, s8 delta) { - s8 r4_2; + s8 v1; + s8 v2; - if (!pssData->lockMonFlag) + if (!sMonSummaryScreenData->lockMonFlag) { - if (pssData->isBoxMon == TRUE) + if (sMonSummaryScreenData->isBoxMon == TRUE) { - if (pssData->currPageIndex != PSS_PAGE_INFO) + + if (sMonSummaryScreenData->currPageIndex != PSS_PAGE_INFO) { - if (a == 1) - a = 0; + if (delta == PSS_CHANGE_NEXT) + delta = 0; else - a = 2; + delta = 2; } else { - if (a == 1) - a = 1; + if (delta == PSS_CHANGE_NEXT) + delta = 1; else - a = 3; + delta = 3; } - r4_2 = sub_80D214C(pssData->monList.boxMons, pssData->curMonIndex, pssData->maxMonIndex, a); + v1 = sub_80D214C(sMonSummaryScreenData->monList.boxMons, sMonSummaryScreenData->curMonIndex, sMonSummaryScreenData->maxMonIndex, delta); } else if (IsMultiBattle() == TRUE) { - r4_2 = sub_81C09B4(a); + v1 = sub_81C09B4(delta); } else { - r4_2 = sub_81C08F8(a); + v1 = sub_81C08F8(delta); } - if (r4_2 != -1) + if (v1 != -1) { PlaySE(SE_SELECT); - if (pssData->summary.unk7 != 0) + if (sMonSummaryScreenData->summary.ailment != AILMENT_NONE) { SetSpriteInvisibility(2, 1); - ClearWindowTilemap(13); + ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); schedule_bg_copy_tilemap_to_vram(0); sub_81C2074(0, 2); } - pssData->curMonIndex = r4_2; + sMonSummaryScreenData->curMonIndex = v1; gTasks[taskId].data[0] = 0; gTasks[taskId].func = sub_81C0704; } @@ -1535,36 +1593,36 @@ static void sub_81C0704(u8 taskId) break; case 1: SummaryScreen_DestroyUnknownTask(); - DestroySpriteAndFreeResources(&gSprites[pssData->spriteIds[0]]); + DestroySpriteAndFreeResources(&gSprites[sMonSummaryScreenData->spriteIds[0]]); break; case 2: - DestroySpriteAndFreeResources(&gSprites[pssData->spriteIds[1]]); + DestroySpriteAndFreeResources(&gSprites[sMonSummaryScreenData->spriteIds[1]]); break; case 3: - CopyMonToSummaryStruct(&pssData->currentMon); - pssData->switchCounter = 0; + CopyMonToSummaryStruct(&sMonSummaryScreenData->currentMon); + sMonSummaryScreenData->switchCounter = 0; break; case 4: - if (ExtractMonDataToSummaryStruct(&pssData->currentMon) == FALSE) + if (ExtractMonDataToSummaryStruct(&sMonSummaryScreenData->currentMon) == FALSE) return; break; case 5: - RemoveAndCreateMonMarkingsSprite(&pssData->currentMon); + RemoveAndCreateMonMarkingsSprite(&sMonSummaryScreenData->currentMon); break; case 6: - CreateCaughtBallSprite(&pssData->currentMon); + CreateCaughtBallSprite(&sMonSummaryScreenData->currentMon); break; case 7: - if (pssData->summary.unk7) + if (sMonSummaryScreenData->summary.ailment != AILMENT_NONE) sub_81C2074(10, -2); - DrawPokerusCuredSymbol(&pssData->currentMon); + DrawPokerusCuredSymbol(&sMonSummaryScreenData->currentMon); data[1] = 0; break; case 8: - pssData->spriteIds[0] = CreatePokemonSprite(&pssData->currentMon, &data[1]); - if (pssData->spriteIds[0] == 0xFF) + sMonSummaryScreenData->spriteIds[0] = CreatePokemonSprite(&sMonSummaryScreenData->currentMon, &data[1]); + if (sMonSummaryScreenData->spriteIds[0] == 0xFF) return; - gSprites[pssData->spriteIds[0]].data[2] = 1; + gSprites[sMonSummaryScreenData->spriteIds[0]].data[2] = 1; CheckExperienceProgressBar(); data[1] = 0; break; @@ -1575,11 +1633,11 @@ static void sub_81C0704(u8 taskId) sub_81C25E8(); break; case 11: - PrintPageSpecificText(pssData->currPageIndex); + PrintPageSpecificText(sMonSummaryScreenData->currPageIndex); LimitEggSummaryPageDisplay(); break; case 12: - gSprites[pssData->spriteIds[0]].data[2] = 0; + gSprites[sMonSummaryScreenData->spriteIds[0]].data[2] = 0; break; default: if (sub_81221EC() == 0 && FuncIsActiveTask(sub_81C20F0) == 0) @@ -1594,25 +1652,25 @@ static void sub_81C0704(u8 taskId) static s8 sub_81C08F8(s8 a) { - struct Pokemon *mon = pssData->monList.mons; + struct Pokemon *mon = sMonSummaryScreenData->monList.mons; - if (pssData->currPageIndex == PSS_PAGE_INFO) + if (sMonSummaryScreenData->currPageIndex == PSS_PAGE_INFO) { - if (a == -1 && pssData->curMonIndex == 0) + if (a == -1 && sMonSummaryScreenData->curMonIndex == 0) return -1; - else if (a == 1 && pssData->curMonIndex >= pssData->maxMonIndex) + else if (a == 1 && sMonSummaryScreenData->curMonIndex >= sMonSummaryScreenData->maxMonIndex) return -1; else - return pssData->curMonIndex + a; + return sMonSummaryScreenData->curMonIndex + a; } else { - s8 index = pssData->curMonIndex; + s8 index = sMonSummaryScreenData->curMonIndex; do { index += a; - if (index < 0 || index > pssData->maxMonIndex) + if (index < 0 || index > sMonSummaryScreenData->maxMonIndex) return -1; } while (GetMonData(&mon[index], MON_DATA_IS_EGG) != 0); return index; @@ -1621,13 +1679,13 @@ static s8 sub_81C08F8(s8 a) static s8 sub_81C09B4(s8 a) { - struct Pokemon *mon = pssData->monList.mons; + struct Pokemon *mon = sMonSummaryScreenData->monList.mons; s8 r5 = 0; u8 i; for (i = 0; i < 6; i++) { - if (gUnknown_0861CC1C[i] == pssData->curMonIndex) + if (gUnknown_0861CC1C[i] == sMonSummaryScreenData->curMonIndex) { r5 = i; break; @@ -1652,33 +1710,33 @@ static bool8 sub_81C0A50(struct Pokemon* mon) { if (GetMonData(mon, MON_DATA_SPECIES) == SPECIES_NONE) return FALSE; - else if (pssData->curMonIndex != 0 || GetMonData(mon, MON_DATA_IS_EGG) == 0) + else if (sMonSummaryScreenData->curMonIndex != 0 || GetMonData(mon, MON_DATA_IS_EGG) == 0) return TRUE; else return FALSE; } -static void ChangePage(u8 taskId, s8 b) +static void ChangePage(u8 taskId, s8 delta) { - struct PokeSummary *summary = &pssData->summary; + struct PokeSummary *summary = &sMonSummaryScreenData->summary; s16 *data = gTasks[taskId].data; if (summary->isEgg) return; - else if (b == -1 && pssData->currPageIndex == pssData->minPageIndex) + else if (delta == PSS_CHANGE_PREV && sMonSummaryScreenData->currPageIndex == sMonSummaryScreenData->minPageIndex) return; - else if (b == 1 && pssData->currPageIndex == pssData->maxPageIndex) + else if (delta == PSS_CHANGE_NEXT && sMonSummaryScreenData->currPageIndex == sMonSummaryScreenData->maxPageIndex) return; PlaySE(SE_SELECT); - ClearPageWindowTilemaps(pssData->currPageIndex); - pssData->currPageIndex += b; + ClearPageWindowTilemaps(sMonSummaryScreenData->currPageIndex); + sMonSummaryScreenData->currPageIndex += delta; data[0] = 0; - if (b == 1) + if (delta == PSS_CHANGE_NEXT) SetTaskFuncWithFollowupFunc(taskId, PssScrollRight, gTasks[taskId].func); else SetTaskFuncWithFollowupFunc(taskId, PssScrollLeft, gTasks[taskId].func); - CreateTextPrinterTask(pssData->currPageIndex); + CreateTextPrinterTask(sMonSummaryScreenData->currPageIndex); HidePageSpecificSprites(); } @@ -1687,7 +1745,7 @@ static void PssScrollRight(u8 taskId) // Scroll right s16 *data = gTasks[taskId].data; if (data[0] == 0) { - if (pssData->bgDisplayOrder == 0) + if (sMonSummaryScreenData->bgDisplayOrder == 0) { data[1] = 1; SetBgAttribute(1, BG_ATTR_PRIORITY, 1); @@ -1702,7 +1760,7 @@ static void PssScrollRight(u8 taskId) // Scroll right schedule_bg_copy_tilemap_to_vram(2); } ChangeBgX(data[1], 0, 0); - SetBgTilemapBuffer(data[1], pssData->bgTilemapBuffers[pssData->currPageIndex][0]); + SetBgTilemapBuffer(data[1], sMonSummaryScreenData->bgTilemapBuffers[sMonSummaryScreenData->currPageIndex][0]); ShowBg(1); ShowBg(2); } @@ -1715,11 +1773,11 @@ static void PssScrollRight(u8 taskId) // Scroll right static void PssScrollRightEnd(u8 taskId) // display right { s16 *data = gTasks[taskId].data; - pssData->bgDisplayOrder ^= 1; + sMonSummaryScreenData->bgDisplayOrder ^= 1; data[1] = 0; data[0] = 0; DrawPagination(); - CreatePageWindowTilemaps(pssData->currPageIndex); + CreatePageWindowTilemaps(sMonSummaryScreenData->currPageIndex); SetTypeIcons(); CheckExperienceProgressBar(); SwitchTaskToFollowupFunc(taskId); @@ -1730,7 +1788,7 @@ static void PssScrollLeft(u8 taskId) // Scroll left s16 *data = gTasks[taskId].data; if (data[0] == 0) { - if (pssData->bgDisplayOrder == 0) + if (sMonSummaryScreenData->bgDisplayOrder == 0) data[1] = 2; else data[1] = 1; @@ -1745,7 +1803,7 @@ static void PssScrollLeft(u8 taskId) // Scroll left static void PssScrollLeftEnd(u8 taskId) // display left { s16 *data = gTasks[taskId].data; - if (pssData->bgDisplayOrder == 0) + if (sMonSummaryScreenData->bgDisplayOrder == 0) { SetBgAttribute(1, BG_ATTR_PRIORITY, 1); SetBgAttribute(2, BG_ATTR_PRIORITY, 2); @@ -1757,18 +1815,18 @@ static void PssScrollLeftEnd(u8 taskId) // display left SetBgAttribute(1, BG_ATTR_PRIORITY, 2); schedule_bg_copy_tilemap_to_vram(1); } - if (pssData->currPageIndex > 1) + if (sMonSummaryScreenData->currPageIndex > 1) { - SetBgTilemapBuffer(data[1], (u8*)pssData + ((pssData->currPageIndex << 12) + 0xFFFFF0BC)); + SetBgTilemapBuffer(data[1], (u8*)sMonSummaryScreenData + ((sMonSummaryScreenData->currPageIndex << 12) + 0xFFFFF0BC)); ChangeBgX(data[1], 0x10000, 0); } ShowBg(1); ShowBg(2); - pssData->bgDisplayOrder ^= 1; + sMonSummaryScreenData->bgDisplayOrder ^= 1; data[1] = 0; data[0] = 0; DrawPagination(); - CreatePageWindowTilemaps(pssData->currPageIndex); + CreatePageWindowTilemaps(sMonSummaryScreenData->currPageIndex); SetTypeIcons(); CheckExperienceProgressBar(); SwitchTaskToFollowupFunc(taskId); @@ -1776,27 +1834,27 @@ static void PssScrollLeftEnd(u8 taskId) // display left static void CheckExperienceProgressBar(void) { - if (pssData->currPageIndex == 1) - DrawExperienceProgressBar(&pssData->currentMon); + if (sMonSummaryScreenData->currPageIndex == 1) + DrawExperienceProgressBar(&sMonSummaryScreenData->currentMon); } static void sub_81C0E48(u8 taskId) { u16 move; - pssData->firstMoveIndex = 0; - move = pssData->summary.moves[pssData->firstMoveIndex]; - ClearWindowTilemap(0x13); - if (gSprites[pssData->spriteIds[2]].invisible == 0) - ClearWindowTilemap(0xD); + sMonSummaryScreenData->firstMoveIndex = 0; + move = sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]; + ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); + if (gSprites[sMonSummaryScreenData->spriteIds[2]].invisible == 0) + ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); sub_81C1DA4(9, -3); sub_81C1EFC(9, -3, move); - if (!pssData->unk40C8) + if (!sMonSummaryScreenData->unk40C8) { - ClearWindowTilemap(5); - PutWindowTilemap(6); + ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); + PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_SWITCH); } - sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); - sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); + sub_81C2194(sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); + sub_81C2194(sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); PrintMoveDetails(move); PrintNewMoveDetailsOrCancelText(); SetNewMoveTypeIcon(); @@ -1817,17 +1875,17 @@ static void HandleInput_MoveSelect(u8 taskId) if (gMain.newKeys & DPAD_UP) { data[0] = 4; - sub_81C1070(data, -1, &pssData->firstMoveIndex); + sub_81C1070(data, -1, &sMonSummaryScreenData->firstMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 4; - sub_81C1070(data, 1, &pssData->firstMoveIndex); + sub_81C1070(data, 1, &sMonSummaryScreenData->firstMoveIndex); } else if (gMain.newKeys & A_BUTTON) { - if (pssData->unk40C8 == TRUE - || (pssData->newMove == MOVE_NONE && pssData->firstMoveIndex == MAX_MON_MOVES)) + if (sMonSummaryScreenData->unk40C8 == TRUE + || (sMonSummaryScreenData->newMove == MOVE_NONE && sMonSummaryScreenData->firstMoveIndex == MAX_MON_MOVES)) { PlaySE(SE_SELECT); sub_81C11F4(taskId); @@ -1855,7 +1913,7 @@ static bool8 sub_81C1040(void) u8 i; for (i = 1; i < MAX_MON_MOVES; i++) { - if (pssData->summary.moves[i] != 0) + if (sMonSummaryScreenData->summary.moves[i] != 0) return TRUE; } return FALSE; @@ -1878,10 +1936,10 @@ static void sub_81C1070(s16 *a, s8 b, u8 *c) moveIndex = a[0]; if (moveIndex == MAX_MON_MOVES) { - move = pssData->newMove; + move = sMonSummaryScreenData->newMove; break; } - move = pssData->summary.moves[moveIndex]; + move = sMonSummaryScreenData->summary.moves[moveIndex]; if (move != 0) break; } @@ -1889,25 +1947,25 @@ static void sub_81C1070(s16 *a, s8 b, u8 *c) schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); PrintMoveDetails(move); - if ((*c == 4 && pssData->newMove == MOVE_NONE) || a[1] == 1) + if ((*c == 4 && sMonSummaryScreenData->newMove == MOVE_NONE) || a[1] == 1) { - ClearWindowTilemap(19); - if (!gSprites[pssData->spriteIds[2]].invisible) - ClearWindowTilemap(13); + ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); + if (!gSprites[sMonSummaryScreenData->spriteIds[2]].invisible) + ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(9, -3); sub_81C1EFC(9, -3, move); } - if (*c != 4 && moveIndex == 4 && pssData->newMove == MOVE_NONE) + if (*c != 4 && moveIndex == 4 && sMonSummaryScreenData->newMove == MOVE_NONE) { - ClearWindowTilemap(14); - ClearWindowTilemap(15); + ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC); + ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(0, 3); sub_81C1EFC(0, 3, 0); } *c = moveIndex; - if (c == &pssData->firstMoveIndex) + if (c == &sMonSummaryScreenData->firstMoveIndex) sub_81C4D18(8); else sub_81C4D18(18); @@ -1916,16 +1974,16 @@ static void sub_81C1070(s16 *a, s8 b, u8 *c) static void sub_81C11F4(u8 taskId) { sub_81C4C60(8); - ClearWindowTilemap(6); - PutWindowTilemap(5); + ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_SWITCH); + PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); PrintMoveDetails(0); - sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 1); - sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 1); + sub_81C2194(sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 1); + sub_81C2194(sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 1); sub_81C4064(); - if (pssData->firstMoveIndex != MAX_MON_MOVES) + if (sMonSummaryScreenData->firstMoveIndex != MAX_MON_MOVES) { - ClearWindowTilemap(14); - ClearWindowTilemap(15); + ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC); + ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); sub_81C1DA4(0, 3); sub_81C1EFC(0, 3, 0); } @@ -1937,7 +1995,7 @@ static void sub_81C11F4(u8 taskId) static void sub_81C129C(u8 taskId) { - pssData->secondMoveIndex = pssData->firstMoveIndex; + sMonSummaryScreenData->secondMoveIndex = sMonSummaryScreenData->firstMoveIndex; sub_81C4C84(1); sub_81C4AF8(18); gTasks[taskId].func = sub_81C12E4; @@ -1952,16 +2010,16 @@ static void sub_81C12E4(u8 taskId) if (gMain.newKeys & DPAD_UP) { data[0] = 3; - sub_81C1070(&data[0], -1, &pssData->secondMoveIndex); + sub_81C1070(&data[0], -1, &sMonSummaryScreenData->secondMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 3; - sub_81C1070(&data[0], 1, &pssData->secondMoveIndex); + sub_81C1070(&data[0], 1, &sMonSummaryScreenData->secondMoveIndex); } else if (gMain.newKeys & A_BUTTON) { - if (pssData->firstMoveIndex == pssData->secondMoveIndex) + if (sMonSummaryScreenData->firstMoveIndex == sMonSummaryScreenData->secondMoveIndex) { sub_81C13B0(taskId, 0); } @@ -1987,23 +2045,23 @@ static void sub_81C13B0(u8 taskId, bool8 b) if (b == TRUE) { - if (!pssData->isBoxMon) + if (!sMonSummaryScreenData->isBoxMon) { - struct Pokemon *why = pssData->monList.mons; - SwapMonMoves(&why[pssData->curMonIndex], pssData->firstMoveIndex, pssData->secondMoveIndex); + struct Pokemon *why = sMonSummaryScreenData->monList.mons; + SwapMonMoves(&why[sMonSummaryScreenData->curMonIndex], sMonSummaryScreenData->firstMoveIndex, sMonSummaryScreenData->secondMoveIndex); } else { - struct BoxPokemon *why = pssData->monList.boxMons; - SwapBoxMonMoves(&why[pssData->curMonIndex], pssData->firstMoveIndex, pssData->secondMoveIndex); + struct BoxPokemon *why = sMonSummaryScreenData->monList.boxMons; + SwapBoxMonMoves(&why[sMonSummaryScreenData->curMonIndex], sMonSummaryScreenData->firstMoveIndex, sMonSummaryScreenData->secondMoveIndex); } - CopyMonToSummaryStruct(&pssData->currentMon); - sub_81C40A0(pssData->firstMoveIndex, pssData->secondMoveIndex); - sub_81C4568(pssData->firstMoveIndex, pssData->secondMoveIndex); - pssData->firstMoveIndex = pssData->secondMoveIndex; + CopyMonToSummaryStruct(&sMonSummaryScreenData->currentMon); + sub_81C40A0(sMonSummaryScreenData->firstMoveIndex, sMonSummaryScreenData->secondMoveIndex); + sub_81C4568(sMonSummaryScreenData->firstMoveIndex, sMonSummaryScreenData->secondMoveIndex); + sMonSummaryScreenData->firstMoveIndex = sMonSummaryScreenData->secondMoveIndex; } - move = pssData->summary.moves[pssData->firstMoveIndex]; + move = sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]; PrintMoveDetails(move); DrawContestMoveHearts(move); schedule_bg_copy_tilemap_to_vram(1); @@ -2013,7 +2071,7 @@ static void sub_81C13B0(u8 taskId, bool8 b) static void SwapMonMoves(struct Pokemon *mon, u8 moveIndex1, u8 moveIndex2) { - struct PokeSummary* summary = &pssData->summary; + struct PokeSummary* summary = &sMonSummaryScreenData->summary; u16 move1 = summary->moves[moveIndex1]; u16 move2 = summary->moves[moveIndex2]; @@ -2048,7 +2106,7 @@ static void SwapMonMoves(struct Pokemon *mon, u8 moveIndex1, u8 moveIndex2) static void SwapBoxMonMoves(struct BoxPokemon *mon, u8 moveIndex1, u8 moveIndex2) { - struct PokeSummary* summary = &pssData->summary; + struct PokeSummary* summary = &sMonSummaryScreenData->summary; u16 move1 = summary->moves[moveIndex1]; u16 move2 = summary->moves[moveIndex2]; @@ -2092,27 +2150,27 @@ static void HandleReplaceMoveInput(u8 taskId) { s16* data = gTasks[taskId].data; - if (sub_81221EC() != 1) + if (sub_81221EC() != TRUE) { - if (gPaletteFade.active != 1) + if (gPaletteFade.active != TRUE) { if (gMain.newKeys & DPAD_UP) { data[0] = 4; - sub_81C1070(data, -1, &pssData->firstMoveIndex); + sub_81C1070(data, PSS_CHANGE_PREV, &sMonSummaryScreenData->firstMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 4; - sub_81C1070(data, 1, &pssData->firstMoveIndex); + sub_81C1070(data, PSS_CHANGE_NEXT, &sMonSummaryScreenData->firstMoveIndex); } else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) { - ChangePage(taskId, -1); + ChangePage(taskId, PSS_CHANGE_PREV); } else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) { - ChangePage(taskId, 1); + ChangePage(taskId, PSS_CHANGE_NEXT); } else if (gMain.newKeys & A_BUTTON) { @@ -2120,7 +2178,7 @@ static void HandleReplaceMoveInput(u8 taskId) { StopPokemonAnimations(); PlaySE(SE_SELECT); - sUnknown_0203CF21 = pssData->firstMoveIndex; + sUnknown_0203CF21 = sMonSummaryScreenData->firstMoveIndex; gSpecialVar_0x8005 = sUnknown_0203CF21; BeginCloseSummaryScreen(taskId); } @@ -2145,7 +2203,7 @@ static void HandleReplaceMoveInput(u8 taskId) static bool8 CanReplaceMove(void) { - if (pssData->firstMoveIndex == MAX_MON_MOVES || pssData->newMove == MOVE_NONE || IsMoveHm(pssData->summary.moves[pssData->firstMoveIndex]) != 1) + if (sMonSummaryScreenData->firstMoveIndex == MAX_MON_MOVES || sMonSummaryScreenData->newMove == MOVE_NONE || IsMoveHm(sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]) != 1) return TRUE; else return FALSE; @@ -2153,8 +2211,8 @@ static bool8 CanReplaceMove(void) static void ShowHMMovesCantBeForgottenWindow(u8 taskId) { - ClearWindowTilemap(14); - ClearWindowTilemap(15); + ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC); + ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(0, 3); sub_81C1EFC(0, 3, 0); @@ -2173,7 +2231,7 @@ static void HandleHMMovesCantBeForgottenInput(u8 taskId) { data[1] = 1; data[0] = 4; - sub_81C1070(&data[0], -1, &pssData->firstMoveIndex); + sub_81C1070(&data[0], -1, &sMonSummaryScreenData->firstMoveIndex); data[1] = 0; gTasks[taskId].func = HandleReplaceMoveInput; } @@ -2181,44 +2239,44 @@ static void HandleHMMovesCantBeForgottenInput(u8 taskId) { data[1] = 1; data[0] = 4; - sub_81C1070(&data[0], 1, &pssData->firstMoveIndex); + sub_81C1070(&data[0], 1, &sMonSummaryScreenData->firstMoveIndex); data[1] = 0; gTasks[taskId].func = HandleReplaceMoveInput; } else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) { - if (pssData->currPageIndex != 2) + if (sMonSummaryScreenData->currPageIndex != 2) { - ClearWindowTilemap(19); - if (!gSprites[pssData->spriteIds[2]].invisible) - ClearWindowTilemap(13); - move = pssData->summary.moves[pssData->firstMoveIndex]; + ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); + if (!gSprites[sMonSummaryScreenData->spriteIds[2]].invisible) + ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); + move = sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]; gTasks[taskId].func = HandleReplaceMoveInput; - ChangePage(taskId, -1); + ChangePage(taskId, PSS_CHANGE_PREV); sub_81C1DA4(9, -2); sub_81C1EFC(9, -2, move); } } else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) { - if (pssData->currPageIndex != 3) + if (sMonSummaryScreenData->currPageIndex != 3) { - ClearWindowTilemap(19); - if (!gSprites[pssData->spriteIds[2]].invisible) - ClearWindowTilemap(13); - move = pssData->summary.moves[pssData->firstMoveIndex]; + ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); + if (!gSprites[sMonSummaryScreenData->spriteIds[2]].invisible) + ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); + move = sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]; gTasks[taskId].func = HandleReplaceMoveInput; - ChangePage(taskId, 1); + ChangePage(taskId, PSS_CHANGE_NEXT); sub_81C1DA4(9, -2); sub_81C1EFC(9, -2, move); } } else if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { - ClearWindowTilemap(19); - if (!gSprites[pssData->spriteIds[2]].invisible) - ClearWindowTilemap(13); - move = pssData->summary.moves[pssData->firstMoveIndex]; + ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); + if (!gSprites[sMonSummaryScreenData->spriteIds[2]].invisible) + ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); + move = sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]; PrintMoveDetails(move); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(9, -3); @@ -2242,30 +2300,30 @@ static void DrawPagination(void) // Updates the pagination dots at the top of th { u8 j = i * 2; - if (i < pssData->minPageIndex) + if (i < sMonSummaryScreenData->minPageIndex) { alloced[j + 0] = 0x40; alloced[j + 1] = 0x40; alloced[j + 8] = 0x50; alloced[j + 9] = 0x50; } - else if (i > pssData->maxPageIndex) + else if (i > sMonSummaryScreenData->maxPageIndex) { alloced[j + 0] = 0x4A; alloced[j + 1] = 0x4A; alloced[j + 8] = 0x5A; alloced[j + 9] = 0x5A; } - else if (i < pssData->currPageIndex) + else if (i < sMonSummaryScreenData->currPageIndex) { alloced[j + 0] = 0x46; alloced[j + 1] = 0x47; alloced[j + 8] = 0x56; alloced[j + 9] = 0x57; } - else if (i == pssData->currPageIndex) + else if (i == sMonSummaryScreenData->currPageIndex) { - if (i != pssData->maxPageIndex) + if (i != sMonSummaryScreenData->maxPageIndex) { alloced[j + 0] = 0x41; alloced[j + 1] = 0x42; @@ -2280,7 +2338,7 @@ static void DrawPagination(void) // Updates the pagination dots at the top of th alloced[j + 9] = 0x5C; } } - else if (i != pssData->maxPageIndex) + else if (i != sMonSummaryScreenData->maxPageIndex) { alloced[j + 0] = 0x43; alloced[j + 1] = 0x44; @@ -2335,7 +2393,7 @@ static void sub_81C1DA4(u16 a, s16 b) b = sUnknown_0861CC04.field_6; if (b == 0 || b == sUnknown_0861CC04.field_6) { - sub_81C1CB0(&sUnknown_0861CC04, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], b, 1); + sub_81C1CB0(&sUnknown_0861CC04, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], b, 1); } else { @@ -2361,19 +2419,19 @@ static void sub_81C1E20(u8 taskId) { data[1] = sUnknown_0861CC04.field_6; } - sub_81C1CB0(&sUnknown_0861CC04, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], data[1], 1); + sub_81C1CB0(&sUnknown_0861CC04, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], data[1], 1); if (data[1] <= 0 || data[1] >= sUnknown_0861CC04.field_6) { if (data[0] < 0) { - if (pssData->currPageIndex == 2) - PutWindowTilemap(14); + if (sMonSummaryScreenData->currPageIndex == 2) + PutWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC); } else { - if (!gSprites[pssData->spriteIds[2]].invisible) - PutWindowTilemap(13); - PutWindowTilemap(19); + if (!gSprites[sMonSummaryScreenData->spriteIds[2]].invisible) + PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); + PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); } schedule_bg_copy_tilemap_to_vram(0); DestroyTask(taskId); @@ -2387,7 +2445,7 @@ static void sub_81C1EFC(u16 a, s16 b, u16 move) if (b > sUnknown_0861CC10.field_6) b = sUnknown_0861CC10.field_6; if (b == 0 || b == sUnknown_0861CC10.field_6) - sub_81C1CB0(&sUnknown_0861CC10, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], b, 1); + sub_81C1CB0(&sUnknown_0861CC10, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], b, 1); else { u8 taskId = FindTaskIdByFunc(sub_81C1F80); @@ -2411,22 +2469,22 @@ static void sub_81C1F80(u8 taskId) { data[1] = sUnknown_0861CC10.field_6; } - sub_81C1CB0(&sUnknown_0861CC10, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], data[1], 1); + sub_81C1CB0(&sUnknown_0861CC10, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], data[1], 1); if (data[1] <= 0 || data[1] >= sUnknown_0861CC10.field_6) { if (data[0] < 0) { - if (pssData->currPageIndex == 3 && FuncIsActiveTask(PssScrollRight) == 0) - PutWindowTilemap(15); + if (sMonSummaryScreenData->currPageIndex == 3 && FuncIsActiveTask(PssScrollRight) == 0) + PutWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); DrawContestMoveHearts(data[2]); } else { - if (!gSprites[pssData->spriteIds[2]].invisible) + if (!gSprites[sMonSummaryScreenData->spriteIds[2]].invisible) { - PutWindowTilemap(13); + PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); } - PutWindowTilemap(19); + PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); } schedule_bg_copy_tilemap_to_vram(0); DestroyTask(taskId); @@ -2441,8 +2499,8 @@ static void sub_81C2074(u16 a, s16 b) b = sUnknown_0861CBEC.field_6; if (b == 0 || b == sUnknown_0861CBEC.field_6) { - sub_81C1CB0(&sUnknown_0861CBEC, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); - sub_81C1CB0(&sUnknown_0861CBF8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); + sub_81C1CB0(&sUnknown_0861CBEC, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); + sub_81C1CB0(&sUnknown_0861CBF8, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); } else { @@ -2460,15 +2518,15 @@ static void sub_81C20F0(u8 taskId) data[1] = 0; else if (data[1] > sUnknown_0861CBEC.field_6) data[1] = sUnknown_0861CBEC.field_6; - sub_81C1CB0(&sUnknown_0861CBEC, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); - sub_81C1CB0(&sUnknown_0861CBF8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); + sub_81C1CB0(&sUnknown_0861CBEC, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); + sub_81C1CB0(&sUnknown_0861CBF8, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); schedule_bg_copy_tilemap_to_vram(3); if (data[1] <= 0 || data[1] >= sUnknown_0861CBEC.field_6) { if (data[0] < 0) { CreateSetStatusSprite(); - PutWindowTilemap(13); + PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); schedule_bg_copy_tilemap_to_vram(0); } DestroyTask(taskId); @@ -2507,13 +2565,13 @@ static void DrawPokerusCuredSymbol(struct Pokemon *mon) // This checks if the mo { if (!CheckPartyPokerus(mon, 0) && CheckPartyHasHadPokerus(mon, 0)) // If yes it draws the cured symbol { - pssData->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x2C; - pssData->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x2C; + sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x2C; + sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x2C; } else { - pssData->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x81A; - pssData->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x81A; + sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x81A; + sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x81A; } schedule_bg_copy_tilemap_to_vram(3); } @@ -2530,7 +2588,7 @@ static void sub_81C228C(bool8 isMonShiny) static void DrawExperienceProgressBar(struct Pokemon *unused) { s64 numExpProgressBarTicks; - struct PokeSummary *summary = &pssData->summary; + struct PokeSummary *summary = &sMonSummaryScreenData->summary; u16 *r9; u8 i; @@ -2551,7 +2609,7 @@ static void DrawExperienceProgressBar(struct Pokemon *unused) numExpProgressBarTicks = 0; } - r9 = &pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][1][0x255]; + r9 = &sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_SKILLS][1][0x255]; for (i = 0; i < 8; i++) { if (numExpProgressBarTicks > 7) @@ -2563,7 +2621,7 @@ static void DrawExperienceProgressBar(struct Pokemon *unused) numExpProgressBarTicks = 0; } - if (GetBgTilemapBuffer(1) == pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][0]) + if (GetBgTilemapBuffer(1) == sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_SKILLS][0]) schedule_bg_copy_tilemap_to_vram(1); else schedule_bg_copy_tilemap_to_vram(2); @@ -2571,7 +2629,7 @@ static void DrawExperienceProgressBar(struct Pokemon *unused) static void DrawContestMoveHearts(u16 move) { - u16 *tilemap = pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]; + u16 *tilemap = sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]; u8 i; u8 effectValue; @@ -2615,7 +2673,7 @@ static void DrawContestMoveHearts(u16 move) static void LimitEggSummaryPageDisplay(void) // If the pokemon is an egg, limit the number of pages displayed to 1 { - if (pssData->summary.isEgg) + if (sMonSummaryScreenData->summary.isEgg) ChangeBgX(3, 0x10000, 0); else ChangeBgX(3, 0, 0); @@ -2631,9 +2689,9 @@ static void ResetWindows(void) { FillWindowPixelBuffer(i, 0); } - for (i = 0; i < ARRAY_COUNT(pssData->windowIds); i++) + for (i = 0; i < ARRAY_COUNT(sMonSummaryScreenData->windowIds); i++) { - pssData->windowIds[i] = 0xFF; + sMonSummaryScreenData->windowIds[i] = 0xFF; } } @@ -2644,10 +2702,10 @@ static void SummaryScreen_PrintTextOnWindow(u8 windowId, const u8 *string, u8 x, static void sub_81C25E8(void) { - FillWindowPixelBuffer(17, 0); - FillWindowPixelBuffer(18, 0); - FillWindowPixelBuffer(19, 0); - if (!pssData->summary.isEgg) + FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER, 0); + FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME, 0); + FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, 0); + if (!sMonSummaryScreenData->summary.isEgg) sub_81C2628(); else sub_81C2794(); @@ -2657,8 +2715,8 @@ static void sub_81C25E8(void) static void sub_81C2628(void) { u8 strArray[16]; - struct Pokemon *mon = &pssData->currentMon; - struct PokeSummary *summary = &pssData->summary; + struct Pokemon *mon = &sMonSummaryScreenData->currentMon; + struct PokeSummary *summary = &sMonSummaryScreenData->summary; u16 dexNum = SpeciesToPokedexNum(summary->species); if (dexNum != 0xFFFF) { @@ -2667,19 +2725,19 @@ static void sub_81C2628(void) StringAppend(gStringVar1, gStringVar2); if (!IsMonShiny(mon)) { - SummaryScreen_PrintTextOnWindow(17, gStringVar1, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER, gStringVar1, 0, 1, 0, 1); sub_81C228C(FALSE); } else { - SummaryScreen_PrintTextOnWindow(17, gStringVar1, 0, 1, 0, 7); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER, gStringVar1, 0, 1, 0, 7); sub_81C228C(TRUE); } - PutWindowTilemap(17); + PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER); } else { - ClearWindowTilemap(17); + ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER); if (!IsMonShiny(mon)) sub_81C228C(FALSE); else @@ -2688,24 +2746,24 @@ static void sub_81C2628(void) StringCopy(gStringVar1, &gText_LevelSymbol[0]); ConvertIntToDecimalStringN(gStringVar2, summary->level, 0, 3); StringAppend(gStringVar1, gStringVar2); - SummaryScreen_PrintTextOnWindow(19, gStringVar1, 0x18, 17, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, gStringVar1, 0x18, 17, 0, 1); GetMonNickname(mon, gStringVar1); - SummaryScreen_PrintTextOnWindow(18, gStringVar1, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME, gStringVar1, 0, 1, 0, 1); strArray[0] = CHAR_SLASH; StringCopy(&strArray[1], &gSpeciesNames[summary->species2][0]); - SummaryScreen_PrintTextOnWindow(19, &strArray[0], 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, &strArray[0], 0, 1, 0, 1); sub_81C27DC(mon, summary->species2); - PutWindowTilemap(18); - PutWindowTilemap(19); + PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME); + PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); } static void sub_81C2794(void) { - GetMonNickname(&pssData->currentMon, gStringVar1); - SummaryScreen_PrintTextOnWindow(18, gStringVar1, 0, 1, 0, 1); - PutWindowTilemap(18); - ClearWindowTilemap(17); - ClearWindowTilemap(19); + GetMonNickname(&sMonSummaryScreenData->currentMon, gStringVar1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME, gStringVar1, 0, 1, 0, 1); + PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME); + ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER); + ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); } static void sub_81C27DC(struct Pokemon *mon, u16 species) @@ -2716,10 +2774,10 @@ static void sub_81C27DC(struct Pokemon *mon, u16 species) switch (gender) { case MON_MALE: - SummaryScreen_PrintTextOnWindow(19, gText_MaleSymbol, 57, 17, 0, 3); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, gText_MaleSymbol, 57, 17, 0, 3); break; case MON_FEMALE: - SummaryScreen_PrintTextOnWindow(19, gText_FemaleSymbol, 57, 17, 0, 4); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, gText_FemaleSymbol, 57, 17, 0, 4); break; } } @@ -2737,108 +2795,108 @@ static void PrintPageNamesAndStatsPageToWindows(void) int iconXPos; int statsXPos; - SummaryScreen_PrintTextOnWindow(0, gText_PkmnInfo, 2, 1, 0, 1); - SummaryScreen_PrintTextOnWindow(1, gText_PkmnSkills, 2, 1, 0, 1); - SummaryScreen_PrintTextOnWindow(2, gText_BattleMoves, 2, 1, 0, 1); - SummaryScreen_PrintTextOnWindow(3, gText_ContestMoves, 2, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_POKEMON_INFO_TITLE, gText_PkmnInfo, 2, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_POKEMON_SKILLS_TITLE, gText_PkmnSkills, 2, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_BATTLE_MOVES_TITLE, gText_BattleMoves, 2, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_CONTEST_MOVES_TITLE, gText_ContestMoves, 2, 1, 0, 1); stringXPos = GetStringRightAlignXOffset(1, gText_Cancel2, 62); iconXPos = stringXPos - 16; if (iconXPos < 0) iconXPos = 0; - PrintAOrBButtonIcon(4, FALSE, iconXPos); - SummaryScreen_PrintTextOnWindow(4, gText_Cancel2, stringXPos, 1, 0, 0); + PrintAOrBButtonIcon(PSS_LABEL_WINDOW_PROMPT_CANCEL, FALSE, iconXPos); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PROMPT_CANCEL, gText_Cancel2, stringXPos, 1, 0, 0); stringXPos = GetStringRightAlignXOffset(1, gText_Info, 0x3E); iconXPos = stringXPos - 16; if (iconXPos < 0) iconXPos = 0; - PrintAOrBButtonIcon(5, FALSE, iconXPos); - SummaryScreen_PrintTextOnWindow(5, gText_Info, stringXPos, 1, 0, 0); + PrintAOrBButtonIcon(PSS_LABEL_WINDOW_PROMPT_INFO, FALSE, iconXPos); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PROMPT_INFO, gText_Info, stringXPos, 1, 0, 0); stringXPos = GetStringRightAlignXOffset(1, gText_Switch, 0x3E); iconXPos = stringXPos - 16; if (iconXPos < 0) iconXPos = 0; - PrintAOrBButtonIcon(6, FALSE, iconXPos); - SummaryScreen_PrintTextOnWindow(6, gText_Switch, stringXPos, 1, 0, 0); + PrintAOrBButtonIcon(PSS_LABEL_WINDOW_PROMPT_SWITCH, FALSE, iconXPos); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PROMPT_SWITCH, gText_Switch, stringXPos, 1, 0, 0); - SummaryScreen_PrintTextOnWindow(8, gText_RentalPkmn, 0, 1, 0, 1); - SummaryScreen_PrintTextOnWindow(9, gText_TypeSlash, 0, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_POKEMON_INFO_RENTAL, gText_RentalPkmn, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_POKEMON_INFO_TYPE, gText_TypeSlash, 0, 1, 0, 0); statsXPos = 6 + GetStringCenterAlignXOffset(1, gText_HP4, 42); - SummaryScreen_PrintTextOnWindow(10, gText_HP4, statsXPos, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_LEFT, gText_HP4, statsXPos, 1, 0, 1); statsXPos = 6 + GetStringCenterAlignXOffset(1, gText_Attack3, 42); - SummaryScreen_PrintTextOnWindow(10, gText_Attack3, statsXPos, 17, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_LEFT, gText_Attack3, statsXPos, 17, 0, 1); statsXPos = 6 + GetStringCenterAlignXOffset(1, gText_Defense3, 42); - SummaryScreen_PrintTextOnWindow(10, gText_Defense3, statsXPos, 33, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_LEFT, gText_Defense3, statsXPos, 33, 0, 1); statsXPos = 2 + GetStringCenterAlignXOffset(1, gText_SpAtk4, 36); - SummaryScreen_PrintTextOnWindow(11, gText_SpAtk4, statsXPos, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_RIGHT, gText_SpAtk4, statsXPos, 1, 0, 1); statsXPos = 2 + GetStringCenterAlignXOffset(1, gText_SpDef4, 36); - SummaryScreen_PrintTextOnWindow(11, gText_SpDef4, statsXPos, 17, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_RIGHT, gText_SpDef4, statsXPos, 17, 0, 1); statsXPos = 2 + GetStringCenterAlignXOffset(1, gText_Speed2, 36); - SummaryScreen_PrintTextOnWindow(11, gText_Speed2, statsXPos, 33, 0, 1); - SummaryScreen_PrintTextOnWindow(12, gText_ExpPoints, 6, 1, 0, 1); - SummaryScreen_PrintTextOnWindow(12, gText_NextLv, 6, 17, 0, 1); - SummaryScreen_PrintTextOnWindow(13, gText_Status, 2, 1, 0, 1); - SummaryScreen_PrintTextOnWindow(14, gText_Power, 0, 1, 0, 1); - SummaryScreen_PrintTextOnWindow(14, gText_Accuracy2, 0, 17, 0, 1); - SummaryScreen_PrintTextOnWindow(15, gText_Appeal, 0, 1, 0, 1); - SummaryScreen_PrintTextOnWindow(15, gText_Jam, 0, 17, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_RIGHT, gText_Speed2, statsXPos, 33, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_POKEMON_SKILLS_EXP, gText_ExpPoints, 6, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_POKEMON_SKILLS_EXP, gText_NextLv, 6, 17, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS, gText_Status, 2, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_MOVES_POWER_ACC, gText_Power, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_MOVES_POWER_ACC, gText_Accuracy2, 0, 17, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM, gText_Appeal, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM, gText_Jam, 0, 17, 0, 1); } static void CreatePageWindowTilemaps(u8 page) { u8 i; - ClearWindowTilemap(0); - ClearWindowTilemap(1); - ClearWindowTilemap(2); - ClearWindowTilemap(3); + ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_INFO_TITLE); + ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_TITLE); + ClearWindowTilemap(PSS_LABEL_WINDOW_BATTLE_MOVES_TITLE); + ClearWindowTilemap(PSS_LABEL_WINDOW_CONTEST_MOVES_TITLE); switch (page) { case PSS_PAGE_INFO: - PutWindowTilemap(0); - PutWindowTilemap(4); - if (InBattleFactory() == TRUE || sub_81B9E94() == TRUE) - PutWindowTilemap(8); - PutWindowTilemap(9); + PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_INFO_TITLE); + PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_CANCEL); + if (InBattleFactory() == TRUE || InSlateportBattleTent() == TRUE) + PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_INFO_RENTAL); + PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_INFO_TYPE); break; case PSS_PAGE_SKILLS: - PutWindowTilemap(1); - PutWindowTilemap(10); - PutWindowTilemap(11); - PutWindowTilemap(12); + PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_TITLE); + PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_LEFT); + PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_RIGHT); + PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_EXP); break; case PSS_PAGE_BATTLE_MOVES: - PutWindowTilemap(2); - if (pssData->mode == PSS_MODE_SELECT_MOVE) + PutWindowTilemap(PSS_LABEL_WINDOW_BATTLE_MOVES_TITLE); + if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) { - if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) - PutWindowTilemap(14); + if (sMonSummaryScreenData->newMove != MOVE_NONE || sMonSummaryScreenData->firstMoveIndex != MAX_MON_MOVES) + PutWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC); } else { - PutWindowTilemap(5); + PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); } break; case PSS_PAGE_CONTEST_MOVES: - PutWindowTilemap(3); - if (pssData->mode == PSS_MODE_SELECT_MOVE) + PutWindowTilemap(PSS_LABEL_WINDOW_CONTEST_MOVES_TITLE); + if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) { - if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) - PutWindowTilemap(15); + if (sMonSummaryScreenData->newMove != MOVE_NONE || sMonSummaryScreenData->firstMoveIndex != MAX_MON_MOVES) + PutWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); } else { - PutWindowTilemap(5); + PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); } break; } - for (i = 0; i < ARRAY_COUNT(pssData->windowIds); i++) + for (i = 0; i < ARRAY_COUNT(sMonSummaryScreenData->windowIds); i++) { - PutWindowTilemap(pssData->windowIds[i]); + PutWindowTilemap(sMonSummaryScreenData->windowIds[i]); } schedule_bg_copy_tilemap_to_vram(0); @@ -2850,41 +2908,41 @@ static void ClearPageWindowTilemaps(u8 page) switch (page) { case PSS_PAGE_INFO: - ClearWindowTilemap(4); - if (InBattleFactory() == TRUE || sub_81B9E94() == TRUE) - ClearWindowTilemap(8); - ClearWindowTilemap(9); + ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_CANCEL); + if (InBattleFactory() == TRUE || InSlateportBattleTent() == TRUE) + ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_INFO_RENTAL); + ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_INFO_TYPE); break; case PSS_PAGE_SKILLS: - ClearWindowTilemap(10); - ClearWindowTilemap(11); - ClearWindowTilemap(12); + ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_LEFT); + ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATS_RIGHT); + ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_EXP); break; case PSS_PAGE_BATTLE_MOVES: - if (pssData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) { - if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) - ClearWindowTilemap(14); + if (sMonSummaryScreenData->newMove != MOVE_NONE || sMonSummaryScreenData->firstMoveIndex != MAX_MON_MOVES) + ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC); } else { - ClearWindowTilemap(5); + ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); } break; case PSS_PAGE_CONTEST_MOVES: - if (pssData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) { - if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) - ClearWindowTilemap(15); + if (sMonSummaryScreenData->newMove != MOVE_NONE || sMonSummaryScreenData->firstMoveIndex != MAX_MON_MOVES) + ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); } else { - ClearWindowTilemap(5); + ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); } break; } - for (i = 0; i < ARRAY_COUNT(pssData->windowIds); i++) + for (i = 0; i < ARRAY_COUNT(sMonSummaryScreenData->windowIds); i++) { SummaryScreen_RemoveWindowByIndex(i); } @@ -2894,7 +2952,7 @@ static void ClearPageWindowTilemaps(u8 page) static u8 AddWindowFromTemplateList(const struct WindowTemplate *template, u8 templateId) { - u8 *windowIdPtr = &(pssData->windowIds[templateId]); + u8 *windowIdPtr = &(sMonSummaryScreenData->windowIds[templateId]); if (*windowIdPtr == 0xFF) { *windowIdPtr = AddWindow(&template[templateId]); @@ -2905,7 +2963,7 @@ static u8 AddWindowFromTemplateList(const struct WindowTemplate *template, u8 te static void SummaryScreen_RemoveWindowByIndex(u8 windowIndex) { - u8 *windowIdPtr = &(pssData->windowIds[windowIndex]); + u8 *windowIdPtr = &(sMonSummaryScreenData->windowIds[windowIndex]); if (*windowIdPtr != 0xFF) { ClearWindowTilemap(*windowIdPtr); @@ -2917,10 +2975,10 @@ static void SummaryScreen_RemoveWindowByIndex(u8 windowIndex) static void PrintPageSpecificText(u8 pageIndex) { u16 i; - for (i = 0; i < ARRAY_COUNT(pssData->windowIds); i++) + for (i = 0; i < ARRAY_COUNT(sMonSummaryScreenData->windowIds); i++) { - if (pssData->windowIds[i] != 0xFF) - FillWindowPixelBuffer(pssData->windowIds[i], 0); + if (sMonSummaryScreenData->windowIds[i] != 0xFF) + FillWindowPixelBuffer(sMonSummaryScreenData->windowIds[i], 0); } sTextPrinterFunctions[pageIndex](); } @@ -2932,7 +2990,7 @@ static void CreateTextPrinterTask(u8 pageIndex) static void PrintInfoPageText(void) { - if (pssData->summary.isEgg) + if (sMonSummaryScreenData->summary.isEgg) { PrintEggOTName(); PrintEggOTID(); @@ -2984,44 +3042,44 @@ static void PrintMonOTName(void) { u8 windowId; int x; - if (InBattleFactory() != TRUE && sub_81B9E94() != TRUE) + if (InBattleFactory() != TRUE && InSlateportBattleTent() != TRUE) { - windowId = AddWindowFromTemplateList(sPageInfoTemplate, 0); + windowId = AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ORIGINAL_TRAINER); SummaryScreen_PrintTextOnWindow(windowId, gText_OTSlash, 0, 1, 0, 1); x = GetStringWidth(1, gText_OTSlash, 0); - if (pssData->summary.OTGender == 0) - SummaryScreen_PrintTextOnWindow(windowId, pssData->summary.OTName, x, 1, 0, 5); + if (sMonSummaryScreenData->summary.OTGender == 0) + SummaryScreen_PrintTextOnWindow(windowId, sMonSummaryScreenData->summary.OTName, x, 1, 0, 5); else - SummaryScreen_PrintTextOnWindow(windowId, pssData->summary.OTName, x, 1, 0, 6); + SummaryScreen_PrintTextOnWindow(windowId, sMonSummaryScreenData->summary.OTName, x, 1, 0, 6); } } static void PrintMonOTID(void) { int xPos; - if (InBattleFactory() != TRUE && sub_81B9E94() != TRUE) + if (InBattleFactory() != TRUE && InSlateportBattleTent() != TRUE) { - ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_UnkCtrlF907F908), (u16)pssData->summary.OTID, 2, 5); + ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_UnkCtrlF907F908), (u16)sMonSummaryScreenData->summary.OTID, 2, 5); xPos = GetStringRightAlignXOffset(1, gStringVar1, 56); - SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, 1), gStringVar1, xPos, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ID), gStringVar1, xPos, 1, 0, 1); } } static void PrintMonAbilityName(void) { - u8 ability = GetAbilityBySpecies(pssData->summary.species, pssData->summary.altAbility); - SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, 2), gAbilityNames[ability], 0, 1, 0, 1); + u8 ability = GetAbilityBySpecies(sMonSummaryScreenData->summary.species, sMonSummaryScreenData->summary.altAbility); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ABILITY), gAbilityNames[ability], 0, 1, 0, 1); } static void PrintMonAbilityDescription(void) { - u8 ability = GetAbilityBySpecies(pssData->summary.species, pssData->summary.altAbility); - SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, 2), gAbilityDescriptionPointers[ability], 0, 17, 0, 0); + u8 ability = GetAbilityBySpecies(sMonSummaryScreenData->summary.species, sMonSummaryScreenData->summary.altAbility); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ABILITY), gAbilityDescriptionPointers[ability], 0, 17, 0, 0); } static void BufferMonTrainerMemo(void) { - struct PokeSummary *sum = &pssData->summary; + struct PokeSummary *sum = &sMonSummaryScreenData->summary; const u8 *text; DynamicPlaceholderTextUtil_Reset(); @@ -3029,7 +3087,7 @@ static void BufferMonTrainerMemo(void) DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, sMemoMiscTextColor); BufferNatureString(); - if (InBattleFactory() == TRUE || sub_81B9E94() == TRUE || IsInGamePartnerMon() == TRUE) + if (InBattleFactory() == TRUE || InSlateportBattleTent() == TRUE || IsInGamePartnerMon() == TRUE) { DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_XNature); } @@ -3073,19 +3131,19 @@ static void BufferMonTrainerMemo(void) static void PrintMonTrainerMemo(void) { - SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, 3), gStringVar4, 0, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_MEMO), gStringVar4, 0, 1, 0, 0); } static void BufferNatureString(void) { - struct PssData *sumStruct = pssData; + struct PokemonSummaryScreenData *sumStruct = sMonSummaryScreenData; DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gNatureNamePointers[sumStruct->summary.nature]); DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, gText_EmptyString5); } static void GetMetLevelString(u8 *output) { - u8 level = pssData->summary.metLevel; + u8 level = sMonSummaryScreenData->summary.metLevel; if (level == 0) level = EGG_HATCH_LEVEL; ConvertIntToDecimalStringN(output, level, 0, 3); @@ -3094,11 +3152,11 @@ static void GetMetLevelString(u8 *output) static bool8 DoesMonOTMatchOwner(void) { - struct PokeSummary *sum = &pssData->summary; + struct PokeSummary *sum = &sMonSummaryScreenData->summary; u32 trainerId; u8 gender; - if (pssData->monList.mons == gEnemyParty) + if (sMonSummaryScreenData->monList.mons == gEnemyParty) { u8 multiID = GetMultiplayerId() ^ 1; trainerId = (u16)gLinkPlayers[multiID].trainerId; @@ -3120,7 +3178,7 @@ static bool8 DoesMonOTMatchOwner(void) static bool8 DidMonComeFromGBAGames(void) { - struct PokeSummary *sum = &pssData->summary; + struct PokeSummary *sum = &sMonSummaryScreenData->summary; if (sum->metGame > 0 && sum->metGame <= VERSION_LEAF_GREEN) return TRUE; return FALSE; @@ -3128,7 +3186,7 @@ static bool8 DidMonComeFromGBAGames(void) bool8 DidMonComeFromRSE(void) { - struct PokeSummary *sum = &pssData->summary; + struct PokeSummary *sum = &sMonSummaryScreenData->summary; if (sum->metGame > 0 && sum->metGame <= VERSION_EMERALD) return TRUE; return FALSE; @@ -3138,7 +3196,7 @@ static bool8 IsInGamePartnerMon(void) { if ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) && gMain.inBattle) { - if (pssData->curMonIndex == 1 || pssData->curMonIndex == 4 || pssData->curMonIndex == 5) + if (sMonSummaryScreenData->curMonIndex == 1 || sMonSummaryScreenData->curMonIndex == 4 || sMonSummaryScreenData->curMonIndex == 5) return TRUE; } return FALSE; @@ -3146,7 +3204,7 @@ static bool8 IsInGamePartnerMon(void) static void PrintEggOTName(void) { - u32 windowId = AddWindowFromTemplateList(sPageInfoTemplate, 0); + u32 windowId = AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ORIGINAL_TRAINER); u32 width = GetStringWidth(1, gText_OTSlash, 0); SummaryScreen_PrintTextOnWindow(windowId, gText_OTSlash, 0, 1, 0, 1); SummaryScreen_PrintTextOnWindow(windowId, gText_FiveMarks, width, 1, 0, 1); @@ -3158,15 +3216,15 @@ static void PrintEggOTID(void) StringCopy(gStringVar1, gText_UnkCtrlF907F908); StringAppend(gStringVar1, gText_FiveMarks); x = GetStringRightAlignXOffset(1, gStringVar1, 56); - SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, 1), gStringVar1, x, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ID), gStringVar1, x, 1, 0, 1); } static void PrintEggState(void) { const u8 *text; - struct PokeSummary *sum = &pssData->summary; + struct PokeSummary *sum = &sMonSummaryScreenData->summary; - if (pssData->summary.sanity == TRUE) + if (sMonSummaryScreenData->summary.sanity == TRUE) text = gText_EggWillTakeALongTime; else if (sum->friendship <= 5) text = gText_EggAboutToHatch; @@ -3177,15 +3235,15 @@ static void PrintEggState(void) else text = gText_EggWillTakeALongTime; - SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, 2), text, 0, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ABILITY), text, 0, 1, 0, 0); } static void PrintEggMemo(void) { const u8 *text; - struct PokeSummary *sum = &pssData->summary; + struct PokeSummary *sum = &sMonSummaryScreenData->summary; - if (pssData->summary.sanity != 1) + if (sMonSummaryScreenData->summary.sanity != 1) { if (sum->metLocation == METLOC_FATEFUL_ENCOUNTER) text = gText_PeculiarEggNicePlace; @@ -3201,7 +3259,7 @@ static void PrintEggMemo(void) text = gText_OddEggFoundByCouple; } - SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, 3), text, 0, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_MEMO), text, 0, 1, 0, 0); } static void PrintSkillsPageText(void) @@ -3254,22 +3312,22 @@ static void PrintHeldItemName(void) const u8 *text; int offset; - if (pssData->summary.item == ITEM_ENIGMA_BERRY && IsMultiBattle() == TRUE && (pssData->curMonIndex == 1 || pssData->curMonIndex == 4 || pssData->curMonIndex == 5)) + if (sMonSummaryScreenData->summary.item == ITEM_ENIGMA_BERRY && IsMultiBattle() == TRUE && (sMonSummaryScreenData->curMonIndex == 1 || sMonSummaryScreenData->curMonIndex == 4 || sMonSummaryScreenData->curMonIndex == 5)) { text = ItemId_GetName(ITEM_ENIGMA_BERRY); } - else if (pssData->summary.item == ITEM_NONE) + else if (sMonSummaryScreenData->summary.item == ITEM_NONE) { text = gText_None; } else { - CopyItemName(pssData->summary.item, gStringVar1); + CopyItemName(sMonSummaryScreenData->summary.item, gStringVar1); text = gStringVar1; } offset = GetStringCenterAlignXOffset(1, text, 72) + 6; - SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageSkillsTemplate, 0), text, offset, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageSkillsTemplate, PSS_DATA_WINDOW_SKILLS_HELD_ITEM), text, offset, 1, 0, 0); } static void PrintRibbonCount(void) @@ -3277,19 +3335,19 @@ static void PrintRibbonCount(void) const u8 *text; int offset; - if (pssData->summary.ribbonCount == 0) + if (sMonSummaryScreenData->summary.ribbonCount == 0) { text = gText_None; } else { - ConvertIntToDecimalStringN(gStringVar1, pssData->summary.ribbonCount, 1, 2); + ConvertIntToDecimalStringN(gStringVar1, sMonSummaryScreenData->summary.ribbonCount, 1, 2); StringExpandPlaceholders(gStringVar4, gText_RibbonsVar1); text = gStringVar4; } offset = GetStringCenterAlignXOffset(1, text, 70) + 6; - SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageSkillsTemplate, 1), text, offset, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageSkillsTemplate, PSS_DATA_WINDOW_SKILLS_RIBBON_COUNT), text, offset, 1, 0, 0); } static void BufferLeftColumnStats(void) @@ -3299,10 +3357,10 @@ static void BufferLeftColumnStats(void) u8 *attackString = Alloc(8); u8 *defenseString = Alloc(8); - ConvertIntToDecimalStringN(currentHPString, pssData->summary.currentHP, 1, 3); - ConvertIntToDecimalStringN(maxHPString, pssData->summary.maxHP, 1, 3); - ConvertIntToDecimalStringN(attackString, pssData->summary.atk, 1, 7); - ConvertIntToDecimalStringN(defenseString, pssData->summary.def, 1, 7); + ConvertIntToDecimalStringN(currentHPString, sMonSummaryScreenData->summary.currentHP, 1, 3); + ConvertIntToDecimalStringN(maxHPString, sMonSummaryScreenData->summary.maxHP, 1, 3); + ConvertIntToDecimalStringN(attackString, sMonSummaryScreenData->summary.atk, 1, 7); + ConvertIntToDecimalStringN(defenseString, sMonSummaryScreenData->summary.def, 1, 7); DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, currentHPString); @@ -3319,14 +3377,14 @@ static void BufferLeftColumnStats(void) static void PrintLeftColumnStats(void) { - SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageSkillsTemplate, 2), gStringVar4, 4, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageSkillsTemplate, PSS_DATA_WINDOW_SKILLS_STATS_LEFT), gStringVar4, 4, 1, 0, 0); } static void BufferRightColumnStats(void) { - ConvertIntToDecimalStringN(gStringVar1, pssData->summary.spatk, 1, 3); - ConvertIntToDecimalStringN(gStringVar2, pssData->summary.spdef, 1, 3); - ConvertIntToDecimalStringN(gStringVar3, pssData->summary.speed, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, sMonSummaryScreenData->summary.spatk, 1, 3); + ConvertIntToDecimalStringN(gStringVar2, sMonSummaryScreenData->summary.spdef, 1, 3); + ConvertIntToDecimalStringN(gStringVar3, sMonSummaryScreenData->summary.speed, 1, 3); DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); @@ -3337,13 +3395,13 @@ static void BufferRightColumnStats(void) static void PrintRightColumnStats(void) { - SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageSkillsTemplate, 3), gStringVar4, 2, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageSkillsTemplate, PSS_DATA_WINDOW_SKILLS_STATS_RIGHT), gStringVar4, 2, 1, 0, 0); } static void PrintExpPointsNextLevel(void) { - struct PokeSummary *sum = &pssData->summary; - u8 windowId = AddWindowFromTemplateList(sPageSkillsTemplate, 4); + struct PokeSummary *sum = &sMonSummaryScreenData->summary; + u8 windowId = AddWindowFromTemplateList(sPageSkillsTemplate, PSS_DATA_WINDOW_EXP); int offset; u32 expToNextLevel; @@ -3368,17 +3426,17 @@ static void PrintBattleMoves(void) PrintMoveNameAndPP(2); PrintMoveNameAndPP(3); - if (pssData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) { PrintNewMoveDetailsOrCancelText(); - if (pssData->firstMoveIndex == MAX_MON_MOVES) + if (sMonSummaryScreenData->firstMoveIndex == MAX_MON_MOVES) { - if (pssData->newMove != MOVE_NONE) - PrintMoveDetails(pssData->newMove); + if (sMonSummaryScreenData->newMove != MOVE_NONE) + PrintMoveDetails(sMonSummaryScreenData->newMove); } else { - PrintMoveDetails(pssData->summary.moves[pssData->firstMoveIndex]); + PrintMoveDetails(sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]); } } } @@ -3402,22 +3460,22 @@ static void Task_PrintBattleMoves(u8 taskId) PrintMoveNameAndPP(3); break; case 5: - if (pssData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) PrintNewMoveDetailsOrCancelText(); break; case 6: - if (pssData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) { - if (pssData->firstMoveIndex == MAX_MON_MOVES) - data[1] = pssData->newMove; + if (sMonSummaryScreenData->firstMoveIndex == MAX_MON_MOVES) + data[1] = sMonSummaryScreenData->newMove; else - data[1] = pssData->summary.moves[pssData->firstMoveIndex]; + data[1] = sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]; } break; case 7: - if (pssData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) { - if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) + if (sMonSummaryScreenData->newMove != MOVE_NONE || sMonSummaryScreenData->firstMoveIndex != MAX_MON_MOVES) PrintMoveDetails(data[1]); } break; @@ -3434,9 +3492,9 @@ static void PrintMoveNameAndPP(u8 moveIndex) u32 ppState; const u8 *text; u32 offset; - struct PssData *summaryStruct = pssData; - u8 moveNameWindowId = AddWindowFromTemplateList(sPageMovesTemplate, 0); - u8 ppValueWindowId = AddWindowFromTemplateList(sPageMovesTemplate, 1); + struct PokemonSummaryScreenData *summaryStruct = sMonSummaryScreenData; + u8 moveNameWindowId = AddWindowFromTemplateList(sPageMovesTemplate, PSS_DATA_WINDOW_MOVE_NAMES); + u8 ppValueWindowId = AddWindowFromTemplateList(sPageMovesTemplate, PSS_DATA_WINDOW_MOVE_PP); u16 move = summaryStruct->summary.moves[moveIndex]; if (move != 0) @@ -3469,7 +3527,7 @@ static void PrintMovePowerAndAccuracy(u16 moveIndex) const u8 *text; if (moveIndex != 0) { - FillWindowPixelRect(14, 0, 53, 0, 19, 32); + FillWindowPixelRect(PSS_LABEL_WINDOW_MOVES_POWER_ACC, 0, 53, 0, 19, 32); if (gBattleMoves[moveIndex].power < 2) { @@ -3481,7 +3539,7 @@ static void PrintMovePowerAndAccuracy(u16 moveIndex) text = gStringVar1; } - SummaryScreen_PrintTextOnWindow(14, text, 53, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_MOVES_POWER_ACC, text, 53, 1, 0, 0); if (gBattleMoves[moveIndex].accuracy == 0) { @@ -3493,7 +3551,7 @@ static void PrintMovePowerAndAccuracy(u16 moveIndex) text = gStringVar1; } - SummaryScreen_PrintTextOnWindow(14, text, 53, 17, 0, 0); + SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_MOVES_POWER_ACC, text, 53, 17, 0, 0); } } @@ -3504,10 +3562,10 @@ static void PrintContestMoves(void) PrintMoveNameAndPP(2); PrintMoveNameAndPP(3); - if (pssData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) { PrintNewMoveDetailsOrCancelText(); - PrintContestMoveDescription(pssData->firstMoveIndex); + PrintContestMoveDescription(sMonSummaryScreenData->firstMoveIndex); } } @@ -3531,14 +3589,14 @@ static void Task_PrintContestMoves(u8 taskId) PrintMoveNameAndPP(3); break; case 4: - if (pssData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) PrintNewMoveDetailsOrCancelText(); break; case 5: - if (pssData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) { - if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) - PrintContestMoveDescription(pssData->firstMoveIndex); + if (sMonSummaryScreenData->newMove != MOVE_NONE || sMonSummaryScreenData->firstMoveIndex != MAX_MON_MOVES) + PrintContestMoveDescription(sMonSummaryScreenData->firstMoveIndex); } break; case 6: @@ -3553,24 +3611,24 @@ static void PrintContestMoveDescription(u8 moveSlot) u16 move; if (moveSlot == MAX_MON_MOVES) - move = pssData->newMove; + move = sMonSummaryScreenData->newMove; else - move = pssData->summary.moves[moveSlot]; + move = sMonSummaryScreenData->summary.moves[moveSlot]; if (move != MOVE_NONE) { - u8 windowId = AddWindowFromTemplateList(sPageMovesTemplate, 2); + u8 windowId = AddWindowFromTemplateList(sPageMovesTemplate, PSS_DATA_WINDOW_MOVE_DESCRIPTION); SummaryScreen_PrintTextOnWindow(windowId, gContestEffectDescriptionPointers[gContestMoves[move].effect], 6, 1, 0, 0); } } static void PrintMoveDetails(u16 move) { - u8 windowId = AddWindowFromTemplateList(sPageMovesTemplate, 2); + u8 windowId = AddWindowFromTemplateList(sPageMovesTemplate, PSS_DATA_WINDOW_MOVE_DESCRIPTION); FillWindowPixelBuffer(windowId, 0); if (move != MOVE_NONE) { - if (pssData->currPageIndex == 2) + if (sMonSummaryScreenData->currPageIndex == PSS_MODE_BOX) { PrintMovePowerAndAccuracy(move); SummaryScreen_PrintTextOnWindow(windowId, gMoveDescriptionPointers[move - 1], 6, 1, 0, 0); @@ -3591,18 +3649,18 @@ static void PrintMoveDetails(u16 move) static void PrintNewMoveDetailsOrCancelText(void) { - u8 windowId1 = AddWindowFromTemplateList(sPageMovesTemplate, 0); - u8 windowId2 = AddWindowFromTemplateList(sPageMovesTemplate, 1); + u8 windowId1 = AddWindowFromTemplateList(sPageMovesTemplate, PSS_DATA_WINDOW_MOVE_NAMES); + u8 windowId2 = AddWindowFromTemplateList(sPageMovesTemplate, PSS_DATA_WINDOW_MOVE_PP); - if (pssData->newMove == MOVE_NONE) + if (sMonSummaryScreenData->newMove == MOVE_NONE) { SummaryScreen_PrintTextOnWindow(windowId1, gText_Cancel, 0, 65, 0, 1); } else { - u16 move = pssData->newMove; + u16 move = sMonSummaryScreenData->newMove; - if (pssData->currPageIndex == 2) + if (sMonSummaryScreenData->currPageIndex == 2) SummaryScreen_PrintTextOnWindow(windowId1, gMoveNames[move], 0, 65, 0, 6); else SummaryScreen_PrintTextOnWindow(windowId1, gMoveNames[move], 0, 65, 0, 5); @@ -3618,15 +3676,15 @@ static void PrintNewMoveDetailsOrCancelText(void) static void sub_81C4064(void) { - u8 windowId = AddWindowFromTemplateList(sPageMovesTemplate, 0); + u8 windowId = AddWindowFromTemplateList(sPageMovesTemplate, PSS_DATA_WINDOW_MOVE_NAMES); FillWindowPixelRect(windowId, 0, 0, 66, 72, 16); CopyWindowToVram(windowId, 2); } static void sub_81C40A0(u8 moveIndex1, u8 moveIndex2) { - u8 windowId1 = AddWindowFromTemplateList(sPageMovesTemplate, 0); - u8 windowId2 = AddWindowFromTemplateList(sPageMovesTemplate, 1); + u8 windowId1 = AddWindowFromTemplateList(sPageMovesTemplate, PSS_DATA_WINDOW_MOVE_NAMES); + u8 windowId2 = AddWindowFromTemplateList(sPageMovesTemplate, PSS_DATA_WINDOW_MOVE_PP); FillWindowPixelRect(windowId1, 0, 0, moveIndex1 * 16, 0x48, 0x10); FillWindowPixelRect(windowId1, 0, 0, moveIndex2 * 16, 0x48, 0x10); @@ -3640,7 +3698,7 @@ static void sub_81C40A0(u8 moveIndex1, u8 moveIndex2) static void PrintHMMovesCantBeForgotten(void) { - u8 windowId = AddWindowFromTemplateList(sPageMovesTemplate, 2); + u8 windowId = AddWindowFromTemplateList(sPageMovesTemplate, PSS_DATA_WINDOW_MOVE_DESCRIPTION); FillWindowPixelBuffer(windowId, 0); SummaryScreen_PrintTextOnWindow(windowId, gText_HMMovesCantBeForgotten2, 6, 1, 0, 0); } @@ -3649,24 +3707,24 @@ static void ResetSpriteIds(void) { u8 i; - for (i = 0; i < ARRAY_COUNT(pssData->spriteIds); i++) + for (i = 0; i < ARRAY_COUNT(sMonSummaryScreenData->spriteIds); i++) { - pssData->spriteIds[i] = 0xFF; + sMonSummaryScreenData->spriteIds[i] = 0xFF; } } static void DestroySpriteInArray(u8 spriteArrayId) { - if (pssData->spriteIds[spriteArrayId] != 0xFF) + if (sMonSummaryScreenData->spriteIds[spriteArrayId] != 0xFF) { - DestroySprite(&gSprites[pssData->spriteIds[spriteArrayId]]); - pssData->spriteIds[spriteArrayId] = 0xFF; + DestroySprite(&gSprites[sMonSummaryScreenData->spriteIds[spriteArrayId]]); + sMonSummaryScreenData->spriteIds[spriteArrayId] = 0xFF; } } static void SetSpriteInvisibility(u8 spriteArrayId, bool8 invisible) { - gSprites[pssData->spriteIds[spriteArrayId]].invisible = invisible; + gSprites[sMonSummaryScreenData->spriteIds[spriteArrayId]].invisible = invisible; } static void HidePageSpecificSprites(void) @@ -3674,16 +3732,16 @@ static void HidePageSpecificSprites(void) // Keeps Pokémon, caught ball and status sprites visible. u8 i; - for (i = 3; i < ARRAY_COUNT(pssData->spriteIds); i++) + for (i = 3; i < ARRAY_COUNT(sMonSummaryScreenData->spriteIds); i++) { - if (pssData->spriteIds[i] != 0xFF) + if (sMonSummaryScreenData->spriteIds[i] != 0xFF) SetSpriteInvisibility(i, TRUE); } } static void SetTypeIcons(void) { - switch (pssData->currPageIndex) + switch (sMonSummaryScreenData->currPageIndex) { case PSS_PAGE_INFO: SetMonTypeIcons(); @@ -3705,8 +3763,8 @@ static void CreateMoveTypeIcons(void) for (i = 3; i < 8; i++) { - if (pssData->spriteIds[i] == 0xFF) - pssData->spriteIds[i] = CreateSprite(&sSpriteTemplate_MoveTypes, 0, 0, 2); + if (sMonSummaryScreenData->spriteIds[i] == 0xFF) + sMonSummaryScreenData->spriteIds[i] = CreateSprite(&sSpriteTemplate_MoveTypes, 0, 0, 2); SetSpriteInvisibility(i, TRUE); } @@ -3714,7 +3772,7 @@ static void CreateMoveTypeIcons(void) static void SetMoveTypeSpritePosAndType(u8 typeId, u8 x, u8 y, u8 spriteArrayId) { - struct Sprite *sprite = &gSprites[pssData->spriteIds[spriteArrayId]]; + struct Sprite *sprite = &gSprites[sMonSummaryScreenData->spriteIds[spriteArrayId]]; StartSpriteAnim(sprite, typeId); sprite->oam.paletteNum = sMoveTypeToOamPaletteNum[typeId]; sprite->pos1.x = x + 16; @@ -3724,7 +3782,7 @@ static void SetMoveTypeSpritePosAndType(u8 typeId, u8 x, u8 y, u8 spriteArrayId) static void SetMonTypeIcons(void) { - struct PokeSummary *summary = &pssData->summary; + struct PokeSummary *summary = &sMonSummaryScreenData->summary; if (summary->isEgg) { SetMoveTypeSpritePosAndType(TYPE_MYSTERY, 120, 48, 3); @@ -3748,7 +3806,7 @@ static void SetMonTypeIcons(void) static void SetMoveTypeIcons(void) { u8 i; - struct PokeSummary *summary = &pssData->summary; + struct PokeSummary *summary = &sMonSummaryScreenData->summary; for (i = 0; i < MAX_MON_MOVES; i++) { if (summary->moves[i] != MOVE_NONE) @@ -3761,7 +3819,7 @@ static void SetMoveTypeIcons(void) static void SetContestMoveTypeIcons(void) { u8 i; - struct PokeSummary *summary = &pssData->summary; + struct PokeSummary *summary = &sMonSummaryScreenData->summary; for (i = 0; i < MAX_MON_MOVES; i++) { if (summary->moves[i] != MOVE_NONE) @@ -3773,23 +3831,23 @@ static void SetContestMoveTypeIcons(void) static void SetNewMoveTypeIcon(void) { - if (pssData->newMove == MOVE_NONE) + if (sMonSummaryScreenData->newMove == MOVE_NONE) { SetSpriteInvisibility(7, TRUE); } else { - if (pssData->currPageIndex == 2) - SetMoveTypeSpritePosAndType(gBattleMoves[pssData->newMove].type, 85, 96, 7); + if (sMonSummaryScreenData->currPageIndex == 2) + SetMoveTypeSpritePosAndType(gBattleMoves[sMonSummaryScreenData->newMove].type, 85, 96, 7); else - SetMoveTypeSpritePosAndType(NUMBER_OF_MON_TYPES + gContestMoves[pssData->newMove].contestCategory, 85, 96, 7); + SetMoveTypeSpritePosAndType(NUMBER_OF_MON_TYPES + gContestMoves[sMonSummaryScreenData->newMove].contestCategory, 85, 96, 7); } } static void sub_81C4568(u8 a0, u8 a1) { - struct Sprite *sprite1 = &gSprites[pssData->spriteIds[a0 + 3]]; - struct Sprite *sprite2 = &gSprites[pssData->spriteIds[a1 + 3]]; + struct Sprite *sprite1 = &gSprites[sMonSummaryScreenData->spriteIds[a0 + 3]]; + struct Sprite *sprite2 = &gSprites[sMonSummaryScreenData->spriteIds[a1 + 3]]; u8 temp = sprite1->animNum; sprite1->animNum = sprite2->animNum; @@ -3808,7 +3866,7 @@ static void sub_81C4568(u8 a0, u8 a1) static u8 CreatePokemonSprite(struct Pokemon *mon, s16 *a1) { const struct CompressedSpritePalette *pal; - struct PokeSummary *summary = &pssData->summary; + struct PokeSummary *summary = &sMonSummaryScreenData->summary; switch (*a1) { @@ -3817,7 +3875,7 @@ static u8 CreatePokemonSprite(struct Pokemon *mon, s16 *a1) case 0: if (gMain.inBattle) { - if (sub_80688F8(3, pssData->curMonIndex)) + if (sub_80688F8(3, sMonSummaryScreenData->curMonIndex)) { HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); } @@ -3830,7 +3888,7 @@ static u8 CreatePokemonSprite(struct Pokemon *mon, s16 *a1) { if (gMonSpritesGfxPtr != NULL) { - if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_BOX || pssData->unk40EF == TRUE) + if (sMonSummaryScreenData->monList.mons == gPlayerParty || sMonSummaryScreenData->mode == PSS_MODE_BOX || sMonSummaryScreenData->unk40EF == TRUE) { HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); } @@ -3841,7 +3899,7 @@ static u8 CreatePokemonSprite(struct Pokemon *mon, s16 *a1) } else { - if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_BOX || pssData->unk40EF == TRUE) + if (sMonSummaryScreenData->monList.mons == gPlayerParty || sMonSummaryScreenData->mode == PSS_MODE_BOX || sMonSummaryScreenData->unk40EF == TRUE) { HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], sub_806F4F8(0, 1), summary->species2, summary->pid); } @@ -3864,10 +3922,10 @@ static u8 CreatePokemonSprite(struct Pokemon *mon, s16 *a1) static void PlayMonCry(void) { - struct PokeSummary *summary = &pssData->summary; + struct PokeSummary *summary = &sMonSummaryScreenData->summary; if (!summary->isEgg) { - if (ShouldPlayNormalMonCry(&pssData->currentMon) == TRUE) + if (ShouldPlayNormalMonCry(&sMonSummaryScreenData->currentMon) == TRUE) { PlayCry3(summary->species2, 0, 0); } @@ -3880,7 +3938,7 @@ static void PlayMonCry(void) static u8 sub_81C47B4(struct Pokemon *unused) { - struct PokeSummary *summary = &pssData->summary; + struct PokeSummary *summary = &sMonSummaryScreenData->summary; u8 spriteId = CreateSprite(&gMultiuseSpriteTemplate, 40, 64, 5); struct Sprite *sprite = &gSprites[spriteId]; @@ -3905,7 +3963,7 @@ static u8 sub_81C47B4(struct Pokemon *unused) static void SpriteCB_Pokemon(struct Sprite *sprite) { - struct PokeSummary *summary = &pssData->summary; + struct PokeSummary *summary = &sMonSummaryScreenData->summary; if (!gPaletteFade.active && sprite->data[2] != 1) { @@ -3931,7 +3989,7 @@ void SummaryScreen_DestroyUnknownTask(void) static bool32 SummaryScreen_DoesSpriteHaveCallback(void) { - if (gSprites[pssData->spriteIds[0]].callback == SpriteCallbackDummy) + if (gSprites[sMonSummaryScreenData->spriteIds[0]].callback == SpriteCallbackDummy) { return FALSE; } @@ -3946,11 +4004,11 @@ static void StopPokemonAnimations(void) // A subtle effect, this function stops u16 i; u16 paletteIndex; - gSprites[pssData->spriteIds[0]].animPaused = TRUE; - gSprites[pssData->spriteIds[0]].callback = SpriteCallbackDummy; + gSprites[sMonSummaryScreenData->spriteIds[0]].animPaused = TRUE; + gSprites[sMonSummaryScreenData->spriteIds[0]].callback = SpriteCallbackDummy; StopPokemonAnimationDelayTask(); - paletteIndex = (gSprites[pssData->spriteIds[0]].oam.paletteNum * 16) | 0x100; + paletteIndex = (gSprites[sMonSummaryScreenData->spriteIds[0]].oam.paletteNum * 16) | 0x100; for (i = 0; i < 16; i++) { @@ -3962,20 +4020,20 @@ static void CreateMonMarkingsSprite(struct Pokemon *mon) { struct Sprite *sprite = sub_811FF94(30003, 30003, sSummaryMarkingsPalette); - pssData->markingsSprite = sprite; + sMonSummaryScreenData->markingsSprite = sprite; if (sprite != NULL) { StartSpriteAnim(sprite, GetMonData(mon, MON_DATA_MARKINGS)); - pssData->markingsSprite->pos1.x = 60; - pssData->markingsSprite->pos1.y = 26; - pssData->markingsSprite->oam.priority = 1; + sMonSummaryScreenData->markingsSprite->pos1.x = 60; + sMonSummaryScreenData->markingsSprite->pos1.y = 26; + sMonSummaryScreenData->markingsSprite->oam.priority = 1; } } static void RemoveAndCreateMonMarkingsSprite(struct Pokemon *mon) { - DestroySprite(pssData->markingsSprite); + DestroySprite(sMonSummaryScreenData->markingsSprite); FreeSpriteTilesByTag(30003); CreateMonMarkingsSprite(mon); } @@ -3985,14 +4043,14 @@ static void CreateCaughtBallSprite(struct Pokemon *mon) u8 ball = ItemIdToBallId(GetMonData(mon, MON_DATA_POKEBALL)); LoadBallGfx(ball); - pssData->spriteIds[1] = CreateSprite(&gBallSpriteTemplates[ball], 16, 136, 0); - gSprites[pssData->spriteIds[1]].callback = SpriteCallbackDummy; - gSprites[pssData->spriteIds[1]].oam.priority = 3; + sMonSummaryScreenData->spriteIds[1] = CreateSprite(&gBallSpriteTemplates[ball], 16, 136, 0); + gSprites[sMonSummaryScreenData->spriteIds[1]].callback = SpriteCallbackDummy; + gSprites[sMonSummaryScreenData->spriteIds[1]].oam.priority = 3; } static void CreateSetStatusSprite(void) { - u8 *spriteId = &pssData->spriteIds[2]; + u8 *spriteId = &sMonSummaryScreenData->spriteIds[2]; u8 anim; if (*spriteId == 0xFF) @@ -4000,7 +4058,7 @@ static void CreateSetStatusSprite(void) *spriteId = CreateSprite(&sSpriteTemplate_StatusCondition, 64, 152, 0); } - anim = sub_81B205C(&pssData->currentMon); + anim = GetMonAilment(&sMonSummaryScreenData->currentMon); if (anim != 0) { @@ -4016,9 +4074,9 @@ static void CreateSetStatusSprite(void) static void sub_81C4AF8(u8 a0) { u8 i; - u8 *spriteIds = &pssData->spriteIds[a0]; + u8 *spriteIds = &sMonSummaryScreenData->spriteIds[a0]; - if (pssData->currPageIndex > 1) + if (sMonSummaryScreenData->currPageIndex > 1) { u8 subsprite = 0; if (a0 == 8) @@ -4070,11 +4128,11 @@ static void sub_81C4BE4(struct Sprite *sprite) if (sprite->data[0] == 8) { - sprite->pos2.y = pssData->firstMoveIndex * 16; + sprite->pos2.y = sMonSummaryScreenData->firstMoveIndex * 16; } else { - sprite->pos2.y = pssData->secondMoveIndex * 16; + sprite->pos2.y = sMonSummaryScreenData->secondMoveIndex * 16; } } @@ -4090,7 +4148,7 @@ static void sub_81C4C60(u8 a0) static void sub_81C4C84(u8 a0) { u8 i; - u8 *spriteIds = &pssData->spriteIds[8]; + u8 *spriteIds = &sMonSummaryScreenData->spriteIds[8]; a0 *= 3; for (i = 0; i < 10; i++) @@ -4113,7 +4171,7 @@ static void sub_81C4C84(u8 a0) static void sub_81C4D18(u8 firstSpriteId) { u8 i; - u8 *spriteIds = &pssData->spriteIds[firstSpriteId]; + u8 *spriteIds = &sMonSummaryScreenData->spriteIds[firstSpriteId]; for (i = 0; i < 10; i++) { From 05199f8fc7b89bdd401ee112e5f500235e99736b Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sun, 3 Mar 2019 22:27:57 -0500 Subject: [PATCH 12/47] Fix merge issue --- src/pokemon_summary_screen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index edfd481dee..3ed27dcbdf 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -1407,7 +1407,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *mon) case 3: GetMonData(mon, MON_DATA_OT_NAME, sum->OTName); ConvertInternationalString((u8*)&sum->OTName, GetMonData(mon, MON_DATA_LANGUAGE)); - sum->ailment = sub_81B205C(mon); + sum->ailment = GetMonAilment(mon); sum->OTGender = GetMonData(mon, MON_DATA_OT_GENDER); sum->OTID = GetMonData(mon, MON_DATA_OT_ID); sum->metLocation = GetMonData(mon, MON_DATA_MET_LOCATION); From ac7a048380217560b4e8f4f43858112e185ba2ef Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Mon, 4 Mar 2019 00:25:07 -0500 Subject: [PATCH 13/47] Removed PREV and NEXT macros, changed summary name --- src/pokemon_summary_screen.c | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 3ed27dcbdf..01cafb100e 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -98,10 +98,6 @@ #define PSS_DATA_WINDOW_MOVE_PP 1 #define PSS_DATA_WINDOW_MOVE_DESCRIPTION 2 -// Used for switching between pages, pokemon, and moves. -#define PSS_CHANGE_NEXT 1 -#define PSS_CHANGE_PREV -1 - static EWRAM_DATA struct PokemonSummaryScreenData { /*0x00*/ union { @@ -1490,19 +1486,19 @@ static void HandleInput(u8 taskId) { if (gMain.newKeys & DPAD_UP) { - ChangeSummaryPokemon(taskId, PSS_CHANGE_PREV); + ChangeSummaryPokemon(taskId, -1); } else if (gMain.newKeys & DPAD_DOWN) { - ChangeSummaryPokemon(taskId, PSS_CHANGE_NEXT); + ChangeSummaryPokemon(taskId, 1); } else if ((gMain.newKeys & DPAD_LEFT) || GetLRKeysState() == 1) { - ChangePage(taskId, PSS_CHANGE_PREV); + ChangePage(taskId, -1); } else if ((gMain.newKeys & DPAD_RIGHT) || GetLRKeysState() == 2) { - ChangePage(taskId, PSS_CHANGE_NEXT); + ChangePage(taskId, 1); } else if (gMain.newKeys & A_BUTTON) { @@ -1542,14 +1538,14 @@ static void ChangeSummaryPokemon(u8 taskId, s8 delta) if (sMonSummaryScreenData->currPageIndex != PSS_PAGE_INFO) { - if (delta == PSS_CHANGE_NEXT) + if (delta == 1) delta = 0; else delta = 2; } else { - if (delta == PSS_CHANGE_NEXT) + if (delta == 1) delta = 1; else delta = 3; @@ -1723,16 +1719,16 @@ static void ChangePage(u8 taskId, s8 delta) if (summary->isEgg) return; - else if (delta == PSS_CHANGE_PREV && sMonSummaryScreenData->currPageIndex == sMonSummaryScreenData->minPageIndex) + else if (delta == -1&& sMonSummaryScreenData->currPageIndex == sMonSummaryScreenData->minPageIndex) return; - else if (delta == PSS_CHANGE_NEXT && sMonSummaryScreenData->currPageIndex == sMonSummaryScreenData->maxPageIndex) + else if (delta == 1 && sMonSummaryScreenData->currPageIndex == sMonSummaryScreenData->maxPageIndex) return; PlaySE(SE_SELECT); ClearPageWindowTilemaps(sMonSummaryScreenData->currPageIndex); sMonSummaryScreenData->currPageIndex += delta; data[0] = 0; - if (delta == PSS_CHANGE_NEXT) + if (delta == 1) SetTaskFuncWithFollowupFunc(taskId, PssScrollRight, gTasks[taskId].func); else SetTaskFuncWithFollowupFunc(taskId, PssScrollLeft, gTasks[taskId].func); @@ -2157,20 +2153,20 @@ static void HandleReplaceMoveInput(u8 taskId) if (gMain.newKeys & DPAD_UP) { data[0] = 4; - sub_81C1070(data, PSS_CHANGE_PREV, &sMonSummaryScreenData->firstMoveIndex); + sub_81C1070(data, -1, &sMonSummaryScreenData->firstMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 4; - sub_81C1070(data, PSS_CHANGE_NEXT, &sMonSummaryScreenData->firstMoveIndex); + sub_81C1070(data, 1, &sMonSummaryScreenData->firstMoveIndex); } else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) { - ChangePage(taskId, PSS_CHANGE_PREV); + ChangePage(taskId, -1); } else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) { - ChangePage(taskId, PSS_CHANGE_NEXT); + ChangePage(taskId, 1); } else if (gMain.newKeys & A_BUTTON) { @@ -2252,7 +2248,7 @@ static void HandleHMMovesCantBeForgottenInput(u8 taskId) ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); move = sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]; gTasks[taskId].func = HandleReplaceMoveInput; - ChangePage(taskId, PSS_CHANGE_PREV); + ChangePage(taskId, -1); sub_81C1DA4(9, -2); sub_81C1EFC(9, -2, move); } @@ -2266,7 +2262,7 @@ static void HandleHMMovesCantBeForgottenInput(u8 taskId) ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); move = sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]; gTasks[taskId].func = HandleReplaceMoveInput; - ChangePage(taskId, PSS_CHANGE_NEXT); + ChangePage(taskId, 1); sub_81C1DA4(9, -2); sub_81C1EFC(9, -2, move); } From cae63cf1c79ed243827e8a9149c1aa652f80d374 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Mon, 4 Mar 2019 20:56:39 -0500 Subject: [PATCH 14/47] Rename move tutor to move relearner --- asm/rom_81D1C44.s | 60 +-- data/maps/FallarborTown_House2/scripts.inc | 2 +- data/rom_81D1C44.s | 8 +- data/specials.inc | 2 +- include/move_relearner.h | 7 + include/move_tutor.h | 7 - include/pokenav.h | 10 +- include/strings.h | 16 +- ld_script.txt | 4 +- src/{move_tutor.c => move_relearner.c} | 412 ++++++++++----------- src/strings.c | 16 +- sym_ewram.txt | 2 +- 12 files changed, 273 insertions(+), 273 deletions(-) create mode 100644 include/move_relearner.h delete mode 100644 include/move_tutor.h rename src/{move_tutor.c => move_relearner.c} (58%) diff --git a/asm/rom_81D1C44.s b/asm/rom_81D1C44.s index df17e6ae07..99bd11b0d2 100644 --- a/asm/rom_81D1C44.s +++ b/asm/rom_81D1C44.s @@ -1579,12 +1579,12 @@ _081D2800: .pool thumb_func_end sub_81D2754 - thumb_func_start InitMoveTutorWindows -InitMoveTutorWindows: @ 81D2824 + thumb_func_start InitMoveRelearnerWindows +InitMoveRelearnerWindows: @ 81D2824 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, =gMoveTutorWindowTemplates + ldr r0, =gMoveRelearnerWindowTemplates bl InitWindows bl DeactivateAllTextPrinters movs r0, 0 @@ -1645,21 +1645,21 @@ _081D288E: pop {r4,r5} pop {r0} bx r0 - thumb_func_end InitMoveTutorWindows + thumb_func_end InitMoveRelearnerWindows thumb_func_start nullsub_79 nullsub_79: @ 81D28C4 bx lr thumb_func_end nullsub_79 - thumb_func_start LoadMoveTutorMovesList -LoadMoveTutorMovesList: @ 81D28C8 + thumb_func_start LoadMoveRelearnerMovesList +LoadMoveRelearnerMovesList: @ 81D28C8 push {r4-r7,lr} lsls r1, 16 lsrs r4, r1, 16 ldr r3, =gMultiuseListMenuTemplate adds r2, r3, 0 - ldr r1, =gMoveTutorMovesListTemplate + ldr r1, =gMoveRelearnerMovesListTemplate ldm r1!, {r5-r7} stm r2!, {r5-r7} ldm r1!, {r5-r7} @@ -1679,10 +1679,10 @@ _081D28F4: pop {r4-r7} pop {r1} bx r1 - thumb_func_end LoadMoveTutorMovesList + thumb_func_end LoadMoveRelearnerMovesList - thumb_func_start MoveTutorLoadBattleMoveDescription -MoveTutorLoadBattleMoveDescription: @ 81D28FC + thumb_func_start MoveRelearnerLoadBattleMoveDescription +MoveRelearnerLoadBattleMoveDescription: @ 81D28FC push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -1884,16 +1884,16 @@ _081D2AB6: pop {r0} bx r0 .pool - thumb_func_end MoveTutorLoadBattleMoveDescription + thumb_func_end MoveRelearnerLoadBattleMoveDescription - thumb_func_start MoveTutorMenuLoadContestMoveDescription -MoveTutorMenuLoadContestMoveDescription: @ 81D2ACC + thumb_func_start MoveRelearnerMenuLoadContestMoveDescription +MoveRelearnerMenuLoadContestMoveDescription: @ 81D2ACC push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0xC adds r4, r0, 0 - bl MoveTutorShowHideHearts + bl MoveRelearnerShowHideHearts movs r0, 0x1 movs r1, 0x11 bl FillWindowPixelBuffer @@ -1997,10 +1997,10 @@ _081D2BB8: pop {r0} bx r0 .pool - thumb_func_end MoveTutorMenuLoadContestMoveDescription + thumb_func_end MoveRelearnerMenuLoadContestMoveDescription - thumb_func_start MoveTutorCursorCallback -MoveTutorCursorCallback: @ 81D2BD0 + thumb_func_start MoveRelearnerCursorCallback +MoveRelearnerCursorCallback: @ 81D2BD0 push {r4,lr} adds r4, r0, 0 lsls r1, 24 @@ -2011,16 +2011,16 @@ MoveTutorCursorCallback: @ 81D2BD0 bl PlaySE _081D2BE2: adds r0, r4, 0 - bl MoveTutorLoadBattleMoveDescription + bl MoveRelearnerLoadBattleMoveDescription adds r0, r4, 0 - bl MoveTutorMenuLoadContestMoveDescription + bl MoveRelearnerMenuLoadContestMoveDescription pop {r4} pop {r0} bx r0 - thumb_func_end MoveTutorCursorCallback + thumb_func_end MoveRelearnerCursorCallback - thumb_func_start MoveTutorPrintText -MoveTutorPrintText: @ 81D2BF4 + thumb_func_start MoveRelearnerPrintText +MoveRelearnerPrintText: @ 81D2BF4 push {r4,lr} sub sp, 0x10 adds r4, r0, 0 @@ -2052,10 +2052,10 @@ MoveTutorPrintText: @ 81D2BF4 pop {r0} bx r0 .pool - thumb_func_end MoveTutorPrintText + thumb_func_end MoveRelearnerPrintText - thumb_func_start MoveTutorRunTextPrinters -MoveTutorRunTextPrinters: @ 81D2C3C + thumb_func_start MoveRelearnerRunTextPrinters +MoveRelearnerRunTextPrinters: @ 81D2C3C push {lr} bl RunTextPrinters movs r0, 0x3 @@ -2064,12 +2064,12 @@ MoveTutorRunTextPrinters: @ 81D2C3C lsrs r0, 16 pop {r1} bx r1 - thumb_func_end MoveTutorRunTextPrinters + thumb_func_end MoveRelearnerRunTextPrinters - thumb_func_start MoveTutorCreateYesNoMenu -MoveTutorCreateYesNoMenu: @ 81D2C50 + thumb_func_start MoveRelearnerCreateYesNoMenu +MoveRelearnerCreateYesNoMenu: @ 81D2C50 push {lr} - ldr r0, =gMoveTutorYesNoMenuTemplate + ldr r0, =gMoveRelearnerYesNoMenuTemplate movs r1, 0x1 movs r2, 0xE movs r3, 0 @@ -2077,7 +2077,7 @@ MoveTutorCreateYesNoMenu: @ 81D2C50 pop {r0} bx r0 .pool - thumb_func_end MoveTutorCreateYesNoMenu + thumb_func_end MoveRelearnerCreateYesNoMenu thumb_func_start sub_81D2C68 sub_81D2C68: @ 81D2C68 diff --git a/data/maps/FallarborTown_House2/scripts.inc b/data/maps/FallarborTown_House2/scripts.inc index 2f2ec1b3fb..d0305ad4b8 100644 --- a/data/maps/FallarborTown_House2/scripts.inc +++ b/data/maps/FallarborTown_House2/scripts.inc @@ -37,7 +37,7 @@ FallarborTown_House2_EventScript_2013D6:: @ 82013D6 FallarborTown_House2_EventScript_20140C:: @ 820140C msgbox FallarborTown_House2_Text_2015C3, MSGBOX_DEFAULT - special TeachMoveTutorMove + special TeachMoveRelearnerMove waitstate compare VAR_0x8004, 0 goto_if_eq FallarborTown_House2_EventScript_2013D6 diff --git a/data/rom_81D1C44.s b/data/rom_81D1C44.s index f9625c9ca9..1b54351755 100644 --- a/data/rom_81D1C44.s +++ b/data/rom_81D1C44.s @@ -23,7 +23,7 @@ gUnknown_08625404:: @ 8625404 gUnknown_08625410:: @ 8625410 .byte 4, 5, 6, 7, 8, 9, 9, 0xA, 0xA, 0xB, 0xB, 0xC, 0xC, 0xD, 0xD, 0xD, 0xD, 0xE, 0xE, 0xE, 0xE, 0xF, 0xF, 0xF, 0xF, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23 -gMoveTutorWindowTemplates:: @ 8625510s +gMoveRelearnerWindowTemplates:: @ 8625510s window_template 1, 1, 1, 16, 12, 0xF, 0x000A window_template 1, 1, 1, 16, 12, 0xF, 0x00CA window_template 1, 19, 1, 10, 12, 0xF, 0x018A @@ -31,12 +31,12 @@ gMoveTutorWindowTemplates:: @ 8625510s window_template 0, 22, 8, 5, 4, 0xF, 0x025A null_window_template -gMoveTutorYesNoMenuTemplate:: @ 8625540 +gMoveRelearnerYesNoMenuTemplate:: @ 8625540 window_template 0, 22, 8, 5, 4, 0xF, 0x025A -gMoveTutorMovesListTemplate:: @ 8625548 struct ListMenuTemplate +gMoveRelearnerMovesListTemplate:: @ 8625548 struct ListMenuTemplate .4byte NULL - .4byte MoveTutorCursorCallback + .4byte MoveRelearnerCursorCallback .4byte NULL .2byte 0 .2byte 0 diff --git a/data/specials.inc b/data/specials.inc index d57c76bdec..9364dcc466 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -235,7 +235,7 @@ gSpecials:: @ 81DBA64 def_special sub_81B9770 def_special sub_81B9718 def_special sub_81B96D0 - def_special TeachMoveTutorMove + def_special TeachMoveRelearnerMove def_special GetRecordedCyclingRoadResults def_special Special_BeginCyclingRoadChallenge def_special GetPlayerAvatarBike diff --git a/include/move_relearner.h b/include/move_relearner.h new file mode 100644 index 0000000000..51b476d25f --- /dev/null +++ b/include/move_relearner.h @@ -0,0 +1,7 @@ +#ifndef GUARD_MOVE_RELEARNER_H +#define GUARD_MOVE_RELEARNER_H + +void TeachMoveRelearnerMove(void); +void MoveRelearnerShowHideHearts(s32); + +#endif //GUARD_MOVE_RELEARNER_H diff --git a/include/move_tutor.h b/include/move_tutor.h deleted file mode 100644 index e3e5da1d4b..0000000000 --- a/include/move_tutor.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef GUARD_LEARN_MOVE_H -#define GUARD_LEARN_MOVE_H - -void TeachMoveTutorMove(void); -void MoveTutorShowHideHearts(s32); - -#endif //GUARD_LEARN_MOVE_H diff --git a/include/pokenav.h b/include/pokenav.h index f80123757d..e6fa5f40d0 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -20,11 +20,11 @@ void sub_81D1EC0(void); void sub_81D1D04(u8); bool8 sub_81D1C44(u8); bool8 sub_81D4A58(struct EventObject*); -void MoveTutorPrintText(u8 *); -u16 MoveTutorRunTextPrinters(void); -void MoveTutorCreateYesNoMenu(void); -u8 LoadMoveTutorMovesList(const struct ListMenuItem *items, u16 numChoices); -void InitMoveTutorWindows(bool8 useContextWindow); +void MoveRelearnerPrintText(u8 *); +u16 MoveRelearnerRunTextPrinters(void); +void MoveRelearnerCreateYesNoMenu(void); +u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices); +void InitMoveRelearnerWindows(bool8 useContextWindow); bool8 EventObjectIsFarawayIslandMew(struct EventObject *); u32 sub_81D427C(void); void sub_81D4998(void); diff --git a/include/strings.h b/include/strings.h index bd1a5349c6..8fc5ad377e 100644 --- a/include/strings.h +++ b/include/strings.h @@ -859,15 +859,15 @@ extern const u8 gText_Winona[]; extern const u8 gText_Phoebe[]; extern const u8 gText_Glacia[]; -extern const u8 gText_MoveTutorPkmnLearnedMove[]; -extern const u8 gText_MoveTutorPkmnTryingToLearnMove[]; -extern const u8 gText_MoveTutorWhichMoveToForget[]; -extern const u8 gText_MoveTutorStopTryingToTeachMove[]; -extern const u8 gText_MoveTutorAndPoof[]; -extern const u8 gText_MoveTutorPkmnForgotMoveAndLearnedNew[]; +extern const u8 gText_MoveRelearnerPkmnLearnedMove[]; +extern const u8 gText_MoveRelearnerPkmnTryingToLearnMove[]; +extern const u8 gText_MoveRelearnerWhichMoveToForget[]; +extern const u8 gText_MoveRelearnerStopTryingToTeachMove[]; +extern const u8 gText_MoveRelearnerAndPoof[]; +extern const u8 gText_MoveRelearnerPkmnForgotMoveAndLearnedNew[]; extern const u8 gText_TeachWhichMoveToPkmn[]; -extern const u8 gText_MoveTutorGiveUp[]; -extern const u8 gText_MoveTutorTeachMoveConfirm[]; +extern const u8 gText_MoveRelearnerGiveUp[]; +extern const u8 gText_MoveRelearnerTeachMoveConfirm[]; extern const u8 gText_Kira[]; extern const u8 gText_Amy[]; diff --git a/ld_script.txt b/ld_script.txt index 12756b5bc5..53142d3602 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -226,7 +226,7 @@ SECTIONS { src/battle_controller_safari.o(.text); src/fldeff_sweetscent.o(.text); src/battle_anim_effects_3.o(.text); - src/move_tutor.o(.text); + src/move_relearner.o(.text); src/fldeff_softboiled.o(.text); src/decoration_inventory.o(.text); src/roamer.o(.text); @@ -535,7 +535,7 @@ SECTIONS { src/contest_ai.o(.rodata); src/battle_controller_safari.o(.rodata); src/battle_anim_effects_3.o(.rodata); - src/move_tutor.o(.rodata); + src/move_relearner.o(.rodata); src/roamer.o(.rodata); src/battle_tower.o(.rodata); src/use_pokeblock.o(.rodata); diff --git a/src/move_tutor.c b/src/move_relearner.c similarity index 58% rename from src/move_tutor.c rename to src/move_relearner.c index 89291a0087..1766476ccd 100644 --- a/src/move_tutor.c +++ b/src/move_relearner.c @@ -7,7 +7,7 @@ #include "event_data.h" #include "field_screen_effect.h" #include "gpu_regs.h" -#include "move_tutor.h" +#include "move_relearner.h" #include "list_menu.h" #include "alloc.h" #include "menu.h" @@ -26,42 +26,42 @@ #include "constants/songs.h" /* - * Move tutor state machine + * Move relearner state machine * ------------------------ * - * Entry point: TeachMoveTutorMove + * Entry point: TeachMoveRelearnerMove * - * TeachMoveTutorMove + * TeachMoveRelearnerMove * Task_WaitForFadeOut * CB2_InitLearnMove * - Creates moveDisplayArrowTask to listen to right/left buttons. * - Creates moveListScrollArrowTask to listen to up/down buttons. - * - Whenever the selected move changes (and once on init), the MoveTutorCursorCallback - * is called (see gMoveTutorMovesListTemplate). That callback will reload the contest + * - Whenever the selected move changes (and once on init), the MoveRelearnerCursorCallback + * is called (see gMoveRelearnerMovesListTemplate). That callback will reload the contest * display and battle display windows for the new move. Both are always loaded in * memory, but only the currently active one is copied to VRAM. The exception to this - * is the appeal and jam hearts, which are sprites. MoveTutorShowHideHearts is called + * is the appeal and jam hearts, which are sprites. MoveRelearnerShowHideHearts is called * while reloading the contest display to control them. - * DoMoveTutorMain: MENU_STATE_FADE_TO_BLACK - * DoMoveTutorMain: MENU_STATE_WAIT_FOR_FADE + * DoMoveRelearnerMain: MENU_STATE_FADE_TO_BLACK + * DoMoveRelearnerMain: MENU_STATE_WAIT_FOR_FADE * - Go to MENU_STATE_IDLE_BATTLE_MODE * - * DoMoveTutorMain: MENU_STATE_SETUP_BATTLE_MODE - * DoMoveTutorMain: MENU_STATE_IDLE_BATTLE_MODE + * DoMoveRelearnerMain: MENU_STATE_SETUP_BATTLE_MODE + * DoMoveRelearnerMain: MENU_STATE_IDLE_BATTLE_MODE * - If the player selected a move (pressed A), go to MENU_STATE_PRINT_TEACH_MOVE_PROMPT. * - If the player cancelled (pressed B), go to MENU_STATE_PRINT_GIVE_UP_PROMPT. * - If the player pressed left or right, swap the move display window to contest mode, * and go to MENU_STATE_SETUP_CONTEST_MODE. * - * DoMoveTutorMain: MENU_STATE_SETUP_CONTEST_MODE - * DoMoveTutorMain: MENU_STATE_IDLE_CONTEST_MODE + * DoMoveRelearnerMain: MENU_STATE_SETUP_CONTEST_MODE + * DoMoveRelearnerMain: MENU_STATE_IDLE_CONTEST_MODE * - If the player selected a move, go to MENU_STATE_PRINT_TEACH_MOVE_PROMPT. * - If the player cancelled, go to MENU_STATE_PRINT_GIVE_UP_PROMPT * - If the player pressed left or right, swap the move display window to battle mode, * and go to MENU_STATE_SETUP_BATTLE_MODE. * - * DoMoveTutorMain: MENU_STATE_PRINT_TEACH_MOVE_PROMPT - * DoMoveTutorMain: MENU_STATE_TEACH_MOVE_CONFIRM + * DoMoveRelearnerMain: MENU_STATE_PRINT_TEACH_MOVE_PROMPT + * DoMoveRelearnerMain: MENU_STATE_TEACH_MOVE_CONFIRM * - Wait for the player to confirm. * - If cancelled, go to either MENU_STATE_SETUP_BATTLE_MODE or MENU_STATE_SETUP_CONTEST_MODE. * - If confirmed and the pokemon had an empty move slot, set VAR_0x8004 to TRUE and go to @@ -69,41 +69,41 @@ * - If confirmed and the pokemon doesn't have an empty move slot, go to * MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT. * - * DoMoveTutorMain: MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT - * DoMoveTutorMain: MENU_STATE_WAIT_FOR_TRYING_TO_LEARN - * DoMoveTutorMain: MENU_STATE_CONFIRM_DELETE_OLD_MOVE + * DoMoveRelearnerMain: MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT + * DoMoveRelearnerMain: MENU_STATE_WAIT_FOR_TRYING_TO_LEARN + * DoMoveRelearnerMain: MENU_STATE_CONFIRM_DELETE_OLD_MOVE * - If the player confirms, go to MENU_STATE_PRINT_WHICH_MOVE_PROMPT. * - If the player cancels, go to MENU_STATE_PRINT_STOP_TEACHING * - * DoMoveTutorMain: MENU_STATE_PRINT_STOP_TEACHING - * DoMoveTutorMain: MENU_STATE_WAIT_FOR_STOP_TEACHING - * DoMoveTutorMain: MENU_STATE_CONFIRM_STOP_TEACHING + * DoMoveRelearnerMain: MENU_STATE_PRINT_STOP_TEACHING + * DoMoveRelearnerMain: MENU_STATE_WAIT_FOR_STOP_TEACHING + * DoMoveRelearnerMain: MENU_STATE_CONFIRM_STOP_TEACHING * - If the player confirms, go to MENU_STATE_CHOOSE_SETUP_STATE. * - If the player cancels, go back to MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT. * - * DoMoveTutorMain: MENU_STATE_PRINT_WHICH_MOVE_PROMPT - * DoMoveTutorMain: MENU_STATE_SHOW_MOVE_SUMMARY_SCREEN + * DoMoveRelearnerMain: MENU_STATE_PRINT_WHICH_MOVE_PROMPT + * DoMoveRelearnerMain: MENU_STATE_SHOW_MOVE_SUMMARY_SCREEN * - Go to ShowSelectMovePokemonSummaryScreen. When done, control returns to * CB2_InitLearnMoveReturnFromSelectMove. * - * DoMoveTutorMain: MENU_STATE_DOUBLE_FANFARE_FORGOT_MOVE - * DoMoveTutorMain: MENU_STATE_PRINT_TEXT_THEN_FANFARE - * DoMoveTutorMain: MENU_STATE_WAIT_FOR_FANFARE - * DoMoveTutorMain: MENU_STATE_WAIT_FOR_A_BUTTON - * DoMoveTutorMain: MENU_STATE_FADE_AND_RETURN - * DoMoveTutorMain: MENU_STATE_RETURN_TO_FIELD + * DoMoveRelearnerMain: MENU_STATE_DOUBLE_FANFARE_FORGOT_MOVE + * DoMoveRelearnerMain: MENU_STATE_PRINT_TEXT_THEN_FANFARE + * DoMoveRelearnerMain: MENU_STATE_WAIT_FOR_FANFARE + * DoMoveRelearnerMain: MENU_STATE_WAIT_FOR_A_BUTTON + * DoMoveRelearnerMain: MENU_STATE_FADE_AND_RETURN + * DoMoveRelearnerMain: MENU_STATE_RETURN_TO_FIELD * - Clean up and go to CB2_ReturnToField. * - * DoMoveTutorMain: MENU_STATE_PRINT_GIVE_UP_PROMPT - * DoMoveTutorMain: MENU_STATE_GIVE_UP_CONFIRM + * DoMoveRelearnerMain: MENU_STATE_PRINT_GIVE_UP_PROMPT + * DoMoveRelearnerMain: MENU_STATE_GIVE_UP_CONFIRM * - If the player confirms, go to MENU_STATE_FADE_AND_RETURN, and set VAR_0x8004 to FALSE. * - If the player cancels, go to either MENU_STATE_SETUP_BATTLE_MODE or * MENU_STATE_SETUP_CONTEST_MODE. * * CB2_InitLearnMoveReturnFromSelectMove: * - Do most of the same stuff as CB2_InitLearnMove. - * DoMoveTutorMain: MENU_STATE_FADE_FROM_SUMMARY_SCREEN - * DoMoveTutorMain: MENU_STATE_TRY_OVERWRITE_MOVE + * DoMoveRelearnerMain: MENU_STATE_FADE_FROM_SUMMARY_SCREEN + * DoMoveRelearnerMain: MENU_STATE_TRY_OVERWRITE_MOVE * - If any of the pokemon's existing moves were chosen, overwrite the move and * go to MENU_STATE_DOUBLE_FANFARE_FORGOT_MOVE and set VAR_0x8004 to TRUE. * - If the chosen move is the one the player selected before the summary screen, @@ -166,19 +166,19 @@ static EWRAM_DATA struct u8 moveListScrollArrowTask; /*0x113*/ u8 moveDisplayArrowTask; /*0x114*/ u16 scrollOffset; /*0x116*/ -} *sMoveTutorStruct = {0}; +} *sMoveRelearnerStruct = {0}; static EWRAM_DATA struct { u16 listOffset; u16 listRow; bool8 showContestInfo; -} sMoveTutorMenuSate = {0}; +} sMoveRelearnerMenuSate = {0}; -static const u16 sMoveTutorPaletteData[] = INCBIN_U16("graphics/interface/ui_learn_move.gbapal"); +static const u16 sMoveRelearnerPaletteData[] = INCBIN_U16("graphics/interface/ui_learn_move.gbapal"); // The arrow sprites in this spritesheet aren't used. The scroll-arrow system provides its own // arrow sprites. -static const u8 sMoveTutorSpriteSheetData[] = INCBIN_U8("graphics/interface/ui_learn_move.4bpp"); +static const u8 sMoveRelearnerSpriteSheetData[] = INCBIN_U8("graphics/interface/ui_learn_move.4bpp"); static const struct OamData sHeartSpriteOamData = { @@ -231,16 +231,16 @@ static const struct OamData sUnusedOam2 = .affineParam = 0, }; -static const struct SpriteSheet sMoveTutorSpriteSheet = +static const struct SpriteSheet sMoveRelearnerSpriteSheet = { - .data = sMoveTutorSpriteSheetData, + .data = sMoveRelearnerSpriteSheetData, .size = 0x180, .tag = 5525 }; -static const struct SpritePalette sMoveTutorPalette = +static const struct SpritePalette sMoveRelearnerPalette = { - .data = sMoveTutorPaletteData, + .data = sMoveRelearnerPaletteData, .tag = 5526 }; @@ -317,7 +317,7 @@ static const struct SpriteTemplate sConstestMoveHeartSprite = .callback = SpriteCallbackDummy }; -static const struct BgTemplate sMoveTutorMenuBackgroundTemplates[] = +static const struct BgTemplate sMoveRelearnerMenuBackgroundTemplates[] = { { .bg = 0, @@ -339,23 +339,23 @@ static const struct BgTemplate sMoveTutorMenuBackgroundTemplates[] = }, }; -static void DoMoveTutorMain(void); +static void DoMoveRelearnerMain(void); static void CreateLearnableMovesList(void); static void CreateUISprites(void); -static void CB2_MoveTutorMain(void); +static void CB2_MoveRelearnerMain(void); static void Task_WaitForFadeOut(u8 taskId); static void CB2_InitLearnMove(void); static void CB2_InitLearnMoveReturnFromSelectMove(void); -static void InitMoveTutorBackgroundLayers(void); +static void InitMoveRelearnerBackgroundLayers(void); static void AddScrollArrows(void); static void HandleInput(u8); static void ShowTeachMoveText(u8); static s32 GetCurrentSelectedMove(void); -static void FreeMoveTutorResources(void); +static void FreeMoveRelearnerResources(void); static void RemoveScrollArrows(void); static void HideHeartSpritesAndShowTeachMoveText(bool8); -static void VBlankCB_MoveTutor(void) +static void VBlankCB_MoveRelearner(void) { LoadOam(); ProcessSpriteCopyRequests(); @@ -363,7 +363,7 @@ static void VBlankCB_MoveTutor(void) } // Script arguments: The pokemon to teach is in VAR_0x8004 -void TeachMoveTutorMove(void) +void TeachMoveRelearnerMove(void) { ScriptContext2_Enable(); CreateTask(Task_WaitForFadeOut, 10); @@ -387,26 +387,26 @@ static void CB2_InitLearnMove(void) FreeAllSpritePalettes(); ResetTasks(); clear_scheduled_bg_copies_to_vram(); - sMoveTutorStruct = AllocZeroed(sizeof(*sMoveTutorStruct)); - sMoveTutorStruct->partyMon = gSpecialVar_0x8004; - SetVBlankCallback(VBlankCB_MoveTutor); + sMoveRelearnerStruct = AllocZeroed(sizeof(*sMoveRelearnerStruct)); + sMoveRelearnerStruct->partyMon = gSpecialVar_0x8004; + SetVBlankCallback(VBlankCB_MoveRelearner); - InitMoveTutorBackgroundLayers(); - InitMoveTutorWindows(FALSE); + InitMoveRelearnerBackgroundLayers(); + InitMoveRelearnerWindows(FALSE); - sMoveTutorMenuSate.listOffset = 0; - sMoveTutorMenuSate.listRow = 0; - sMoveTutorMenuSate.showContestInfo = FALSE; + sMoveRelearnerMenuSate.listOffset = 0; + sMoveRelearnerMenuSate.listRow = 0; + sMoveRelearnerMenuSate.showContestInfo = FALSE; CreateLearnableMovesList(); - LoadSpriteSheet(&sMoveTutorSpriteSheet); - LoadSpritePalette(&sMoveTutorPalette); + LoadSpriteSheet(&sMoveRelearnerSpriteSheet); + LoadSpritePalette(&sMoveRelearnerPalette); CreateUISprites(); - sMoveTutorStruct->moveListMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sMoveTutorMenuSate.listOffset, sMoveTutorMenuSate.listRow); + sMoveRelearnerStruct->moveListMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sMoveRelearnerMenuSate.listOffset, sMoveRelearnerMenuSate.listRow); FillPalette(RGB_BLACK, 0, 2); - SetMainCallback2(CB2_MoveTutorMain); + SetMainCallback2(CB2_MoveRelearnerMain); } static void CB2_InitLearnMoveReturnFromSelectMove(void) @@ -415,30 +415,30 @@ static void CB2_InitLearnMoveReturnFromSelectMove(void) FreeAllSpritePalettes(); ResetTasks(); clear_scheduled_bg_copies_to_vram(); - sMoveTutorStruct = AllocZeroed(sizeof(*sMoveTutorStruct)); - sMoveTutorStruct->state = MENU_STATE_FADE_FROM_SUMMARY_SCREEN; - sMoveTutorStruct->partyMon = gSpecialVar_0x8004; - sMoveTutorStruct->moveSlot = gSpecialVar_0x8005; - SetVBlankCallback(VBlankCB_MoveTutor); + sMoveRelearnerStruct = AllocZeroed(sizeof(*sMoveRelearnerStruct)); + sMoveRelearnerStruct->state = MENU_STATE_FADE_FROM_SUMMARY_SCREEN; + sMoveRelearnerStruct->partyMon = gSpecialVar_0x8004; + sMoveRelearnerStruct->moveSlot = gSpecialVar_0x8005; + SetVBlankCallback(VBlankCB_MoveRelearner); - InitMoveTutorBackgroundLayers(); - InitMoveTutorWindows(sMoveTutorMenuSate.showContestInfo); + InitMoveRelearnerBackgroundLayers(); + InitMoveRelearnerWindows(sMoveRelearnerMenuSate.showContestInfo); CreateLearnableMovesList(); - LoadSpriteSheet(&sMoveTutorSpriteSheet); - LoadSpritePalette(&sMoveTutorPalette); + LoadSpriteSheet(&sMoveRelearnerSpriteSheet); + LoadSpritePalette(&sMoveRelearnerPalette); CreateUISprites(); - sMoveTutorStruct->moveListMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sMoveTutorMenuSate.listOffset, sMoveTutorMenuSate.listRow); + sMoveRelearnerStruct->moveListMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sMoveRelearnerMenuSate.listOffset, sMoveRelearnerMenuSate.listRow); FillPalette(RGB_BLACK, 0, 2); - SetMainCallback2(CB2_MoveTutorMain); + SetMainCallback2(CB2_MoveRelearnerMain); } -static void InitMoveTutorBackgroundLayers(void) +static void InitMoveRelearnerBackgroundLayers(void) { ResetVramOamAndBgCntRegs(); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, sMoveTutorMenuBackgroundTemplates, ARRAY_COUNT(sMoveTutorMenuBackgroundTemplates)); + InitBgsFromTemplates(0, sMoveRelearnerMenuBackgroundTemplates, ARRAY_COUNT(sMoveRelearnerMenuBackgroundTemplates)); ResetAllBgsCoordinates(); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | @@ -448,9 +448,9 @@ static void InitMoveTutorBackgroundLayers(void) SetGpuReg(REG_OFFSET_BLDCNT, 0); } -static void CB2_MoveTutorMain(void) +static void CB2_MoveRelearnerMain(void) { - DoMoveTutorMain(); + DoMoveRelearnerMain(); RunTasks(); AnimateSprites(); BuildOamBuffer(); @@ -461,32 +461,32 @@ static void CB2_MoveTutorMain(void) static void FormatAndPrintText(const u8 *src) { StringExpandPlaceholders(gStringVar4, src); - MoveTutorPrintText(gStringVar4); + MoveRelearnerPrintText(gStringVar4); } // See the state machine doc at the top of the file. -static void DoMoveTutorMain(void) +static void DoMoveRelearnerMain(void) { - switch (sMoveTutorStruct->state) + switch (sMoveRelearnerStruct->state) { case MENU_STATE_FADE_TO_BLACK: - sMoveTutorStruct->state++; + sMoveRelearnerStruct->state++; HideHeartSpritesAndShowTeachMoveText(FALSE); BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); break; case MENU_STATE_WAIT_FOR_FADE: if (!gPaletteFade.active) { - sMoveTutorStruct->state = MENU_STATE_IDLE_BATTLE_MODE; + sMoveRelearnerStruct->state = MENU_STATE_IDLE_BATTLE_MODE; } break; case MENU_STATE_UNREACHABLE: - sMoveTutorStruct->state++; + sMoveRelearnerStruct->state++; break; case MENU_STATE_SETUP_BATTLE_MODE: HideHeartSpritesAndShowTeachMoveText(FALSE); - sMoveTutorStruct->state++; + sMoveRelearnerStruct->state++; AddScrollArrows(); break; case MENU_STATE_IDLE_BATTLE_MODE: @@ -494,17 +494,17 @@ static void DoMoveTutorMain(void) break; case MENU_STATE_SETUP_CONTEST_MODE: ShowTeachMoveText(FALSE); - sMoveTutorStruct->state++; + sMoveRelearnerStruct->state++; AddScrollArrows(); break; case MENU_STATE_IDLE_CONTEST_MODE: HandleInput(TRUE); break; case MENU_STATE_PRINT_TEACH_MOVE_PROMPT: - if (!MoveTutorRunTextPrinters()) + if (!MoveRelearnerRunTextPrinters()) { - MoveTutorCreateYesNoMenu(); - sMoveTutorStruct->state++; + MoveRelearnerCreateYesNoMenu(); + sMoveRelearnerStruct->state++; } break; case MENU_STATE_TEACH_MOVE_CONFIRM: @@ -513,35 +513,35 @@ static void DoMoveTutorMain(void) if (selection == 0) { - if (GiveMoveToMon(&gPlayerParty[sMoveTutorStruct->partyMon], GetCurrentSelectedMove()) != 0xFFFF) + if (GiveMoveToMon(&gPlayerParty[sMoveRelearnerStruct->partyMon], GetCurrentSelectedMove()) != 0xFFFF) { - FormatAndPrintText(gText_MoveTutorPkmnLearnedMove); + FormatAndPrintText(gText_MoveRelearnerPkmnLearnedMove); gSpecialVar_0x8004 = TRUE; - sMoveTutorStruct->state = MENU_STATE_PRINT_TEXT_THEN_FANFARE; + sMoveRelearnerStruct->state = MENU_STATE_PRINT_TEXT_THEN_FANFARE; } else { - sMoveTutorStruct->state = MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT; + sMoveRelearnerStruct->state = MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT; } } else if (selection == MENU_B_PRESSED || selection == 1) { - if (sMoveTutorMenuSate.showContestInfo == FALSE) + if (sMoveRelearnerMenuSate.showContestInfo == FALSE) { - sMoveTutorStruct->state = MENU_STATE_SETUP_BATTLE_MODE; + sMoveRelearnerStruct->state = MENU_STATE_SETUP_BATTLE_MODE; } - else if (sMoveTutorMenuSate.showContestInfo == TRUE) + else if (sMoveRelearnerMenuSate.showContestInfo == TRUE) { - sMoveTutorStruct->state = MENU_STATE_SETUP_CONTEST_MODE; + sMoveRelearnerStruct->state = MENU_STATE_SETUP_CONTEST_MODE; } } } break; case MENU_STATE_PRINT_GIVE_UP_PROMPT: - if (!MoveTutorRunTextPrinters()) + if (!MoveRelearnerRunTextPrinters()) { - MoveTutorCreateYesNoMenu(); - sMoveTutorStruct->state++; + MoveRelearnerCreateYesNoMenu(); + sMoveRelearnerStruct->state++; } break; case MENU_STATE_GIVE_UP_CONFIRM: @@ -551,30 +551,30 @@ static void DoMoveTutorMain(void) if (selection == 0) { gSpecialVar_0x8004 = FALSE; - sMoveTutorStruct->state = MENU_STATE_FADE_AND_RETURN; + sMoveRelearnerStruct->state = MENU_STATE_FADE_AND_RETURN; } else if (selection == -1 || selection == 1) { - if (sMoveTutorMenuSate.showContestInfo == FALSE) + if (sMoveRelearnerMenuSate.showContestInfo == FALSE) { - sMoveTutorStruct->state = MENU_STATE_SETUP_BATTLE_MODE; + sMoveRelearnerStruct->state = MENU_STATE_SETUP_BATTLE_MODE; } - else if (sMoveTutorMenuSate.showContestInfo == TRUE) + else if (sMoveRelearnerMenuSate.showContestInfo == TRUE) { - sMoveTutorStruct->state = MENU_STATE_SETUP_CONTEST_MODE; + sMoveRelearnerStruct->state = MENU_STATE_SETUP_CONTEST_MODE; } } } break; case MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT: - FormatAndPrintText(gText_MoveTutorPkmnTryingToLearnMove); - sMoveTutorStruct->state++; + FormatAndPrintText(gText_MoveRelearnerPkmnTryingToLearnMove); + sMoveRelearnerStruct->state++; break; case MENU_STATE_WAIT_FOR_TRYING_TO_LEARN: - if (!MoveTutorRunTextPrinters()) + if (!MoveRelearnerRunTextPrinters()) { - MoveTutorCreateYesNoMenu(); - sMoveTutorStruct->state = MENU_STATE_CONFIRM_DELETE_OLD_MOVE; + MoveRelearnerCreateYesNoMenu(); + sMoveRelearnerStruct->state = MENU_STATE_CONFIRM_DELETE_OLD_MOVE; } break; case MENU_STATE_CONFIRM_DELETE_OLD_MOVE: @@ -583,25 +583,25 @@ static void DoMoveTutorMain(void) if (var == 0) { - FormatAndPrintText(gText_MoveTutorWhichMoveToForget); - sMoveTutorStruct->state = MENU_STATE_PRINT_WHICH_MOVE_PROMPT; + FormatAndPrintText(gText_MoveRelearnerWhichMoveToForget); + sMoveRelearnerStruct->state = MENU_STATE_PRINT_WHICH_MOVE_PROMPT; } else if (var == -1 || var == 1) { - sMoveTutorStruct->state = MENU_STATE_PRINT_STOP_TEACHING; + sMoveRelearnerStruct->state = MENU_STATE_PRINT_STOP_TEACHING; } } break; case MENU_STATE_PRINT_STOP_TEACHING: StringCopy(gStringVar2, gMoveNames[GetCurrentSelectedMove()]); - FormatAndPrintText(gText_MoveTutorStopTryingToTeachMove); - sMoveTutorStruct->state++; + FormatAndPrintText(gText_MoveRelearnerStopTryingToTeachMove); + sMoveRelearnerStruct->state++; break; case MENU_STATE_WAIT_FOR_STOP_TEACHING: - if (!MoveTutorRunTextPrinters()) + if (!MoveRelearnerRunTextPrinters()) { - MoveTutorCreateYesNoMenu(); - sMoveTutorStruct->state++; + MoveRelearnerCreateYesNoMenu(); + sMoveRelearnerStruct->state++; } break; case MENU_STATE_CONFIRM_STOP_TEACHING: @@ -610,55 +610,55 @@ static void DoMoveTutorMain(void) if (var == 0) { - sMoveTutorStruct->state = MENU_STATE_CHOOSE_SETUP_STATE; + sMoveRelearnerStruct->state = MENU_STATE_CHOOSE_SETUP_STATE; } else if (var == MENU_B_PRESSED || var == 1) { // What's the point? It gets set to MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT, anyway. - if (sMoveTutorMenuSate.showContestInfo == FALSE) + if (sMoveRelearnerMenuSate.showContestInfo == FALSE) { - sMoveTutorStruct->state = MENU_STATE_SETUP_BATTLE_MODE; + sMoveRelearnerStruct->state = MENU_STATE_SETUP_BATTLE_MODE; } - else if (sMoveTutorMenuSate.showContestInfo == TRUE) + else if (sMoveRelearnerMenuSate.showContestInfo == TRUE) { - sMoveTutorStruct->state = MENU_STATE_SETUP_CONTEST_MODE; + sMoveRelearnerStruct->state = MENU_STATE_SETUP_CONTEST_MODE; } - sMoveTutorStruct->state = MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT; + sMoveRelearnerStruct->state = MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT; } } break; case MENU_STATE_CHOOSE_SETUP_STATE: - if (!MoveTutorRunTextPrinters()) + if (!MoveRelearnerRunTextPrinters()) { FillWindowPixelBuffer(3, 0x11); - if (sMoveTutorMenuSate.showContestInfo == FALSE) + if (sMoveRelearnerMenuSate.showContestInfo == FALSE) { - sMoveTutorStruct->state = MENU_STATE_SETUP_BATTLE_MODE; + sMoveRelearnerStruct->state = MENU_STATE_SETUP_BATTLE_MODE; } - else if (sMoveTutorMenuSate.showContestInfo == TRUE) + else if (sMoveRelearnerMenuSate.showContestInfo == TRUE) { - sMoveTutorStruct->state = MENU_STATE_SETUP_CONTEST_MODE; + sMoveRelearnerStruct->state = MENU_STATE_SETUP_CONTEST_MODE; } } break; case MENU_STATE_PRINT_WHICH_MOVE_PROMPT: - if (!MoveTutorRunTextPrinters()) + if (!MoveRelearnerRunTextPrinters()) { - sMoveTutorStruct->state = MENU_STATE_SHOW_MOVE_SUMMARY_SCREEN; + sMoveRelearnerStruct->state = MENU_STATE_SHOW_MOVE_SUMMARY_SCREEN; BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); } break; case MENU_STATE_SHOW_MOVE_SUMMARY_SCREEN: if (!gPaletteFade.active) { - ShowSelectMovePokemonSummaryScreen(gPlayerParty, sMoveTutorStruct->partyMon, gPlayerPartyCount - 1, CB2_InitLearnMoveReturnFromSelectMove, GetCurrentSelectedMove()); - FreeMoveTutorResources(); + ShowSelectMovePokemonSummaryScreen(gPlayerParty, sMoveRelearnerStruct->partyMon, gPlayerPartyCount - 1, CB2_InitLearnMoveReturnFromSelectMove, GetCurrentSelectedMove()); + FreeMoveRelearnerResources(); } break; case 21: - if (!MoveTutorRunTextPrinters()) + if (!MoveRelearnerRunTextPrinters()) { - sMoveTutorStruct->state = MENU_STATE_FADE_AND_RETURN; + sMoveRelearnerStruct->state = MENU_STATE_FADE_AND_RETURN; } break; case 22: @@ -666,23 +666,23 @@ static void DoMoveTutorMain(void) break; case MENU_STATE_FADE_AND_RETURN: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - sMoveTutorStruct->state++; + sMoveRelearnerStruct->state++; break; case MENU_STATE_RETURN_TO_FIELD: if (!gPaletteFade.active) { - FreeMoveTutorResources(); + FreeMoveRelearnerResources(); SetMainCallback2(CB2_ReturnToField); } break; case MENU_STATE_FADE_FROM_SUMMARY_SCREEN: BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); - sMoveTutorStruct->state++; - if (sMoveTutorMenuSate.showContestInfo == FALSE) + sMoveRelearnerStruct->state++; + if (sMoveRelearnerMenuSate.showContestInfo == FALSE) { HideHeartSpritesAndShowTeachMoveText(TRUE); } - else if (sMoveTutorMenuSate.showContestInfo == TRUE) + else if (sMoveRelearnerMenuSate.showContestInfo == TRUE) { ShowTeachMoveText(TRUE); } @@ -692,66 +692,66 @@ static void DoMoveTutorMain(void) case MENU_STATE_TRY_OVERWRITE_MOVE: if (!gPaletteFade.active) { - if (sMoveTutorStruct->moveSlot == MAX_MON_MOVES) + if (sMoveRelearnerStruct->moveSlot == MAX_MON_MOVES) { - sMoveTutorStruct->state = MENU_STATE_PRINT_STOP_TEACHING; + sMoveRelearnerStruct->state = MENU_STATE_PRINT_STOP_TEACHING; } else { - u16 moveId = GetMonData(&gPlayerParty[sMoveTutorStruct->partyMon], MON_DATA_MOVE1 + sMoveTutorStruct->moveSlot); + u16 moveId = GetMonData(&gPlayerParty[sMoveRelearnerStruct->partyMon], MON_DATA_MOVE1 + sMoveRelearnerStruct->moveSlot); StringCopy(gStringVar3, gMoveNames[moveId]); - RemoveMonPPBonus(&gPlayerParty[sMoveTutorStruct->partyMon], sMoveTutorStruct->moveSlot); - SetMonMoveSlot(&gPlayerParty[sMoveTutorStruct->partyMon], GetCurrentSelectedMove(), sMoveTutorStruct->moveSlot); + RemoveMonPPBonus(&gPlayerParty[sMoveRelearnerStruct->partyMon], sMoveRelearnerStruct->moveSlot); + SetMonMoveSlot(&gPlayerParty[sMoveRelearnerStruct->partyMon], GetCurrentSelectedMove(), sMoveRelearnerStruct->moveSlot); StringCopy(gStringVar2, gMoveNames[GetCurrentSelectedMove()]); - FormatAndPrintText(gText_MoveTutorAndPoof); - sMoveTutorStruct->state = MENU_STATE_DOUBLE_FANFARE_FORGOT_MOVE; + FormatAndPrintText(gText_MoveRelearnerAndPoof); + sMoveRelearnerStruct->state = MENU_STATE_DOUBLE_FANFARE_FORGOT_MOVE; gSpecialVar_0x8004 = TRUE; } } break; case MENU_STATE_DOUBLE_FANFARE_FORGOT_MOVE: - if (!MoveTutorRunTextPrinters()) + if (!MoveRelearnerRunTextPrinters()) { - FormatAndPrintText(gText_MoveTutorPkmnForgotMoveAndLearnedNew); - sMoveTutorStruct->state = MENU_STATE_PRINT_TEXT_THEN_FANFARE; + FormatAndPrintText(gText_MoveRelearnerPkmnForgotMoveAndLearnedNew); + sMoveRelearnerStruct->state = MENU_STATE_PRINT_TEXT_THEN_FANFARE; PlayFanfare(MUS_FANFA1); } break; case MENU_STATE_PRINT_TEXT_THEN_FANFARE: - if (!MoveTutorRunTextPrinters()) + if (!MoveRelearnerRunTextPrinters()) { PlayFanfare(MUS_FANFA1); - sMoveTutorStruct->state = MENU_STATE_WAIT_FOR_FANFARE; + sMoveRelearnerStruct->state = MENU_STATE_WAIT_FOR_FANFARE; } break; case MENU_STATE_WAIT_FOR_FANFARE: if (IsFanfareTaskInactive()) { - sMoveTutorStruct->state = MENU_STATE_WAIT_FOR_A_BUTTON; + sMoveRelearnerStruct->state = MENU_STATE_WAIT_FOR_A_BUTTON; } break; case MENU_STATE_WAIT_FOR_A_BUTTON: if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - sMoveTutorStruct->state = MENU_STATE_FADE_AND_RETURN; + sMoveRelearnerStruct->state = MENU_STATE_FADE_AND_RETURN; } break; } } -static void FreeMoveTutorResources(void) +static void FreeMoveRelearnerResources(void) { RemoveScrollArrows(); - DestroyListMenuTask(sMoveTutorStruct->moveListMenuTask, &sMoveTutorMenuSate.listOffset, &sMoveTutorMenuSate.listRow); + DestroyListMenuTask(sMoveRelearnerStruct->moveListMenuTask, &sMoveRelearnerMenuSate.listOffset, &sMoveRelearnerMenuSate.listRow); FreeAllWindowBuffers(); - FREE_AND_SET_NULL(sMoveTutorStruct); + FREE_AND_SET_NULL(sMoveRelearnerStruct); ResetSpriteData(); FreeAllSpritePalettes(); } -// Note: The hearts are already made invisible by MoveTutorShowHideHearts, +// Note: The hearts are already made invisible by MoveRelearnerShowHideHearts, // which is called whenever the cursor in either list changes. static void HideHeartSpritesAndShowTeachMoveText(bool8 onlyHideSprites) { @@ -759,7 +759,7 @@ static void HideHeartSpritesAndShowTeachMoveText(bool8 onlyHideSprites) for (i = 0; i < 16; i++) { - gSprites[sMoveTutorStruct->heartSpriteIds[i]].invisible = TRUE; + gSprites[sMoveRelearnerStruct->heartSpriteIds[i]].invisible = TRUE; } if (!onlyHideSprites) @@ -772,8 +772,8 @@ static void HideHeartSpritesAndShowTeachMoveText(bool8 onlyHideSprites) static void HandleInput(bool8 showContest) { - s32 itemId = ListMenu_ProcessInput(sMoveTutorStruct->moveListMenuTask); - ListMenuGetScrollAndRow(sMoveTutorStruct->moveListMenuTask, &sMoveTutorMenuSate.listOffset, &sMoveTutorMenuSate.listRow); + s32 itemId = ListMenu_ProcessInput(sMoveRelearnerStruct->moveListMenuTask); + ListMenuGetScrollAndRow(sMoveRelearnerStruct->moveListMenuTask, &sMoveRelearnerMenuSate.listOffset, &sMoveRelearnerMenuSate.listRow); switch (itemId) { @@ -788,47 +788,47 @@ static void HandleInput(bool8 showContest) if (showContest == FALSE) { PutWindowTilemap(1); - sMoveTutorStruct->state = MENU_STATE_SETUP_CONTEST_MODE; - sMoveTutorMenuSate.showContestInfo = TRUE; + sMoveRelearnerStruct->state = MENU_STATE_SETUP_CONTEST_MODE; + sMoveRelearnerMenuSate.showContestInfo = TRUE; } else { PutWindowTilemap(0); - sMoveTutorStruct->state = MENU_STATE_SETUP_BATTLE_MODE; - sMoveTutorMenuSate.showContestInfo = FALSE; + sMoveRelearnerStruct->state = MENU_STATE_SETUP_BATTLE_MODE; + sMoveRelearnerMenuSate.showContestInfo = FALSE; } schedule_bg_copy_tilemap_to_vram(1); - MoveTutorShowHideHearts(GetCurrentSelectedMove()); + MoveRelearnerShowHideHearts(GetCurrentSelectedMove()); break; case LIST_CANCEL: PlaySE(SE_SELECT); RemoveScrollArrows(); - sMoveTutorStruct->state = MENU_STATE_PRINT_GIVE_UP_PROMPT; - StringExpandPlaceholders(gStringVar4, gText_MoveTutorGiveUp); - MoveTutorPrintText(gStringVar4); + sMoveRelearnerStruct->state = MENU_STATE_PRINT_GIVE_UP_PROMPT; + StringExpandPlaceholders(gStringVar4, gText_MoveRelearnerGiveUp); + MoveRelearnerPrintText(gStringVar4); break; default: PlaySE(SE_SELECT); RemoveScrollArrows(); - sMoveTutorStruct->state = MENU_STATE_PRINT_TEACH_MOVE_PROMPT; + sMoveRelearnerStruct->state = MENU_STATE_PRINT_TEACH_MOVE_PROMPT; StringCopy(gStringVar2, gMoveNames[itemId]); - StringExpandPlaceholders(gStringVar4, gText_MoveTutorTeachMoveConfirm); - MoveTutorPrintText(gStringVar4); + StringExpandPlaceholders(gStringVar4, gText_MoveRelearnerTeachMoveConfirm); + MoveRelearnerPrintText(gStringVar4); break; } } static s32 GetCurrentSelectedMove(void) { - return sMoveTutorStruct->menuItems[sMoveTutorMenuSate.listRow + sMoveTutorMenuSate.listOffset].id; + return sMoveRelearnerStruct->menuItems[sMoveRelearnerMenuSate.listRow + sMoveRelearnerMenuSate.listOffset].id; } // Theory: This used to make the heart sprites visible again (i.e. // this was the inverse of HideHeartsAndShowTeachMoveText), but the // code was commented out. The bool argument would have been named // "justShowHearts." The code for showing/hiding the heards was moved -// to MoveTutorShowHideHearts, which is called whenever a new move is +// to MoveRelearnerShowHideHearts, which is called whenever a new move is // selected and whenever the display mode changes. static void ShowTeachMoveText(bool8 shouldDoNothingInstead) { @@ -844,57 +844,57 @@ static void CreateUISprites(void) { int i; - sMoveTutorStruct->moveDisplayArrowTask = 0xFF; - sMoveTutorStruct->moveListScrollArrowTask = 0xFF; + sMoveRelearnerStruct->moveDisplayArrowTask = 0xFF; + sMoveRelearnerStruct->moveListScrollArrowTask = 0xFF; AddScrollArrows(); // These are the appeal hearts. for (i = 0; i < 8; i++) { - sMoveTutorStruct->heartSpriteIds[i] = CreateSprite(&sConstestMoveHeartSprite, (i - (i / 4) * 4) * 8 + 104, (i / 4) * 8 + 36, 0); + sMoveRelearnerStruct->heartSpriteIds[i] = CreateSprite(&sConstestMoveHeartSprite, (i - (i / 4) * 4) * 8 + 104, (i / 4) * 8 + 36, 0); } // These are the jam harts. // The animation is used to toggle between full/empty heart sprites. for (i = 0; i < 8; i++) { - sMoveTutorStruct->heartSpriteIds[i + 8] = CreateSprite(&sConstestMoveHeartSprite, (i - (i / 4) * 4) * 8 + 104, (i / 4) * 8 + 52, 0); - StartSpriteAnim(&gSprites[sMoveTutorStruct->heartSpriteIds[i + 8]], 2); + sMoveRelearnerStruct->heartSpriteIds[i + 8] = CreateSprite(&sConstestMoveHeartSprite, (i - (i / 4) * 4) * 8 + 104, (i / 4) * 8 + 52, 0); + StartSpriteAnim(&gSprites[sMoveRelearnerStruct->heartSpriteIds[i + 8]], 2); } for (i = 0; i < 16; i++) { - gSprites[sMoveTutorStruct->heartSpriteIds[i]].invisible = TRUE; + gSprites[sMoveRelearnerStruct->heartSpriteIds[i]].invisible = TRUE; } } static void AddScrollArrows(void) { - if (sMoveTutorStruct->moveDisplayArrowTask == 0xFF) + if (sMoveRelearnerStruct->moveDisplayArrowTask == 0xFF) { - sMoveTutorStruct->moveDisplayArrowTask = AddScrollIndicatorArrowPair(&sDisplayModeArrowsTemplate, &sMoveTutorStruct->scrollOffset); + sMoveRelearnerStruct->moveDisplayArrowTask = AddScrollIndicatorArrowPair(&sDisplayModeArrowsTemplate, &sMoveRelearnerStruct->scrollOffset); } - if (sMoveTutorStruct->moveListScrollArrowTask == 0xFF) + if (sMoveRelearnerStruct->moveListScrollArrowTask == 0xFF) { gTempScrollArrowTemplate = sMoveListScrollArrowsTemplate; - gTempScrollArrowTemplate.fullyDownThreshold = sMoveTutorStruct->numMenuChoices - sMoveTutorStruct->numToShowAtOnce; - sMoveTutorStruct->moveListScrollArrowTask = AddScrollIndicatorArrowPair(&gTempScrollArrowTemplate, &sMoveTutorMenuSate.listOffset); + gTempScrollArrowTemplate.fullyDownThreshold = sMoveRelearnerStruct->numMenuChoices - sMoveRelearnerStruct->numToShowAtOnce; + sMoveRelearnerStruct->moveListScrollArrowTask = AddScrollIndicatorArrowPair(&gTempScrollArrowTemplate, &sMoveRelearnerMenuSate.listOffset); } } static void RemoveScrollArrows(void) { - if (sMoveTutorStruct->moveDisplayArrowTask != 0xFF) + if (sMoveRelearnerStruct->moveDisplayArrowTask != 0xFF) { - RemoveScrollIndicatorArrowPair(sMoveTutorStruct->moveDisplayArrowTask); - sMoveTutorStruct->moveDisplayArrowTask = 0xFF; + RemoveScrollIndicatorArrowPair(sMoveRelearnerStruct->moveDisplayArrowTask); + sMoveRelearnerStruct->moveDisplayArrowTask = 0xFF; } - if (sMoveTutorStruct->moveListScrollArrowTask != 0xFF) + if (sMoveRelearnerStruct->moveListScrollArrowTask != 0xFF) { - RemoveScrollIndicatorArrowPair(sMoveTutorStruct->moveListScrollArrowTask); - sMoveTutorStruct->moveListScrollArrowTask = 0xFF; + RemoveScrollIndicatorArrowPair(sMoveRelearnerStruct->moveListScrollArrowTask); + sMoveRelearnerStruct->moveListScrollArrowTask = 0xFF; } } @@ -903,32 +903,32 @@ static void CreateLearnableMovesList(void) s32 i; u8 nickname[POKEMON_NAME_LENGTH + 1]; - sMoveTutorStruct->numMenuChoices = GetMoveRelearnerMoves(&gPlayerParty[sMoveTutorStruct->partyMon], sMoveTutorStruct->movesToLearn); + sMoveRelearnerStruct->numMenuChoices = GetMoveRelearnerMoves(&gPlayerParty[sMoveRelearnerStruct->partyMon], sMoveRelearnerStruct->movesToLearn); - for (i = 0; i < sMoveTutorStruct->numMenuChoices; i++) + for (i = 0; i < sMoveRelearnerStruct->numMenuChoices; i++) { - sMoveTutorStruct->menuItems[i].name = gMoveNames[sMoveTutorStruct->movesToLearn[i]]; - sMoveTutorStruct->menuItems[i].id = sMoveTutorStruct->movesToLearn[i]; + sMoveRelearnerStruct->menuItems[i].name = gMoveNames[sMoveRelearnerStruct->movesToLearn[i]]; + sMoveRelearnerStruct->menuItems[i].id = sMoveRelearnerStruct->movesToLearn[i]; } - GetMonData(&gPlayerParty[sMoveTutorStruct->partyMon], MON_DATA_NICKNAME, nickname); + GetMonData(&gPlayerParty[sMoveRelearnerStruct->partyMon], MON_DATA_NICKNAME, nickname); StringCopy10(gStringVar1, nickname); - sMoveTutorStruct->menuItems[sMoveTutorStruct->numMenuChoices].name = gText_Cancel; - sMoveTutorStruct->menuItems[sMoveTutorStruct->numMenuChoices].id = LIST_CANCEL; - sMoveTutorStruct->numMenuChoices++; - sMoveTutorStruct->numToShowAtOnce = LoadMoveTutorMovesList(sMoveTutorStruct->menuItems, sMoveTutorStruct->numMenuChoices); + sMoveRelearnerStruct->menuItems[sMoveRelearnerStruct->numMenuChoices].name = gText_Cancel; + sMoveRelearnerStruct->menuItems[sMoveRelearnerStruct->numMenuChoices].id = LIST_CANCEL; + sMoveRelearnerStruct->numMenuChoices++; + sMoveRelearnerStruct->numToShowAtOnce = LoadMoveRelearnerMovesList(sMoveRelearnerStruct->menuItems, sMoveRelearnerStruct->numMenuChoices); } -void MoveTutorShowHideHearts(s32 moveId) +void MoveRelearnerShowHideHearts(s32 moveId) { u16 numHearts; u16 i; - if (!sMoveTutorMenuSate.showContestInfo || moveId == LIST_CANCEL) + if (!sMoveRelearnerMenuSate.showContestInfo || moveId == LIST_CANCEL) { for (i = 0; i < 16; i++) { - gSprites[sMoveTutorStruct->heartSpriteIds[i]].invisible = TRUE; + gSprites[sMoveRelearnerStruct->heartSpriteIds[i]].invisible = TRUE; } } else @@ -944,13 +944,13 @@ void MoveTutorShowHideHearts(s32 moveId) { if (i < numHearts) { - StartSpriteAnim(&gSprites[sMoveTutorStruct->heartSpriteIds[i]], 1); + StartSpriteAnim(&gSprites[sMoveRelearnerStruct->heartSpriteIds[i]], 1); } else { - StartSpriteAnim(&gSprites[sMoveTutorStruct->heartSpriteIds[i]], 0); + StartSpriteAnim(&gSprites[sMoveRelearnerStruct->heartSpriteIds[i]], 0); } - gSprites[sMoveTutorStruct->heartSpriteIds[i]].invisible = FALSE; + gSprites[sMoveRelearnerStruct->heartSpriteIds[i]].invisible = FALSE; } numHearts = (u8)(gContestEffects[gContestMoves[moveId].effect].jam / 10); @@ -964,13 +964,13 @@ void MoveTutorShowHideHearts(s32 moveId) { if (i < numHearts) { - StartSpriteAnim(&gSprites[sMoveTutorStruct->heartSpriteIds[i + 8]], 3); + StartSpriteAnim(&gSprites[sMoveRelearnerStruct->heartSpriteIds[i + 8]], 3); } else { - StartSpriteAnim(&gSprites[sMoveTutorStruct->heartSpriteIds[i + 8]], 2); + StartSpriteAnim(&gSprites[sMoveRelearnerStruct->heartSpriteIds[i + 8]], 2); } - gSprites[sMoveTutorStruct->heartSpriteIds[i + 8]].invisible = FALSE; + gSprites[sMoveRelearnerStruct->heartSpriteIds[i + 8]].invisible = FALSE; } } } diff --git a/src/strings.c b/src/strings.c index c2f476b585..bed8f4b682 100644 --- a/src/strings.c +++ b/src/strings.c @@ -1742,15 +1742,15 @@ const u8 gText_TrainerHill2F[] = _("2F"); const u8 gText_TrainerHill3F[] = _("3F"); const u8 gText_TrainerHill4F[] = _("4F"); const u8 gText_TeachWhichMoveToPkmn[] = _("Teach which move to {STR_VAR_1}?"); -const u8 gText_MoveTutorTeachMoveConfirm[] = _("Teach {STR_VAR_2}?"); -const u8 gText_MoveTutorPkmnLearnedMove[] = _("{STR_VAR_1} learned\n{STR_VAR_2}!"); -const u8 gText_MoveTutorPkmnTryingToLearnMove[] = _("{STR_VAR_1} is trying to learn\n{STR_VAR_2}.\pBut {STR_VAR_1} can't learn more\nthan four moves.\pDelete an older move to make\nroom for {STR_VAR_2}?"); -const u8 gText_MoveTutorStopTryingToTeachMove[] = _("Stop trying to teach\n{STR_VAR_2}?"); -const u8 gText_MoveTutorAndPoof[] = _("{PAUSE 32}1, {PAUSE 15}2, and {PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE 0x0038}Poof!\p"); -const u8 gText_MoveTutorPkmnForgotMoveAndLearnedNew[] = _("{STR_VAR_1} forgot {STR_VAR_3}.\pAnd…\p{STR_VAR_1} learned {STR_VAR_2}."); +const u8 gText_MoveRelearnerTeachMoveConfirm[] = _("Teach {STR_VAR_2}?"); +const u8 gText_MoveRelearnerPkmnLearnedMove[] = _("{STR_VAR_1} learned\n{STR_VAR_2}!"); +const u8 gText_MoveRelearnerPkmnTryingToLearnMove[] = _("{STR_VAR_1} is trying to learn\n{STR_VAR_2}.\pBut {STR_VAR_1} can't learn more\nthan four moves.\pDelete an older move to make\nroom for {STR_VAR_2}?"); +const u8 gText_MoveRelearnerStopTryingToTeachMove[] = _("Stop trying to teach\n{STR_VAR_2}?"); +const u8 gText_MoveRelearnerAndPoof[] = _("{PAUSE 32}1, {PAUSE 15}2, and {PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE 0x0038}Poof!\p"); +const u8 gText_MoveRelearnerPkmnForgotMoveAndLearnedNew[] = _("{STR_VAR_1} forgot {STR_VAR_3}.\pAnd…\p{STR_VAR_1} learned {STR_VAR_2}."); const u8 gUnknown_085EF9C8[] = _("{STR_VAR_1} did not learn the\nmove {STR_VAR_2}."); -const u8 gText_MoveTutorGiveUp[] = _("Give up trying to teach a new\nmove to {STR_VAR_1}?"); -const u8 gText_MoveTutorWhichMoveToForget[] = _("Which move should be\nforgotten?\p"); +const u8 gText_MoveRelearnerGiveUp[] = _("Give up trying to teach a new\nmove to {STR_VAR_1}?"); +const u8 gText_MoveRelearnerWhichMoveToForget[] = _("Which move should be\nforgotten?\p"); const u8 gText_BattleMoves2[] = _("BATTLE MOVES"); const u8 gText_ContestMoves2[] = _("CONTEST MOVES"); const u8 gUnknown_085EFA4C[] = _("TYPE/"); diff --git a/sym_ewram.txt b/sym_ewram.txt index 85c81643e7..7702739dd9 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -192,7 +192,7 @@ gPlayerFacingPosition: @ 203AB40 .include "src/rom_81520A8.o" .include "src/save.o" .include "src/mystery_event_script.o" - .include "src/move_tutor.o" + .include "src/move_relearner.o" .include "src/decoration_inventory.o" .include "src/roamer.o" .include "src/battle_tower.o" From 907492fd6e724d8dc2e5d2eff372be85e6f0d30c Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Mon, 4 Mar 2019 23:26:51 -0500 Subject: [PATCH 15/47] Split rom asm file in half The first half is ui/menu stuff, while the second half is link-related stuff. --- asm/player_pc_ui.s | 3725 ++++++++++++++++++++++++++++++++++ asm/rom_81D1C44.s | 3718 --------------------------------- data/player_pc_ui.s | 196 ++ data/rom_81D1C44.s | 187 -- include/pokenav.h | 4 +- ld_script.txt | 2 + src/battle_script_commands.c | 14 +- src/party_menu.c | 4 +- 8 files changed, 3934 insertions(+), 3916 deletions(-) create mode 100644 asm/player_pc_ui.s create mode 100644 data/player_pc_ui.s diff --git a/asm/player_pc_ui.s b/asm/player_pc_ui.s new file mode 100644 index 0000000000..6b449e7045 --- /dev/null +++ b/asm/player_pc_ui.s @@ -0,0 +1,3725 @@ + + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_81D1C44 +sub_81D1C44: @ 81D1C44 + push {r4,lr} + lsls r0, 24 + ldr r4, =gUnknown_0203CF4C + lsrs r0, 21 + adds r0, 0x8 + bl Alloc + str r0, [r4] + cmp r0, 0 + bne _081D1C60 + movs r0, 0 + b _081D1C7A + .pool +_081D1C60: + movs r2, 0 + ldr r4, =gUnknown_0203CF48 + movs r3, 0xFF +_081D1C66: + adds r0, r2, r4 + ldrb r1, [r0] + orrs r1, r3 + strb r1, [r0] + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x2 + bls _081D1C66 + movs r0, 0x1 +_081D1C7A: + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81D1C44 + + thumb_func_start sub_81D1C84 +sub_81D1C84: @ 81D1C84 + push {r4-r6,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r6, =gUnknown_0203CF48 + adds r5, r4, r6 + ldrb r0, [r5] + cmp r0, 0xFF + bne _081D1CEC + cmp r4, 0x2 + bne _081D1CD4 + ldr r0, =gUnknown_086253E8 + ldr r1, [r0, 0x14] + ldr r0, [r0, 0x10] + str r0, [sp] + str r1, [sp, 0x4] + ldr r0, =gMailboxMailOptions + movs r1, 0x4 + bl GetMaxWidthInMenuTable + lsls r0, 24 + ldr r2, =0x00ffffff + ldr r1, [sp] + ands r1, r2 + orrs r1, r0 + str r1, [sp] + mov r0, sp + bl AddWindow + strb r0, [r6, 0x2] + b _081D1CE0 + .pool +_081D1CD4: + lsls r0, r4, 3 + ldr r1, =gUnknown_086253E8 + adds r0, r1 + bl AddWindow + strb r0, [r5] +_081D1CE0: + ldr r0, =gUnknown_0203CF48 + adds r0, r4, r0 + ldrb r0, [r0] + movs r1, 0 + bl SetStandardWindowBorderStyle +_081D1CEC: + ldr r0, =gUnknown_0203CF48 + adds r0, r4, r0 + ldrb r0, [r0] + add sp, 0x8 + pop {r4-r6} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81D1C84 + + thumb_func_start sub_81D1D04 +sub_81D1D04: @ 81D1D04 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, =gUnknown_0203CF48 + adds r4, r0 + ldrb r0, [r4] + movs r1, 0 + bl sub_8198070 + ldrb r0, [r4] + bl ClearWindowTilemap + ldrb r0, [r4] + bl RemoveWindow + movs r0, 0xFF + strb r0, [r4] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D1D04 + + thumb_func_start sub_81D1D34 +sub_81D1D34: @ 81D1D34 + lsls r0, 24 + lsrs r0, 24 + ldr r1, =gUnknown_0203CF48 + adds r0, r1 + ldrb r0, [r0] + bx lr + .pool + thumb_func_end sub_81D1D34 + + thumb_func_start sub_81D1D44 +sub_81D1D44: @ 81D1D44 + push {r4,r5,lr} + sub sp, 0x34 + adds r3, r1, 0 + lsls r0, 24 + lsrs r4, r0, 24 + lsls r2, 24 + lsrs r5, r2, 24 + movs r0, 0x2 + negs r0, r0 + cmp r3, r0 + beq _081D1DAC + ldr r0, =gSaveBlock1Ptr + lsls r1, r3, 3 + adds r1, r3 + lsls r1, 2 + ldr r0, [r0] + adds r1, r0 + ldr r0, =0x00002cca + adds r1, r0 + add r0, sp, 0x14 + bl StringCopy + add r0, sp, 0x14 + bl sub_81DB52C + add r0, sp, 0x14 + bl StringLength + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x5 + bhi _081D1D8C + add r0, sp, 0x14 + movs r1, 0x1 + bl ConvertInternationalString +_081D1D8C: + movs r0, 0 + str r0, [sp] + str r0, [sp, 0x4] + ldr r0, =gUnknown_08625400 + str r0, [sp, 0x8] + movs r0, 0x1 + negs r0, r0 + str r0, [sp, 0xC] + add r0, sp, 0x14 + str r0, [sp, 0x10] + adds r0, r4, 0 + movs r1, 0x1 + movs r2, 0x8 + adds r3, r5, 0 + bl AddTextPrinterParameterized4 +_081D1DAC: + add sp, 0x34 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D1D44 + + thumb_func_start sub_81D1DC0 +sub_81D1DC0: @ 81D1DC0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r5, r0, 0 + movs r3, 0 + ldr r7, =gUnknown_0203CF4C + ldr r0, =gText_Cancel2 + mov r12, r0 + ldr r4, =gMultiuseListMenuTemplate + ldr r1, =gUnknown_0203CF48 + mov r8, r1 + ldr r2, =sub_81D1E7C + mov r9, r2 + ldr r0, =sub_81D1D44 + mov r10, r0 + ldrb r1, [r5, 0x5] + cmp r3, r1 + bcs _081D1E02 + adds r6, r7, 0 + ldr r2, =gUnknown_08625403 +_081D1DEC: + ldr r1, [r6] + lsls r0, r3, 3 + adds r0, r1 + str r2, [r0] + str r3, [r0, 0x4] + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + ldrb r0, [r5, 0x5] + cmp r3, r0 + bcc _081D1DEC +_081D1E02: + ldr r2, [r7] + lsls r0, r3, 3 + adds r0, r2 + mov r1, r12 + str r1, [r0] + movs r1, 0x2 + negs r1, r1 + str r1, [r0, 0x4] + str r2, [r4] + ldrb r0, [r5, 0x5] + adds r0, 0x1 + movs r1, 0 + strh r0, [r4, 0xC] + mov r2, r8 + ldrb r0, [r2, 0x1] + strb r0, [r4, 0x10] + strb r1, [r4, 0x11] + movs r0, 0x8 + strb r0, [r4, 0x12] + strb r1, [r4, 0x13] + strh r0, [r4, 0xE] + movs r0, 0x29 + strb r0, [r4, 0x14] + movs r0, 0x31 + strb r0, [r4, 0x15] + mov r0, r9 + str r0, [r4, 0x4] + mov r1, r10 + str r1, [r4, 0x8] + movs r0, 0x1 + strb r0, [r4, 0x17] + movs r0, 0 + strb r0, [r4, 0x16] + ldrh r1, [r5, 0x2] + ldrh r2, [r5] + adds r0, r4, 0 + bl ListMenuInit + lsls r0, 24 + lsrs r0, 24 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81D1DC0 + + thumb_func_start sub_81D1E7C +sub_81D1E7C: @ 81D1E7C + push {lr} + lsls r1, 24 + lsrs r1, 24 + cmp r1, 0x1 + beq _081D1E8C + movs r0, 0x5 + bl PlaySE +_081D1E8C: + pop {r0} + bx r0 + thumb_func_end sub_81D1E7C + + thumb_func_start sub_81D1E90 +sub_81D1E90: @ 81D1E90 + push {r4,lr} + sub sp, 0x10 + adds r4, r0, 0 + ldrb r0, [r4, 0x5] + ldrb r1, [r4, 0x4] + subs r0, r1 + adds r0, 0x1 + str r0, [sp] + movs r0, 0x6E + str r0, [sp, 0x4] + str r0, [sp, 0x8] + adds r0, r4, 0x2 + str r0, [sp, 0xC] + movs r0, 0x2 + movs r1, 0xC8 + movs r2, 0xC + movs r3, 0x94 + bl AddScrollIndicatorArrowPairParameterized + strb r0, [r4, 0x9] + add sp, 0x10 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81D1E90 + + thumb_func_start sub_81D1EC0 +sub_81D1EC0: @ 81D1EC0 + push {lr} + ldr r0, =gUnknown_0203CF4C + ldr r0, [r0] + bl Free + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D1EC0 + thumb_func_start sub_81D1ED4 +sub_81D1ED4: @ 81D1ED4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + adds r3, r0, 0 + movs r6, 0 + movs r7, 0 +_081D1EE6: + movs r2, 0 + lsls r5, r6, 2 + adds r0, r6, 0x1 + mov r10, r0 + adds r4, r5, 0 +_081D1EF0: + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 2 + adds r0, r4, r0 + adds r0, r3, r0 + adds r1, r0, 0 + adds r1, 0x64 + strh r7, [r1] + adds r0, 0x66 + strh r7, [r0] + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x9 + bls _081D1EF0 + movs r2, 0 + mov r9, r2 + str r5, [sp] + movs r1, 0x9B + mov r8, r1 + movs r4, 0x5B + mov r12, r4 +_081D1F1C: + lsls r0, r2, 2 + adds r0, r2 + adds r1, r6, r0 + adds r1, r3, r1 + mov r4, r9 + strb r4, [r1] + lsls r0, 2 + ldr r1, [sp] + adds r0, r1, r0 + adds r0, r3, r0 + mov r4, r8 + strh r4, [r0, 0x14] + mov r1, r12 + strh r1, [r0, 0x16] + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x3 + bls _081D1F1C + adds r1, r3, r5 + movs r2, 0x96 + lsls r2, 1 + adds r0, r1, r2 + strh r7, [r0] + movs r4, 0x97 + lsls r4, 1 + adds r0, r1, r4 + strh r7, [r0] + mov r1, r10 + lsls r0, r1, 24 + lsrs r6, r0, 24 + cmp r6, 0x4 + bls _081D1EE6 + movs r2, 0xD5 + lsls r2, 2 + adds r0, r3, r2 + movs r1, 0 + strb r1, [r0] + ldr r4, =0x00000352 + adds r0, r3, r4 + strh r1, [r0] + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D1ED4 + + thumb_func_start sub_81D1F84 +sub_81D1F84: @ 81D1F84 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + mov r8, r0 + str r1, [sp] + mov r9, r2 + movs r7, 0 +_081D1F98: + lsls r4, r7, 2 + ldr r1, [sp] + adds r0, r4, r1 + ldrh r1, [r0] + lsls r5, r1, 8 + mov r2, r9 + adds r0, r4, r2 + ldrh r0, [r0] + subs r0, r1 + lsls r0, 8 + movs r1, 0xA + bl __divsi3 + adds r6, r0, 0 + movs r3, 0 + adds r7, 0x1 + mov r10, r7 + mov r12, r4 +_081D1FBC: + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 2 + add r0, r12 + add r0, r8 + asrs r2, r5, 8 + asrs r1, r5, 7 + movs r7, 0x1 + ands r1, r7 + adds r2, r1 + adds r0, 0x64 + strh r2, [r0] + adds r5, r6 + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, 0x8 + bls _081D1FBC + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 2 + adds r0, r4, r0 + add r0, r8 + mov r1, r9 + adds r2, r4, r1 + ldrh r1, [r2] + adds r0, 0x64 + strh r1, [r0] + ldr r7, [sp] + adds r0, r4, r7 + ldrh r1, [r0, 0x2] + lsls r5, r1, 8 + ldrh r0, [r2, 0x2] + subs r0, r1 + lsls r0, 8 + movs r1, 0xA + bl __divsi3 + adds r6, r0, 0 + movs r3, 0 + str r4, [sp, 0x4] + movs r0, 0x1 + mov r12, r0 +_081D2012: + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 2 + ldr r1, [sp, 0x4] + adds r0, r1, r0 + add r0, r8 + asrs r2, r5, 8 + asrs r1, r5, 7 + mov r7, r12 + ands r1, r7 + adds r2, r1 + adds r0, 0x66 + strh r2, [r0] + adds r5, r6 + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, 0x8 + bls _081D2012 + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 2 + adds r0, r4, r0 + add r0, r8 + mov r2, r9 + adds r1, r4, r2 + ldrh r1, [r1, 0x2] + adds r0, 0x66 + strh r1, [r0] + mov r7, r10 + lsls r0, r7, 16 + lsrs r7, r0, 16 + cmp r7, 0x4 + bls _081D1F98 + ldr r1, =0x00000352 + add r1, r8 + movs r0, 0 + strh r0, [r1] + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D1F84 + + thumb_func_start sub_81D2074 +sub_81D2074: @ 81D2074 + push {r4,lr} + adds r1, r0, 0 + ldr r0, =0x00000352 + adds r4, r1, r0 + ldrh r0, [r4] + cmp r0, 0x9 + bls _081D208C + movs r0, 0 + b _081D20A6 + .pool +_081D208C: + adds r0, r1, 0 + bl sub_81D2230 + ldrh r1, [r4] + adds r1, 0x1 + strh r1, [r4] + lsls r1, 16 + lsrs r1, 16 + movs r0, 0xA + eors r1, r0 + negs r0, r1 + orrs r0, r1 + lsrs r0, 31 +_081D20A6: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81D2074 + + thumb_func_start sub_81D20AC +sub_81D20AC: @ 81D20AC + ldr r1, =0x00000355 + adds r0, r1 + movs r1, 0 + strb r1, [r0] + bx lr + .pool + thumb_func_end sub_81D20AC + + thumb_func_start sub_81D20BC +sub_81D20BC: @ 81D20BC + push {r4,r5,lr} + sub sp, 0xC + ldr r1, =0x00000355 + adds r4, r0, r1 + ldrb r0, [r4] + cmp r0, 0 + beq _081D20D4 + cmp r0, 0x1 + beq _081D20E2 + b _081D20FA + .pool +_081D20D4: + bl ScanlineEffect_Clear + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r4] + movs r0, 0x1 + b _081D20FC +_081D20E2: + mov r0, sp + ldr r1, =gUnknown_08625404 + ldm r1!, {r2,r3,r5} + stm r0!, {r2,r3,r5} + ldr r0, [sp] + ldr r1, [sp, 0x4] + ldr r2, [sp, 0x8] + bl ScanlineEffect_SetParams + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r4] +_081D20FA: + movs r0, 0 +_081D20FC: + add sp, 0xC + pop {r4,r5} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81D20BC + + thumb_func_start sub_81D2108 +sub_81D2108: @ 81D2108 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + adds r6, r0, 0 + movs r1, 0xD5 + lsls r1, 2 + adds r0, r6, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _081D21BE + adds r0, r6, 0 + bl sub_81D24A4 + adds r0, r6, 0 + bl sub_81D2634 + movs r7, 0 + ldr r5, =gScanlineEffectRegBuffers + mov r12, r5 + movs r0, 0xF0 + lsls r0, 3 + add r0, r12 + mov r9, r0 + movs r1, 0xA0 + lsls r1, 1 + adds r1, r6, r1 + str r1, [sp] + ldr r5, =0x0000ffff + mov r8, r5 + movs r0, 0xA1 + lsls r0, 1 + adds r0, r6, r0 + str r0, [sp, 0x4] + movs r1, 0x92 + lsls r1, 2 + adds r1, r6, r1 + str r1, [sp, 0x8] + ldr r5, =0x0000024a + adds r5, r6 + mov r10, r5 +_081D215E: + adds r2, r7, 0 + adds r2, 0x37 + lsls r3, r2, 2 + mov r0, r9 + adds r0, r3, r0 + str r0, [sp, 0xC] + add r3, r12 + lsls r4, r7, 2 + ldr r1, [sp] + adds r0, r1, r4 + ldrh r0, [r0] + lsls r0, 8 + ldr r5, [sp, 0x4] + adds r1, r5, r4 + ldrh r1, [r1] + orrs r0, r1 + strh r0, [r3] + mov r1, r8 + ands r0, r1 + ldr r5, [sp, 0xC] + strh r0, [r5] + lsls r2, 1 + adds r2, 0x1 + lsls r2, 1 + mov r0, r9 + adds r3, r2, r0 + add r2, r12 + ldr r1, [sp, 0x8] + adds r0, r1, r4 + ldrh r0, [r0] + lsls r0, 8 + add r4, r10 + ldrh r1, [r4] + orrs r0, r1 + strh r0, [r2] + mov r5, r8 + ands r0, r5 + strh r0, [r3] + adds r0, r7, 0x1 + lsls r0, 16 + lsrs r7, r0, 16 + cmp r7, 0x41 + bls _081D215E + movs r0, 0xD5 + lsls r0, 2 + adds r1, r6, r0 + movs r0, 0 + strb r0, [r1] +_081D21BE: + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D2108 + + thumb_func_start sub_81D21DC +sub_81D21DC: @ 81D21DC + push {r4,r5,lr} + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x3 + bls _081D21E8 + movs r1, 0 +_081D21E8: + movs r0, 0x1 + lsls r0, r1 + movs r5, 0x1F + bics r5, r0 + movs r0, 0x40 + movs r1, 0xF0 + bl SetGpuReg + movs r0, 0x42 + movs r1, 0x9B + bl SetGpuReg + ldr r4, =0x00003879 + movs r0, 0x44 + adds r1, r4, 0 + bl SetGpuReg + movs r0, 0x46 + adds r1, r4, 0 + bl SetGpuReg + ldr r1, =0x00003f3f + movs r0, 0x48 + bl SetGpuReg + movs r0, 0x4A + adds r1, r5, 0 + bl SetGpuReg + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D21DC + + thumb_func_start sub_81D2230 +sub_81D2230: @ 81D2230 + push {r4-r7,lr} + mov r12, r0 + movs r4, 0 + movs r7, 0x96 + lsls r7, 1 + add r7, r12 + ldr r6, =0x00000352 + add r6, r12 + mov r5, r12 + adds r5, 0x64 +_081D2244: + lsls r2, r4, 2 + adds r3, r7, r2 + ldrh r1, [r6] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 2 + adds r2, r0 + adds r2, r5, r2 + ldr r0, [r2] + str r0, [r3] + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x4 + bls _081D2244 + movs r1, 0xD5 + lsls r1, 2 + add r1, r12 + movs r0, 0x1 + strb r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D2230 + + thumb_func_start sub_81D2278 +sub_81D2278: @ 81D2278 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x18 + str r0, [sp] + adds r6, r1, 0 + adds r5, r2, 0 + str r3, [sp, 0x4] + ldr r0, [sp, 0x38] + ldr r7, [sp, 0x3C] + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + movs r0, 0 + str r0, [sp, 0xC] + ldrh r0, [r5, 0x2] + ldrh r1, [r3, 0x2] + cmp r0, r1 + bcs _081D22B2 + adds r2, r0, 0 + mov r10, r2 + ldrh r0, [r3, 0x2] + ldrh r1, [r5] + lsls r4, r1, 10 + ldrh r3, [r3] + str r3, [sp, 0x8] + b _081D22C6 +_081D22B2: + ldrh r0, [r5, 0x2] + ldr r1, [sp, 0x4] + ldrh r1, [r1, 0x2] + mov r10, r1 + ldr r2, [sp, 0x4] + ldrh r1, [r2] + lsls r4, r1, 10 + ldrh r3, [r5] + str r3, [sp, 0x8] + mov r2, r10 +_081D22C6: + subs r0, r2 + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 + cmp r0, 0 + beq _081D22DE + subs r0, r3, r1 + lsls r0, 10 + mov r1, r8 + bl __divsi3 + str r0, [sp, 0xC] +_081D22DE: + mov r0, r8 + adds r0, 0x1 + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 + cmp r7, 0 + bne _081D2328 + mov r0, r10 + subs r0, 0x38 + lsls r0, 2 + adds r6, r0 + movs r5, 0 + mov r3, r9 + lsls r3, 1 + mov r12, r3 + ldr r0, [sp, 0x8] + add r0, r9 + str r0, [sp, 0x10] + cmp r7, r8 + bcs _081D23B6 + movs r7, 0x1 +_081D2308: + adds r2, r3, r6 + asrs r1, r4, 10 + asrs r0, r4, 9 + ands r0, r7 + adds r1, r0 + add r1, r9 + strh r1, [r2] + ldr r1, [sp, 0xC] + adds r4, r1 + adds r6, 0x4 + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, r8 + bcc _081D2308 + b _081D23B6 +_081D2328: + ldr r2, [sp, 0xC] + cmp r2, 0 + ble _081D23C0 + mov r0, r10 + subs r0, 0x38 + lsls r0, 2 + adds r7, r0 + movs r5, 0 + mov r3, r9 + lsls r3, 1 + mov r12, r3 + ldr r0, [sp, 0x8] + add r0, r9 + str r0, [sp, 0x10] + cmp r5, r8 + bcs _081D237A + ldr r0, =0x00026bff + cmp r4, r0 + bgt _081D237A + mov r1, r12 + str r1, [sp, 0x14] +_081D2352: + ldr r3, [sp, 0x14] + adds r2, r3, r7 + asrs r1, r4, 10 + asrs r0, r4, 9 + movs r3, 0x1 + ands r0, r3 + adds r1, r0 + add r1, r9 + strh r1, [r2] + ldr r0, [sp, 0xC] + adds r4, r0 + adds r7, 0x4 + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, r8 + bcs _081D237A + ldr r1, =0x00026bff + cmp r4, r1 + ble _081D2352 +_081D237A: + mov r2, r10 + adds r1, r2, r5 + ldr r3, [sp] + movs r2, 0xD4 + lsls r2, 2 + adds r0, r3, r2 + strh r1, [r0] + ldrh r0, [r0] + subs r0, 0x38 + lsls r0, 2 + adds r6, r0 + cmp r5, r8 + bcs _081D23B6 + mov r3, r12 + movs r7, 0x1 +_081D2398: + adds r2, r3, r6 + asrs r1, r4, 10 + asrs r0, r4, 9 + ands r0, r7 + adds r1, r0 + add r1, r9 + strh r1, [r2] + ldr r0, [sp, 0xC] + adds r4, r0 + adds r6, 0x4 + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, r8 + bcc _081D2398 +_081D23B6: + subs r0, r6, 0x4 + b _081D248C + .pool +_081D23C0: + ldr r1, [sp, 0xC] + cmp r1, 0 + bge _081D2464 + mov r0, r10 + subs r0, 0x38 + lsls r0, 2 + adds r6, r0 + movs r5, 0 + mov r2, r9 + lsls r2, 1 + mov r12, r2 + ldr r3, [sp, 0x8] + add r3, r9 + str r3, [sp, 0x10] + cmp r5, r8 + bcs _081D241E + adds r3, r2, r6 + asrs r1, r4, 10 + asrs r0, r4, 9 + movs r2, 0x1 + ands r0, r2 + adds r1, r0 + add r1, r9 + strh r1, [r3] + b _081D2414 +_081D23F2: + ldr r0, [sp, 0xC] + adds r4, r0 + adds r6, 0x4 + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, r8 + bcs _081D241E + mov r1, r12 + adds r3, r1, r6 + asrs r2, r4, 10 + asrs r0, r4, 9 + movs r1, 0x1 + ands r0, r1 + adds r2, r0 + add r2, r9 + strh r2, [r3] +_081D2414: + ldr r0, =0x00026bff + cmp r4, r0 + bgt _081D23F2 + movs r0, 0x9B + strh r0, [r3] +_081D241E: + mov r2, r10 + adds r1, r2, r5 + ldr r3, [sp] + movs r2, 0xD4 + lsls r2, 2 + adds r0, r3, r2 + strh r1, [r0] + ldrh r0, [r0] + subs r0, 0x38 + lsls r0, 2 + adds r7, r0 + cmp r5, r8 + bcs _081D245A + mov r3, r12 + movs r6, 0x1 +_081D243C: + adds r2, r3, r7 + asrs r1, r4, 10 + asrs r0, r4, 9 + ands r0, r6 + adds r1, r0 + add r1, r9 + strh r1, [r2] + ldr r0, [sp, 0xC] + adds r4, r0 + adds r7, 0x4 + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, r8 + bcc _081D243C +_081D245A: + subs r0, r7, 0x4 + b _081D248C + .pool +_081D2464: + ldr r1, [sp] + movs r2, 0xD4 + lsls r2, 2 + adds r0, r1, r2 + mov r3, r10 + strh r3, [r0] + mov r0, r10 + subs r0, 0x38 + lsls r0, 2 + adds r6, r0 + adds r7, r0 + ldrh r0, [r5] + adds r0, 0x1 + strh r0, [r6, 0x2] + ldr r1, [sp, 0x4] + ldrh r0, [r1] + strh r0, [r7] + movs r0, 0x9B + strh r0, [r7, 0x2] + b _081D2494 +_081D248C: + add r0, r12 + mov r2, sp + ldrh r2, [r2, 0x10] + strh r2, [r0] +_081D2494: + add sp, 0x18 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81D2278 + + thumb_func_start sub_81D24A4 +sub_81D24A4: @ 81D24A4 + push {r4-r7,lr} + sub sp, 0x8 + adds r4, r0, 0 + movs r0, 0x97 + lsls r0, 1 + adds r2, r4, r0 + movs r3, 0x99 + lsls r3, 1 + adds r1, r4, r3 + ldrh r0, [r2] + ldrh r3, [r1] + cmp r0, r3 + bcs _081D24E0 + adds r7, r0, 0 + movs r0, 0xA0 + lsls r0, 1 + adds r1, r4, r0 + movs r3, 0x96 + lsls r3, 1 + adds r2, r4, r3 + subs r0, 0x10 + adds r3, r4, r0 + movs r0, 0x1 + str r0, [sp] + movs r0, 0 + str r0, [sp, 0x4] + adds r0, r4, 0 + bl sub_81D2278 + b _081D2500 +_081D24E0: + ldrh r7, [r1] + movs r2, 0xA0 + lsls r2, 1 + adds r1, r4, r2 + movs r3, 0x98 + lsls r3, 1 + adds r2, r4, r3 + movs r0, 0x96 + lsls r0, 1 + adds r3, r4, r0 + movs r0, 0 + str r0, [sp] + str r0, [sp, 0x4] + adds r0, r4, 0 + bl sub_81D2278 +_081D2500: + movs r1, 0xA0 + lsls r1, 1 + adds r5, r4, r1 + movs r3, 0x98 + lsls r3, 1 + adds r2, r4, r3 + movs r0, 0x9A + lsls r0, 1 + adds r6, r4, r0 + movs r0, 0x1 + str r0, [sp] + movs r0, 0 + str r0, [sp, 0x4] + adds r0, r4, 0 + adds r1, r5, 0 + adds r3, r6, 0 + bl sub_81D2278 + movs r2, 0 + movs r1, 0x9B + lsls r1, 1 + adds r0, r4, r1 + movs r3, 0x9D + lsls r3, 1 + adds r1, r4, r3 + ldrh r0, [r0] + ldrh r1, [r1] + cmp r0, r1 + bhi _081D253C + movs r2, 0x1 +_081D253C: + movs r0, 0x9C + lsls r0, 1 + adds r3, r4, r0 + str r2, [sp] + movs r1, 0x92 + lsls r1, 2 + adds r0, r4, r1 + str r0, [sp, 0x4] + adds r0, r4, 0 + adds r1, r5, 0 + adds r2, r6, 0 + bl sub_81D2278 + movs r2, 0x38 + cmp r2, r7 + bcs _081D257E + adds r6, r5, 0 + movs r3, 0 + movs r0, 0xA1 + lsls r0, 1 + adds r5, r4, r0 +_081D2566: + adds r0, r2, 0 + subs r0, 0x38 + lsls r0, 2 + adds r1, r6, r0 + strh r3, [r1] + adds r0, r5, r0 + strh r3, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, r7 + bcc _081D2566 +_081D257E: + movs r1, 0x97 + lsls r1, 1 + adds r0, r4, r1 + ldrh r2, [r0] + movs r3, 0xD4 + lsls r3, 2 + adds r0, r4, r3 + ldrh r1, [r0] + cmp r2, r1 + bhi _081D25B2 + movs r1, 0xA0 + lsls r1, 1 + adds r3, r4, r1 + movs r5, 0x9B + adds r1, r0, 0 +_081D259C: + adds r0, r2, 0 + subs r0, 0x38 + lsls r0, 2 + adds r0, r3, r0 + strh r5, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + ldrh r0, [r1] + cmp r2, r0 + bls _081D259C +_081D25B2: + movs r2, 0x9B + lsls r2, 1 + adds r1, r4, r2 + movs r3, 0xD4 + lsls r3, 2 + adds r0, r4, r3 + ldrh r0, [r0] + ldrh r1, [r1] + cmp r0, r1 + bcs _081D25C8 + adds r0, r1, 0 +_081D25C8: + adds r0, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0x79 + bhi _081D25F8 + movs r0, 0xA0 + lsls r0, 1 + adds r6, r4, r0 + movs r3, 0 + movs r1, 0xA1 + lsls r1, 1 + adds r5, r4, r1 +_081D25E0: + adds r0, r2, 0 + subs r0, 0x38 + lsls r0, 2 + adds r1, r6, r0 + strh r3, [r1] + adds r0, r5, r0 + strh r3, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0x79 + bls _081D25E0 +_081D25F8: + movs r2, 0x38 + movs r3, 0xA0 + lsls r3, 1 + adds r5, r4, r3 + movs r0, 0xA1 + lsls r0, 1 + adds r4, r0 + movs r6, 0x9B +_081D2608: + adds r0, r2, 0 + subs r0, 0x38 + lsls r1, r0, 2 + adds r3, r5, r1 + ldrh r0, [r3] + cmp r0, 0 + bne _081D2620 + adds r0, r4, r1 + ldrh r0, [r0] + cmp r0, 0 + beq _081D2620 + strh r6, [r3] +_081D2620: + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0x79 + bls _081D2608 + add sp, 0x8 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81D24A4 + + thumb_func_start sub_81D2634 +sub_81D2634: @ 81D2634 + push {r4-r6,lr} + sub sp, 0x8 + adds r4, r0, 0 + movs r0, 0x97 + lsls r0, 1 + adds r2, r4, r0 + movs r3, 0x9F + lsls r3, 1 + adds r1, r4, r3 + ldrh r0, [r2] + ldrh r5, [r1] + cmp r0, r5 + bcs _081D266E + adds r6, r0, 0 + movs r0, 0x92 + lsls r0, 2 + adds r1, r4, r0 + subs r3, 0x12 + adds r2, r4, r3 + movs r5, 0x9E + lsls r5, 1 + adds r3, r4, r5 + movs r0, 0 + str r0, [sp] + str r0, [sp, 0x4] + adds r0, r4, 0 + bl sub_81D2278 + b _081D2690 +_081D266E: + ldrh r6, [r1] + movs r0, 0x92 + lsls r0, 2 + adds r1, r4, r0 + movs r3, 0x9E + lsls r3, 1 + adds r2, r4, r3 + movs r5, 0x96 + lsls r5, 1 + adds r3, r4, r5 + movs r0, 0x1 + str r0, [sp] + movs r0, 0 + str r0, [sp, 0x4] + adds r0, r4, 0 + bl sub_81D2278 +_081D2690: + movs r0, 0x92 + lsls r0, 2 + adds r5, r4, r0 + movs r1, 0x9E + lsls r1, 1 + adds r2, r4, r1 + movs r0, 0x9C + lsls r0, 1 + adds r3, r4, r0 + movs r0, 0 + str r0, [sp] + str r0, [sp, 0x4] + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_81D2278 + cmp r6, 0x38 + ble _081D26C8 + movs r0, 0 + adds r1, r5, 0 + adds r2, r6, 0 + subs r2, 0x38 +_081D26BC: + strh r0, [r1] + strh r0, [r1, 0x2] + adds r1, 0x4 + subs r2, 0x1 + cmp r2, 0 + bne _081D26BC +_081D26C8: + movs r1, 0x97 + lsls r1, 1 + adds r0, r4, r1 + ldrh r2, [r0] + movs r3, 0xD4 + lsls r3, 2 + adds r0, r4, r3 + ldrh r5, [r0] + cmp r2, r5 + bgt _081D26F6 + movs r3, 0x9B + adds r1, r0, 0 + lsls r0, r2, 2 + movs r5, 0xB5 + lsls r5, 1 + adds r0, r5 + adds r0, r4 +_081D26EA: + strh r3, [r0] + adds r0, 0x4 + adds r2, 0x1 + ldrh r5, [r1] + cmp r2, r5 + ble _081D26EA +_081D26F6: + movs r1, 0x9D + lsls r1, 1 + adds r0, r4, r1 + ldrh r0, [r0] + adds r1, r0, 0x1 + movs r2, 0xD4 + lsls r2, 2 + adds r0, r4, r2 + ldrh r0, [r0] + cmp r0, r1 + bge _081D270E + adds r0, r1, 0 +_081D270E: + adds r2, r0, 0 + cmp r2, 0x79 + bgt _081D272C + movs r1, 0 + lsls r0, r2, 2 + movs r3, 0xB4 + lsls r3, 1 + adds r0, r3 + adds r0, r4 +_081D2720: + strh r1, [r0] + strh r1, [r0, 0x2] + adds r0, 0x4 + adds r2, 0x1 + cmp r2, 0x79 + ble _081D2720 +_081D272C: + movs r3, 0 + movs r5, 0x92 + lsls r5, 2 + adds r1, r4, r5 + movs r2, 0x41 +_081D2736: + ldrh r0, [r1] + ldrh r4, [r1, 0x2] + cmp r0, r4 + bcc _081D2742 + strh r3, [r1, 0x2] + strh r3, [r1] +_081D2742: + adds r1, 0x4 + subs r2, 0x1 + cmp r2, 0 + bge _081D2736 + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_81D2634 + + thumb_func_start sub_81D2754 +sub_81D2754: @ 81D2754 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r6, r0, 0 + mov r8, r1 + ldr r1, =gUnknown_08625410 + ldrb r0, [r6] + adds r0, r1 + ldrb r2, [r0] + adds r6, 0x1 + movs r0, 0x9B + mov r3, r8 + strh r0, [r3] + movs r0, 0x5B + subs r0, r2 + strh r0, [r3, 0x2] + movs r7, 0x40 + movs r0, 0 + mov r12, r0 + movs r2, 0x1 + mov r9, r2 + ldr r3, =gSineTable + mov r10, r3 +_081D2786: + adds r0, r7, 0 + adds r0, 0x33 + lsls r0, 24 + lsrs r7, r0, 24 + mov r1, r12 + lsls r0, r1, 24 + movs r2, 0xFF + lsls r2, 24 + adds r0, r2 + lsrs r3, r0, 24 + mov r12, r3 + cmp r0, 0 + bge _081D27A4 + movs r0, 0x4 + mov r12, r0 +_081D27A4: + mov r1, r12 + lsls r0, r1, 24 + asrs r4, r0, 24 + cmp r4, 0x2 + bne _081D27B4 + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 +_081D27B4: + ldrb r0, [r6] + ldr r2, =gUnknown_08625410 + adds r0, r2 + ldrb r2, [r0] + adds r6, 0x1 + lsls r0, r4, 2 + mov r1, r8 + adds r3, r0, r1 + adds r0, r7, 0 + adds r0, 0x40 + lsls r0, 1 + add r0, r10 + movs r1, 0 + ldrsh r0, [r0, r1] + muls r0, r2 + asrs r5, r0, 8 + adds r0, r5, 0 + adds r0, 0x9B + strh r0, [r3] + lsls r0, r7, 1 + add r0, r10 + movs r1, 0 + ldrsh r0, [r0, r1] + adds r1, r2, 0 + muls r1, r0 + asrs r1, 8 + movs r0, 0x5B + subs r0, r1 + strh r0, [r3, 0x2] + cmp r4, 0x2 + bgt _081D2800 + cmp r2, 0x20 + bne _081D27FA + cmp r4, 0x2 + beq _081D2800 +_081D27FA: + adds r0, r5, 0 + adds r0, 0x9C + strh r0, [r3] +_081D2800: + mov r0, r9 + adds r0, 0x1 + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 + cmp r0, 0x4 + bls _081D2786 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D2754 + + thumb_func_start InitMoveRelearnerWindows +InitMoveRelearnerWindows: @ 81D2824 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, =gMoveRelearnerWindowTemplates + bl InitWindows + bl DeactivateAllTextPrinters + movs r0, 0 + movs r1, 0x1 + movs r2, 0xE0 + bl LoadUserWindowBorderGfx + ldr r0, =gUnknown_0860F074 + movs r1, 0xF0 + movs r2, 0x20 + bl LoadPalette + movs r4, 0 +_081D284A: + adds r0, r4, 0 + movs r1, 0x11 + bl FillWindowPixelBuffer + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x4 + bls _081D284A + cmp r5, 0 + bne _081D287C + movs r0, 0 + bl PutWindowTilemap + movs r0, 0 + movs r1, 0 + movs r2, 0x1 + movs r3, 0xE + bl SetWindowBorderStyle + b _081D288E + .pool +_081D287C: + movs r0, 0x1 + bl PutWindowTilemap + movs r0, 0x1 + movs r1, 0 + movs r2, 0x1 + movs r3, 0xE + bl SetWindowBorderStyle +_081D288E: + movs r0, 0x2 + bl PutWindowTilemap + movs r0, 0x3 + bl PutWindowTilemap + movs r0, 0x2 + movs r1, 0 + movs r2, 0x1 + movs r3, 0xE + bl SetWindowBorderStyle + movs r0, 0x3 + movs r1, 0 + movs r2, 0x1 + movs r3, 0xE + bl SetWindowBorderStyle + bl nullsub_79 + movs r0, 0x1 + bl schedule_bg_copy_tilemap_to_vram + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end InitMoveRelearnerWindows + + thumb_func_start nullsub_79 +nullsub_79: @ 81D28C4 + bx lr + thumb_func_end nullsub_79 + + thumb_func_start LoadMoveRelearnerMovesList +LoadMoveRelearnerMovesList: @ 81D28C8 + push {r4-r7,lr} + lsls r1, 16 + lsrs r4, r1, 16 + ldr r3, =gMultiuseListMenuTemplate + adds r2, r3, 0 + ldr r1, =gMoveRelearnerMovesListTemplate + ldm r1!, {r5-r7} + stm r2!, {r5-r7} + ldm r1!, {r5-r7} + stm r2!, {r5-r7} + strh r4, [r3, 0xC] + str r0, [r3] + cmp r4, 0x5 + bhi _081D28F0 + strh r4, [r3, 0xE] + b _081D28F4 + .pool +_081D28F0: + movs r0, 0x6 + strh r0, [r3, 0xE] +_081D28F4: + ldrb r0, [r3, 0xE] + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end LoadMoveRelearnerMovesList + + thumb_func_start MoveRelearnerLoadBattleMoveDescription +MoveRelearnerLoadBattleMoveDescription: @ 81D28FC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x2C + mov r9, r0 + movs r0, 0 + movs r1, 0x11 + bl FillWindowPixelBuffer + ldr r5, =gText_BattleMoves2 + movs r0, 0x1 + adds r1, r5, 0 + movs r2, 0x80 + bl GetStringCenterAlignXOffset + adds r4, r0, 0 + lsls r3, r4, 24 + lsrs r3, 24 + movs r0, 0x1 + str r0, [sp] + movs r0, 0xFF + mov r8, r0 + str r0, [sp, 0x4] + movs r7, 0 + str r7, [sp, 0x8] + movs r0, 0 + movs r1, 0x1 + adds r2, r5, 0 + bl AddTextPrinterParameterized + ldr r5, =gText_PPSlash + movs r1, 0x29 + mov r10, r1 + str r1, [sp] + mov r0, r8 + str r0, [sp, 0x4] + str r7, [sp, 0x8] + movs r0, 0 + movs r1, 0x1 + adds r2, r5, 0 + movs r3, 0x4 + bl AddTextPrinterParameterized + ldr r5, =gText_PowerSlash + movs r0, 0x1 + adds r1, r5, 0 + movs r2, 0x6A + bl GetStringRightAlignXOffset + adds r4, r0, 0 + lsls r3, r4, 24 + lsrs r3, 24 + movs r1, 0x19 + str r1, [sp] + mov r0, r8 + str r0, [sp, 0x4] + str r7, [sp, 0x8] + movs r0, 0 + movs r1, 0x1 + adds r2, r5, 0 + bl AddTextPrinterParameterized + ldr r5, =gText_AccuracySlash + movs r0, 0x1 + adds r1, r5, 0 + movs r2, 0x6A + bl GetStringRightAlignXOffset + adds r4, r0, 0 + lsls r3, r4, 24 + lsrs r3, 24 + mov r1, r10 + str r1, [sp] + mov r0, r8 + str r0, [sp, 0x4] + str r7, [sp, 0x8] + movs r0, 0 + movs r1, 0x1 + adds r2, r5, 0 + bl AddTextPrinterParameterized + movs r0, 0x2 + negs r0, r0 + cmp r9, r0 + bne _081D29C4 + movs r0, 0 + movs r1, 0x2 + bl CopyWindowToVram + b _081D2AB6 + .pool +_081D29C4: + mov r1, r9 + lsls r0, r1, 1 + add r0, r9 + lsls r0, 2 + ldr r1, =gBattleMoves + adds r6, r0, r1 + ldrb r1, [r6, 0x2] + lsls r0, r1, 3 + subs r0, r1 + ldr r1, =gTypeNames + adds r5, r0, r1 + movs r0, 0x19 + str r0, [sp] + mov r1, r8 + str r1, [sp, 0x4] + str r7, [sp, 0x8] + movs r0, 0 + movs r1, 0x1 + adds r2, r5, 0 + movs r3, 0x4 + bl AddTextPrinterParameterized + ldr r1, =gText_PPSlash + movs r0, 0x1 + movs r2, 0 + bl GetStringWidth + adds r4, r0, 0x4 + ldrb r1, [r6, 0x4] + add r0, sp, 0xC + movs r2, 0 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + lsls r3, r4, 24 + lsrs r3, 24 + mov r0, r10 + str r0, [sp] + mov r1, r8 + str r1, [sp, 0x4] + str r7, [sp, 0x8] + movs r0, 0 + movs r1, 0x1 + add r2, sp, 0xC + bl AddTextPrinterParameterized + ldrb r0, [r6, 0x1] + cmp r0, 0x1 + bhi _081D2A3C + ldr r5, =gText_ThreeDashes + b _081D2A4A + .pool +_081D2A3C: + ldrb r1, [r6, 0x1] + add r0, sp, 0xC + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + add r5, sp, 0xC +_081D2A4A: + movs r0, 0x19 + str r0, [sp] + movs r0, 0xFF + str r0, [sp, 0x4] + movs r0, 0 + str r0, [sp, 0x8] + movs r1, 0x1 + adds r2, r5, 0 + movs r3, 0x6A + bl AddTextPrinterParameterized + ldrb r0, [r6, 0x3] + cmp r0, 0 + bne _081D2A70 + ldr r5, =gText_ThreeDashes + b _081D2A7E + .pool +_081D2A70: + ldrb r1, [r6, 0x3] + add r0, sp, 0xC + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + add r5, sp, 0xC +_081D2A7E: + movs r0, 0x29 + str r0, [sp] + movs r0, 0xFF + str r0, [sp, 0x4] + movs r4, 0 + str r4, [sp, 0x8] + movs r0, 0 + movs r1, 0x1 + adds r2, r5, 0 + movs r3, 0x6A + bl AddTextPrinterParameterized + ldr r1, =gMoveDescriptionPointers + mov r0, r9 + subs r0, 0x1 + lsls r0, 2 + adds r0, r1 + ldr r5, [r0] + movs r0, 0x41 + str r0, [sp] + str r4, [sp, 0x4] + str r4, [sp, 0x8] + movs r0, 0 + movs r1, 0x7 + adds r2, r5, 0 + movs r3, 0 + bl AddTextPrinterParameterized +_081D2AB6: + add sp, 0x2C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end MoveRelearnerLoadBattleMoveDescription + + thumb_func_start MoveRelearnerMenuLoadContestMoveDescription +MoveRelearnerMenuLoadContestMoveDescription: @ 81D2ACC + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0xC + adds r4, r0, 0 + bl MoveRelearnerShowHideHearts + movs r0, 0x1 + movs r1, 0x11 + bl FillWindowPixelBuffer + ldr r5, =gText_ContestMoves2 + movs r0, 0x1 + adds r1, r5, 0 + movs r2, 0x80 + bl GetStringCenterAlignXOffset + lsls r3, r0, 24 + lsrs r3, 24 + movs r0, 0x1 + str r0, [sp] + movs r7, 0xFF + str r7, [sp, 0x4] + movs r6, 0 + str r6, [sp, 0x8] + movs r1, 0x1 + adds r2, r5, 0 + bl AddTextPrinterParameterized + ldr r5, =gText_Appeal2 + movs r0, 0x1 + adds r1, r5, 0 + movs r2, 0x5C + bl GetStringRightAlignXOffset + lsls r3, r0, 24 + lsrs r3, 24 + movs r0, 0x19 + mov r8, r0 + str r0, [sp] + str r7, [sp, 0x4] + str r6, [sp, 0x8] + movs r0, 0x1 + movs r1, 0x1 + adds r2, r5, 0 + bl AddTextPrinterParameterized + ldr r5, =gText_Jam2 + movs r0, 0x1 + adds r1, r5, 0 + movs r2, 0x5C + bl GetStringRightAlignXOffset + lsls r3, r0, 24 + lsrs r3, 24 + movs r0, 0x29 + str r0, [sp] + str r7, [sp, 0x4] + str r6, [sp, 0x8] + movs r0, 0x1 + movs r1, 0x1 + adds r2, r5, 0 + bl AddTextPrinterParameterized + movs r0, 0x2 + negs r0, r0 + cmp r4, r0 + bne _081D2B6C + movs r0, 0x1 + movs r1, 0x2 + bl CopyWindowToVram + b _081D2BB8 + .pool +_081D2B6C: + lsls r4, 3 + ldr r0, =gContestMoves + adds r4, r0 + ldr r1, =gContestMoveTypeTextPointers + ldrb r0, [r4, 0x1] + lsls r0, 29 + lsrs r0, 27 + adds r0, r1 + ldr r5, [r0] + mov r0, r8 + str r0, [sp] + str r7, [sp, 0x4] + str r6, [sp, 0x8] + movs r0, 0x1 + movs r1, 0x1 + adds r2, r5, 0 + movs r3, 0x4 + bl AddTextPrinterParameterized + ldr r1, =gContestEffectDescriptionPointers + ldrb r0, [r4] + lsls r0, 2 + adds r0, r1 + ldr r5, [r0] + movs r0, 0x41 + str r0, [sp] + str r7, [sp, 0x4] + str r6, [sp, 0x8] + movs r0, 0x1 + movs r1, 0x7 + adds r2, r5, 0 + movs r3, 0 + bl AddTextPrinterParameterized + movs r0, 0x1 + movs r1, 0x2 + bl CopyWindowToVram +_081D2BB8: + add sp, 0xC + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end MoveRelearnerMenuLoadContestMoveDescription + + thumb_func_start MoveRelearnerCursorCallback +MoveRelearnerCursorCallback: @ 81D2BD0 + push {r4,lr} + adds r4, r0, 0 + lsls r1, 24 + lsrs r1, 24 + cmp r1, 0x1 + beq _081D2BE2 + movs r0, 0x5 + bl PlaySE +_081D2BE2: + adds r0, r4, 0 + bl MoveRelearnerLoadBattleMoveDescription + adds r0, r4, 0 + bl MoveRelearnerMenuLoadContestMoveDescription + pop {r4} + pop {r0} + bx r0 + thumb_func_end MoveRelearnerCursorCallback + + thumb_func_start MoveRelearnerPrintText +MoveRelearnerPrintText: @ 81D2BF4 + push {r4,lr} + sub sp, 0x10 + adds r4, r0, 0 + movs r0, 0x3 + movs r1, 0x11 + bl FillWindowPixelBuffer + ldr r2, =gTextFlags + ldrb r0, [r2] + movs r1, 0x1 + orrs r0, r1 + strb r0, [r2] + bl GetPlayerTextSpeedDelay + adds r3, r0, 0 + lsls r3, 24 + lsrs r3, 24 + movs r0, 0 + str r0, [sp] + movs r0, 0x2 + str r0, [sp, 0x4] + movs r0, 0x1 + str r0, [sp, 0x8] + movs r0, 0x3 + str r0, [sp, 0xC] + movs r1, 0x1 + adds r2, r4, 0 + bl AddTextPrinterParameterized2 + add sp, 0x10 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end MoveRelearnerPrintText + + thumb_func_start MoveRelearnerRunTextPrinters +MoveRelearnerRunTextPrinters: @ 81D2C3C + push {lr} + bl RunTextPrinters + movs r0, 0x3 + bl IsTextPrinterActive + lsls r0, 16 + lsrs r0, 16 + pop {r1} + bx r1 + thumb_func_end MoveRelearnerRunTextPrinters + + thumb_func_start MoveRelearnerCreateYesNoMenu +MoveRelearnerCreateYesNoMenu: @ 81D2C50 + push {lr} + ldr r0, =gMoveRelearnerYesNoMenuTemplate + movs r1, 0x1 + movs r2, 0xE + movs r3, 0 + bl CreateYesNoMenu + pop {r0} + bx r0 + .pool + thumb_func_end MoveRelearnerCreateYesNoMenu + + thumb_func_start sub_81D2C68 +sub_81D2C68: @ 81D2C68 + push {lr} + lsls r0, 16 + lsrs r0, 16 + lsls r1, 16 + lsrs r1, 16 + cmp r0, 0xE + bne _081D2CA8 + cmp r2, 0x2 + beq _081D2C7E + cmp r2, 0x7 + bne _081D2C94 +_081D2C7E: + movs r0, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + adds r1, r2, 0 + adds r2, r3, 0 + bl GetMonData + b _081D2CCA + .pool +_081D2C94: + movs r0, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + adds r1, r2, 0 + bl GetMonData + b _081D2CCA + .pool +_081D2CA8: + cmp r2, 0x2 + beq _081D2CB0 + cmp r2, 0x7 + bne _081D2CBE +_081D2CB0: + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + bl GetAndCopyBoxMonDataAt + b _081D2CCA +_081D2CBE: + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + bl GetBoxMonDataAt +_081D2CCA: + pop {r1} + bx r1 + thumb_func_end sub_81D2C68 + + thumb_func_start sub_81D2CD0 +sub_81D2CD0: @ 81D2CD0 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r5, r0, 0 + lsls r1, 16 + lsrs r4, r1, 16 + lsls r2, 16 + lsrs r6, r2, 16 + movs r0, 0xFC + strb r0, [r5] + adds r5, 0x1 + movs r0, 0x4 + strb r0, [r5] + adds r5, 0x1 + movs r0, 0x8 + strb r0, [r5] + adds r5, 0x1 + movs r0, 0 + strb r0, [r5] + adds r5, 0x1 + movs r0, 0x9 + strb r0, [r5] + adds r5, 0x1 + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0x2D + movs r3, 0 + bl sub_81D2C68 + cmp r0, 0 + beq _081D2D20 + ldr r1, =gText_EggNickname + adds r0, r5, 0 + movs r2, 0 + movs r3, 0xC + bl StringCopyPadded + b _081D2E70 + .pool +_081D2D20: + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0x2 + adds r3, r5, 0 + bl sub_81D2C68 + adds r0, r5, 0 + bl StringGetEnd10 + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0xB + movs r3, 0 + bl sub_81D2C68 + lsls r0, 16 + lsrs r7, r0, 16 + cmp r4, 0xE + bne _081D2D70 + movs r0, 0x64 + adds r4, r6, 0 + muls r4, r0 + ldr r0, =gPlayerParty + adds r4, r0 + adds r0, r4, 0 + movs r1, 0x38 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 + adds r0, r4, 0 + bl GetMonGender + lsls r0, 24 + lsrs r6, r0, 24 + b _081D2D92 + .pool +_081D2D70: + lsls r0, r4, 24 + lsrs r0, 24 + lsls r1, r6, 24 + lsrs r1, 24 + bl GetBoxedMonPtr + adds r4, r0, 0 + bl GetBoxMonGender + lsls r0, 24 + lsrs r6, r0, 24 + adds r0, r4, 0 + bl GetLevelFromBoxMonExp + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 +_081D2D92: + cmp r7, 0x1D + beq _081D2D9A + cmp r7, 0x20 + bne _081D2DB0 +_081D2D9A: + movs r0, 0xB + adds r1, r7, 0 + muls r1, r0 + ldr r0, =gSpeciesNames + adds r1, r0 + adds r0, r5, 0 + bl StringCompare + cmp r0, 0 + bne _081D2DB0 + movs r6, 0xFF +_081D2DB0: + adds r3, r5, 0 + b _081D2DBA + .pool +_081D2DB8: + adds r3, 0x1 +_081D2DBA: + ldrb r0, [r3] + cmp r0, 0xFF + bne _081D2DB8 + movs r1, 0xFC + strb r1, [r3] + adds r3, 0x1 + movs r0, 0x12 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x3C + strb r0, [r3] + adds r3, 0x1 + cmp r6, 0 + beq _081D2DDE + cmp r6, 0xFE + beq _081D2E02 + movs r0, 0 + b _081D2E24 +_081D2DDE: + strb r1, [r3] + adds r3, 0x1 + movs r0, 0x1 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x4 + strb r0, [r3] + adds r3, 0x1 + strb r1, [r3] + adds r3, 0x1 + movs r0, 0x3 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x5 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0xB5 + b _081D2E24 +_081D2E02: + strb r1, [r3] + adds r3, 0x1 + movs r0, 0x1 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x6 + strb r0, [r3] + adds r3, 0x1 + strb r1, [r3] + adds r3, 0x1 + movs r0, 0x3 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x7 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0xB6 +_081D2E24: + strb r0, [r3] + adds r3, 0x1 + movs r0, 0xFC + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x4 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x8 + strb r0, [r3] + adds r3, 0x1 + movs r4, 0 + strb r4, [r3] + adds r3, 0x1 + movs r0, 0x9 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0xBA + strb r0, [r3] + adds r3, 0x1 + movs r0, 0xF9 + strb r0, [r3] + adds r3, 0x1 + movs r0, 0x5 + strb r0, [r3] + adds r3, 0x1 + adds r0, r3, 0 + mov r1, r8 + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + adds r3, r0, 0 + strb r4, [r3] + adds r3, 0x1 + movs r0, 0xFF + strb r0, [r3] + adds r0, r3, 0 +_081D2E70: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_81D2CD0 + + thumb_func_start sub_81D2E7C +sub_81D2E7C: @ 81D2E7C + push {r4,lr} + adds r4, r0, 0 + lsls r2, 16 + lsrs r2, 16 + b _081D2E94 +_081D2E86: + strb r3, [r4] + adds r1, 0x1 + adds r4, 0x1 + lsls r0, r2, 16 + ldr r2, =0xffff0000 + adds r0, r2 + lsrs r2, r0, 16 +_081D2E94: + ldrb r3, [r1] + adds r0, r3, 0 + cmp r0, 0xFF + bne _081D2E86 + adds r1, r2, 0 + lsls r0, r1, 16 + ldr r2, =0xffff0000 + adds r0, r2 + lsrs r2, r0, 16 + lsls r1, 16 + cmp r1, 0 + ble _081D2EC2 + movs r3, 0 +_081D2EAE: + strb r3, [r4] + adds r4, 0x1 + adds r1, r2, 0 + lsls r0, r1, 16 + ldr r2, =0xffff0000 + adds r0, r2 + lsrs r2, r0, 16 + lsls r1, 16 + cmp r1, 0 + bgt _081D2EAE +_081D2EC2: + movs r0, 0xFF + strb r0, [r4] + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81D2E7C + + thumb_func_start sub_81D2ED4 +sub_81D2ED4: @ 81D2ED4 + push {r4-r7,lr} + adds r5, r0, 0 + adds r6, r1, 0 + ldr r0, [sp, 0x14] + ldr r1, [sp, 0x18] + ldr r4, [sp, 0x1C] + lsls r2, 16 + lsrs r7, r2, 16 + lsls r3, 16 + lsrs r3, 16 + lsls r0, 16 + lsrs r2, r0, 16 + lsls r1, 16 + lsrs r0, r1, 16 + lsls r4, 24 + cmp r4, 0 + bne _081D2EFC + subs r0, 0x1 + lsls r0, 16 + lsrs r0, 16 +_081D2EFC: + cmp r2, r0 + beq _081D2F42 + adds r0, r6, 0 + adds r1, r7, 0 + adds r2, r3, 0 + bl sub_81D2CD0 + movs r0, 0xFC + strb r0, [r5] + movs r0, 0x4 + strb r0, [r5, 0x1] + movs r0, 0x8 + strb r0, [r5, 0x2] + movs r0, 0 + strb r0, [r5, 0x3] + movs r0, 0x9 + strb r0, [r5, 0x4] + cmp r7, 0xE + bne _081D2F2C + adds r0, r5, 0x5 + ldr r1, =gText_InParty + b _081D2F3A + .pool +_081D2F2C: + adds r4, r5, 0x5 + lsls r0, r7, 24 + lsrs r0, 24 + bl GetBoxNamePtr + adds r1, r0, 0 + adds r0, r4, 0 +_081D2F3A: + movs r2, 0x8 + bl sub_81D2E7C + b _081D2F72 +_081D2F42: + movs r1, 0 + movs r2, 0 +_081D2F46: + adds r0, r6, r1 + strb r2, [r0] + adds r0, r1, 0x1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0xB + bls _081D2F46 + adds r1, r6, r1 + movs r0, 0xFF + strb r0, [r1] + movs r1, 0 + movs r2, 0 +_081D2F5E: + adds r0, r5, r1 + strb r2, [r0] + adds r0, r1, 0x1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0x7 + bls _081D2F5E + adds r1, r5, r1 + movs r0, 0xFF + strb r0, [r1] +_081D2F72: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81D2ED4 + + thumb_func_start sub_81D2F78 +sub_81D2F78: @ 81D2F78 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + mov r8, r0 + mov r10, r1 + ldr r0, [sp, 0x20] + ldr r1, [sp, 0x24] + ldr r4, [sp, 0x28] + ldr r5, [sp, 0x2C] + lsls r2, 16 + lsrs r7, r2, 16 + lsls r3, 16 + lsrs r6, r3, 16 + lsls r0, 16 + lsrs r2, r0, 16 + lsls r1, 16 + lsrs r1, 16 + mov r9, r1 + lsls r4, 16 + lsrs r0, r4, 16 + lsls r5, 24 + cmp r5, 0 + bne _081D2FB0 + subs r0, 0x1 + lsls r0, 16 + lsrs r0, 16 +_081D2FB0: + cmp r2, r0 + beq _081D305C + adds r0, r7, 0 + adds r1, r6, 0 + movs r2, 0x16 + movs r3, 0 + bl sub_81D2C68 + mov r1, r9 + lsls r5, r1, 2 + adds r4, r5, r1 + mov r2, r8 + adds r1, r2, r4 + strb r0, [r1] + adds r0, r7, 0 + adds r1, r6, 0 + movs r2, 0x2F + movs r3, 0 + bl sub_81D2C68 + mov r1, r8 + adds r1, 0x1 + adds r1, r4 + strb r0, [r1] + adds r0, r7, 0 + adds r1, r6, 0 + movs r2, 0x21 + movs r3, 0 + bl sub_81D2C68 + mov r1, r8 + adds r1, 0x2 + adds r1, r4 + strb r0, [r1] + adds r0, r7, 0 + adds r1, r6, 0 + movs r2, 0x18 + movs r3, 0 + bl sub_81D2C68 + mov r1, r8 + adds r1, 0x3 + adds r1, r4 + strb r0, [r1] + adds r0, r7, 0 + adds r1, r6, 0 + movs r2, 0x17 + movs r3, 0 + bl sub_81D2C68 + mov r1, r8 + adds r1, 0x4 + adds r1, r4 + strb r0, [r1] + mov r4, r10 + add r4, r9 + adds r0, r7, 0 + adds r1, r6, 0 + movs r2, 0x30 + movs r3, 0 + bl sub_81D2C68 + cmp r0, 0xFF + beq _081D3044 + adds r0, r7, 0 + adds r1, r6, 0 + movs r2, 0x30 + movs r3, 0 + bl sub_81D2C68 + movs r1, 0x1D + bl __udivsi3 + b _081D3046 +_081D3044: + movs r0, 0x9 +_081D3046: + strb r0, [r4] + mov r0, r9 + adds r1, r5, r0 + mov r2, r8 + adds r0, r2, r1 + lsls r1, 2 + adds r1, 0x14 + add r1, r8 + bl sub_81D2754 + b _081D3086 +_081D305C: + movs r2, 0 + mov r0, r9 + lsls r5, r0, 2 + adds r1, r5, r0 + movs r6, 0 + lsls r3, r1, 2 + movs r5, 0x9B + movs r4, 0x5B +_081D306C: + adds r0, r2, r1 + add r0, r8 + strb r6, [r0] + lsls r0, r2, 2 + adds r0, r3 + add r0, r8 + strh r5, [r0, 0x14] + strh r4, [r0, 0x16] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0x4 + bls _081D306C +_081D3086: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81D2F78 + + thumb_func_start sub_81D3094 +sub_81D3094: @ 81D3094 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + mov r8, r0 + mov r9, r1 + ldr r0, [sp, 0x20] + ldr r1, [sp, 0x24] + ldr r4, [sp, 0x28] + lsls r2, 16 + lsrs r7, r2, 16 + lsls r3, 16 + lsrs r5, r3, 16 + lsls r0, 16 + lsrs r2, r0, 16 + lsls r1, 16 + lsrs r0, r1, 16 + lsls r4, 24 + cmp r4, 0 + bne _081D30C4 + subs r0, 0x1 + lsls r0, 16 + lsrs r0, 16 +_081D30C4: + cmp r2, r0 + beq _081D311A + adds r0, r7, 0 + adds r1, r5, 0 + movs r2, 0x41 + movs r3, 0 + bl sub_81D2C68 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r7, 0 + adds r1, r5, 0 + movs r2, 0x1 + movs r3, 0 + bl sub_81D2C68 + adds r6, r0, 0 + adds r0, r7, 0 + adds r1, r5, 0 + movs r2, 0 + movs r3, 0 + bl sub_81D2C68 + adds r5, r0, 0 + lsls r0, r4, 3 + ldr r1, =gMonFrontPicTable + adds r0, r1 + movs r1, 0x1 + str r1, [sp] + mov r1, r8 + adds r2, r4, 0 + adds r3, r5, 0 + bl LoadSpecialPokePic + adds r0, r4, 0 + adds r1, r6, 0 + adds r2, r5, 0 + bl GetFrontSpritePalFromSpeciesAndPersonality + mov r1, r9 + bl LZ77UnCompWram +_081D311A: + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D3094 + + thumb_func_start sub_81D312C +sub_81D312C: @ 81D312C + push {lr} + adds r1, r0, 0 + ldrh r0, [r1] + adds r0, 0x18 + strh r0, [r1] + lsls r0, 16 + cmp r0, 0 + ble _081D3140 + movs r0, 0 + strh r0, [r1] +_081D3140: + movs r0, 0 + ldrsh r1, [r1, r0] + negs r0, r1 + orrs r0, r1 + lsrs r0, 31 + pop {r1} + bx r1 + thumb_func_end sub_81D312C + + thumb_func_start sub_81D3150 +sub_81D3150: @ 81D3150 + push {lr} + adds r1, r0, 0 + ldrh r0, [r1] + subs r0, 0x18 + strh r0, [r1] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x50 + negs r2, r2 + cmp r0, r2 + bge _081D3168 + strh r2, [r1] +_081D3168: + movs r0, 0 + ldrsh r1, [r1, r0] + eors r1, r2 + negs r0, r1 + orrs r0, r1 + lsrs r0, 31 + pop {r1} + bx r1 + thumb_func_end sub_81D3150 + + thumb_func_start sub_81D3178 +sub_81D3178: @ 81D3178 + push {r4,r5,lr} + adds r5, r1, 0 + bl sub_81D2074 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + bl sub_81D312C + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + cmp r4, 0 + bne _081D319A + cmp r0, 0 + beq _081D319C +_081D319A: + movs r1, 0x1 +_081D319C: + adds r0, r1, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D3178 + + thumb_func_start sub_81D31A4 +sub_81D31A4: @ 81D31A4 + push {r4,r5,lr} + adds r5, r1, 0 + bl sub_81D2074 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + bl sub_81D3150 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + cmp r4, 0 + bne _081D31C6 + cmp r0, 0 + beq _081D31C8 +_081D31C6: + movs r1, 0x1 +_081D31C8: + adds r0, r1, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81D31A4 + + thumb_func_start sub_81D31D0 +sub_81D31D0: @ 81D31D0 + push {r4-r7,lr} + sub sp, 0x20 + ldr r3, =gUnknown_08625A48 + ldr r4, [r3] + ldr r5, [r3, 0x4] + str r4, [sp, 0x18] + str r5, [sp, 0x1C] + mov r4, sp + ldr r3, =gUnknown_08625A50 + ldm r3!, {r5-r7} + stm r4!, {r5-r7} + ldm r3!, {r5-r7} + stm r4!, {r5-r7} + ldr r3, =gUnknown_08625A68 + ldr r4, [r3, 0x4] + ldr r3, [r3] + ldr r5, [sp, 0x18] + ldr r6, [sp, 0x1C] + str r5, [r0] + str r6, [r0, 0x4] + mov r0, sp + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + str r3, [r2] + str r4, [r2, 0x4] + add sp, 0x20 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D31D0 + + thumb_func_start sub_81D321C +sub_81D321C: @ 81D321C + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x50 + adds r5, r0, 0 + mov r12, r1 + mov r8, r2 + mov r1, sp + ldr r0, =gUnknown_08625A70 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2,r6,r7} + stm r1!, {r2,r6,r7} + ldm r0!, {r3,r4} + stm r1!, {r3,r4} + add r3, sp, 0x20 + adds r1, r3, 0 + ldr r0, =gUnknown_08625A90 + ldm r0!, {r2,r6,r7} + stm r1!, {r2,r6,r7} + ldm r0!, {r4,r6,r7} + stm r1!, {r4,r6,r7} + add r2, sp, 0x38 + adds r1, r2, 0 + ldr r0, =gUnknown_08625AA8 + ldm r0!, {r4,r6,r7} + stm r1!, {r4,r6,r7} + ldm r0!, {r4,r6,r7} + stm r1!, {r4,r6,r7} + movs r4, 0 +_081D3258: + lsls r0, r4, 3 + add r0, sp + ldr r1, [r0, 0x4] + ldr r0, [r0] + stm r5!, {r0,r1} + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x3 + bls _081D3258 + mov r1, r12 + adds r0, r2, 0 + ldm r0!, {r2,r4,r5} + stm r1!, {r2,r4,r5} + ldm r0!, {r2,r6,r7} + stm r1!, {r2,r6,r7} + movs r4, 0 +_081D327A: + lsls r0, r4, 3 + adds r0, r3, r0 + ldr r1, [r0, 0x4] + ldr r0, [r0] + mov r5, r8 + adds r5, 0x8 + mov r8, r5 + subs r5, 0x8 + stm r5!, {r0,r1} + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x2 + bls _081D327A + add sp, 0x50 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D321C + + thumb_func_start sub_81D32B0 +sub_81D32B0: @ 81D32B0 + push {r4,r5,lr} + ldr r2, =gUnknown_08625AC0 + ldr r4, [r2] + ldr r5, [r2, 0x4] + ldr r2, =gUnknown_08625AC8 + ldr r3, [r2, 0x4] + ldr r2, [r2] + str r4, [r0] + str r5, [r0, 0x4] + str r2, [r1] + str r3, [r1, 0x4] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D32B0 + + thumb_func_start sub_81D32D4 +sub_81D32D4: @ 81D32D4 + push {lr} + adds r1, r0, 0 + ldrh r0, [r1, 0x30] + adds r0, 0x1 + strh r0, [r1, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3C + ble _081D32F0 + movs r0, 0 + strh r0, [r1, 0x30] + adds r0, r1, 0 + bl sub_81D3408 +_081D32F0: + pop {r0} + bx r0 + thumb_func_end sub_81D32D4 + + thumb_func_start sub_81D32F4 +sub_81D32F4: @ 81D32F4 + push {lr} + adds r2, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _081D330C + movs r0, 0 + strh r0, [r2, 0x30] + ldr r0, =sub_81D32D4 + str r0, [r2, 0x1C] +_081D330C: + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D32F4 + + thumb_func_start sub_81D3314 +sub_81D3314: @ 81D3314 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x36 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + ldr r0, =gSprites + adds r3, r1, r0 + cmp r3, 0 + beq _081D3360 + ldrh r1, [r3, 0x24] + ldrh r2, [r3, 0x20] + adds r1, r2 + ldr r2, =gUnknown_08625B2C + movs r5, 0x2E + ldrsh r0, [r4, r5] + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0] + adds r0, r1 + strh r0, [r4, 0x20] + ldrh r1, [r3, 0x26] + ldrh r3, [r3, 0x22] + adds r1, r3 + movs r3, 0x2E + ldrsh r0, [r4, r3] + lsls r0, 2 + adds r2, 0x2 + adds r0, r2 + ldrh r0, [r0] + adds r0, r1 + b _081D337E + .pool +_081D3360: + ldr r1, =gUnknown_08625B2C + movs r5, 0x2E + ldrsh r0, [r4, r5] + lsls r0, 2 + adds r0, r1 + ldrh r0, [r0] + adds r0, 0x28 + strh r0, [r4, 0x20] + movs r2, 0x2E + ldrsh r0, [r4, r2] + lsls r0, 2 + adds r1, 0x2 + adds r0, r1 + ldrh r0, [r0] + adds r0, 0x68 +_081D337E: + strh r0, [r4, 0x22] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D3314 + + thumb_func_start sub_81D338C +sub_81D338C: @ 81D338C + push {r4-r7,lr} + mov r7, r8 + push {r7} + mov r8, r2 + lsls r0, 24 + lsrs r6, r0, 24 + lsls r1, 24 + lsrs r7, r1, 24 + movs r5, 0 +_081D339E: + lsls r0, r5, 2 + mov r1, r8 + adds r4, r0, r1 + ldr r0, [r4] + cmp r0, 0 + beq _081D33F0 + strh r5, [r0, 0x2E] + ldr r1, [r4] + lsls r0, r5, 4 + adds r0, 0x1 + strh r0, [r1, 0x30] + ldr r0, [r4] + strh r6, [r0, 0x32] + ldr r0, [r4] + strh r5, [r0, 0x34] + cmp r7, 0 + beq _081D33C4 + cmp r6, 0x9 + beq _081D33D0 +_081D33C4: + ldr r1, [r4] + ldr r0, =sub_81D3564 + str r0, [r1, 0x1C] + b _081D33F0 + .pool +_081D33D0: + ldr r0, [r4] + bl sub_81D3314 + ldr r0, [r4] + bl sub_81D35E8 + ldr r2, [r4] + ldr r0, =sub_81D32F4 + str r0, [r2, 0x1C] + adds r2, 0x3E + ldrb r0, [r2] + movs r3, 0x5 + negs r3, r3 + adds r1, r3, 0 + ands r0, r1 + strb r0, [r2] +_081D33F0: + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, 0x9 + bls _081D339E + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D338C + + thumb_func_start sub_81D3408 +sub_81D3408: @ 81D3408 + push {r4-r7,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x38] + lsls r0, 24 + lsrs r2, r0, 24 + movs r3, 0 + movs r1, 0x32 + ldrsh r0, [r4, r1] + adds r0, 0x1 + cmp r3, r0 + bge _081D3454 + ldr r5, =gSprites + movs r7, 0x1C + adds r7, r5 + mov r12, r7 + ldr r6, =sub_81D3564 +_081D3428: + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r2, r1, r5 + movs r7, 0x2E + ldrsh r0, [r2, r7] + lsls r0, 4 + adds r0, 0x1 + strh r0, [r2, 0x30] + add r1, r12 + str r6, [r1] + ldrh r0, [r2, 0x38] + lsls r0, 24 + lsrs r2, r0, 24 + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + movs r1, 0x32 + ldrsh r0, [r4, r1] + adds r0, 0x1 + cmp r3, r0 + blt _081D3428 +_081D3454: + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D3408 + + thumb_func_start sub_81D3464 +sub_81D3464: @ 81D3464 + push {lr} + adds r2, r0, 0 + movs r1, 0 + movs r3, 0 +_081D346C: + lsls r0, r1, 2 + adds r0, r2 + str r3, [r0] + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x9 + bls _081D346C + pop {r0} + bx r0 + thumb_func_end sub_81D3464 + + thumb_func_start sub_81D3480 +sub_81D3480: @ 81D3480 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + mov r8, r0 + lsls r1, 24 + lsrs r1, 24 + mov r10, r1 + lsls r2, 24 + movs r0, 0 + mov r9, r0 + lsrs r7, r2, 24 + movs r5, 0 + adds r0, r7, 0x1 + cmp r9, r0 + bge _081D34FE +_081D34A2: + ldr r0, =gUnknown_08625B14 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r3, r0, 24 + adds r6, r3, 0 + cmp r3, 0x40 + beq _081D34FE + lsls r0, r5, 2 + mov r1, r8 + adds r4, r0, r1 + lsls r0, r3, 4 + adds r0, r3 + lsls r0, 2 + ldr r1, =gSprites + adds r0, r1 + str r0, [r4] + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + ldr r0, [r4] + mov r1, r10 + strh r1, [r0, 0x36] + cmp r5, 0 + beq _081D34F0 + subs r0, r4, 0x4 + ldr r0, [r0] + strh r3, [r0, 0x38] + b _081D34F2 + .pool +_081D34F0: + mov r9, r6 +_081D34F2: + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + adds r0, r7, 0x1 + cmp r5, r0 + blt _081D34A2 +_081D34FE: + lsls r0, r7, 2 + add r0, r8 + ldr r0, [r0] + mov r1, r9 + strh r1, [r0, 0x38] + adds r0, r7, 0 + movs r1, 0x1 + mov r2, r8 + bl sub_81D338C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81D3480 + + thumb_func_start sub_81D3520 +sub_81D3520: @ 81D3520 + push {r4-r6,lr} + adds r6, r0, 0 + movs r5, 0 +_081D3526: + cmp r5, 0x9 + bhi _081D3544 + lsls r0, r5, 2 + adds r4, r0, r6 + ldr r0, [r4] + cmp r0, 0 + beq _081D3544 + bl DestroySprite + movs r0, 0 + str r0, [r4] + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + b _081D3526 +_081D3544: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_81D3520 + + thumb_func_start sub_81D354C +sub_81D354C: @ 81D354C + push {lr} + bl sub_81D3520 + movs r0, 0x68 + bl FreeSpriteTilesByTag + movs r0, 0x68 + bl FreeSpritePaletteByTag + pop {r0} + bx r0 + thumb_func_end sub_81D354C + + thumb_func_start sub_81D3564 +sub_81D3564: @ 81D3564 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x30] + movs r2, 0x30 + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _081D3592 + subs r0, r1, 0x1 + strh r0, [r4, 0x30] + lsls r0, 16 + cmp r0, 0 + bne _081D35DC + adds r0, r4, 0 + movs r1, 0 + bl SeekSpriteAnim + adds r2, r4, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] +_081D3592: + adds r0, r4, 0 + bl sub_81D3314 + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _081D35DC + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + movs r0, 0x34 + ldrsh r1, [r4, r0] + movs r2, 0x32 + ldrsh r0, [r4, r2] + cmp r1, r0 + bne _081D35D8 + cmp r1, 0x9 + bne _081D35D0 + adds r0, r4, 0 + bl sub_81D35E8 + ldr r0, =sub_81D32F4 + b _081D35DA + .pool +_081D35D0: + ldr r0, =sub_81D32D4 + b _081D35DA + .pool +_081D35D8: + ldr r0, =SpriteCallbackDummy +_081D35DA: + str r0, [r4, 0x1C] +_081D35DC: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D3564 + + thumb_func_start sub_81D35E8 +sub_81D35E8: @ 81D35E8 + push {r4-r7,lr} + adds r6, r0, 0 + ldrh r0, [r6, 0x38] + lsls r0, 24 + lsrs r1, r0, 24 + movs r5, 0 + movs r2, 0x32 + ldrsh r0, [r6, r2] + adds r0, 0x1 + cmp r5, r0 + bge _081D3636 + movs r0, 0x5 + negs r0, r0 + adds r7, r0, 0 +_081D3604: + lsls r4, r1, 4 + adds r4, r1 + lsls r4, 2 + ldr r0, =gSprites + adds r4, r0 + adds r0, r4, 0 + movs r1, 0 + bl SeekSpriteAnim + adds r1, r4, 0 + adds r1, 0x3E + ldrb r0, [r1] + ands r0, r7 + strb r0, [r1] + ldrh r0, [r4, 0x38] + lsls r0, 24 + lsrs r1, r0, 24 + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + movs r2, 0x32 + ldrsh r0, [r6, r2] + adds r0, 0x1 + cmp r5, r0 + blt _081D3604 +_081D3636: + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81D35E8 + + thumb_func_start DrawLevelUpWindowPg1 +DrawLevelUpWindowPg1: @ 81D3640 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x2C + mov r8, r0 + adds r6, r1, 0 + adds r5, r2, 0 + adds r4, r3, 0 + ldr r3, [sp, 0x4C] + ldr r0, [sp, 0x50] + mov r9, r0 + lsls r4, 24 + lsrs r4, 24 + lsls r3, 24 + lsrs r3, 24 + mov r1, r9 + lsls r1, 24 + lsrs r1, 24 + mov r9, r1 + mov r0, r8 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r1, r4, 4 + orrs r1, r4 + lsls r1, 24 + lsrs r1, 24 + str r3, [sp, 0x28] + bl FillWindowPixelBuffer + add r2, sp, 0xC + ldrh r0, [r5] + ldrh r1, [r6] + subs r0, r1 + strh r0, [r2] + ldrh r0, [r5, 0x2] + ldrh r1, [r6, 0x2] + subs r0, r1 + strh r0, [r2, 0x2] + ldrh r0, [r5, 0x4] + ldrh r1, [r6, 0x4] + subs r0, r1 + strh r0, [r2, 0x4] + ldrh r0, [r5, 0x8] + ldrh r1, [r6, 0x8] + subs r0, r1 + strh r0, [r2, 0x6] + ldrh r0, [r5, 0xA] + ldrh r1, [r6, 0xA] + subs r0, r1 + strh r0, [r2, 0x8] + ldrh r0, [r5, 0x6] + ldrh r1, [r6, 0x6] + subs r0, r1 + strh r0, [r2, 0xA] + add r0, sp, 0x24 + strb r4, [r0] + ldr r3, [sp, 0x28] + strb r3, [r0, 0x1] + mov r1, r9 + strb r1, [r0, 0x2] + movs r7, 0 + mov r10, r0 + movs r0, 0x1 + negs r0, r0 + mov r9, r0 + add r6, sp, 0x18 +_081D36CA: + lsls r0, r7, 4 + subs r0, r7 + lsls r0, 24 + lsrs r5, r0, 24 + mov r1, r10 + str r1, [sp] + mov r0, r9 + str r0, [sp, 0x4] + ldr r1, =gUnknown_08625B54 + lsls r0, r7, 2 + adds r0, r1 + ldr r0, [r0] + str r0, [sp, 0x8] + mov r0, r8 + movs r1, 0x1 + movs r2, 0 + adds r3, r5, 0 + bl AddTextPrinterParameterized3 + lsls r0, r7, 1 + mov r4, sp + adds r4, r0 + adds r4, 0xC + movs r1, 0 + ldrsh r0, [r4, r1] + ldr r1, =gText_Dash + cmp r0, 0 + blt _081D3704 + ldr r1, =gText_UnkCtrlF904 +_081D3704: + adds r0, r6, 0 + bl StringCopy + mov r0, r10 + str r0, [sp] + mov r1, r9 + str r1, [sp, 0x4] + str r6, [sp, 0x8] + mov r0, r8 + movs r1, 0x1 + movs r2, 0x38 + adds r3, r5, 0 + bl AddTextPrinterParameterized3 + movs r0, 0 + ldrsh r1, [r4, r0] + adds r0, r1, 0 + cmp r1, 0 + bge _081D372C + negs r0, r1 +_081D372C: + movs r4, 0xC + cmp r0, 0x9 + bgt _081D3734 + movs r4, 0x12 +_081D3734: + cmp r1, 0 + bge _081D373A + negs r1, r1 +_081D373A: + adds r0, r6, 0 + movs r2, 0 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + adds r2, r4, 0 + adds r2, 0x38 + mov r1, r10 + str r1, [sp] + mov r0, r9 + str r0, [sp, 0x4] + str r6, [sp, 0x8] + mov r0, r8 + movs r1, 0x1 + adds r3, r5, 0 + bl AddTextPrinterParameterized3 + adds r0, r7, 0x1 + lsls r0, 16 + lsrs r7, r0, 16 + cmp r7, 0x5 + bls _081D36CA + add sp, 0x2C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end DrawLevelUpWindowPg1 + + thumb_func_start DrawLevelUpWindowPg2 +DrawLevelUpWindowPg2: @ 81D3784 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x2C + mov r8, r0 + adds r5, r1, 0 + adds r4, r2, 0 + adds r6, r3, 0 + ldr r2, [sp, 0x4C] + lsls r4, 24 + lsrs r4, 24 + lsls r6, 24 + lsrs r6, 24 + lsls r2, 24 + lsrs r2, 24 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r1, r4, 4 + orrs r1, r4 + lsls r1, 24 + lsrs r1, 24 + str r2, [sp, 0x28] + bl FillWindowPixelBuffer + add r1, sp, 0xC + ldrh r0, [r5] + strh r0, [r1] + ldrh r0, [r5, 0x2] + strh r0, [r1, 0x2] + ldrh r0, [r5, 0x4] + strh r0, [r1, 0x4] + ldrh r0, [r5, 0x8] + strh r0, [r1, 0x6] + ldrh r0, [r5, 0xA] + strh r0, [r1, 0x8] + ldrh r0, [r5, 0x6] + strh r0, [r1, 0xA] + add r0, sp, 0x24 + strb r4, [r0] + strb r6, [r0, 0x1] + ldr r2, [sp, 0x28] + strb r2, [r0, 0x2] + movs r6, 0 + add r1, sp, 0x18 + mov r9, r1 + mov r7, r8 + mov r10, r0 + movs r2, 0x1 + negs r2, r2 + mov r8, r2 +_081D37EE: + lsls r1, r6, 1 + mov r0, sp + adds r0, r1 + adds r0, 0xC + movs r2, 0 + ldrsh r0, [r0, r2] + movs r4, 0x3 + cmp r0, 0x63 + bgt _081D3808 + movs r4, 0x1 + cmp r0, 0x9 + ble _081D3808 + movs r4, 0x2 +_081D3808: + mov r0, sp + adds r0, r1 + adds r0, 0xC + movs r2, 0 + ldrsh r1, [r0, r2] + mov r0, r9 + movs r2, 0 + adds r3, r4, 0 + bl ConvertIntToDecimalStringN + movs r0, 0x4 + subs r0, r4 + lsls r4, r0, 1 + adds r4, r0 + lsls r4, 17 + lsrs r4, 16 + lsls r5, r6, 4 + subs r5, r6 + lsls r5, 24 + lsrs r5, 24 + mov r0, r10 + str r0, [sp] + mov r1, r8 + str r1, [sp, 0x4] + ldr r1, =gUnknown_08625B54 + lsls r0, r6, 2 + adds r0, r1 + ldr r0, [r0] + str r0, [sp, 0x8] + adds r0, r7, 0 + movs r1, 0x1 + movs r2, 0 + adds r3, r5, 0 + bl AddTextPrinterParameterized3 + adds r4, 0x38 + lsls r4, 24 + lsrs r4, 24 + mov r2, r10 + str r2, [sp] + mov r0, r8 + str r0, [sp, 0x4] + mov r1, r9 + str r1, [sp, 0x8] + adds r0, r7, 0 + movs r1, 0x1 + adds r2, r4, 0 + adds r3, r5, 0 + bl AddTextPrinterParameterized3 + adds r0, r6, 0x1 + lsls r0, 16 + lsrs r6, r0, 16 + cmp r6, 0x5 + bls _081D37EE + add sp, 0x2C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end DrawLevelUpWindowPg2 + + thumb_func_start GetMonLevelUpWindowStats +GetMonLevelUpWindowStats: @ 81D388C + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r1, 0x3A @ MON_DATA_MAX_HP + bl GetMonData + strh r0, [r5] + adds r0, r4, 0 + movs r1, 0x3B @ MON_DATA_ATK + bl GetMonData + strh r0, [r5, 0x2] + adds r0, r4, 0 + movs r1, 0x3C @ MON_DATA_DEF + bl GetMonData + strh r0, [r5, 0x4] + adds r0, r4, 0 + movs r1, 0x3D @ MON_DATA_SPEED + bl GetMonData + strh r0, [r5, 0x6] + adds r0, r4, 0 + movs r1, 0x3E @ MON_DATA_SPATK + bl GetMonData + strh r0, [r5, 0x8] + adds r0, r4, 0 + movs r1, 0x3F @ MON_DATA_SPDEF + bl GetMonData + strh r0, [r5, 0xA] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetMonLevelUpWindowStats + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_81D1C44.s b/asm/rom_81D1C44.s index 99bd11b0d2..001ac1b68f 100644 --- a/asm/rom_81D1C44.s +++ b/asm/rom_81D1C44.s @@ -5,3724 +5,6 @@ .syntax unified .text - - - thumb_func_start sub_81D1C44 -sub_81D1C44: @ 81D1C44 - push {r4,lr} - lsls r0, 24 - ldr r4, =gUnknown_0203CF4C - lsrs r0, 21 - adds r0, 0x8 - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _081D1C60 - movs r0, 0 - b _081D1C7A - .pool -_081D1C60: - movs r2, 0 - ldr r4, =gUnknown_0203CF48 - movs r3, 0xFF -_081D1C66: - adds r0, r2, r4 - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _081D1C66 - movs r0, 0x1 -_081D1C7A: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D1C44 - - thumb_func_start sub_81D1C84 -sub_81D1C84: @ 81D1C84 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r6, =gUnknown_0203CF48 - adds r5, r4, r6 - ldrb r0, [r5] - cmp r0, 0xFF - bne _081D1CEC - cmp r4, 0x2 - bne _081D1CD4 - ldr r0, =gUnknown_086253E8 - ldr r1, [r0, 0x14] - ldr r0, [r0, 0x10] - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, =gMailboxMailOptions - movs r1, 0x4 - bl GetMaxWidthInMenuTable - lsls r0, 24 - ldr r2, =0x00ffffff - ldr r1, [sp] - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - bl AddWindow - strb r0, [r6, 0x2] - b _081D1CE0 - .pool -_081D1CD4: - lsls r0, r4, 3 - ldr r1, =gUnknown_086253E8 - adds r0, r1 - bl AddWindow - strb r0, [r5] -_081D1CE0: - ldr r0, =gUnknown_0203CF48 - adds r0, r4, r0 - ldrb r0, [r0] - movs r1, 0 - bl SetStandardWindowBorderStyle -_081D1CEC: - ldr r0, =gUnknown_0203CF48 - adds r0, r4, r0 - ldrb r0, [r0] - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D1C84 - - thumb_func_start sub_81D1D04 -sub_81D1D04: @ 81D1D04 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_0203CF48 - adds r4, r0 - ldrb r0, [r4] - movs r1, 0 - bl sub_8198070 - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0xFF - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1D04 - - thumb_func_start sub_81D1D34 -sub_81D1D34: @ 81D1D34 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203CF48 - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_81D1D34 - - thumb_func_start sub_81D1D44 -sub_81D1D44: @ 81D1D44 - push {r4,r5,lr} - sub sp, 0x34 - adds r3, r1, 0 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0x2 - negs r0, r0 - cmp r3, r0 - beq _081D1DAC - ldr r0, =gSaveBlock1Ptr - lsls r1, r3, 3 - adds r1, r3 - lsls r1, 2 - ldr r0, [r0] - adds r1, r0 - ldr r0, =0x00002cca - adds r1, r0 - add r0, sp, 0x14 - bl StringCopy - add r0, sp, 0x14 - bl sub_81DB52C - add r0, sp, 0x14 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5 - bhi _081D1D8C - add r0, sp, 0x14 - movs r1, 0x1 - bl ConvertInternationalString -_081D1D8C: - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - ldr r0, =gUnknown_08625400 - str r0, [sp, 0x8] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0xC] - add r0, sp, 0x14 - str r0, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x8 - adds r3, r5, 0 - bl AddTextPrinterParameterized4 -_081D1DAC: - add sp, 0x34 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1D44 - - thumb_func_start sub_81D1DC0 -sub_81D1DC0: @ 81D1DC0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r5, r0, 0 - movs r3, 0 - ldr r7, =gUnknown_0203CF4C - ldr r0, =gText_Cancel2 - mov r12, r0 - ldr r4, =gMultiuseListMenuTemplate - ldr r1, =gUnknown_0203CF48 - mov r8, r1 - ldr r2, =sub_81D1E7C - mov r9, r2 - ldr r0, =sub_81D1D44 - mov r10, r0 - ldrb r1, [r5, 0x5] - cmp r3, r1 - bcs _081D1E02 - adds r6, r7, 0 - ldr r2, =gUnknown_08625403 -_081D1DEC: - ldr r1, [r6] - lsls r0, r3, 3 - adds r0, r1 - str r2, [r0] - str r3, [r0, 0x4] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - ldrb r0, [r5, 0x5] - cmp r3, r0 - bcc _081D1DEC -_081D1E02: - ldr r2, [r7] - lsls r0, r3, 3 - adds r0, r2 - mov r1, r12 - str r1, [r0] - movs r1, 0x2 - negs r1, r1 - str r1, [r0, 0x4] - str r2, [r4] - ldrb r0, [r5, 0x5] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0xC] - mov r2, r8 - ldrb r0, [r2, 0x1] - strb r0, [r4, 0x10] - strb r1, [r4, 0x11] - movs r0, 0x8 - strb r0, [r4, 0x12] - strb r1, [r4, 0x13] - strh r0, [r4, 0xE] - movs r0, 0x29 - strb r0, [r4, 0x14] - movs r0, 0x31 - strb r0, [r4, 0x15] - mov r0, r9 - str r0, [r4, 0x4] - mov r1, r10 - str r1, [r4, 0x8] - movs r0, 0x1 - strb r0, [r4, 0x17] - movs r0, 0 - strb r0, [r4, 0x16] - ldrh r1, [r5, 0x2] - ldrh r2, [r5] - adds r0, r4, 0 - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D1DC0 - - thumb_func_start sub_81D1E7C -sub_81D1E7C: @ 81D1E7C - push {lr} - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _081D1E8C - movs r0, 0x5 - bl PlaySE -_081D1E8C: - pop {r0} - bx r0 - thumb_func_end sub_81D1E7C - - thumb_func_start sub_81D1E90 -sub_81D1E90: @ 81D1E90 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - ldrb r0, [r4, 0x5] - ldrb r1, [r4, 0x4] - subs r0, r1 - adds r0, 0x1 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r4, 0x2 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xC8 - movs r2, 0xC - movs r3, 0x94 - bl AddScrollIndicatorArrowPairParameterized - strb r0, [r4, 0x9] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81D1E90 - - thumb_func_start sub_81D1EC0 -sub_81D1EC0: @ 81D1EC0 - push {lr} - ldr r0, =gUnknown_0203CF4C - ldr r0, [r0] - bl Free - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1EC0 - - thumb_func_start sub_81D1ED4 -sub_81D1ED4: @ 81D1ED4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r3, r0, 0 - movs r6, 0 - movs r7, 0 -_081D1EE6: - movs r2, 0 - lsls r5, r6, 2 - adds r0, r6, 0x1 - mov r10, r0 - adds r4, r5, 0 -_081D1EF0: - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r0, r4, r0 - adds r0, r3, r0 - adds r1, r0, 0 - adds r1, 0x64 - strh r7, [r1] - adds r0, 0x66 - strh r7, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x9 - bls _081D1EF0 - movs r2, 0 - mov r9, r2 - str r5, [sp] - movs r1, 0x9B - mov r8, r1 - movs r4, 0x5B - mov r12, r4 -_081D1F1C: - lsls r0, r2, 2 - adds r0, r2 - adds r1, r6, r0 - adds r1, r3, r1 - mov r4, r9 - strb r4, [r1] - lsls r0, 2 - ldr r1, [sp] - adds r0, r1, r0 - adds r0, r3, r0 - mov r4, r8 - strh r4, [r0, 0x14] - mov r1, r12 - strh r1, [r0, 0x16] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _081D1F1C - adds r1, r3, r5 - movs r2, 0x96 - lsls r2, 1 - adds r0, r1, r2 - strh r7, [r0] - movs r4, 0x97 - lsls r4, 1 - adds r0, r1, r4 - strh r7, [r0] - mov r1, r10 - lsls r0, r1, 24 - lsrs r6, r0, 24 - cmp r6, 0x4 - bls _081D1EE6 - movs r2, 0xD5 - lsls r2, 2 - adds r0, r3, r2 - movs r1, 0 - strb r1, [r0] - ldr r4, =0x00000352 - adds r0, r3, r4 - strh r1, [r0] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1ED4 - - thumb_func_start sub_81D1F84 -sub_81D1F84: @ 81D1F84 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r8, r0 - str r1, [sp] - mov r9, r2 - movs r7, 0 -_081D1F98: - lsls r4, r7, 2 - ldr r1, [sp] - adds r0, r4, r1 - ldrh r1, [r0] - lsls r5, r1, 8 - mov r2, r9 - adds r0, r4, r2 - ldrh r0, [r0] - subs r0, r1 - lsls r0, 8 - movs r1, 0xA - bl __divsi3 - adds r6, r0, 0 - movs r3, 0 - adds r7, 0x1 - mov r10, r7 - mov r12, r4 -_081D1FBC: - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - add r0, r12 - add r0, r8 - asrs r2, r5, 8 - asrs r1, r5, 7 - movs r7, 0x1 - ands r1, r7 - adds r2, r1 - adds r0, 0x64 - strh r2, [r0] - adds r5, r6 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x8 - bls _081D1FBC - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - adds r0, r4, r0 - add r0, r8 - mov r1, r9 - adds r2, r4, r1 - ldrh r1, [r2] - adds r0, 0x64 - strh r1, [r0] - ldr r7, [sp] - adds r0, r4, r7 - ldrh r1, [r0, 0x2] - lsls r5, r1, 8 - ldrh r0, [r2, 0x2] - subs r0, r1 - lsls r0, 8 - movs r1, 0xA - bl __divsi3 - adds r6, r0, 0 - movs r3, 0 - str r4, [sp, 0x4] - movs r0, 0x1 - mov r12, r0 -_081D2012: - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - ldr r1, [sp, 0x4] - adds r0, r1, r0 - add r0, r8 - asrs r2, r5, 8 - asrs r1, r5, 7 - mov r7, r12 - ands r1, r7 - adds r2, r1 - adds r0, 0x66 - strh r2, [r0] - adds r5, r6 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x8 - bls _081D2012 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - adds r0, r4, r0 - add r0, r8 - mov r2, r9 - adds r1, r4, r2 - ldrh r1, [r1, 0x2] - adds r0, 0x66 - strh r1, [r0] - mov r7, r10 - lsls r0, r7, 16 - lsrs r7, r0, 16 - cmp r7, 0x4 - bls _081D1F98 - ldr r1, =0x00000352 - add r1, r8 - movs r0, 0 - strh r0, [r1] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1F84 - - thumb_func_start sub_81D2074 -sub_81D2074: @ 81D2074 - push {r4,lr} - adds r1, r0, 0 - ldr r0, =0x00000352 - adds r4, r1, r0 - ldrh r0, [r4] - cmp r0, 0x9 - bls _081D208C - movs r0, 0 - b _081D20A6 - .pool -_081D208C: - adds r0, r1, 0 - bl sub_81D2230 - ldrh r1, [r4] - adds r1, 0x1 - strh r1, [r4] - lsls r1, 16 - lsrs r1, 16 - movs r0, 0xA - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 -_081D20A6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81D2074 - - thumb_func_start sub_81D20AC -sub_81D20AC: @ 81D20AC - ldr r1, =0x00000355 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - bx lr - .pool - thumb_func_end sub_81D20AC - - thumb_func_start sub_81D20BC -sub_81D20BC: @ 81D20BC - push {r4,r5,lr} - sub sp, 0xC - ldr r1, =0x00000355 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - beq _081D20D4 - cmp r0, 0x1 - beq _081D20E2 - b _081D20FA - .pool -_081D20D4: - bl ScanlineEffect_Clear - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - movs r0, 0x1 - b _081D20FC -_081D20E2: - mov r0, sp - ldr r1, =gUnknown_08625404 - ldm r1!, {r2,r3,r5} - stm r0!, {r2,r3,r5} - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] -_081D20FA: - movs r0, 0 -_081D20FC: - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D20BC - - thumb_func_start sub_81D2108 -sub_81D2108: @ 81D2108 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - adds r6, r0, 0 - movs r1, 0xD5 - lsls r1, 2 - adds r0, r6, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _081D21BE - adds r0, r6, 0 - bl sub_81D24A4 - adds r0, r6, 0 - bl sub_81D2634 - movs r7, 0 - ldr r5, =gScanlineEffectRegBuffers - mov r12, r5 - movs r0, 0xF0 - lsls r0, 3 - add r0, r12 - mov r9, r0 - movs r1, 0xA0 - lsls r1, 1 - adds r1, r6, r1 - str r1, [sp] - ldr r5, =0x0000ffff - mov r8, r5 - movs r0, 0xA1 - lsls r0, 1 - adds r0, r6, r0 - str r0, [sp, 0x4] - movs r1, 0x92 - lsls r1, 2 - adds r1, r6, r1 - str r1, [sp, 0x8] - ldr r5, =0x0000024a - adds r5, r6 - mov r10, r5 -_081D215E: - adds r2, r7, 0 - adds r2, 0x37 - lsls r3, r2, 2 - mov r0, r9 - adds r0, r3, r0 - str r0, [sp, 0xC] - add r3, r12 - lsls r4, r7, 2 - ldr r1, [sp] - adds r0, r1, r4 - ldrh r0, [r0] - lsls r0, 8 - ldr r5, [sp, 0x4] - adds r1, r5, r4 - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r3] - mov r1, r8 - ands r0, r1 - ldr r5, [sp, 0xC] - strh r0, [r5] - lsls r2, 1 - adds r2, 0x1 - lsls r2, 1 - mov r0, r9 - adds r3, r2, r0 - add r2, r12 - ldr r1, [sp, 0x8] - adds r0, r1, r4 - ldrh r0, [r0] - lsls r0, 8 - add r4, r10 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r2] - mov r5, r8 - ands r0, r5 - strh r0, [r3] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x41 - bls _081D215E - movs r0, 0xD5 - lsls r0, 2 - adds r1, r6, r0 - movs r0, 0 - strb r0, [r1] -_081D21BE: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D2108 - - thumb_func_start sub_81D21DC -sub_81D21DC: @ 81D21DC - push {r4,r5,lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _081D21E8 - movs r1, 0 -_081D21E8: - movs r0, 0x1 - lsls r0, r1 - movs r5, 0x1F - bics r5, r0 - movs r0, 0x40 - movs r1, 0xF0 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0x9B - bl SetGpuReg - ldr r4, =0x00003879 - movs r0, 0x44 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x46 - adds r1, r4, 0 - bl SetGpuReg - ldr r1, =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - movs r0, 0x4A - adds r1, r5, 0 - bl SetGpuReg - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D21DC - - thumb_func_start sub_81D2230 -sub_81D2230: @ 81D2230 - push {r4-r7,lr} - mov r12, r0 - movs r4, 0 - movs r7, 0x96 - lsls r7, 1 - add r7, r12 - ldr r6, =0x00000352 - add r6, r12 - mov r5, r12 - adds r5, 0x64 -_081D2244: - lsls r2, r4, 2 - adds r3, r7, r2 - ldrh r1, [r6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, r0 - adds r2, r5, r2 - ldr r0, [r2] - str r0, [r3] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _081D2244 - movs r1, 0xD5 - lsls r1, 2 - add r1, r12 - movs r0, 0x1 - strb r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D2230 - - thumb_func_start sub_81D2278 -sub_81D2278: @ 81D2278 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - str r0, [sp] - adds r6, r1, 0 - adds r5, r2, 0 - str r3, [sp, 0x4] - ldr r0, [sp, 0x38] - ldr r7, [sp, 0x3C] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r0, 0 - str r0, [sp, 0xC] - ldrh r0, [r5, 0x2] - ldrh r1, [r3, 0x2] - cmp r0, r1 - bcs _081D22B2 - adds r2, r0, 0 - mov r10, r2 - ldrh r0, [r3, 0x2] - ldrh r1, [r5] - lsls r4, r1, 10 - ldrh r3, [r3] - str r3, [sp, 0x8] - b _081D22C6 -_081D22B2: - ldrh r0, [r5, 0x2] - ldr r1, [sp, 0x4] - ldrh r1, [r1, 0x2] - mov r10, r1 - ldr r2, [sp, 0x4] - ldrh r1, [r2] - lsls r4, r1, 10 - ldrh r3, [r5] - str r3, [sp, 0x8] - mov r2, r10 -_081D22C6: - subs r0, r2 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r0, 0 - beq _081D22DE - subs r0, r3, r1 - lsls r0, 10 - mov r1, r8 - bl __divsi3 - str r0, [sp, 0xC] -_081D22DE: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r7, 0 - bne _081D2328 - mov r0, r10 - subs r0, 0x38 - lsls r0, 2 - adds r6, r0 - movs r5, 0 - mov r3, r9 - lsls r3, 1 - mov r12, r3 - ldr r0, [sp, 0x8] - add r0, r9 - str r0, [sp, 0x10] - cmp r7, r8 - bcs _081D23B6 - movs r7, 0x1 -_081D2308: - adds r2, r3, r6 - asrs r1, r4, 10 - asrs r0, r4, 9 - ands r0, r7 - adds r1, r0 - add r1, r9 - strh r1, [r2] - ldr r1, [sp, 0xC] - adds r4, r1 - adds r6, 0x4 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcc _081D2308 - b _081D23B6 -_081D2328: - ldr r2, [sp, 0xC] - cmp r2, 0 - ble _081D23C0 - mov r0, r10 - subs r0, 0x38 - lsls r0, 2 - adds r7, r0 - movs r5, 0 - mov r3, r9 - lsls r3, 1 - mov r12, r3 - ldr r0, [sp, 0x8] - add r0, r9 - str r0, [sp, 0x10] - cmp r5, r8 - bcs _081D237A - ldr r0, =0x00026bff - cmp r4, r0 - bgt _081D237A - mov r1, r12 - str r1, [sp, 0x14] -_081D2352: - ldr r3, [sp, 0x14] - adds r2, r3, r7 - asrs r1, r4, 10 - asrs r0, r4, 9 - movs r3, 0x1 - ands r0, r3 - adds r1, r0 - add r1, r9 - strh r1, [r2] - ldr r0, [sp, 0xC] - adds r4, r0 - adds r7, 0x4 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcs _081D237A - ldr r1, =0x00026bff - cmp r4, r1 - ble _081D2352 -_081D237A: - mov r2, r10 - adds r1, r2, r5 - ldr r3, [sp] - movs r2, 0xD4 - lsls r2, 2 - adds r0, r3, r2 - strh r1, [r0] - ldrh r0, [r0] - subs r0, 0x38 - lsls r0, 2 - adds r6, r0 - cmp r5, r8 - bcs _081D23B6 - mov r3, r12 - movs r7, 0x1 -_081D2398: - adds r2, r3, r6 - asrs r1, r4, 10 - asrs r0, r4, 9 - ands r0, r7 - adds r1, r0 - add r1, r9 - strh r1, [r2] - ldr r0, [sp, 0xC] - adds r4, r0 - adds r6, 0x4 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcc _081D2398 -_081D23B6: - subs r0, r6, 0x4 - b _081D248C - .pool -_081D23C0: - ldr r1, [sp, 0xC] - cmp r1, 0 - bge _081D2464 - mov r0, r10 - subs r0, 0x38 - lsls r0, 2 - adds r6, r0 - movs r5, 0 - mov r2, r9 - lsls r2, 1 - mov r12, r2 - ldr r3, [sp, 0x8] - add r3, r9 - str r3, [sp, 0x10] - cmp r5, r8 - bcs _081D241E - adds r3, r2, r6 - asrs r1, r4, 10 - asrs r0, r4, 9 - movs r2, 0x1 - ands r0, r2 - adds r1, r0 - add r1, r9 - strh r1, [r3] - b _081D2414 -_081D23F2: - ldr r0, [sp, 0xC] - adds r4, r0 - adds r6, 0x4 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcs _081D241E - mov r1, r12 - adds r3, r1, r6 - asrs r2, r4, 10 - asrs r0, r4, 9 - movs r1, 0x1 - ands r0, r1 - adds r2, r0 - add r2, r9 - strh r2, [r3] -_081D2414: - ldr r0, =0x00026bff - cmp r4, r0 - bgt _081D23F2 - movs r0, 0x9B - strh r0, [r3] -_081D241E: - mov r2, r10 - adds r1, r2, r5 - ldr r3, [sp] - movs r2, 0xD4 - lsls r2, 2 - adds r0, r3, r2 - strh r1, [r0] - ldrh r0, [r0] - subs r0, 0x38 - lsls r0, 2 - adds r7, r0 - cmp r5, r8 - bcs _081D245A - mov r3, r12 - movs r6, 0x1 -_081D243C: - adds r2, r3, r7 - asrs r1, r4, 10 - asrs r0, r4, 9 - ands r0, r6 - adds r1, r0 - add r1, r9 - strh r1, [r2] - ldr r0, [sp, 0xC] - adds r4, r0 - adds r7, 0x4 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcc _081D243C -_081D245A: - subs r0, r7, 0x4 - b _081D248C - .pool -_081D2464: - ldr r1, [sp] - movs r2, 0xD4 - lsls r2, 2 - adds r0, r1, r2 - mov r3, r10 - strh r3, [r0] - mov r0, r10 - subs r0, 0x38 - lsls r0, 2 - adds r6, r0 - adds r7, r0 - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r6, 0x2] - ldr r1, [sp, 0x4] - ldrh r0, [r1] - strh r0, [r7] - movs r0, 0x9B - strh r0, [r7, 0x2] - b _081D2494 -_081D248C: - add r0, r12 - mov r2, sp - ldrh r2, [r2, 0x10] - strh r2, [r0] -_081D2494: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D2278 - - thumb_func_start sub_81D24A4 -sub_81D24A4: @ 81D24A4 - push {r4-r7,lr} - sub sp, 0x8 - adds r4, r0, 0 - movs r0, 0x97 - lsls r0, 1 - adds r2, r4, r0 - movs r3, 0x99 - lsls r3, 1 - adds r1, r4, r3 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bcs _081D24E0 - adds r7, r0, 0 - movs r0, 0xA0 - lsls r0, 1 - adds r1, r4, r0 - movs r3, 0x96 - lsls r3, 1 - adds r2, r4, r3 - subs r0, 0x10 - adds r3, r4, r0 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r4, 0 - bl sub_81D2278 - b _081D2500 -_081D24E0: - ldrh r7, [r1] - movs r2, 0xA0 - lsls r2, 1 - adds r1, r4, r2 - movs r3, 0x98 - lsls r3, 1 - adds r2, r4, r3 - movs r0, 0x96 - lsls r0, 1 - adds r3, r4, r0 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r4, 0 - bl sub_81D2278 -_081D2500: - movs r1, 0xA0 - lsls r1, 1 - adds r5, r4, r1 - movs r3, 0x98 - lsls r3, 1 - adds r2, r4, r3 - movs r0, 0x9A - lsls r0, 1 - adds r6, r4, r0 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r4, 0 - adds r1, r5, 0 - adds r3, r6, 0 - bl sub_81D2278 - movs r2, 0 - movs r1, 0x9B - lsls r1, 1 - adds r0, r4, r1 - movs r3, 0x9D - lsls r3, 1 - adds r1, r4, r3 - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - bhi _081D253C - movs r2, 0x1 -_081D253C: - movs r0, 0x9C - lsls r0, 1 - adds r3, r4, r0 - str r2, [sp] - movs r1, 0x92 - lsls r1, 2 - adds r0, r4, r1 - str r0, [sp, 0x4] - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_81D2278 - movs r2, 0x38 - cmp r2, r7 - bcs _081D257E - adds r6, r5, 0 - movs r3, 0 - movs r0, 0xA1 - lsls r0, 1 - adds r5, r4, r0 -_081D2566: - adds r0, r2, 0 - subs r0, 0x38 - lsls r0, 2 - adds r1, r6, r0 - strh r3, [r1] - adds r0, r5, r0 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r7 - bcc _081D2566 -_081D257E: - movs r1, 0x97 - lsls r1, 1 - adds r0, r4, r1 - ldrh r2, [r0] - movs r3, 0xD4 - lsls r3, 2 - adds r0, r4, r3 - ldrh r1, [r0] - cmp r2, r1 - bhi _081D25B2 - movs r1, 0xA0 - lsls r1, 1 - adds r3, r4, r1 - movs r5, 0x9B - adds r1, r0, 0 -_081D259C: - adds r0, r2, 0 - subs r0, 0x38 - lsls r0, 2 - adds r0, r3, r0 - strh r5, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r1] - cmp r2, r0 - bls _081D259C -_081D25B2: - movs r2, 0x9B - lsls r2, 1 - adds r1, r4, r2 - movs r3, 0xD4 - lsls r3, 2 - adds r0, r4, r3 - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - bcs _081D25C8 - adds r0, r1, 0 -_081D25C8: - adds r0, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x79 - bhi _081D25F8 - movs r0, 0xA0 - lsls r0, 1 - adds r6, r4, r0 - movs r3, 0 - movs r1, 0xA1 - lsls r1, 1 - adds r5, r4, r1 -_081D25E0: - adds r0, r2, 0 - subs r0, 0x38 - lsls r0, 2 - adds r1, r6, r0 - strh r3, [r1] - adds r0, r5, r0 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x79 - bls _081D25E0 -_081D25F8: - movs r2, 0x38 - movs r3, 0xA0 - lsls r3, 1 - adds r5, r4, r3 - movs r0, 0xA1 - lsls r0, 1 - adds r4, r0 - movs r6, 0x9B -_081D2608: - adds r0, r2, 0 - subs r0, 0x38 - lsls r1, r0, 2 - adds r3, r5, r1 - ldrh r0, [r3] - cmp r0, 0 - bne _081D2620 - adds r0, r4, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _081D2620 - strh r6, [r3] -_081D2620: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x79 - bls _081D2608 - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D24A4 - - thumb_func_start sub_81D2634 -sub_81D2634: @ 81D2634 - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - movs r0, 0x97 - lsls r0, 1 - adds r2, r4, r0 - movs r3, 0x9F - lsls r3, 1 - adds r1, r4, r3 - ldrh r0, [r2] - ldrh r5, [r1] - cmp r0, r5 - bcs _081D266E - adds r6, r0, 0 - movs r0, 0x92 - lsls r0, 2 - adds r1, r4, r0 - subs r3, 0x12 - adds r2, r4, r3 - movs r5, 0x9E - lsls r5, 1 - adds r3, r4, r5 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r4, 0 - bl sub_81D2278 - b _081D2690 -_081D266E: - ldrh r6, [r1] - movs r0, 0x92 - lsls r0, 2 - adds r1, r4, r0 - movs r3, 0x9E - lsls r3, 1 - adds r2, r4, r3 - movs r5, 0x96 - lsls r5, 1 - adds r3, r4, r5 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r4, 0 - bl sub_81D2278 -_081D2690: - movs r0, 0x92 - lsls r0, 2 - adds r5, r4, r0 - movs r1, 0x9E - lsls r1, 1 - adds r2, r4, r1 - movs r0, 0x9C - lsls r0, 1 - adds r3, r4, r0 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81D2278 - cmp r6, 0x38 - ble _081D26C8 - movs r0, 0 - adds r1, r5, 0 - adds r2, r6, 0 - subs r2, 0x38 -_081D26BC: - strh r0, [r1] - strh r0, [r1, 0x2] - adds r1, 0x4 - subs r2, 0x1 - cmp r2, 0 - bne _081D26BC -_081D26C8: - movs r1, 0x97 - lsls r1, 1 - adds r0, r4, r1 - ldrh r2, [r0] - movs r3, 0xD4 - lsls r3, 2 - adds r0, r4, r3 - ldrh r5, [r0] - cmp r2, r5 - bgt _081D26F6 - movs r3, 0x9B - adds r1, r0, 0 - lsls r0, r2, 2 - movs r5, 0xB5 - lsls r5, 1 - adds r0, r5 - adds r0, r4 -_081D26EA: - strh r3, [r0] - adds r0, 0x4 - adds r2, 0x1 - ldrh r5, [r1] - cmp r2, r5 - ble _081D26EA -_081D26F6: - movs r1, 0x9D - lsls r1, 1 - adds r0, r4, r1 - ldrh r0, [r0] - adds r1, r0, 0x1 - movs r2, 0xD4 - lsls r2, 2 - adds r0, r4, r2 - ldrh r0, [r0] - cmp r0, r1 - bge _081D270E - adds r0, r1, 0 -_081D270E: - adds r2, r0, 0 - cmp r2, 0x79 - bgt _081D272C - movs r1, 0 - lsls r0, r2, 2 - movs r3, 0xB4 - lsls r3, 1 - adds r0, r3 - adds r0, r4 -_081D2720: - strh r1, [r0] - strh r1, [r0, 0x2] - adds r0, 0x4 - adds r2, 0x1 - cmp r2, 0x79 - ble _081D2720 -_081D272C: - movs r3, 0 - movs r5, 0x92 - lsls r5, 2 - adds r1, r4, r5 - movs r2, 0x41 -_081D2736: - ldrh r0, [r1] - ldrh r4, [r1, 0x2] - cmp r0, r4 - bcc _081D2742 - strh r3, [r1, 0x2] - strh r3, [r1] -_081D2742: - adds r1, 0x4 - subs r2, 0x1 - cmp r2, 0 - bge _081D2736 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81D2634 - - thumb_func_start sub_81D2754 -sub_81D2754: @ 81D2754 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - mov r8, r1 - ldr r1, =gUnknown_08625410 - ldrb r0, [r6] - adds r0, r1 - ldrb r2, [r0] - adds r6, 0x1 - movs r0, 0x9B - mov r3, r8 - strh r0, [r3] - movs r0, 0x5B - subs r0, r2 - strh r0, [r3, 0x2] - movs r7, 0x40 - movs r0, 0 - mov r12, r0 - movs r2, 0x1 - mov r9, r2 - ldr r3, =gSineTable - mov r10, r3 -_081D2786: - adds r0, r7, 0 - adds r0, 0x33 - lsls r0, 24 - lsrs r7, r0, 24 - mov r1, r12 - lsls r0, r1, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r3, r0, 24 - mov r12, r3 - cmp r0, 0 - bge _081D27A4 - movs r0, 0x4 - mov r12, r0 -_081D27A4: - mov r1, r12 - lsls r0, r1, 24 - asrs r4, r0, 24 - cmp r4, 0x2 - bne _081D27B4 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_081D27B4: - ldrb r0, [r6] - ldr r2, =gUnknown_08625410 - adds r0, r2 - ldrb r2, [r0] - adds r6, 0x1 - lsls r0, r4, 2 - mov r1, r8 - adds r3, r0, r1 - adds r0, r7, 0 - adds r0, 0x40 - lsls r0, 1 - add r0, r10 - movs r1, 0 - ldrsh r0, [r0, r1] - muls r0, r2 - asrs r5, r0, 8 - adds r0, r5, 0 - adds r0, 0x9B - strh r0, [r3] - lsls r0, r7, 1 - add r0, r10 - movs r1, 0 - ldrsh r0, [r0, r1] - adds r1, r2, 0 - muls r1, r0 - asrs r1, 8 - movs r0, 0x5B - subs r0, r1 - strh r0, [r3, 0x2] - cmp r4, 0x2 - bgt _081D2800 - cmp r2, 0x20 - bne _081D27FA - cmp r4, 0x2 - beq _081D2800 -_081D27FA: - adds r0, r5, 0 - adds r0, 0x9C - strh r0, [r3] -_081D2800: - mov r0, r9 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - cmp r0, 0x4 - bls _081D2786 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D2754 - - thumb_func_start InitMoveRelearnerWindows -InitMoveRelearnerWindows: @ 81D2824 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gMoveRelearnerWindowTemplates - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - movs r1, 0x1 - movs r2, 0xE0 - bl LoadUserWindowBorderGfx - ldr r0, =gUnknown_0860F074 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r4, 0 -_081D284A: - adds r0, r4, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _081D284A - cmp r5, 0 - bne _081D287C - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0 - movs r2, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle - b _081D288E - .pool -_081D287C: - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle -_081D288E: - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0x2 - movs r1, 0 - movs r2, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle - movs r0, 0x3 - movs r1, 0 - movs r2, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle - bl nullsub_79 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end InitMoveRelearnerWindows - - thumb_func_start nullsub_79 -nullsub_79: @ 81D28C4 - bx lr - thumb_func_end nullsub_79 - - thumb_func_start LoadMoveRelearnerMovesList -LoadMoveRelearnerMovesList: @ 81D28C8 - push {r4-r7,lr} - lsls r1, 16 - lsrs r4, r1, 16 - ldr r3, =gMultiuseListMenuTemplate - adds r2, r3, 0 - ldr r1, =gMoveRelearnerMovesListTemplate - ldm r1!, {r5-r7} - stm r2!, {r5-r7} - ldm r1!, {r5-r7} - stm r2!, {r5-r7} - strh r4, [r3, 0xC] - str r0, [r3] - cmp r4, 0x5 - bhi _081D28F0 - strh r4, [r3, 0xE] - b _081D28F4 - .pool -_081D28F0: - movs r0, 0x6 - strh r0, [r3, 0xE] -_081D28F4: - ldrb r0, [r3, 0xE] - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end LoadMoveRelearnerMovesList - - thumb_func_start MoveRelearnerLoadBattleMoveDescription -MoveRelearnerLoadBattleMoveDescription: @ 81D28FC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - mov r9, r0 - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r5, =gText_BattleMoves2 - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x80 - bl GetStringCenterAlignXOffset - adds r4, r0, 0 - lsls r3, r4, 24 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - mov r8, r0 - str r0, [sp, 0x4] - movs r7, 0 - str r7, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - bl AddTextPrinterParameterized - ldr r5, =gText_PPSlash - movs r1, 0x29 - mov r10, r1 - str r1, [sp] - mov r0, r8 - str r0, [sp, 0x4] - str r7, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0x4 - bl AddTextPrinterParameterized - ldr r5, =gText_PowerSlash - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x6A - bl GetStringRightAlignXOffset - adds r4, r0, 0 - lsls r3, r4, 24 - lsrs r3, 24 - movs r1, 0x19 - str r1, [sp] - mov r0, r8 - str r0, [sp, 0x4] - str r7, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - bl AddTextPrinterParameterized - ldr r5, =gText_AccuracySlash - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x6A - bl GetStringRightAlignXOffset - adds r4, r0, 0 - lsls r3, r4, 24 - lsrs r3, 24 - mov r1, r10 - str r1, [sp] - mov r0, r8 - str r0, [sp, 0x4] - str r7, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - bl AddTextPrinterParameterized - movs r0, 0x2 - negs r0, r0 - cmp r9, r0 - bne _081D29C4 - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - b _081D2AB6 - .pool -_081D29C4: - mov r1, r9 - lsls r0, r1, 1 - add r0, r9 - lsls r0, 2 - ldr r1, =gBattleMoves - adds r6, r0, r1 - ldrb r1, [r6, 0x2] - lsls r0, r1, 3 - subs r0, r1 - ldr r1, =gTypeNames - adds r5, r0, r1 - movs r0, 0x19 - str r0, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r7, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0x4 - bl AddTextPrinterParameterized - ldr r1, =gText_PPSlash - movs r0, 0x1 - movs r2, 0 - bl GetStringWidth - adds r4, r0, 0x4 - ldrb r1, [r6, 0x4] - add r0, sp, 0xC - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - lsls r3, r4, 24 - lsrs r3, 24 - mov r0, r10 - str r0, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r7, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - add r2, sp, 0xC - bl AddTextPrinterParameterized - ldrb r0, [r6, 0x1] - cmp r0, 0x1 - bhi _081D2A3C - ldr r5, =gText_ThreeDashes - b _081D2A4A - .pool -_081D2A3C: - ldrb r1, [r6, 0x1] - add r0, sp, 0xC - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - add r5, sp, 0xC -_081D2A4A: - movs r0, 0x19 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0x6A - bl AddTextPrinterParameterized - ldrb r0, [r6, 0x3] - cmp r0, 0 - bne _081D2A70 - ldr r5, =gText_ThreeDashes - b _081D2A7E - .pool -_081D2A70: - ldrb r1, [r6, 0x3] - add r0, sp, 0xC - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - add r5, sp, 0xC -_081D2A7E: - movs r0, 0x29 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0x6A - bl AddTextPrinterParameterized - ldr r1, =gMoveDescriptionPointers - mov r0, r9 - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r5, [r0] - movs r0, 0x41 - str r0, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r1, 0x7 - adds r2, r5, 0 - movs r3, 0 - bl AddTextPrinterParameterized -_081D2AB6: - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end MoveRelearnerLoadBattleMoveDescription - - thumb_func_start MoveRelearnerMenuLoadContestMoveDescription -MoveRelearnerMenuLoadContestMoveDescription: @ 81D2ACC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - adds r4, r0, 0 - bl MoveRelearnerShowHideHearts - movs r0, 0x1 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r5, =gText_ContestMoves2 - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x80 - bl GetStringCenterAlignXOffset - lsls r3, r0, 24 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r7, 0xFF - str r7, [sp, 0x4] - movs r6, 0 - str r6, [sp, 0x8] - movs r1, 0x1 - adds r2, r5, 0 - bl AddTextPrinterParameterized - ldr r5, =gText_Appeal2 - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x5C - bl GetStringRightAlignXOffset - lsls r3, r0, 24 - lsrs r3, 24 - movs r0, 0x19 - mov r8, r0 - str r0, [sp] - str r7, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - adds r2, r5, 0 - bl AddTextPrinterParameterized - ldr r5, =gText_Jam2 - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x5C - bl GetStringRightAlignXOffset - lsls r3, r0, 24 - lsrs r3, 24 - movs r0, 0x29 - str r0, [sp] - str r7, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - adds r2, r5, 0 - bl AddTextPrinterParameterized - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - bne _081D2B6C - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - b _081D2BB8 - .pool -_081D2B6C: - lsls r4, 3 - ldr r0, =gContestMoves - adds r4, r0 - ldr r1, =gContestMoveTypeTextPointers - ldrb r0, [r4, 0x1] - lsls r0, 29 - lsrs r0, 27 - adds r0, r1 - ldr r5, [r0] - mov r0, r8 - str r0, [sp] - str r7, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0x4 - bl AddTextPrinterParameterized - ldr r1, =gContestEffectDescriptionPointers - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r5, [r0] - movs r0, 0x41 - str r0, [sp] - str r7, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x7 - adds r2, r5, 0 - movs r3, 0 - bl AddTextPrinterParameterized - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram -_081D2BB8: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end MoveRelearnerMenuLoadContestMoveDescription - - thumb_func_start MoveRelearnerCursorCallback -MoveRelearnerCursorCallback: @ 81D2BD0 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _081D2BE2 - movs r0, 0x5 - bl PlaySE -_081D2BE2: - adds r0, r4, 0 - bl MoveRelearnerLoadBattleMoveDescription - adds r0, r4, 0 - bl MoveRelearnerMenuLoadContestMoveDescription - pop {r4} - pop {r0} - bx r0 - thumb_func_end MoveRelearnerCursorCallback - - thumb_func_start MoveRelearnerPrintText -MoveRelearnerPrintText: @ 81D2BF4 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - movs r0, 0x3 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gTextFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - bl GetPlayerTextSpeedDelay - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r1, 0x1 - adds r2, r4, 0 - bl AddTextPrinterParameterized2 - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end MoveRelearnerPrintText - - thumb_func_start MoveRelearnerRunTextPrinters -MoveRelearnerRunTextPrinters: @ 81D2C3C - push {lr} - bl RunTextPrinters - movs r0, 0x3 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end MoveRelearnerRunTextPrinters - - thumb_func_start MoveRelearnerCreateYesNoMenu -MoveRelearnerCreateYesNoMenu: @ 81D2C50 - push {lr} - ldr r0, =gMoveRelearnerYesNoMenuTemplate - movs r1, 0x1 - movs r2, 0xE - movs r3, 0 - bl CreateYesNoMenu - pop {r0} - bx r0 - .pool - thumb_func_end MoveRelearnerCreateYesNoMenu - - thumb_func_start sub_81D2C68 -sub_81D2C68: @ 81D2C68 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - cmp r0, 0xE - bne _081D2CA8 - cmp r2, 0x2 - beq _081D2C7E - cmp r2, 0x7 - bne _081D2C94 -_081D2C7E: - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - adds r1, r2, 0 - adds r2, r3, 0 - bl GetMonData - b _081D2CCA - .pool -_081D2C94: - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - adds r1, r2, 0 - bl GetMonData - b _081D2CCA - .pool -_081D2CA8: - cmp r2, 0x2 - beq _081D2CB0 - cmp r2, 0x7 - bne _081D2CBE -_081D2CB0: - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - bl GetAndCopyBoxMonDataAt - b _081D2CCA -_081D2CBE: - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - bl GetBoxMonDataAt -_081D2CCA: - pop {r1} - bx r1 - thumb_func_end sub_81D2C68 - - thumb_func_start sub_81D2CD0 -sub_81D2CD0: @ 81D2CD0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r6, r2, 16 - movs r0, 0xFC - strb r0, [r5] - adds r5, 0x1 - movs r0, 0x4 - strb r0, [r5] - adds r5, 0x1 - movs r0, 0x8 - strb r0, [r5] - adds r5, 0x1 - movs r0, 0 - strb r0, [r5] - adds r5, 0x1 - movs r0, 0x9 - strb r0, [r5] - adds r5, 0x1 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x2D - movs r3, 0 - bl sub_81D2C68 - cmp r0, 0 - beq _081D2D20 - ldr r1, =gText_EggNickname - adds r0, r5, 0 - movs r2, 0 - movs r3, 0xC - bl StringCopyPadded - b _081D2E70 - .pool -_081D2D20: - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x2 - adds r3, r5, 0 - bl sub_81D2C68 - adds r0, r5, 0 - bl StringGetEnd10 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0xB - movs r3, 0 - bl sub_81D2C68 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r4, 0xE - bne _081D2D70 - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r0, r4, 0 - bl GetMonGender - lsls r0, 24 - lsrs r6, r0, 24 - b _081D2D92 - .pool -_081D2D70: - lsls r0, r4, 24 - lsrs r0, 24 - lsls r1, r6, 24 - lsrs r1, 24 - bl GetBoxedMonPtr - adds r4, r0, 0 - bl GetBoxMonGender - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - bl GetLevelFromBoxMonExp - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 -_081D2D92: - cmp r7, 0x1D - beq _081D2D9A - cmp r7, 0x20 - bne _081D2DB0 -_081D2D9A: - movs r0, 0xB - adds r1, r7, 0 - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - adds r0, r5, 0 - bl StringCompare - cmp r0, 0 - bne _081D2DB0 - movs r6, 0xFF -_081D2DB0: - adds r3, r5, 0 - b _081D2DBA - .pool -_081D2DB8: - adds r3, 0x1 -_081D2DBA: - ldrb r0, [r3] - cmp r0, 0xFF - bne _081D2DB8 - movs r1, 0xFC - strb r1, [r3] - adds r3, 0x1 - movs r0, 0x12 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x3C - strb r0, [r3] - adds r3, 0x1 - cmp r6, 0 - beq _081D2DDE - cmp r6, 0xFE - beq _081D2E02 - movs r0, 0 - b _081D2E24 -_081D2DDE: - strb r1, [r3] - adds r3, 0x1 - movs r0, 0x1 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x4 - strb r0, [r3] - adds r3, 0x1 - strb r1, [r3] - adds r3, 0x1 - movs r0, 0x3 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x5 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0xB5 - b _081D2E24 -_081D2E02: - strb r1, [r3] - adds r3, 0x1 - movs r0, 0x1 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x6 - strb r0, [r3] - adds r3, 0x1 - strb r1, [r3] - adds r3, 0x1 - movs r0, 0x3 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x7 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0xB6 -_081D2E24: - strb r0, [r3] - adds r3, 0x1 - movs r0, 0xFC - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x4 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x8 - strb r0, [r3] - adds r3, 0x1 - movs r4, 0 - strb r4, [r3] - adds r3, 0x1 - movs r0, 0x9 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0xBA - strb r0, [r3] - adds r3, 0x1 - movs r0, 0xF9 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x5 - strb r0, [r3] - adds r3, 0x1 - adds r0, r3, 0 - mov r1, r8 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r3, r0, 0 - strb r4, [r3] - adds r3, 0x1 - movs r0, 0xFF - strb r0, [r3] - adds r0, r3, 0 -_081D2E70: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81D2CD0 - - thumb_func_start sub_81D2E7C -sub_81D2E7C: @ 81D2E7C - push {r4,lr} - adds r4, r0, 0 - lsls r2, 16 - lsrs r2, 16 - b _081D2E94 -_081D2E86: - strb r3, [r4] - adds r1, 0x1 - adds r4, 0x1 - lsls r0, r2, 16 - ldr r2, =0xffff0000 - adds r0, r2 - lsrs r2, r0, 16 -_081D2E94: - ldrb r3, [r1] - adds r0, r3, 0 - cmp r0, 0xFF - bne _081D2E86 - adds r1, r2, 0 - lsls r0, r1, 16 - ldr r2, =0xffff0000 - adds r0, r2 - lsrs r2, r0, 16 - lsls r1, 16 - cmp r1, 0 - ble _081D2EC2 - movs r3, 0 -_081D2EAE: - strb r3, [r4] - adds r4, 0x1 - adds r1, r2, 0 - lsls r0, r1, 16 - ldr r2, =0xffff0000 - adds r0, r2 - lsrs r2, r0, 16 - lsls r1, 16 - cmp r1, 0 - bgt _081D2EAE -_081D2EC2: - movs r0, 0xFF - strb r0, [r4] - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D2E7C - - thumb_func_start sub_81D2ED4 -sub_81D2ED4: @ 81D2ED4 - push {r4-r7,lr} - adds r5, r0, 0 - adds r6, r1, 0 - ldr r0, [sp, 0x14] - ldr r1, [sp, 0x18] - ldr r4, [sp, 0x1C] - lsls r2, 16 - lsrs r7, r2, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 16 - lsrs r0, r1, 16 - lsls r4, 24 - cmp r4, 0 - bne _081D2EFC - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 -_081D2EFC: - cmp r2, r0 - beq _081D2F42 - adds r0, r6, 0 - adds r1, r7, 0 - adds r2, r3, 0 - bl sub_81D2CD0 - movs r0, 0xFC - strb r0, [r5] - movs r0, 0x4 - strb r0, [r5, 0x1] - movs r0, 0x8 - strb r0, [r5, 0x2] - movs r0, 0 - strb r0, [r5, 0x3] - movs r0, 0x9 - strb r0, [r5, 0x4] - cmp r7, 0xE - bne _081D2F2C - adds r0, r5, 0x5 - ldr r1, =gText_InParty - b _081D2F3A - .pool -_081D2F2C: - adds r4, r5, 0x5 - lsls r0, r7, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 -_081D2F3A: - movs r2, 0x8 - bl sub_81D2E7C - b _081D2F72 -_081D2F42: - movs r1, 0 - movs r2, 0 -_081D2F46: - adds r0, r6, r1 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xB - bls _081D2F46 - adds r1, r6, r1 - movs r0, 0xFF - strb r0, [r1] - movs r1, 0 - movs r2, 0 -_081D2F5E: - adds r0, r5, r1 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x7 - bls _081D2F5E - adds r1, r5, r1 - movs r0, 0xFF - strb r0, [r1] -_081D2F72: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D2ED4 - - thumb_func_start sub_81D2F78 -sub_81D2F78: @ 81D2F78 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r8, r0 - mov r10, r1 - ldr r0, [sp, 0x20] - ldr r1, [sp, 0x24] - ldr r4, [sp, 0x28] - ldr r5, [sp, 0x2C] - lsls r2, 16 - lsrs r7, r2, 16 - lsls r3, 16 - lsrs r6, r3, 16 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r4, 16 - lsrs r0, r4, 16 - lsls r5, 24 - cmp r5, 0 - bne _081D2FB0 - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 -_081D2FB0: - cmp r2, r0 - beq _081D305C - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0x16 - movs r3, 0 - bl sub_81D2C68 - mov r1, r9 - lsls r5, r1, 2 - adds r4, r5, r1 - mov r2, r8 - adds r1, r2, r4 - strb r0, [r1] - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0x2F - movs r3, 0 - bl sub_81D2C68 - mov r1, r8 - adds r1, 0x1 - adds r1, r4 - strb r0, [r1] - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0x21 - movs r3, 0 - bl sub_81D2C68 - mov r1, r8 - adds r1, 0x2 - adds r1, r4 - strb r0, [r1] - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0x18 - movs r3, 0 - bl sub_81D2C68 - mov r1, r8 - adds r1, 0x3 - adds r1, r4 - strb r0, [r1] - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0x17 - movs r3, 0 - bl sub_81D2C68 - mov r1, r8 - adds r1, 0x4 - adds r1, r4 - strb r0, [r1] - mov r4, r10 - add r4, r9 - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0x30 - movs r3, 0 - bl sub_81D2C68 - cmp r0, 0xFF - beq _081D3044 - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0x30 - movs r3, 0 - bl sub_81D2C68 - movs r1, 0x1D - bl __udivsi3 - b _081D3046 -_081D3044: - movs r0, 0x9 -_081D3046: - strb r0, [r4] - mov r0, r9 - adds r1, r5, r0 - mov r2, r8 - adds r0, r2, r1 - lsls r1, 2 - adds r1, 0x14 - add r1, r8 - bl sub_81D2754 - b _081D3086 -_081D305C: - movs r2, 0 - mov r0, r9 - lsls r5, r0, 2 - adds r1, r5, r0 - movs r6, 0 - lsls r3, r1, 2 - movs r5, 0x9B - movs r4, 0x5B -_081D306C: - adds r0, r2, r1 - add r0, r8 - strb r6, [r0] - lsls r0, r2, 2 - adds r0, r3 - add r0, r8 - strh r5, [r0, 0x14] - strh r4, [r0, 0x16] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x4 - bls _081D306C -_081D3086: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D2F78 - - thumb_func_start sub_81D3094 -sub_81D3094: @ 81D3094 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - mov r8, r0 - mov r9, r1 - ldr r0, [sp, 0x20] - ldr r1, [sp, 0x24] - ldr r4, [sp, 0x28] - lsls r2, 16 - lsrs r7, r2, 16 - lsls r3, 16 - lsrs r5, r3, 16 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 16 - lsrs r0, r1, 16 - lsls r4, 24 - cmp r4, 0 - bne _081D30C4 - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 -_081D30C4: - cmp r2, r0 - beq _081D311A - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x41 - movs r3, 0 - bl sub_81D2C68 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0 - bl sub_81D2C68 - adds r6, r0, 0 - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0 - movs r3, 0 - bl sub_81D2C68 - adds r5, r0, 0 - lsls r0, r4, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - movs r1, 0x1 - str r1, [sp] - mov r1, r8 - adds r2, r4, 0 - adds r3, r5, 0 - bl LoadSpecialPokePic - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl GetFrontSpritePalFromSpeciesAndPersonality - mov r1, r9 - bl LZ77UnCompWram -_081D311A: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D3094 - - thumb_func_start sub_81D312C -sub_81D312C: @ 81D312C - push {lr} - adds r1, r0, 0 - ldrh r0, [r1] - adds r0, 0x18 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - ble _081D3140 - movs r0, 0 - strh r0, [r1] -_081D3140: - movs r0, 0 - ldrsh r1, [r1, r0] - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - pop {r1} - bx r1 - thumb_func_end sub_81D312C - - thumb_func_start sub_81D3150 -sub_81D3150: @ 81D3150 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1] - subs r0, 0x18 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x50 - negs r2, r2 - cmp r0, r2 - bge _081D3168 - strh r2, [r1] -_081D3168: - movs r0, 0 - ldrsh r1, [r1, r0] - eors r1, r2 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - pop {r1} - bx r1 - thumb_func_end sub_81D3150 - - thumb_func_start sub_81D3178 -sub_81D3178: @ 81D3178 - push {r4,r5,lr} - adds r5, r1, 0 - bl sub_81D2074 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - bl sub_81D312C - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - cmp r4, 0 - bne _081D319A - cmp r0, 0 - beq _081D319C -_081D319A: - movs r1, 0x1 -_081D319C: - adds r0, r1, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D3178 - - thumb_func_start sub_81D31A4 -sub_81D31A4: @ 81D31A4 - push {r4,r5,lr} - adds r5, r1, 0 - bl sub_81D2074 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - bl sub_81D3150 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - cmp r4, 0 - bne _081D31C6 - cmp r0, 0 - beq _081D31C8 -_081D31C6: - movs r1, 0x1 -_081D31C8: - adds r0, r1, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D31A4 - - thumb_func_start sub_81D31D0 -sub_81D31D0: @ 81D31D0 - push {r4-r7,lr} - sub sp, 0x20 - ldr r3, =gUnknown_08625A48 - ldr r4, [r3] - ldr r5, [r3, 0x4] - str r4, [sp, 0x18] - str r5, [sp, 0x1C] - mov r4, sp - ldr r3, =gUnknown_08625A50 - ldm r3!, {r5-r7} - stm r4!, {r5-r7} - ldm r3!, {r5-r7} - stm r4!, {r5-r7} - ldr r3, =gUnknown_08625A68 - ldr r4, [r3, 0x4] - ldr r3, [r3] - ldr r5, [sp, 0x18] - ldr r6, [sp, 0x1C] - str r5, [r0] - str r6, [r0, 0x4] - mov r0, sp - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - str r3, [r2] - str r4, [r2, 0x4] - add sp, 0x20 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D31D0 - - thumb_func_start sub_81D321C -sub_81D321C: @ 81D321C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x50 - adds r5, r0, 0 - mov r12, r1 - mov r8, r2 - mov r1, sp - ldr r0, =gUnknown_08625A70 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - ldm r0!, {r3,r4} - stm r1!, {r3,r4} - add r3, sp, 0x20 - adds r1, r3, 0 - ldr r0, =gUnknown_08625A90 - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - add r2, sp, 0x38 - adds r1, r2, 0 - ldr r0, =gUnknown_08625AA8 - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - movs r4, 0 -_081D3258: - lsls r0, r4, 3 - add r0, sp - ldr r1, [r0, 0x4] - ldr r0, [r0] - stm r5!, {r0,r1} - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081D3258 - mov r1, r12 - adds r0, r2, 0 - ldm r0!, {r2,r4,r5} - stm r1!, {r2,r4,r5} - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - movs r4, 0 -_081D327A: - lsls r0, r4, 3 - adds r0, r3, r0 - ldr r1, [r0, 0x4] - ldr r0, [r0] - mov r5, r8 - adds r5, 0x8 - mov r8, r5 - subs r5, 0x8 - stm r5!, {r0,r1} - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _081D327A - add sp, 0x50 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D321C - - thumb_func_start sub_81D32B0 -sub_81D32B0: @ 81D32B0 - push {r4,r5,lr} - ldr r2, =gUnknown_08625AC0 - ldr r4, [r2] - ldr r5, [r2, 0x4] - ldr r2, =gUnknown_08625AC8 - ldr r3, [r2, 0x4] - ldr r2, [r2] - str r4, [r0] - str r5, [r0, 0x4] - str r2, [r1] - str r3, [r1, 0x4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D32B0 - - thumb_func_start sub_81D32D4 -sub_81D32D4: @ 81D32D4 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _081D32F0 - movs r0, 0 - strh r0, [r1, 0x30] - adds r0, r1, 0 - bl sub_81D3408 -_081D32F0: - pop {r0} - bx r0 - thumb_func_end sub_81D32D4 - - thumb_func_start sub_81D32F4 -sub_81D32F4: @ 81D32F4 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081D330C - movs r0, 0 - strh r0, [r2, 0x30] - ldr r0, =sub_81D32D4 - str r0, [r2, 0x1C] -_081D330C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D32F4 - - thumb_func_start sub_81D3314 -sub_81D3314: @ 81D3314 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x36 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r3, r1, r0 - cmp r3, 0 - beq _081D3360 - ldrh r1, [r3, 0x24] - ldrh r2, [r3, 0x20] - adds r1, r2 - ldr r2, =gUnknown_08625B2C - movs r5, 0x2E - ldrsh r0, [r4, r5] - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r1, [r3, 0x26] - ldrh r3, [r3, 0x22] - adds r1, r3 - movs r3, 0x2E - ldrsh r0, [r4, r3] - lsls r0, 2 - adds r2, 0x2 - adds r0, r2 - ldrh r0, [r0] - adds r0, r1 - b _081D337E - .pool -_081D3360: - ldr r1, =gUnknown_08625B2C - movs r5, 0x2E - ldrsh r0, [r4, r5] - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0] - adds r0, 0x28 - strh r0, [r4, 0x20] - movs r2, 0x2E - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r1, 0x2 - adds r0, r1 - ldrh r0, [r0] - adds r0, 0x68 -_081D337E: - strh r0, [r4, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D3314 - - thumb_func_start sub_81D338C -sub_81D338C: @ 81D338C - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r2 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - movs r5, 0 -_081D339E: - lsls r0, r5, 2 - mov r1, r8 - adds r4, r0, r1 - ldr r0, [r4] - cmp r0, 0 - beq _081D33F0 - strh r5, [r0, 0x2E] - ldr r1, [r4] - lsls r0, r5, 4 - adds r0, 0x1 - strh r0, [r1, 0x30] - ldr r0, [r4] - strh r6, [r0, 0x32] - ldr r0, [r4] - strh r5, [r0, 0x34] - cmp r7, 0 - beq _081D33C4 - cmp r6, 0x9 - beq _081D33D0 -_081D33C4: - ldr r1, [r4] - ldr r0, =sub_81D3564 - str r0, [r1, 0x1C] - b _081D33F0 - .pool -_081D33D0: - ldr r0, [r4] - bl sub_81D3314 - ldr r0, [r4] - bl sub_81D35E8 - ldr r2, [r4] - ldr r0, =sub_81D32F4 - str r0, [r2, 0x1C] - adds r2, 0x3E - ldrb r0, [r2] - movs r3, 0x5 - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - strb r0, [r2] -_081D33F0: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x9 - bls _081D339E - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D338C - - thumb_func_start sub_81D3408 -sub_81D3408: @ 81D3408 - push {r4-r7,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x38] - lsls r0, 24 - lsrs r2, r0, 24 - movs r3, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - adds r0, 0x1 - cmp r3, r0 - bge _081D3454 - ldr r5, =gSprites - movs r7, 0x1C - adds r7, r5 - mov r12, r7 - ldr r6, =sub_81D3564 -_081D3428: - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r2, r1, r5 - movs r7, 0x2E - ldrsh r0, [r2, r7] - lsls r0, 4 - adds r0, 0x1 - strh r0, [r2, 0x30] - add r1, r12 - str r6, [r1] - ldrh r0, [r2, 0x38] - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - movs r1, 0x32 - ldrsh r0, [r4, r1] - adds r0, 0x1 - cmp r3, r0 - blt _081D3428 -_081D3454: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D3408 - - thumb_func_start sub_81D3464 -sub_81D3464: @ 81D3464 - push {lr} - adds r2, r0, 0 - movs r1, 0 - movs r3, 0 -_081D346C: - lsls r0, r1, 2 - adds r0, r2 - str r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9 - bls _081D346C - pop {r0} - bx r0 - thumb_func_end sub_81D3464 - - thumb_func_start sub_81D3480 -sub_81D3480: @ 81D3480 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - movs r0, 0 - mov r9, r0 - lsrs r7, r2, 24 - movs r5, 0 - adds r0, r7, 0x1 - cmp r9, r0 - bge _081D34FE -_081D34A2: - ldr r0, =gUnknown_08625B14 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - adds r6, r3, 0 - cmp r3, 0x40 - beq _081D34FE - lsls r0, r5, 2 - mov r1, r8 - adds r4, r0, r1 - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - str r0, [r4] - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r4] - mov r1, r10 - strh r1, [r0, 0x36] - cmp r5, 0 - beq _081D34F0 - subs r0, r4, 0x4 - ldr r0, [r0] - strh r3, [r0, 0x38] - b _081D34F2 - .pool -_081D34F0: - mov r9, r6 -_081D34F2: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r7, 0x1 - cmp r5, r0 - blt _081D34A2 -_081D34FE: - lsls r0, r7, 2 - add r0, r8 - ldr r0, [r0] - mov r1, r9 - strh r1, [r0, 0x38] - adds r0, r7, 0 - movs r1, 0x1 - mov r2, r8 - bl sub_81D338C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D3480 - - thumb_func_start sub_81D3520 -sub_81D3520: @ 81D3520 - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 -_081D3526: - cmp r5, 0x9 - bhi _081D3544 - lsls r0, r5, 2 - adds r4, r0, r6 - ldr r0, [r4] - cmp r0, 0 - beq _081D3544 - bl DestroySprite - movs r0, 0 - str r0, [r4] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - b _081D3526 -_081D3544: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81D3520 - - thumb_func_start sub_81D354C -sub_81D354C: @ 81D354C - push {lr} - bl sub_81D3520 - movs r0, 0x68 - bl FreeSpriteTilesByTag - movs r0, 0x68 - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - thumb_func_end sub_81D354C - - thumb_func_start sub_81D3564 -sub_81D3564: @ 81D3564 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _081D3592 - subs r0, r1, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _081D35DC - adds r0, r4, 0 - movs r1, 0 - bl SeekSpriteAnim - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_081D3592: - adds r0, r4, 0 - bl sub_81D3314 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081D35DC - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x34 - ldrsh r1, [r4, r0] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _081D35D8 - cmp r1, 0x9 - bne _081D35D0 - adds r0, r4, 0 - bl sub_81D35E8 - ldr r0, =sub_81D32F4 - b _081D35DA - .pool -_081D35D0: - ldr r0, =sub_81D32D4 - b _081D35DA - .pool -_081D35D8: - ldr r0, =SpriteCallbackDummy -_081D35DA: - str r0, [r4, 0x1C] -_081D35DC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D3564 - - thumb_func_start sub_81D35E8 -sub_81D35E8: @ 81D35E8 - push {r4-r7,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0x38] - lsls r0, 24 - lsrs r1, r0, 24 - movs r5, 0 - movs r2, 0x32 - ldrsh r0, [r6, r2] - adds r0, 0x1 - cmp r5, r0 - bge _081D3636 - movs r0, 0x5 - negs r0, r0 - adds r7, r0, 0 -_081D3604: - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - adds r0, r4, 0 - movs r1, 0 - bl SeekSpriteAnim - adds r1, r4, 0 - adds r1, 0x3E - ldrb r0, [r1] - ands r0, r7 - strb r0, [r1] - ldrh r0, [r4, 0x38] - lsls r0, 24 - lsrs r1, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - movs r2, 0x32 - ldrsh r0, [r6, r2] - adds r0, 0x1 - cmp r5, r0 - blt _081D3604 -_081D3636: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D35E8 - - thumb_func_start sub_81D3640 -sub_81D3640: @ 81D3640 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - mov r8, r0 - adds r6, r1, 0 - adds r5, r2, 0 - adds r4, r3, 0 - ldr r3, [sp, 0x4C] - ldr r0, [sp, 0x50] - mov r9, r0 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, r4, 4 - orrs r1, r4 - lsls r1, 24 - lsrs r1, 24 - str r3, [sp, 0x28] - bl FillWindowPixelBuffer - add r2, sp, 0xC - ldrh r0, [r5] - ldrh r1, [r6] - subs r0, r1 - strh r0, [r2] - ldrh r0, [r5, 0x2] - ldrh r1, [r6, 0x2] - subs r0, r1 - strh r0, [r2, 0x2] - ldrh r0, [r5, 0x4] - ldrh r1, [r6, 0x4] - subs r0, r1 - strh r0, [r2, 0x4] - ldrh r0, [r5, 0x8] - ldrh r1, [r6, 0x8] - subs r0, r1 - strh r0, [r2, 0x6] - ldrh r0, [r5, 0xA] - ldrh r1, [r6, 0xA] - subs r0, r1 - strh r0, [r2, 0x8] - ldrh r0, [r5, 0x6] - ldrh r1, [r6, 0x6] - subs r0, r1 - strh r0, [r2, 0xA] - add r0, sp, 0x24 - strb r4, [r0] - ldr r3, [sp, 0x28] - strb r3, [r0, 0x1] - mov r1, r9 - strb r1, [r0, 0x2] - movs r7, 0 - mov r10, r0 - movs r0, 0x1 - negs r0, r0 - mov r9, r0 - add r6, sp, 0x18 -_081D36CA: - lsls r0, r7, 4 - subs r0, r7 - lsls r0, 24 - lsrs r5, r0, 24 - mov r1, r10 - str r1, [sp] - mov r0, r9 - str r0, [sp, 0x4] - ldr r1, =gUnknown_08625B54 - lsls r0, r7, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [sp, 0x8] - mov r0, r8 - movs r1, 0x1 - movs r2, 0 - adds r3, r5, 0 - bl AddTextPrinterParameterized3 - lsls r0, r7, 1 - mov r4, sp - adds r4, r0 - adds r4, 0xC - movs r1, 0 - ldrsh r0, [r4, r1] - ldr r1, =gText_Dash - cmp r0, 0 - blt _081D3704 - ldr r1, =gText_UnkCtrlF904 -_081D3704: - adds r0, r6, 0 - bl StringCopy - mov r0, r10 - str r0, [sp] - mov r1, r9 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - mov r0, r8 - movs r1, 0x1 - movs r2, 0x38 - adds r3, r5, 0 - bl AddTextPrinterParameterized3 - movs r0, 0 - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _081D372C - negs r0, r1 -_081D372C: - movs r4, 0xC - cmp r0, 0x9 - bgt _081D3734 - movs r4, 0x12 -_081D3734: - cmp r1, 0 - bge _081D373A - negs r1, r1 -_081D373A: - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r2, r4, 0 - adds r2, 0x38 - mov r1, r10 - str r1, [sp] - mov r0, r9 - str r0, [sp, 0x4] - str r6, [sp, 0x8] - mov r0, r8 - movs r1, 0x1 - adds r3, r5, 0 - bl AddTextPrinterParameterized3 - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x5 - bls _081D36CA - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D3640 - - thumb_func_start sub_81D3784 -sub_81D3784: @ 81D3784 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - mov r8, r0 - adds r5, r1, 0 - adds r4, r2, 0 - adds r6, r3, 0 - ldr r2, [sp, 0x4C] - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, r4, 4 - orrs r1, r4 - lsls r1, 24 - lsrs r1, 24 - str r2, [sp, 0x28] - bl FillWindowPixelBuffer - add r1, sp, 0xC - ldrh r0, [r5] - strh r0, [r1] - ldrh r0, [r5, 0x2] - strh r0, [r1, 0x2] - ldrh r0, [r5, 0x4] - strh r0, [r1, 0x4] - ldrh r0, [r5, 0x8] - strh r0, [r1, 0x6] - ldrh r0, [r5, 0xA] - strh r0, [r1, 0x8] - ldrh r0, [r5, 0x6] - strh r0, [r1, 0xA] - add r0, sp, 0x24 - strb r4, [r0] - strb r6, [r0, 0x1] - ldr r2, [sp, 0x28] - strb r2, [r0, 0x2] - movs r6, 0 - add r1, sp, 0x18 - mov r9, r1 - mov r7, r8 - mov r10, r0 - movs r2, 0x1 - negs r2, r2 - mov r8, r2 -_081D37EE: - lsls r1, r6, 1 - mov r0, sp - adds r0, r1 - adds r0, 0xC - movs r2, 0 - ldrsh r0, [r0, r2] - movs r4, 0x3 - cmp r0, 0x63 - bgt _081D3808 - movs r4, 0x1 - cmp r0, 0x9 - ble _081D3808 - movs r4, 0x2 -_081D3808: - mov r0, sp - adds r0, r1 - adds r0, 0xC - movs r2, 0 - ldrsh r1, [r0, r2] - mov r0, r9 - movs r2, 0 - adds r3, r4, 0 - bl ConvertIntToDecimalStringN - movs r0, 0x4 - subs r0, r4 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 17 - lsrs r4, 16 - lsls r5, r6, 4 - subs r5, r6 - lsls r5, 24 - lsrs r5, 24 - mov r0, r10 - str r0, [sp] - mov r1, r8 - str r1, [sp, 0x4] - ldr r1, =gUnknown_08625B54 - lsls r0, r6, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [sp, 0x8] - adds r0, r7, 0 - movs r1, 0x1 - movs r2, 0 - adds r3, r5, 0 - bl AddTextPrinterParameterized3 - adds r4, 0x38 - lsls r4, 24 - lsrs r4, 24 - mov r2, r10 - str r2, [sp] - mov r0, r8 - str r0, [sp, 0x4] - mov r1, r9 - str r1, [sp, 0x8] - adds r0, r7, 0 - movs r1, 0x1 - adds r2, r4, 0 - adds r3, r5, 0 - bl AddTextPrinterParameterized3 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x5 - bls _081D37EE - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D3784 - - thumb_func_start sub_81D388C -sub_81D388C: @ 81D388C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r1, 0x3A - bl GetMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0x3B - bl GetMonData - strh r0, [r5, 0x2] - adds r0, r4, 0 - movs r1, 0x3C - bl GetMonData - strh r0, [r5, 0x4] - adds r0, r4, 0 - movs r1, 0x3D - bl GetMonData - strh r0, [r5, 0x6] - adds r0, r4, 0 - movs r1, 0x3E - bl GetMonData - strh r0, [r5, 0x8] - adds r0, r4, 0 - movs r1, 0x3F - bl GetMonData - strh r0, [r5, 0xA] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81D388C thumb_func_start sub_81D38D4 sub_81D38D4: @ 81D38D4 diff --git a/data/player_pc_ui.s b/data/player_pc_ui.s new file mode 100644 index 0000000000..a9588a713a --- /dev/null +++ b/data/player_pc_ui.s @@ -0,0 +1,196 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + +gUnknown_086253E8:: @ 86253E8 + .4byte 0x8010100 + .4byte 0x80F02 + .4byte 0x8011500 + .4byte 0x180F12 + .4byte 0xB010100 + .4byte 0x180F08 + +gUnknown_08625400:: @ 8625400 + .byte 1, 2, 3 + +gUnknown_08625403:: @ 8625403 + .byte 0xFF + +@ ScanlineEffectParams +gUnknown_08625404:: @ 8625404 + .4byte 0x04000040 @ REG_ADDR_WIN0H + .4byte 0xA6600001 @ SCANLINE_EFFECT_DMACNT_32BIT + .byte 1, @ initState + .byte 0, @ unused9 + .byte 0, 0 @ Padding + +gUnknown_08625410:: @ 8625410 + .byte 4, 5, 6, 7, 8, 9, 9, 0xA, 0xA, 0xB, 0xB, 0xC, 0xC, 0xD, 0xD, 0xD, 0xD, 0xE, 0xE, 0xE, 0xE, 0xF, 0xF, 0xF, 0xF, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23 + +gMoveRelearnerWindowTemplates:: @ 8625510s + window_template 1, 1, 1, 16, 12, 0xF, 0x000A + window_template 1, 1, 1, 16, 12, 0xF, 0x00CA + window_template 1, 19, 1, 10, 12, 0xF, 0x018A + window_template 1, 4, 15, 22, 4, 0xF, 0x0202 + window_template 0, 22, 8, 5, 4, 0xF, 0x025A + null_window_template + +gMoveRelearnerYesNoMenuTemplate:: @ 8625540 + window_template 0, 22, 8, 5, 4, 0xF, 0x025A + +gMoveRelearnerMovesListTemplate:: @ 8625548 struct ListMenuTemplate + .4byte NULL + .4byte MoveRelearnerCursorCallback + .4byte NULL + .2byte 0 + .2byte 0 + .byte 2 + .byte 0 + .byte 8 + .byte 0 + .4byte 0x1003121 + +gUnknown_08625560:: @ 8625560 + .incbin "graphics/pokenav/pokeball.4bpp" + +gUnknown_08625660:: @ 8625660 + .incbin "graphics/pokenav/8625660.4bpp" + +gUnknown_08625680:: @ 8625680 + .incbin "graphics/pokenav/sparkle.gbapal" + +gUnknown_086256A0:: @ 86255A0 + .incbin "graphics/pokenav/sparkle.4bpp" + +gUnknown_08625A20:: @ 8625A20 + .2byte 0 + .2byte 0xC000 + .2byte 0x400 + .2byte 0 + +gUnknown_08625A28:: @ 8625A28 + .2byte 0 + .2byte 0x4000 + .2byte 0x800 + .2byte 0 + +gUnknown_08625A30:: @ 8625A30 + .2byte 0 + .2byte 5 + .2byte 0xFFFF + .2byte 0 + +gUnknown_08625A38:: @ 8625A38 + .2byte 4 + .2byte 5 + .2byte 0xFFFF + .2byte 0 + +gUnknown_08625A40:: @ 8625A40 + .4byte gUnknown_08625A30 + .4byte gUnknown_08625A38 + +gUnknown_08625A48:: @ 8625A48 + .4byte NULL + .4byte 0x640800 + +gUnknown_08625A50:: @ 8625A50 + spr_template 0x64, 0x64, gUnknown_08625A20, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_08625A68:: @ 8625A68 + .4byte NULL + .4byte 0x64 + +gUnknown_08625A70:: @ 8625A70 + .4byte gUnknown_08625560 + .byte 0, 1, 0x65, 0 + .4byte gUnknown_08625660 + .2byte 0x20, 0x67 + .4byte gPokenavConditionCancel_Gfx + .byte 0, 1, 0x66, 0 + .4byte NULL, NULL + +gUnknown_08625A90:: @ 8625A90 + .4byte gPokenavConditionCancel_Pal + 0x0 + .byte 0x65, 0, 0, 0 + .4byte gPokenavConditionCancel_Pal + 0x20 + .byte 0x66, 0, 0, 0 + .4byte NULL, NULL + +gUnknown_08625AA8:: @ 8625AA8 + spr_template 0x65, 0x65, gUnknown_08625A28, gUnknown_08625A40, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_08625AC0:: @ 8625AC0 + .4byte gUnknown_086256A0 + .byte 0x80, 3, 0x68, 0 + +gUnknown_08625AC8:: @ 8625AC8 + .4byte gUnknown_08625680 + .byte 0x68, 0, 0, 0 + +gUnknown_08625AD0:: @ 8625AD0 + .2byte 0 + .2byte 0x4000 + .2byte 0 + .2byte 0 + +gUnknown_08625AD8:: @ 8625AD8 + .2byte 0 + .2byte 5 + .2byte 4 + .2byte 5 + +gUnknown_08625AE0:: @ 8625AE0 + .2byte 8 + .2byte 5 + .2byte 12 + .2byte 5 + +gUnknown_08625AE8:: @ 8625AE8 + .2byte 16 + .2byte 5 + .2byte 20 + .2byte 5 + +gUnknown_08625AF0:: @ 8625AF0 + .2byte 24 + .2byte 5 + .2byte 0xFFFF + .2byte 0 + +gUnknown_08625AF8:: @ 8625AF8 + .4byte gUnknown_08625AD8 + .4byte gUnknown_08625AE0 + +gUnknown_08625B00:: @ 8625B00 + .4byte gUnknown_08625AE8 + .4byte gUnknown_08625AF0 + +gUnknown_08625B08:: @ 8625B08 + .4byte gUnknown_08625AF8 + .4byte gUnknown_08625B00 + .4byte gUnknown_08625B08 + +gUnknown_08625B14:: @ 8625B14 + spr_template 0x68, 0x68, gUnknown_08625AD0, gUnknown_08625AF8, NULL gDummySpriteAffineAnimTable, sub_81D3564 + +gUnknown_08625B2C:: @ 8625B2C + .2byte 0, 0xFFDD + .2byte 20, 0xFFE4 + .2byte 33, 0xFFF6 + .2byte 33, 10 + .2byte 20, 28 + .2byte 0, 35 + .2byte 0xFFEC, 28 + .2byte 0xFFDF, 10 + .2byte 0xFFDF, 0xFFF6 + .2byte 0xFFEC, 0xFFE4 + +gUnknown_08625B54:: @ 8625B54 + .4byte gUnknown_085EEA46 + .4byte gUnknown_085EEA4E + .4byte gUnknown_085EEA55 + .4byte gUnknown_085EEA63 + .4byte gUnknown_085EEA6B + .4byte gUnknown_085EEA5D diff --git a/data/rom_81D1C44.s b/data/rom_81D1C44.s index 1b54351755..5fbab5c3a4 100644 --- a/data/rom_81D1C44.s +++ b/data/rom_81D1C44.s @@ -3,193 +3,6 @@ .section .rodata -gUnknown_086253E8:: @ 86253E8 - .4byte 0x8010100 - .4byte 0x80F02 - .4byte 0x8011500 - .4byte 0x180F12 - .4byte 0xB010100 - .4byte 0x180F08 - -gUnknown_08625400:: @ 8625400 - .byte 1, 2, 3 - -gUnknown_08625403:: @ 8625403 - .byte 0xFF - -gUnknown_08625404:: @ 8625404 - .byte 0x40, 0, 0, 4, 1, 0, 0x60, 0xA6, 1, 0, 0, 0 - -gUnknown_08625410:: @ 8625410 - .byte 4, 5, 6, 7, 8, 9, 9, 0xA, 0xA, 0xB, 0xB, 0xC, 0xC, 0xD, 0xD, 0xD, 0xD, 0xE, 0xE, 0xE, 0xE, 0xF, 0xF, 0xF, 0xF, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23 - -gMoveRelearnerWindowTemplates:: @ 8625510s - window_template 1, 1, 1, 16, 12, 0xF, 0x000A - window_template 1, 1, 1, 16, 12, 0xF, 0x00CA - window_template 1, 19, 1, 10, 12, 0xF, 0x018A - window_template 1, 4, 15, 22, 4, 0xF, 0x0202 - window_template 0, 22, 8, 5, 4, 0xF, 0x025A - null_window_template - -gMoveRelearnerYesNoMenuTemplate:: @ 8625540 - window_template 0, 22, 8, 5, 4, 0xF, 0x025A - -gMoveRelearnerMovesListTemplate:: @ 8625548 struct ListMenuTemplate - .4byte NULL - .4byte MoveRelearnerCursorCallback - .4byte NULL - .2byte 0 - .2byte 0 - .byte 2 - .byte 0 - .byte 8 - .byte 0 - .4byte 0x1003121 - -gUnknown_08625560:: @ 8625560 - .incbin "graphics/pokenav/pokeball.4bpp" - -gUnknown_08625660:: @ 8625660 - .incbin "graphics/pokenav/8625660.4bpp" - -gUnknown_08625680:: @ 8625680 - .incbin "graphics/pokenav/sparkle.gbapal" - -gUnknown_086256A0:: @ 86255A0 - .incbin "graphics/pokenav/sparkle.4bpp" - -gUnknown_08625A20:: @ 8625A20 - .2byte 0 - .2byte 0xC000 - .2byte 0x400 - .2byte 0 - -gUnknown_08625A28:: @ 8625A28 - .2byte 0 - .2byte 0x4000 - .2byte 0x800 - .2byte 0 - -gUnknown_08625A30:: @ 8625A30 - .2byte 0 - .2byte 5 - .2byte 0xFFFF - .2byte 0 - -gUnknown_08625A38:: @ 8625A38 - .2byte 4 - .2byte 5 - .2byte 0xFFFF - .2byte 0 - -gUnknown_08625A40:: @ 8625A40 - .4byte gUnknown_08625A30 - .4byte gUnknown_08625A38 - -gUnknown_08625A48:: @ 8625A48 - .4byte NULL - .4byte 0x640800 - -gUnknown_08625A50:: @ 8625A50 - spr_template 0x64, 0x64, gUnknown_08625A20, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_08625A68:: @ 8625A68 - .4byte NULL - .4byte 0x64 - -gUnknown_08625A70:: @ 8625A70 - .4byte gUnknown_08625560 - .byte 0, 1, 0x65, 0 - .4byte gUnknown_08625660 - .2byte 0x20, 0x67 - .4byte gPokenavConditionCancel_Gfx - .byte 0, 1, 0x66, 0 - .4byte NULL, NULL - -gUnknown_08625A90:: @ 8625A90 - .4byte gPokenavConditionCancel_Pal + 0x0 - .byte 0x65, 0, 0, 0 - .4byte gPokenavConditionCancel_Pal + 0x20 - .byte 0x66, 0, 0, 0 - .4byte NULL, NULL - -gUnknown_08625AA8:: @ 8625AA8 - spr_template 0x65, 0x65, gUnknown_08625A28, gUnknown_08625A40, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_08625AC0:: @ 8625AC0 - .4byte gUnknown_086256A0 - .byte 0x80, 3, 0x68, 0 - -gUnknown_08625AC8:: @ 8625AC8 - .4byte gUnknown_08625680 - .byte 0x68, 0, 0, 0 - -gUnknown_08625AD0:: @ 8625AD0 - .2byte 0 - .2byte 0x4000 - .2byte 0 - .2byte 0 - -gUnknown_08625AD8:: @ 8625AD8 - .2byte 0 - .2byte 5 - .2byte 4 - .2byte 5 - -gUnknown_08625AE0:: @ 8625AE0 - .2byte 8 - .2byte 5 - .2byte 12 - .2byte 5 - -gUnknown_08625AE8:: @ 8625AE8 - .2byte 16 - .2byte 5 - .2byte 20 - .2byte 5 - -gUnknown_08625AF0:: @ 8625AF0 - .2byte 24 - .2byte 5 - .2byte 0xFFFF - .2byte 0 - -gUnknown_08625AF8:: @ 8625AF8 - .4byte gUnknown_08625AD8 - .4byte gUnknown_08625AE0 - -gUnknown_08625B00:: @ 8625B00 - .4byte gUnknown_08625AE8 - .4byte gUnknown_08625AF0 - -gUnknown_08625B08:: @ 8625B08 - .4byte gUnknown_08625AF8 - .4byte gUnknown_08625B00 - .4byte gUnknown_08625B08 - -gUnknown_08625B14:: @ 8625B14 - spr_template 0x68, 0x68, gUnknown_08625AD0, gUnknown_08625AF8, NULL gDummySpriteAffineAnimTable, sub_81D3564 - -gUnknown_08625B2C:: @ 8625B2C - .2byte 0, 0xFFDD - .2byte 20, 0xFFE4 - .2byte 33, 0xFFF6 - .2byte 33, 10 - .2byte 20, 28 - .2byte 0, 35 - .2byte 0xFFEC, 28 - .2byte 0xFFDF, 10 - .2byte 0xFFDF, 0xFFF6 - .2byte 0xFFEC, 0xFFE4 - -gUnknown_08625B54:: @ 8625B54 - .4byte gUnknown_085EEA46 - .4byte gUnknown_085EEA4E - .4byte gUnknown_085EEA55 - .4byte gUnknown_085EEA63 - .4byte gUnknown_085EEA6B - .4byte gUnknown_085EEA5D - gUnknown_08625B6C:: @ 8625B6C @ apparently e-reader trainer data? idk .byte 0x6f, 0x57, 0x54, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x2e, 0x14, 0x0c, 0x0e, 0x23, 0x10, 0x47, 0x0a, 0x1f, 0x06, 0x24, 0x0e, 0x48, 0x0a, 0x0f, 0x06 diff --git a/include/pokenav.h b/include/pokenav.h index e6fa5f40d0..849c9bf16a 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -28,7 +28,7 @@ void InitMoveRelearnerWindows(bool8 useContextWindow); bool8 EventObjectIsFarawayIslandMew(struct EventObject *); u32 sub_81D427C(void); void sub_81D4998(void); -void sub_81D3640(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); -void sub_81D3784(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); +void DrawLevelUpWindowPg1(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); +void DrawLevelUpWindowPg2(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); #endif //GUARD_POKENAV_H diff --git a/ld_script.txt b/ld_script.txt index 53142d3602..6b3df891ce 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -291,6 +291,7 @@ SECTIONS { src/pokenav.o(.text); asm/pokenav.o(.text); src/pokenav_match_call.o(.text); + asm/player_pc_ui.o(.text); asm/rom_81D1C44.o(.text); src/trainer_hill.o(.text); src/rayquaza_scene.o(.text); @@ -594,6 +595,7 @@ SECTIONS { src/pokenav.o(.rodata); data/pokenav.o(.rodata); src/pokenav_match_call.o(.rodata); + data/player_pc_ui.o(.rodata); data/rom_81D1C44.o(.rodata); src/trainer_hill.o(.rodata); src/rayquaza_scene.o(.rodata); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index a53fa30f21..89c2baca97 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -54,9 +54,9 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; extern const u8* const gBattleScriptsForMoveEffects[]; // functions -extern void sub_81D388C(struct Pokemon* mon, void* statStoreLocation); // pokenav.s -extern void sub_81D3640(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); // pokenav.s -extern void sub_81D3784(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); // pokenav.s +extern void GetMonLevelUpWindowStats(struct Pokemon* mon, void* statStoreLocation); // pokenav.s +extern void DrawLevelUpWindowPg1(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); // pokenav.s +extern void DrawLevelUpWindowPg2(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); // pokenav.s extern u8 sub_813B21C(void); #define DEFENDER_IS_PROTECTED ((gProtectStructs[gBattlerTarget].protected) && (gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED)) @@ -6321,16 +6321,16 @@ static void sub_804F100(void) { struct StatsArray currentStats; - sub_81D388C(&gPlayerParty[gBattleStruct->expGetterMonId], ¤tStats); - sub_81D3640(0xD, gBattleResources->statsBeforeLvlUp, ¤tStats, 0xE, 0xD, 0xF); + GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], ¤tStats); + DrawLevelUpWindowPg1(0xD, gBattleResources->statsBeforeLvlUp, ¤tStats, 0xE, 0xD, 0xF); } static void sub_804F144(void) { struct StatsArray currentStats; - sub_81D388C(&gPlayerParty[gBattleStruct->expGetterMonId], ¤tStats); - sub_81D3784(0xD, ¤tStats, 0xE, 0xD, 0xF); + GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], ¤tStats); + DrawLevelUpWindowPg2(0xD, ¤tStats, 0xE, 0xD, 0xF); } static void sub_804F17C(void) diff --git a/src/party_menu.c b/src/party_menu.c index dad778b49c..7e47e9ced5 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -6005,7 +6005,7 @@ static void sub_81B767C(u8 taskId) s16 *arrayPtr = gUnknown_0203CEC4->data; arrayPtr[12] = sub_81B3364(); - sub_81D3640(arrayPtr[12], arrayPtr, &arrayPtr[6], 1, 2, 3); + DrawLevelUpWindowPg1(arrayPtr[12], arrayPtr, &arrayPtr[6], 1, 2, 3); CopyWindowToVram(arrayPtr[12], 2); schedule_bg_copy_tilemap_to_vram(2); } @@ -6014,7 +6014,7 @@ static void sub_81B76C8(u8 taskId) { s16 *arrayPtr = gUnknown_0203CEC4->data; - sub_81D3784(arrayPtr[12], &arrayPtr[6], 1, 2, 3); + DrawLevelUpWindowPg2(arrayPtr[12], &arrayPtr[6], 1, 2, 3); CopyWindowToVram(arrayPtr[12], 2); schedule_bg_copy_tilemap_to_vram(2); } From 0e3fc4956b0f9381f555100f2f1a24b0e836e68a Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Tue, 5 Mar 2019 00:06:43 -0500 Subject: [PATCH 16/47] Rename asm file --- asm/{player_pc_ui.s => menu_unknown.s} | 0 data/{player_pc_ui.s => menu_unknown.s} | 4 ++-- ld_script.txt | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) rename asm/{player_pc_ui.s => menu_unknown.s} (100%) rename data/{player_pc_ui.s => menu_unknown.s} (99%) diff --git a/asm/player_pc_ui.s b/asm/menu_unknown.s similarity index 100% rename from asm/player_pc_ui.s rename to asm/menu_unknown.s diff --git a/data/player_pc_ui.s b/data/menu_unknown.s similarity index 99% rename from data/player_pc_ui.s rename to data/menu_unknown.s index a9588a713a..6d1bd7ecff 100644 --- a/data/player_pc_ui.s +++ b/data/menu_unknown.s @@ -21,8 +21,8 @@ gUnknown_08625403:: @ 8625403 gUnknown_08625404:: @ 8625404 .4byte 0x04000040 @ REG_ADDR_WIN0H .4byte 0xA6600001 @ SCANLINE_EFFECT_DMACNT_32BIT - .byte 1, @ initState - .byte 0, @ unused9 + .byte 1 @ initState + .byte 0 @ unused9 .byte 0, 0 @ Padding gUnknown_08625410:: @ 8625410 diff --git a/ld_script.txt b/ld_script.txt index 6b3df891ce..31e952cf39 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -291,7 +291,7 @@ SECTIONS { src/pokenav.o(.text); asm/pokenav.o(.text); src/pokenav_match_call.o(.text); - asm/player_pc_ui.o(.text); + asm/menu_unknown.o(.text); asm/rom_81D1C44.o(.text); src/trainer_hill.o(.text); src/rayquaza_scene.o(.text); @@ -595,7 +595,7 @@ SECTIONS { src/pokenav.o(.rodata); data/pokenav.o(.rodata); src/pokenav_match_call.o(.rodata); - data/player_pc_ui.o(.rodata); + data/menu_unknown.o(.rodata); data/rom_81D1C44.o(.rodata); src/trainer_hill.o(.rodata); src/rayquaza_scene.o(.rodata); From 9bea9e1624a30980aa194b076f0324b77c76edc9 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Tue, 5 Mar 2019 06:06:20 -0500 Subject: [PATCH 17/47] Start decompiling menu_unknown --- asm/menu_unknown.s | 320 ----------------------------------------- data/menu_unknown.s | 14 -- include/menu.h | 2 +- include/menu_unknown.h | 15 ++ include/pokenav.h | 9 -- ld_script.txt | 2 + src/menu_unknown.c | 186 ++++++++++++++++++++++++ src/party_menu.c | 3 +- src/player_pc.c | 2 +- 9 files changed, 207 insertions(+), 346 deletions(-) create mode 100644 include/menu_unknown.h create mode 100644 src/menu_unknown.c diff --git a/asm/menu_unknown.s b/asm/menu_unknown.s index 6b449e7045..52f4dbee04 100644 --- a/asm/menu_unknown.s +++ b/asm/menu_unknown.s @@ -5,327 +5,7 @@ .syntax unified .text - - thumb_func_start sub_81D1C44 -sub_81D1C44: @ 81D1C44 - push {r4,lr} - lsls r0, 24 - ldr r4, =gUnknown_0203CF4C - lsrs r0, 21 - adds r0, 0x8 - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _081D1C60 - movs r0, 0 - b _081D1C7A - .pool -_081D1C60: - movs r2, 0 - ldr r4, =gUnknown_0203CF48 - movs r3, 0xFF -_081D1C66: - adds r0, r2, r4 - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _081D1C66 - movs r0, 0x1 -_081D1C7A: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D1C44 - thumb_func_start sub_81D1C84 -sub_81D1C84: @ 81D1C84 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r6, =gUnknown_0203CF48 - adds r5, r4, r6 - ldrb r0, [r5] - cmp r0, 0xFF - bne _081D1CEC - cmp r4, 0x2 - bne _081D1CD4 - ldr r0, =gUnknown_086253E8 - ldr r1, [r0, 0x14] - ldr r0, [r0, 0x10] - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, =gMailboxMailOptions - movs r1, 0x4 - bl GetMaxWidthInMenuTable - lsls r0, 24 - ldr r2, =0x00ffffff - ldr r1, [sp] - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - bl AddWindow - strb r0, [r6, 0x2] - b _081D1CE0 - .pool -_081D1CD4: - lsls r0, r4, 3 - ldr r1, =gUnknown_086253E8 - adds r0, r1 - bl AddWindow - strb r0, [r5] -_081D1CE0: - ldr r0, =gUnknown_0203CF48 - adds r0, r4, r0 - ldrb r0, [r0] - movs r1, 0 - bl SetStandardWindowBorderStyle -_081D1CEC: - ldr r0, =gUnknown_0203CF48 - adds r0, r4, r0 - ldrb r0, [r0] - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D1C84 - - thumb_func_start sub_81D1D04 -sub_81D1D04: @ 81D1D04 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_0203CF48 - adds r4, r0 - ldrb r0, [r4] - movs r1, 0 - bl sub_8198070 - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0xFF - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1D04 - - thumb_func_start sub_81D1D34 -sub_81D1D34: @ 81D1D34 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203CF48 - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_81D1D34 - - thumb_func_start sub_81D1D44 -sub_81D1D44: @ 81D1D44 - push {r4,r5,lr} - sub sp, 0x34 - adds r3, r1, 0 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0x2 - negs r0, r0 - cmp r3, r0 - beq _081D1DAC - ldr r0, =gSaveBlock1Ptr - lsls r1, r3, 3 - adds r1, r3 - lsls r1, 2 - ldr r0, [r0] - adds r1, r0 - ldr r0, =0x00002cca - adds r1, r0 - add r0, sp, 0x14 - bl StringCopy - add r0, sp, 0x14 - bl sub_81DB52C - add r0, sp, 0x14 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5 - bhi _081D1D8C - add r0, sp, 0x14 - movs r1, 0x1 - bl ConvertInternationalString -_081D1D8C: - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - ldr r0, =gUnknown_08625400 - str r0, [sp, 0x8] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0xC] - add r0, sp, 0x14 - str r0, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x8 - adds r3, r5, 0 - bl AddTextPrinterParameterized4 -_081D1DAC: - add sp, 0x34 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1D44 - - thumb_func_start sub_81D1DC0 -sub_81D1DC0: @ 81D1DC0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r5, r0, 0 - movs r3, 0 - ldr r7, =gUnknown_0203CF4C - ldr r0, =gText_Cancel2 - mov r12, r0 - ldr r4, =gMultiuseListMenuTemplate - ldr r1, =gUnknown_0203CF48 - mov r8, r1 - ldr r2, =sub_81D1E7C - mov r9, r2 - ldr r0, =sub_81D1D44 - mov r10, r0 - ldrb r1, [r5, 0x5] - cmp r3, r1 - bcs _081D1E02 - adds r6, r7, 0 - ldr r2, =gUnknown_08625403 -_081D1DEC: - ldr r1, [r6] - lsls r0, r3, 3 - adds r0, r1 - str r2, [r0] - str r3, [r0, 0x4] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - ldrb r0, [r5, 0x5] - cmp r3, r0 - bcc _081D1DEC -_081D1E02: - ldr r2, [r7] - lsls r0, r3, 3 - adds r0, r2 - mov r1, r12 - str r1, [r0] - movs r1, 0x2 - negs r1, r1 - str r1, [r0, 0x4] - str r2, [r4] - ldrb r0, [r5, 0x5] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0xC] - mov r2, r8 - ldrb r0, [r2, 0x1] - strb r0, [r4, 0x10] - strb r1, [r4, 0x11] - movs r0, 0x8 - strb r0, [r4, 0x12] - strb r1, [r4, 0x13] - strh r0, [r4, 0xE] - movs r0, 0x29 - strb r0, [r4, 0x14] - movs r0, 0x31 - strb r0, [r4, 0x15] - mov r0, r9 - str r0, [r4, 0x4] - mov r1, r10 - str r1, [r4, 0x8] - movs r0, 0x1 - strb r0, [r4, 0x17] - movs r0, 0 - strb r0, [r4, 0x16] - ldrh r1, [r5, 0x2] - ldrh r2, [r5] - adds r0, r4, 0 - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D1DC0 - - thumb_func_start sub_81D1E7C -sub_81D1E7C: @ 81D1E7C - push {lr} - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _081D1E8C - movs r0, 0x5 - bl PlaySE -_081D1E8C: - pop {r0} - bx r0 - thumb_func_end sub_81D1E7C - - thumb_func_start sub_81D1E90 -sub_81D1E90: @ 81D1E90 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - ldrb r0, [r4, 0x5] - ldrb r1, [r4, 0x4] - subs r0, r1 - adds r0, 0x1 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r4, 0x2 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xC8 - movs r2, 0xC - movs r3, 0x94 - bl AddScrollIndicatorArrowPairParameterized - strb r0, [r4, 0x9] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81D1E90 - - thumb_func_start sub_81D1EC0 -sub_81D1EC0: @ 81D1EC0 - push {lr} - ldr r0, =gUnknown_0203CF4C - ldr r0, [r0] - bl Free - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1EC0 thumb_func_start sub_81D1ED4 sub_81D1ED4: @ 81D1ED4 push {r4-r7,lr} diff --git a/data/menu_unknown.s b/data/menu_unknown.s index 6d1bd7ecff..1ea0786a43 100644 --- a/data/menu_unknown.s +++ b/data/menu_unknown.s @@ -3,20 +3,6 @@ .section .rodata -gUnknown_086253E8:: @ 86253E8 - .4byte 0x8010100 - .4byte 0x80F02 - .4byte 0x8011500 - .4byte 0x180F12 - .4byte 0xB010100 - .4byte 0x180F08 - -gUnknown_08625400:: @ 8625400 - .byte 1, 2, 3 - -gUnknown_08625403:: @ 8625403 - .byte 0xFF - @ ScanlineEffectParams gUnknown_08625404:: @ 8625404 .4byte 0x04000040 @ REG_ADDR_WIN0H diff --git a/include/menu.h b/include/menu.h index aca4624687..af60e51926 100644 --- a/include/menu.h +++ b/include/menu.h @@ -31,7 +31,7 @@ u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed void PrintPlayerNameOnWindow(u8, const u8*, u16, u16); void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback); void sub_8197434(u8 windowId, bool8 copyToVram); -void SetStandardWindowBorderStyle(u8 a0, u8 a1); +void SetStandardWindowBorderStyle(u8 windowId, bool8 copyToVram); void DisplayYesNoMenu(void); u32 GetPlayerTextSpeed(void); u8 GetPlayerTextSpeedDelay(void); diff --git a/include/menu_unknown.h b/include/menu_unknown.h new file mode 100644 index 0000000000..b4c161dadf --- /dev/null +++ b/include/menu_unknown.h @@ -0,0 +1,15 @@ +#ifndef GUARD_MENU_UNKNOWN_H +#define GUARD_MENU_UNKNOWN_H + +#include "player_pc.h" + +bool8 sub_81D1C44(u8 a0); +u8 sub_81D1C84(u8 a0); +u8 sub_81D1DC0(struct PlayerPCItemPageStruct *a0); +void sub_81D1E90(struct PlayerPCItemPageStruct *a0); +void sub_81D1EC0(void); +void sub_81D1D04(u8 a0); +void DrawLevelUpWindowPg1(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); +void DrawLevelUpWindowPg2(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); + +#endif // GUARD_MENU_UNKNOWN_H \ No newline at end of file diff --git a/include/pokenav.h b/include/pokenav.h index 849c9bf16a..a1f3119445 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -1,6 +1,5 @@ #ifndef GUARD_POKENAV_H #define GUARD_POKENAV_H -#include "player_pc.h" #include "list_menu.h" bool8 sub_81D20BC(void *arg0); @@ -13,12 +12,6 @@ void sub_81D3464(void *arg0); void sub_81D3480(void *arg0, u8 arg1); void sub_81D2754(void *arg0, void *arg1); void sub_81D1F84(void *arg0, void *arg1, void *arg2); -u8 sub_81D1C84(u8); -u8 sub_81D1DC0(struct PlayerPCItemPageStruct *); -void sub_81D1E90(struct PlayerPCItemPageStruct *); -void sub_81D1EC0(void); -void sub_81D1D04(u8); -bool8 sub_81D1C44(u8); bool8 sub_81D4A58(struct EventObject*); void MoveRelearnerPrintText(u8 *); u16 MoveRelearnerRunTextPrinters(void); @@ -28,7 +21,5 @@ void InitMoveRelearnerWindows(bool8 useContextWindow); bool8 EventObjectIsFarawayIslandMew(struct EventObject *); u32 sub_81D427C(void); void sub_81D4998(void); -void DrawLevelUpWindowPg1(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); -void DrawLevelUpWindowPg2(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); #endif //GUARD_POKENAV_H diff --git a/ld_script.txt b/ld_script.txt index 31e952cf39..4c12291fe9 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -291,6 +291,7 @@ SECTIONS { src/pokenav.o(.text); asm/pokenav.o(.text); src/pokenav_match_call.o(.text); + src/menu_unknown.o(.text); asm/menu_unknown.o(.text); asm/rom_81D1C44.o(.text); src/trainer_hill.o(.text); @@ -595,6 +596,7 @@ SECTIONS { src/pokenav.o(.rodata); data/pokenav.o(.rodata); src/pokenav_match_call.o(.rodata); + src/menu_unknown.o(.rodata); data/menu_unknown.o(.rodata); data/rom_81D1C44.o(.rodata); src/trainer_hill.o(.rodata); diff --git a/src/menu_unknown.c b/src/menu_unknown.c new file mode 100644 index 0000000000..21f42d264b --- /dev/null +++ b/src/menu_unknown.c @@ -0,0 +1,186 @@ +#include "global.h" +#include "alloc.h" +#include "international_string_util.h" +#include "menu.h" +#include "menu_unknown.h" +#include "player_pc.h" +#include "sound.h" +#include "strings.h" +#include "string_util.h" +#include "window.h" +#include "constants/songs.h" + +#define WINDOW_UNK_0 0 +#define WINDOW_UNK_1 1 +#define WINDOW_UNK_2 2 + +extern struct ListMenuItem *gUnknown_0203CF4C; +extern u8 gUnknown_0203CF48[3]; + +void sub_81D1E7C(s32 itemIndex, bool8 onInit, struct ListMenu *list); + +const struct WindowTemplate gUnknown_086253E8[] = +{ + [WINDOW_UNK_0] = { + //0x08010100, + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 8, + //0x00080F02, + .height = 2, + .paletteNum = 0xF, + .baseBlock = 0x8 + }, + [WINDOW_UNK_1] = { + //0x08 01 15 00, + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 1, + .width = 8, + //0x0018 0F 12, + .height = 18, + .paletteNum = 0xF, + .baseBlock = 0x18 + }, + [WINDOW_UNK_2] = { + //0x0B 01 01 00 + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 11, + //0x0018 0F 08 + .height = 8, + .paletteNum = 0xF, + .baseBlock = 0x18 + } +}; + +const u8 gUnknown_08625400[] = { + 1, 2, 3 +}; + +static const u8 sEmptyItemName[] = _(""); + +bool8 sub_81D1C44(u8 count) +{ + u32 i; + struct ListMenuItem **v1; + v1 = &gUnknown_0203CF4C; + *v1 = Alloc(count * sizeof(struct ListMenuItem) + sizeof(struct ListMenuItem)); + + if (gUnknown_0203CF4C == NULL) + return FALSE; + + for (i = 0; i < ARRAY_COUNT(gUnknown_0203CF48); i = (u8)(i + 1)) + { + gUnknown_0203CF48[i] |= 0xFF; + } + + return TRUE; +} + +u8 sub_81D1C84(u8 a0) +{ + struct WindowTemplate template; + + u8 windowId = gUnknown_0203CF48[a0]; + if (windowId == 0xFF) + { + if (a0 == WINDOW_UNK_2) + { + u32 v1; + u32 v2; + s32 v3; + + template = gUnknown_086253E8[WINDOW_UNK_2]; + v3 = GetMaxWidthInMenuTable(&gMailboxMailOptions[0], 4); + template.width = v3; + gUnknown_0203CF48[WINDOW_UNK_2] = AddWindow(&template); + } + else + { + gUnknown_0203CF48[a0] = AddWindow(&gUnknown_086253E8[a0]); + } + SetStandardWindowBorderStyle(gUnknown_0203CF48[a0], 0); + } + return gUnknown_0203CF48[a0]; +} + +void sub_81D1D04(u8 a0) +{ + sub_8198070(gUnknown_0203CF48[a0], 0); + ClearWindowTilemap(gUnknown_0203CF48[a0]); + RemoveWindow(gUnknown_0203CF48[a0]); + gUnknown_0203CF48[a0] = 0xFF; +} + +u8 sub_81D1D34(u8 a0) +{ + return gUnknown_0203CF48[a0]; +} + +void sub_81D1D44(u8 windowId, s32 itemId, u8 y) +{ + u8 buffer[30]; + u16 length; + + if (itemId == LIST_CANCEL) + return; + + StringCopy(buffer, gSaveBlock1Ptr->mail[6 + itemId].playerName); + sub_81DB52C(buffer); + length = StringLength(buffer); + if (length <= 5) + ConvertInternationalString(buffer, LANGUAGE_JAPANESE); + AddTextPrinterParameterized4(windowId, 1, 8, y, 0, 0, gUnknown_08625400, -1, buffer); +} + +u8 sub_81D1DC0(struct PlayerPCItemPageStruct *page) +{ + u16 i; + for (i = 0; i < page->count; i++) + { + gUnknown_0203CF4C[i].name = sEmptyItemName; + gUnknown_0203CF4C[i].id = i; + } + + gUnknown_0203CF4C[i].name = gText_Cancel2; + gUnknown_0203CF4C[i].id = LIST_CANCEL; + + gMultiuseListMenuTemplate.items = gUnknown_0203CF4C; + gMultiuseListMenuTemplate.totalItems = page->count + 1; + gMultiuseListMenuTemplate.windowId = gUnknown_0203CF48[1]; + gMultiuseListMenuTemplate.header_X = 0; + gMultiuseListMenuTemplate.item_X = 8; + gMultiuseListMenuTemplate.cursor_X = 0; + gMultiuseListMenuTemplate.maxShowed = 8; + gMultiuseListMenuTemplate.upText_Y = 9; + gMultiuseListMenuTemplate.cursorPal = 2; + gMultiuseListMenuTemplate.fillValue = 1; + gMultiuseListMenuTemplate.cursorShadowPal = 3; + gMultiuseListMenuTemplate.moveCursorFunc = sub_81D1E7C; + gMultiuseListMenuTemplate.itemPrintFunc = sub_81D1D44; + gMultiuseListMenuTemplate.fontId = 1; + gMultiuseListMenuTemplate.cursorKind = 0; + gMultiuseListMenuTemplate.lettersSpacing = 0; + gMultiuseListMenuTemplate.itemVerticalPadding = 0; + gMultiuseListMenuTemplate.scrollMultiple = LIST_NO_MULTIPLE_SCROLL; + return ListMenuInit(&gMultiuseListMenuTemplate, page->itemsAbove, page->cursorPos); +} + +void sub_81D1E7C(s32 itemIndex, bool8 onInit, struct ListMenu *list) +{ + if (onInit != TRUE) + PlaySE(SE_SELECT); +} + +void sub_81D1E90(struct PlayerPCItemPageStruct *page) +{ + page->scrollIndicatorId = AddScrollIndicatorArrowPairParameterized(2, 0xC8, 12, 0x94, page->count - page->pageItems + 1, 0x6E, 0x6E, &page->itemsAbove); +} + +void sub_81D1EC0(void) +{ + Free(gUnknown_0203CF4C); +} \ No newline at end of file diff --git a/src/party_menu.c b/src/party_menu.c index 7e47e9ced5..7e47cbf808 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -37,15 +37,16 @@ #include "main.h" #include "menu.h" #include "menu_helpers.h" +#include "menu_unknown.h" #include "metatile_behavior.h" #include "overworld.h" #include "palette.h" #include "party_menu.h" +#include "player_pc.h" #include "pokemon.h" #include "pokemon_icon.h" #include "pokemon_storage_system.h" #include "pokemon_summary_screen.h" -#include "pokenav.h" #include "region_map.h" #include "reshow_battle_screen.h" #include "rom_8011DC0.h" diff --git a/src/player_pc.c b/src/player_pc.c index bec763b415..f167062cb4 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -20,7 +20,6 @@ #include "overworld.h" #include "palette.h" #include "party_menu.h" -#include "pokenav.h" #include "player_pc.h" #include "script.h" #include "sound.h" @@ -29,6 +28,7 @@ #include "strings.h" #include "task.h" #include "window.h" +#include "menu_unknown.h" // structures struct Struct203BCC4 From c3594f982ddd0839aa7b97cb5a54087e198b0326 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Tue, 5 Mar 2019 20:32:14 -0500 Subject: [PATCH 18/47] Decompiling pokeblock ui stuff --- asm/menu_unknown.s | 93 ------------------------------------------ include/menu_unknown.h | 26 ++++++++++++ include/pokenav.h | 8 ---- src/menu_unknown.c | 35 ++++++++++++++++ src/use_pokeblock.c | 18 ++++---- 5 files changed, 71 insertions(+), 109 deletions(-) diff --git a/asm/menu_unknown.s b/asm/menu_unknown.s index 52f4dbee04..6b782f5c46 100644 --- a/asm/menu_unknown.s +++ b/asm/menu_unknown.s @@ -6,99 +6,6 @@ .text - thumb_func_start sub_81D1ED4 -sub_81D1ED4: @ 81D1ED4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r3, r0, 0 - movs r6, 0 - movs r7, 0 -_081D1EE6: - movs r2, 0 - lsls r5, r6, 2 - adds r0, r6, 0x1 - mov r10, r0 - adds r4, r5, 0 -_081D1EF0: - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r0, r4, r0 - adds r0, r3, r0 - adds r1, r0, 0 - adds r1, 0x64 - strh r7, [r1] - adds r0, 0x66 - strh r7, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x9 - bls _081D1EF0 - movs r2, 0 - mov r9, r2 - str r5, [sp] - movs r1, 0x9B - mov r8, r1 - movs r4, 0x5B - mov r12, r4 -_081D1F1C: - lsls r0, r2, 2 - adds r0, r2 - adds r1, r6, r0 - adds r1, r3, r1 - mov r4, r9 - strb r4, [r1] - lsls r0, 2 - ldr r1, [sp] - adds r0, r1, r0 - adds r0, r3, r0 - mov r4, r8 - strh r4, [r0, 0x14] - mov r1, r12 - strh r1, [r0, 0x16] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _081D1F1C - adds r1, r3, r5 - movs r2, 0x96 - lsls r2, 1 - adds r0, r1, r2 - strh r7, [r0] - movs r4, 0x97 - lsls r4, 1 - adds r0, r1, r4 - strh r7, [r0] - mov r1, r10 - lsls r0, r1, 24 - lsrs r6, r0, 24 - cmp r6, 0x4 - bls _081D1EE6 - movs r2, 0xD5 - lsls r2, 2 - adds r0, r3, r2 - movs r1, 0 - strb r1, [r0] - ldr r4, =0x00000352 - adds r0, r3, r4 - strh r1, [r0] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1ED4 - thumb_func_start sub_81D1F84 sub_81D1F84: @ 81D1F84 push {r4-r7,lr} diff --git a/include/menu_unknown.h b/include/menu_unknown.h index b4c161dadf..9d398e2b03 100644 --- a/include/menu_unknown.h +++ b/include/menu_unknown.h @@ -3,6 +3,24 @@ #include "player_pc.h" +struct UnknownSubStruct_81D1ED4 +{ + u16 unk0; + u16 unk2; +}; + +struct UnknownStruct_81D1ED4 +{ + u8 unk0[4][5]; + struct UnknownSubStruct_81D1ED4 unk14[4][5]; + struct UnknownSubStruct_81D1ED4 unk64[10][5]; + struct UnknownSubStruct_81D1ED4 unk12C[4]; + u8 unk13C[0x216]; + u16 unk352; + u8 unk354; + u8 unk355[0x23]; +}; + bool8 sub_81D1C44(u8 a0); u8 sub_81D1C84(u8 a0); u8 sub_81D1DC0(struct PlayerPCItemPageStruct *a0); @@ -11,5 +29,13 @@ void sub_81D1EC0(void); void sub_81D1D04(u8 a0); void DrawLevelUpWindowPg1(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); void DrawLevelUpWindowPg2(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); +void sub_81D1ED4(struct UnknownStruct_81D1ED4 *a0); +void sub_81D2108(struct UnknownStruct_81D1ED4 *arg0); +void sub_81D20AC(struct UnknownStruct_81D1ED4 *arg0); +void sub_81D2230(struct UnknownStruct_81D1ED4 *arg0); +void sub_81D3464(void *arg0); +void sub_81D3480(void *arg0, u8 arg1); +void sub_81D2754(struct UnknownStruct_81D1ED4 *arg0, void *arg1); +void sub_81D1F84(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D1ED4 arg1[4][5], struct UnknownSubStruct_81D1ED4 arg2[4][5]); #endif // GUARD_MENU_UNKNOWN_H \ No newline at end of file diff --git a/include/pokenav.h b/include/pokenav.h index a1f3119445..10f0422255 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -4,14 +4,6 @@ bool8 sub_81D20BC(void *arg0); bool8 sub_81D312C(void *arg0); -void sub_81D1ED4(void *arg0); -void sub_81D2108(void *arg0); -void sub_81D20AC(void *arg0); -void sub_81D2230(void *arg0); -void sub_81D3464(void *arg0); -void sub_81D3480(void *arg0, u8 arg1); -void sub_81D2754(void *arg0, void *arg1); -void sub_81D1F84(void *arg0, void *arg1, void *arg2); bool8 sub_81D4A58(struct EventObject*); void MoveRelearnerPrintText(u8 *); u16 MoveRelearnerRunTextPrinters(void); diff --git a/src/menu_unknown.c b/src/menu_unknown.c index 21f42d264b..303bb7c827 100644 --- a/src/menu_unknown.c +++ b/src/menu_unknown.c @@ -183,4 +183,39 @@ void sub_81D1E90(struct PlayerPCItemPageStruct *page) void sub_81D1EC0(void) { Free(gUnknown_0203CF4C); +} + +void sub_81D1ED4(struct UnknownStruct_81D1ED4 *a0) +{ + u8 j; + u8 i; + u8 v1; + for (j = 0; j < 5; j++) + { + for (i = 0; i < 10; i++) + { + // u16 + a0->unk64[i][j].unk0 = 0; + a0->unk64[i][j].unk2 = 0; + } + for (i = 0; i < 4; i++) + { + // u8 + a0->unk0[i][j] = 0; + + // u16 + a0->unk14[i][j].unk0 = 0x9B; + a0->unk14[i][j].unk2 = 0x5B; + } + + // u16 + a0->unk12C[j].unk0 = 0; + a0->unk12C[j].unk2 = 0; + } + + // u8 + a0->unk354 = 0; + + // u16 + a0->unk352 = 0; } \ No newline at end of file diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index 762019ecd7..8b47386082 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -4,6 +4,7 @@ #include "alloc.h" #include "palette.h" #include "pokenav.h" +#include "menu_unknown.h" #include "scanline_effect.h" #include "text.h" #include "bg.h" @@ -33,7 +34,8 @@ struct UsePokeblockSubStruct struct UsePokeblockStruct { u8 field_0[0x7C58]; - u8 field_7C58[0x378]; + //u8 field_7C58[0x378]; + struct UnknownStruct_81D1ED4 field_7C58; struct UsePokeblockSubStruct info; }; @@ -130,7 +132,7 @@ void sub_8166340(void) LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); - sub_81D2108(gUnknown_0203BCAC->field_7C58); + sub_81D2108(&gUnknown_0203BCAC->field_7C58); ScanlineEffect_InitHBlankDmaTransfer(); } @@ -146,7 +148,7 @@ void sub_8166380(void) { case 0: gUnknown_0203BCAC->field_0[0x7B10] = 0xFF; - sub_81D1ED4(gUnknown_0203BCAC->field_7C58); + sub_81D1ED4(&gUnknown_0203BCAC->field_7C58); gUnknown_0203BC90->field_50++; break; case 1: @@ -202,19 +204,19 @@ void sub_8166380(void) gUnknown_0203BC90->field_50++; break; case 11: - sub_81D2754(gUnknown_0203BCAC->field_7C58, &gUnknown_0203BCAC->field_0[0x7C6C]); - sub_81D20AC(gUnknown_0203BCAC->field_7C58); + sub_81D2754(&gUnknown_0203BCAC->field_7C58, &gUnknown_0203BCAC->field_0[0x7C6C]); + sub_81D20AC(&gUnknown_0203BCAC->field_7C58); gUnknown_0203BC90->field_50++; break; case 12: - if (!sub_81D20BC(gUnknown_0203BCAC->field_7C58)) + if (!sub_81D20BC(&gUnknown_0203BCAC->field_7C58)) { - sub_81D1F84(gUnknown_0203BCAC->field_7C58, &gUnknown_0203BCAC->field_7C58[0x14], &gUnknown_0203BCAC->field_7C58[0x14]); + sub_81D1F84(&gUnknown_0203BCAC->field_7C58, gUnknown_0203BCAC->field_7C58.unk14, gUnknown_0203BCAC->field_7C58.unk14); gUnknown_0203BC90->field_50++; } break; case 13: - sub_81D2230(gUnknown_0203BCAC->field_7C58); + sub_81D2230(&gUnknown_0203BCAC->field_7C58); gUnknown_0203BC90->field_50++; break; case 14: From 4345ba8e6cf145a646666b8d2be1a255873ed29a Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Tue, 5 Mar 2019 22:32:28 -0500 Subject: [PATCH 19/47] More decompiled and cleanup --- asm/menu_unknown.s | 206 -------------------------------- data/menu_unknown.s | 8 -- include/menu_unknown.h | 4 +- include/pokenav.h | 1 - src/menu_unknown.c | 264 ++++++++++++++++++++++++++++++++++------- sym_ewram.txt | 6 +- 6 files changed, 226 insertions(+), 263 deletions(-) diff --git a/asm/menu_unknown.s b/asm/menu_unknown.s index 6b782f5c46..f534d688e4 100644 --- a/asm/menu_unknown.s +++ b/asm/menu_unknown.s @@ -6,212 +6,6 @@ .text - thumb_func_start sub_81D1F84 -sub_81D1F84: @ 81D1F84 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r8, r0 - str r1, [sp] - mov r9, r2 - movs r7, 0 -_081D1F98: - lsls r4, r7, 2 - ldr r1, [sp] - adds r0, r4, r1 - ldrh r1, [r0] - lsls r5, r1, 8 - mov r2, r9 - adds r0, r4, r2 - ldrh r0, [r0] - subs r0, r1 - lsls r0, 8 - movs r1, 0xA - bl __divsi3 - adds r6, r0, 0 - movs r3, 0 - adds r7, 0x1 - mov r10, r7 - mov r12, r4 -_081D1FBC: - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - add r0, r12 - add r0, r8 - asrs r2, r5, 8 - asrs r1, r5, 7 - movs r7, 0x1 - ands r1, r7 - adds r2, r1 - adds r0, 0x64 - strh r2, [r0] - adds r5, r6 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x8 - bls _081D1FBC - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - adds r0, r4, r0 - add r0, r8 - mov r1, r9 - adds r2, r4, r1 - ldrh r1, [r2] - adds r0, 0x64 - strh r1, [r0] - ldr r7, [sp] - adds r0, r4, r7 - ldrh r1, [r0, 0x2] - lsls r5, r1, 8 - ldrh r0, [r2, 0x2] - subs r0, r1 - lsls r0, 8 - movs r1, 0xA - bl __divsi3 - adds r6, r0, 0 - movs r3, 0 - str r4, [sp, 0x4] - movs r0, 0x1 - mov r12, r0 -_081D2012: - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - ldr r1, [sp, 0x4] - adds r0, r1, r0 - add r0, r8 - asrs r2, r5, 8 - asrs r1, r5, 7 - mov r7, r12 - ands r1, r7 - adds r2, r1 - adds r0, 0x66 - strh r2, [r0] - adds r5, r6 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x8 - bls _081D2012 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - adds r0, r4, r0 - add r0, r8 - mov r2, r9 - adds r1, r4, r2 - ldrh r1, [r1, 0x2] - adds r0, 0x66 - strh r1, [r0] - mov r7, r10 - lsls r0, r7, 16 - lsrs r7, r0, 16 - cmp r7, 0x4 - bls _081D1F98 - ldr r1, =0x00000352 - add r1, r8 - movs r0, 0 - strh r0, [r1] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D1F84 - - thumb_func_start sub_81D2074 -sub_81D2074: @ 81D2074 - push {r4,lr} - adds r1, r0, 0 - ldr r0, =0x00000352 - adds r4, r1, r0 - ldrh r0, [r4] - cmp r0, 0x9 - bls _081D208C - movs r0, 0 - b _081D20A6 - .pool -_081D208C: - adds r0, r1, 0 - bl sub_81D2230 - ldrh r1, [r4] - adds r1, 0x1 - strh r1, [r4] - lsls r1, 16 - lsrs r1, 16 - movs r0, 0xA - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 -_081D20A6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81D2074 - - thumb_func_start sub_81D20AC -sub_81D20AC: @ 81D20AC - ldr r1, =0x00000355 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - bx lr - .pool - thumb_func_end sub_81D20AC - - thumb_func_start sub_81D20BC -sub_81D20BC: @ 81D20BC - push {r4,r5,lr} - sub sp, 0xC - ldr r1, =0x00000355 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - beq _081D20D4 - cmp r0, 0x1 - beq _081D20E2 - b _081D20FA - .pool -_081D20D4: - bl ScanlineEffect_Clear - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - movs r0, 0x1 - b _081D20FC -_081D20E2: - mov r0, sp - ldr r1, =gUnknown_08625404 - ldm r1!, {r2,r3,r5} - stm r0!, {r2,r3,r5} - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] -_081D20FA: - movs r0, 0 -_081D20FC: - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D20BC - thumb_func_start sub_81D2108 sub_81D2108: @ 81D2108 push {r4-r7,lr} diff --git a/data/menu_unknown.s b/data/menu_unknown.s index 1ea0786a43..329e000597 100644 --- a/data/menu_unknown.s +++ b/data/menu_unknown.s @@ -3,14 +3,6 @@ .section .rodata -@ ScanlineEffectParams -gUnknown_08625404:: @ 8625404 - .4byte 0x04000040 @ REG_ADDR_WIN0H - .4byte 0xA6600001 @ SCANLINE_EFFECT_DMACNT_32BIT - .byte 1 @ initState - .byte 0 @ unused9 - .byte 0, 0 @ Padding - gUnknown_08625410:: @ 8625410 .byte 4, 5, 6, 7, 8, 9, 9, 0xA, 0xA, 0xB, 0xB, 0xC, 0xC, 0xD, 0xD, 0xD, 0xD, 0xE, 0xE, 0xE, 0xE, 0xF, 0xF, 0xF, 0xF, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23 diff --git a/include/menu_unknown.h b/include/menu_unknown.h index 9d398e2b03..744e985ca4 100644 --- a/include/menu_unknown.h +++ b/include/menu_unknown.h @@ -18,7 +18,8 @@ struct UnknownStruct_81D1ED4 u8 unk13C[0x216]; u16 unk352; u8 unk354; - u8 unk355[0x23]; + u8 unk355; + u8 unk356[0x22]; }; bool8 sub_81D1C44(u8 a0); @@ -33,6 +34,7 @@ void sub_81D1ED4(struct UnknownStruct_81D1ED4 *a0); void sub_81D2108(struct UnknownStruct_81D1ED4 *arg0); void sub_81D20AC(struct UnknownStruct_81D1ED4 *arg0); void sub_81D2230(struct UnknownStruct_81D1ED4 *arg0); +bool8 sub_81D20BC(struct UnknownStruct_81D1ED4 *arg0); void sub_81D3464(void *arg0); void sub_81D3480(void *arg0, u8 arg1); void sub_81D2754(struct UnknownStruct_81D1ED4 *arg0, void *arg1); diff --git a/include/pokenav.h b/include/pokenav.h index 10f0422255..e39373b351 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -2,7 +2,6 @@ #define GUARD_POKENAV_H #include "list_menu.h" -bool8 sub_81D20BC(void *arg0); bool8 sub_81D312C(void *arg0); bool8 sub_81D4A58(struct EventObject*); void MoveRelearnerPrintText(u8 *); diff --git a/src/menu_unknown.c b/src/menu_unknown.c index 303bb7c827..243eb33ffc 100644 --- a/src/menu_unknown.c +++ b/src/menu_unknown.c @@ -9,72 +9,76 @@ #include "string_util.h" #include "window.h" #include "constants/songs.h" +#include "scanline_effect.h" #define WINDOW_UNK_0 0 #define WINDOW_UNK_1 1 #define WINDOW_UNK_2 2 -extern struct ListMenuItem *gUnknown_0203CF4C; -extern u8 gUnknown_0203CF48[3]; +EWRAM_DATA static u8 sUnknown_0203CF48[3] = {0}; +EWRAM_DATA static struct ListMenuItem *sUnknown_0203CF4C = NULL; void sub_81D1E7C(s32 itemIndex, bool8 onInit, struct ListMenu *list); -const struct WindowTemplate gUnknown_086253E8[] = +static const struct WindowTemplate sUnknown_086253E8[] = { [WINDOW_UNK_0] = { - //0x08010100, .bg = 0, .tilemapLeft = 1, .tilemapTop = 1, .width = 8, - //0x00080F02, .height = 2, .paletteNum = 0xF, .baseBlock = 0x8 }, [WINDOW_UNK_1] = { - //0x08 01 15 00, .bg = 0, .tilemapLeft = 21, .tilemapTop = 1, .width = 8, - //0x0018 0F 12, .height = 18, .paletteNum = 0xF, .baseBlock = 0x18 }, [WINDOW_UNK_2] = { - //0x0B 01 01 00 .bg = 0, .tilemapLeft = 1, .tilemapTop = 1, .width = 11, - //0x0018 0F 08 .height = 8, .paletteNum = 0xF, .baseBlock = 0x18 } }; -const u8 gUnknown_08625400[] = { +static const u8 sUnknown_08625400[] = +{ 1, 2, 3 }; static const u8 sEmptyItemName[] = _(""); +static const struct ScanlineEffectParams sUnknown_08625404 = +{ + .dmaDest = (void*)REG_ADDR_WIN0H, + .dmaControl = SCANLINE_EFFECT_DMACNT_32BIT, + .initState = 1, + .unused9 = 0 +}; + bool8 sub_81D1C44(u8 count) { u32 i; struct ListMenuItem **v1; - v1 = &gUnknown_0203CF4C; + v1 = &sUnknown_0203CF4C; *v1 = Alloc(count * sizeof(struct ListMenuItem) + sizeof(struct ListMenuItem)); - if (gUnknown_0203CF4C == NULL) + if (sUnknown_0203CF4C == NULL) return FALSE; - for (i = 0; i < ARRAY_COUNT(gUnknown_0203CF48); i = (u8)(i + 1)) + for (i = 0; i < ARRAY_COUNT(sUnknown_0203CF48); i = (u8)(i + 1)) { - gUnknown_0203CF48[i] |= 0xFF; + sUnknown_0203CF48[i] |= 0xFF; } return TRUE; @@ -84,7 +88,7 @@ u8 sub_81D1C84(u8 a0) { struct WindowTemplate template; - u8 windowId = gUnknown_0203CF48[a0]; + u8 windowId = sUnknown_0203CF48[a0]; if (windowId == 0xFF) { if (a0 == WINDOW_UNK_2) @@ -93,31 +97,31 @@ u8 sub_81D1C84(u8 a0) u32 v2; s32 v3; - template = gUnknown_086253E8[WINDOW_UNK_2]; + template = sUnknown_086253E8[WINDOW_UNK_2]; v3 = GetMaxWidthInMenuTable(&gMailboxMailOptions[0], 4); template.width = v3; - gUnknown_0203CF48[WINDOW_UNK_2] = AddWindow(&template); + sUnknown_0203CF48[WINDOW_UNK_2] = AddWindow(&template); } else { - gUnknown_0203CF48[a0] = AddWindow(&gUnknown_086253E8[a0]); + sUnknown_0203CF48[a0] = AddWindow(&sUnknown_086253E8[a0]); } - SetStandardWindowBorderStyle(gUnknown_0203CF48[a0], 0); + SetStandardWindowBorderStyle(sUnknown_0203CF48[a0], 0); } - return gUnknown_0203CF48[a0]; + return sUnknown_0203CF48[a0]; } void sub_81D1D04(u8 a0) { - sub_8198070(gUnknown_0203CF48[a0], 0); - ClearWindowTilemap(gUnknown_0203CF48[a0]); - RemoveWindow(gUnknown_0203CF48[a0]); - gUnknown_0203CF48[a0] = 0xFF; + sub_8198070(sUnknown_0203CF48[a0], 0); + ClearWindowTilemap(sUnknown_0203CF48[a0]); + RemoveWindow(sUnknown_0203CF48[a0]); + sUnknown_0203CF48[a0] = 0xFF; } u8 sub_81D1D34(u8 a0) { - return gUnknown_0203CF48[a0]; + return sUnknown_0203CF48[a0]; } void sub_81D1D44(u8 windowId, s32 itemId, u8 y) @@ -133,7 +137,7 @@ void sub_81D1D44(u8 windowId, s32 itemId, u8 y) length = StringLength(buffer); if (length <= 5) ConvertInternationalString(buffer, LANGUAGE_JAPANESE); - AddTextPrinterParameterized4(windowId, 1, 8, y, 0, 0, gUnknown_08625400, -1, buffer); + AddTextPrinterParameterized4(windowId, 1, 8, y, 0, 0, sUnknown_08625400, -1, buffer); } u8 sub_81D1DC0(struct PlayerPCItemPageStruct *page) @@ -141,16 +145,16 @@ u8 sub_81D1DC0(struct PlayerPCItemPageStruct *page) u16 i; for (i = 0; i < page->count; i++) { - gUnknown_0203CF4C[i].name = sEmptyItemName; - gUnknown_0203CF4C[i].id = i; + sUnknown_0203CF4C[i].name = sEmptyItemName; + sUnknown_0203CF4C[i].id = i; } - gUnknown_0203CF4C[i].name = gText_Cancel2; - gUnknown_0203CF4C[i].id = LIST_CANCEL; + sUnknown_0203CF4C[i].name = gText_Cancel2; + sUnknown_0203CF4C[i].id = LIST_CANCEL; - gMultiuseListMenuTemplate.items = gUnknown_0203CF4C; + gMultiuseListMenuTemplate.items = sUnknown_0203CF4C; gMultiuseListMenuTemplate.totalItems = page->count + 1; - gMultiuseListMenuTemplate.windowId = gUnknown_0203CF48[1]; + gMultiuseListMenuTemplate.windowId = sUnknown_0203CF48[1]; gMultiuseListMenuTemplate.header_X = 0; gMultiuseListMenuTemplate.item_X = 8; gMultiuseListMenuTemplate.cursor_X = 0; @@ -182,40 +186,216 @@ void sub_81D1E90(struct PlayerPCItemPageStruct *page) void sub_81D1EC0(void) { - Free(gUnknown_0203CF4C); + Free(sUnknown_0203CF4C); } void sub_81D1ED4(struct UnknownStruct_81D1ED4 *a0) { u8 j; u8 i; - u8 v1; for (j = 0; j < 5; j++) { for (i = 0; i < 10; i++) { - // u16 a0->unk64[i][j].unk0 = 0; a0->unk64[i][j].unk2 = 0; } for (i = 0; i < 4; i++) { - // u8 a0->unk0[i][j] = 0; - - // u16 a0->unk14[i][j].unk0 = 0x9B; a0->unk14[i][j].unk2 = 0x5B; } - // u16 a0->unk12C[j].unk0 = 0; a0->unk12C[j].unk2 = 0; } - // u8 a0->unk354 = 0; - - // u16 a0->unk352 = 0; +} + +NAKED +void sub_81D1F84(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D1ED4 arg1[4][5], struct UnknownSubStruct_81D1ED4 arg2[4][5]) +{ + /* + u16 j; + u16 i; + s16 v1; + s16 v2; + for (j = 0; j < 5; j++) + { + v1 = arg1[0][j].unk0; + v2 = (arg2[0][j].unk0 - v1) / 10; + + for (i = 0; i < 9; i++) + { + arg0->unk64[i][j].unk0 = v1 + ((v1 << 1) & 1); + } + + for (i = 0; i < 9; i++) + { + + } + } + */ + asm(".syntax 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, 0x8\n\ + mov r8, r0\n\ + str r1, [sp]\n\ + mov r9, r2\n\ + movs r7, 0\n\ +_081D1F98:\n\ + lsls r4, r7, 2\n\ + ldr r1, [sp]\n\ + adds r0, r4, r1\n\ + ldrh r1, [r0]\n\ + lsls r5, r1, 8\n\ + mov r2, r9\n\ + adds r0, r4, r2\n\ + ldrh r0, [r0]\n\ + subs r0, r1\n\ + lsls r0, 8\n\ + movs r1, 0xA\n\ + bl __divsi3\n\ + adds r6, r0, 0\n\ + movs r3, 0\n\ + adds r7, 0x1\n\ + mov r10, r7\n\ + mov r12, r4\n\ +_081D1FBC:\n\ + lsls r0, r3, 2\n\ + adds r0, r3\n\ + lsls r0, 2\n\ + add r0, r12\n\ + add r0, r8\n\ + asrs r2, r5, 8\n\ + asrs r1, r5, 7\n\ + movs r7, 0x1\n\ + ands r1, r7\n\ + adds r2, r1\n\ + adds r0, 0x64\n\ + strh r2, [r0]\n\ + adds r5, r6\n\ + adds r0, r3, 0x1\n\ + lsls r0, 16\n\ + lsrs r3, r0, 16\n\ + cmp r3, 0x8\n\ + bls _081D1FBC\n\ + lsls r0, r3, 2\n\ + adds r0, r3\n\ + lsls r0, 2\n\ + adds r0, r4, r0\n\ + add r0, r8\n\ + mov r1, r9\n\ + adds r2, r4, r1\n\ + ldrh r1, [r2]\n\ + adds r0, 0x64\n\ + strh r1, [r0]\n\ + ldr r7, [sp]\n\ + adds r0, r4, r7\n\ + ldrh r1, [r0, 0x2]\n\ + lsls r5, r1, 8\n\ + ldrh r0, [r2, 0x2]\n\ + subs r0, r1\n\ + lsls r0, 8\n\ + movs r1, 0xA\n\ + bl __divsi3\n\ + adds r6, r0, 0\n\ + movs r3, 0\n\ + str r4, [sp, 0x4]\n\ + movs r0, 0x1\n\ + mov r12, r0\n\ +_081D2012:\n\ + lsls r0, r3, 2\n\ + adds r0, r3\n\ + lsls r0, 2\n\ + ldr r1, [sp, 0x4]\n\ + adds r0, r1, r0\n\ + add r0, r8\n\ + asrs r2, r5, 8\n\ + asrs r1, r5, 7\n\ + mov r7, r12\n\ + ands r1, r7\n\ + adds r2, r1\n\ + adds r0, 0x66\n\ + strh r2, [r0]\n\ + adds r5, r6\n\ + adds r0, r3, 0x1\n\ + lsls r0, 16\n\ + lsrs r3, r0, 16\n\ + cmp r3, 0x8\n\ + bls _081D2012\n\ + lsls r0, r3, 2\n\ + adds r0, r3\n\ + lsls r0, 2\n\ + adds r0, r4, r0\n\ + add r0, r8\n\ + mov r2, r9\n\ + adds r1, r4, r2\n\ + ldrh r1, [r1, 0x2]\n\ + adds r0, 0x66\n\ + strh r1, [r0]\n\ + mov r7, r10\n\ + lsls r0, r7, 16\n\ + lsrs r7, r0, 16\n\ + cmp r7, 0x4\n\ + bls _081D1F98\n\ + ldr r1, =0x00000352\n\ + add r1, r8\n\ + movs r0, 0\n\ + strh r0, [r1]\n\ + add sp, 0x8\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\ + .syntax divided"); +} + +bool32 sub_81D2074(struct UnknownStruct_81D1ED4 *a0) +{ + if (a0->unk352 < 10) + { + sub_81D2230(a0); + return ++a0->unk352 != 10; + } + else + { + return FALSE; + } + +} + +void sub_81D20AC(struct UnknownStruct_81D1ED4 *a0) +{ + a0->unk355 = 0; +} + +bool8 sub_81D20BC(struct UnknownStruct_81D1ED4 *arg0) +{ + struct ScanlineEffectParams params; + switch (arg0->unk355) + { + case 0: + ScanlineEffect_Clear(); + arg0->unk355++; + return TRUE; + case 1: + params = sUnknown_08625404; + ScanlineEffect_SetParams(params); + arg0->unk355++; + return FALSE; + default: + return FALSE; + } } \ No newline at end of file diff --git a/sym_ewram.txt b/sym_ewram.txt index 7702739dd9..f6db45f6d9 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -237,11 +237,7 @@ gUnknown_0203CF40: @ 203CF40 gUnknown_0203CF44: @ 203CF44 .space 0x4 -gUnknown_0203CF48: @ 203CF48 - .space 0x4 - -gUnknown_0203CF4C: @ 203CF4C - .space 0x4 + .include "src/menu_unknown.o" gUnknown_0203CF50: @ 203CF50 .space 0x4 From 0da83abad297cdc2d07e89aa30dbf86ab6360ac9 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Wed, 6 Mar 2019 22:27:30 -0500 Subject: [PATCH 20/47] Several nonmatching functions Huge and difficult. --- asm/menu_unknown.s | 952 ---------------------------------- data/menu_unknown.s | 4 +- include/menu_unknown.h | 8 +- src/menu_unknown.c | 1103 +++++++++++++++++++++++++++++++++++++++- src/use_pokeblock.c | 3 +- 5 files changed, 1110 insertions(+), 960 deletions(-) diff --git a/asm/menu_unknown.s b/asm/menu_unknown.s index f534d688e4..c0026a7423 100644 --- a/asm/menu_unknown.s +++ b/asm/menu_unknown.s @@ -6,958 +6,6 @@ .text - thumb_func_start sub_81D2108 -sub_81D2108: @ 81D2108 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - adds r6, r0, 0 - movs r1, 0xD5 - lsls r1, 2 - adds r0, r6, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _081D21BE - adds r0, r6, 0 - bl sub_81D24A4 - adds r0, r6, 0 - bl sub_81D2634 - movs r7, 0 - ldr r5, =gScanlineEffectRegBuffers - mov r12, r5 - movs r0, 0xF0 - lsls r0, 3 - add r0, r12 - mov r9, r0 - movs r1, 0xA0 - lsls r1, 1 - adds r1, r6, r1 - str r1, [sp] - ldr r5, =0x0000ffff - mov r8, r5 - movs r0, 0xA1 - lsls r0, 1 - adds r0, r6, r0 - str r0, [sp, 0x4] - movs r1, 0x92 - lsls r1, 2 - adds r1, r6, r1 - str r1, [sp, 0x8] - ldr r5, =0x0000024a - adds r5, r6 - mov r10, r5 -_081D215E: - adds r2, r7, 0 - adds r2, 0x37 - lsls r3, r2, 2 - mov r0, r9 - adds r0, r3, r0 - str r0, [sp, 0xC] - add r3, r12 - lsls r4, r7, 2 - ldr r1, [sp] - adds r0, r1, r4 - ldrh r0, [r0] - lsls r0, 8 - ldr r5, [sp, 0x4] - adds r1, r5, r4 - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r3] - mov r1, r8 - ands r0, r1 - ldr r5, [sp, 0xC] - strh r0, [r5] - lsls r2, 1 - adds r2, 0x1 - lsls r2, 1 - mov r0, r9 - adds r3, r2, r0 - add r2, r12 - ldr r1, [sp, 0x8] - adds r0, r1, r4 - ldrh r0, [r0] - lsls r0, 8 - add r4, r10 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r2] - mov r5, r8 - ands r0, r5 - strh r0, [r3] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x41 - bls _081D215E - movs r0, 0xD5 - lsls r0, 2 - adds r1, r6, r0 - movs r0, 0 - strb r0, [r1] -_081D21BE: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D2108 - - thumb_func_start sub_81D21DC -sub_81D21DC: @ 81D21DC - push {r4,r5,lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _081D21E8 - movs r1, 0 -_081D21E8: - movs r0, 0x1 - lsls r0, r1 - movs r5, 0x1F - bics r5, r0 - movs r0, 0x40 - movs r1, 0xF0 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0x9B - bl SetGpuReg - ldr r4, =0x00003879 - movs r0, 0x44 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x46 - adds r1, r4, 0 - bl SetGpuReg - ldr r1, =0x00003f3f - movs r0, 0x48 - bl SetGpuReg - movs r0, 0x4A - adds r1, r5, 0 - bl SetGpuReg - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D21DC - - thumb_func_start sub_81D2230 -sub_81D2230: @ 81D2230 - push {r4-r7,lr} - mov r12, r0 - movs r4, 0 - movs r7, 0x96 - lsls r7, 1 - add r7, r12 - ldr r6, =0x00000352 - add r6, r12 - mov r5, r12 - adds r5, 0x64 -_081D2244: - lsls r2, r4, 2 - adds r3, r7, r2 - ldrh r1, [r6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, r0 - adds r2, r5, r2 - ldr r0, [r2] - str r0, [r3] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _081D2244 - movs r1, 0xD5 - lsls r1, 2 - add r1, r12 - movs r0, 0x1 - strb r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D2230 - - thumb_func_start sub_81D2278 -sub_81D2278: @ 81D2278 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - str r0, [sp] - adds r6, r1, 0 - adds r5, r2, 0 - str r3, [sp, 0x4] - ldr r0, [sp, 0x38] - ldr r7, [sp, 0x3C] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r0, 0 - str r0, [sp, 0xC] - ldrh r0, [r5, 0x2] - ldrh r1, [r3, 0x2] - cmp r0, r1 - bcs _081D22B2 - adds r2, r0, 0 - mov r10, r2 - ldrh r0, [r3, 0x2] - ldrh r1, [r5] - lsls r4, r1, 10 - ldrh r3, [r3] - str r3, [sp, 0x8] - b _081D22C6 -_081D22B2: - ldrh r0, [r5, 0x2] - ldr r1, [sp, 0x4] - ldrh r1, [r1, 0x2] - mov r10, r1 - ldr r2, [sp, 0x4] - ldrh r1, [r2] - lsls r4, r1, 10 - ldrh r3, [r5] - str r3, [sp, 0x8] - mov r2, r10 -_081D22C6: - subs r0, r2 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r0, 0 - beq _081D22DE - subs r0, r3, r1 - lsls r0, 10 - mov r1, r8 - bl __divsi3 - str r0, [sp, 0xC] -_081D22DE: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r7, 0 - bne _081D2328 - mov r0, r10 - subs r0, 0x38 - lsls r0, 2 - adds r6, r0 - movs r5, 0 - mov r3, r9 - lsls r3, 1 - mov r12, r3 - ldr r0, [sp, 0x8] - add r0, r9 - str r0, [sp, 0x10] - cmp r7, r8 - bcs _081D23B6 - movs r7, 0x1 -_081D2308: - adds r2, r3, r6 - asrs r1, r4, 10 - asrs r0, r4, 9 - ands r0, r7 - adds r1, r0 - add r1, r9 - strh r1, [r2] - ldr r1, [sp, 0xC] - adds r4, r1 - adds r6, 0x4 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcc _081D2308 - b _081D23B6 -_081D2328: - ldr r2, [sp, 0xC] - cmp r2, 0 - ble _081D23C0 - mov r0, r10 - subs r0, 0x38 - lsls r0, 2 - adds r7, r0 - movs r5, 0 - mov r3, r9 - lsls r3, 1 - mov r12, r3 - ldr r0, [sp, 0x8] - add r0, r9 - str r0, [sp, 0x10] - cmp r5, r8 - bcs _081D237A - ldr r0, =0x00026bff - cmp r4, r0 - bgt _081D237A - mov r1, r12 - str r1, [sp, 0x14] -_081D2352: - ldr r3, [sp, 0x14] - adds r2, r3, r7 - asrs r1, r4, 10 - asrs r0, r4, 9 - movs r3, 0x1 - ands r0, r3 - adds r1, r0 - add r1, r9 - strh r1, [r2] - ldr r0, [sp, 0xC] - adds r4, r0 - adds r7, 0x4 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcs _081D237A - ldr r1, =0x00026bff - cmp r4, r1 - ble _081D2352 -_081D237A: - mov r2, r10 - adds r1, r2, r5 - ldr r3, [sp] - movs r2, 0xD4 - lsls r2, 2 - adds r0, r3, r2 - strh r1, [r0] - ldrh r0, [r0] - subs r0, 0x38 - lsls r0, 2 - adds r6, r0 - cmp r5, r8 - bcs _081D23B6 - mov r3, r12 - movs r7, 0x1 -_081D2398: - adds r2, r3, r6 - asrs r1, r4, 10 - asrs r0, r4, 9 - ands r0, r7 - adds r1, r0 - add r1, r9 - strh r1, [r2] - ldr r0, [sp, 0xC] - adds r4, r0 - adds r6, 0x4 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcc _081D2398 -_081D23B6: - subs r0, r6, 0x4 - b _081D248C - .pool -_081D23C0: - ldr r1, [sp, 0xC] - cmp r1, 0 - bge _081D2464 - mov r0, r10 - subs r0, 0x38 - lsls r0, 2 - adds r6, r0 - movs r5, 0 - mov r2, r9 - lsls r2, 1 - mov r12, r2 - ldr r3, [sp, 0x8] - add r3, r9 - str r3, [sp, 0x10] - cmp r5, r8 - bcs _081D241E - adds r3, r2, r6 - asrs r1, r4, 10 - asrs r0, r4, 9 - movs r2, 0x1 - ands r0, r2 - adds r1, r0 - add r1, r9 - strh r1, [r3] - b _081D2414 -_081D23F2: - ldr r0, [sp, 0xC] - adds r4, r0 - adds r6, 0x4 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcs _081D241E - mov r1, r12 - adds r3, r1, r6 - asrs r2, r4, 10 - asrs r0, r4, 9 - movs r1, 0x1 - ands r0, r1 - adds r2, r0 - add r2, r9 - strh r2, [r3] -_081D2414: - ldr r0, =0x00026bff - cmp r4, r0 - bgt _081D23F2 - movs r0, 0x9B - strh r0, [r3] -_081D241E: - mov r2, r10 - adds r1, r2, r5 - ldr r3, [sp] - movs r2, 0xD4 - lsls r2, 2 - adds r0, r3, r2 - strh r1, [r0] - ldrh r0, [r0] - subs r0, 0x38 - lsls r0, 2 - adds r7, r0 - cmp r5, r8 - bcs _081D245A - mov r3, r12 - movs r6, 0x1 -_081D243C: - adds r2, r3, r7 - asrs r1, r4, 10 - asrs r0, r4, 9 - ands r0, r6 - adds r1, r0 - add r1, r9 - strh r1, [r2] - ldr r0, [sp, 0xC] - adds r4, r0 - adds r7, 0x4 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcc _081D243C -_081D245A: - subs r0, r7, 0x4 - b _081D248C - .pool -_081D2464: - ldr r1, [sp] - movs r2, 0xD4 - lsls r2, 2 - adds r0, r1, r2 - mov r3, r10 - strh r3, [r0] - mov r0, r10 - subs r0, 0x38 - lsls r0, 2 - adds r6, r0 - adds r7, r0 - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r6, 0x2] - ldr r1, [sp, 0x4] - ldrh r0, [r1] - strh r0, [r7] - movs r0, 0x9B - strh r0, [r7, 0x2] - b _081D2494 -_081D248C: - add r0, r12 - mov r2, sp - ldrh r2, [r2, 0x10] - strh r2, [r0] -_081D2494: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D2278 - - thumb_func_start sub_81D24A4 -sub_81D24A4: @ 81D24A4 - push {r4-r7,lr} - sub sp, 0x8 - adds r4, r0, 0 - movs r0, 0x97 - lsls r0, 1 - adds r2, r4, r0 - movs r3, 0x99 - lsls r3, 1 - adds r1, r4, r3 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bcs _081D24E0 - adds r7, r0, 0 - movs r0, 0xA0 - lsls r0, 1 - adds r1, r4, r0 - movs r3, 0x96 - lsls r3, 1 - adds r2, r4, r3 - subs r0, 0x10 - adds r3, r4, r0 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r4, 0 - bl sub_81D2278 - b _081D2500 -_081D24E0: - ldrh r7, [r1] - movs r2, 0xA0 - lsls r2, 1 - adds r1, r4, r2 - movs r3, 0x98 - lsls r3, 1 - adds r2, r4, r3 - movs r0, 0x96 - lsls r0, 1 - adds r3, r4, r0 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r4, 0 - bl sub_81D2278 -_081D2500: - movs r1, 0xA0 - lsls r1, 1 - adds r5, r4, r1 - movs r3, 0x98 - lsls r3, 1 - adds r2, r4, r3 - movs r0, 0x9A - lsls r0, 1 - adds r6, r4, r0 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r4, 0 - adds r1, r5, 0 - adds r3, r6, 0 - bl sub_81D2278 - movs r2, 0 - movs r1, 0x9B - lsls r1, 1 - adds r0, r4, r1 - movs r3, 0x9D - lsls r3, 1 - adds r1, r4, r3 - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - bhi _081D253C - movs r2, 0x1 -_081D253C: - movs r0, 0x9C - lsls r0, 1 - adds r3, r4, r0 - str r2, [sp] - movs r1, 0x92 - lsls r1, 2 - adds r0, r4, r1 - str r0, [sp, 0x4] - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_81D2278 - movs r2, 0x38 - cmp r2, r7 - bcs _081D257E - adds r6, r5, 0 - movs r3, 0 - movs r0, 0xA1 - lsls r0, 1 - adds r5, r4, r0 -_081D2566: - adds r0, r2, 0 - subs r0, 0x38 - lsls r0, 2 - adds r1, r6, r0 - strh r3, [r1] - adds r0, r5, r0 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r7 - bcc _081D2566 -_081D257E: - movs r1, 0x97 - lsls r1, 1 - adds r0, r4, r1 - ldrh r2, [r0] - movs r3, 0xD4 - lsls r3, 2 - adds r0, r4, r3 - ldrh r1, [r0] - cmp r2, r1 - bhi _081D25B2 - movs r1, 0xA0 - lsls r1, 1 - adds r3, r4, r1 - movs r5, 0x9B - adds r1, r0, 0 -_081D259C: - adds r0, r2, 0 - subs r0, 0x38 - lsls r0, 2 - adds r0, r3, r0 - strh r5, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r1] - cmp r2, r0 - bls _081D259C -_081D25B2: - movs r2, 0x9B - lsls r2, 1 - adds r1, r4, r2 - movs r3, 0xD4 - lsls r3, 2 - adds r0, r4, r3 - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - bcs _081D25C8 - adds r0, r1, 0 -_081D25C8: - adds r0, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x79 - bhi _081D25F8 - movs r0, 0xA0 - lsls r0, 1 - adds r6, r4, r0 - movs r3, 0 - movs r1, 0xA1 - lsls r1, 1 - adds r5, r4, r1 -_081D25E0: - adds r0, r2, 0 - subs r0, 0x38 - lsls r0, 2 - adds r1, r6, r0 - strh r3, [r1] - adds r0, r5, r0 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x79 - bls _081D25E0 -_081D25F8: - movs r2, 0x38 - movs r3, 0xA0 - lsls r3, 1 - adds r5, r4, r3 - movs r0, 0xA1 - lsls r0, 1 - adds r4, r0 - movs r6, 0x9B -_081D2608: - adds r0, r2, 0 - subs r0, 0x38 - lsls r1, r0, 2 - adds r3, r5, r1 - ldrh r0, [r3] - cmp r0, 0 - bne _081D2620 - adds r0, r4, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _081D2620 - strh r6, [r3] -_081D2620: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x79 - bls _081D2608 - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D24A4 - - thumb_func_start sub_81D2634 -sub_81D2634: @ 81D2634 - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - movs r0, 0x97 - lsls r0, 1 - adds r2, r4, r0 - movs r3, 0x9F - lsls r3, 1 - adds r1, r4, r3 - ldrh r0, [r2] - ldrh r5, [r1] - cmp r0, r5 - bcs _081D266E - adds r6, r0, 0 - movs r0, 0x92 - lsls r0, 2 - adds r1, r4, r0 - subs r3, 0x12 - adds r2, r4, r3 - movs r5, 0x9E - lsls r5, 1 - adds r3, r4, r5 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r4, 0 - bl sub_81D2278 - b _081D2690 -_081D266E: - ldrh r6, [r1] - movs r0, 0x92 - lsls r0, 2 - adds r1, r4, r0 - movs r3, 0x9E - lsls r3, 1 - adds r2, r4, r3 - movs r5, 0x96 - lsls r5, 1 - adds r3, r4, r5 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r4, 0 - bl sub_81D2278 -_081D2690: - movs r0, 0x92 - lsls r0, 2 - adds r5, r4, r0 - movs r1, 0x9E - lsls r1, 1 - adds r2, r4, r1 - movs r0, 0x9C - lsls r0, 1 - adds r3, r4, r0 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81D2278 - cmp r6, 0x38 - ble _081D26C8 - movs r0, 0 - adds r1, r5, 0 - adds r2, r6, 0 - subs r2, 0x38 -_081D26BC: - strh r0, [r1] - strh r0, [r1, 0x2] - adds r1, 0x4 - subs r2, 0x1 - cmp r2, 0 - bne _081D26BC -_081D26C8: - movs r1, 0x97 - lsls r1, 1 - adds r0, r4, r1 - ldrh r2, [r0] - movs r3, 0xD4 - lsls r3, 2 - adds r0, r4, r3 - ldrh r5, [r0] - cmp r2, r5 - bgt _081D26F6 - movs r3, 0x9B - adds r1, r0, 0 - lsls r0, r2, 2 - movs r5, 0xB5 - lsls r5, 1 - adds r0, r5 - adds r0, r4 -_081D26EA: - strh r3, [r0] - adds r0, 0x4 - adds r2, 0x1 - ldrh r5, [r1] - cmp r2, r5 - ble _081D26EA -_081D26F6: - movs r1, 0x9D - lsls r1, 1 - adds r0, r4, r1 - ldrh r0, [r0] - adds r1, r0, 0x1 - movs r2, 0xD4 - lsls r2, 2 - adds r0, r4, r2 - ldrh r0, [r0] - cmp r0, r1 - bge _081D270E - adds r0, r1, 0 -_081D270E: - adds r2, r0, 0 - cmp r2, 0x79 - bgt _081D272C - movs r1, 0 - lsls r0, r2, 2 - movs r3, 0xB4 - lsls r3, 1 - adds r0, r3 - adds r0, r4 -_081D2720: - strh r1, [r0] - strh r1, [r0, 0x2] - adds r0, 0x4 - adds r2, 0x1 - cmp r2, 0x79 - ble _081D2720 -_081D272C: - movs r3, 0 - movs r5, 0x92 - lsls r5, 2 - adds r1, r4, r5 - movs r2, 0x41 -_081D2736: - ldrh r0, [r1] - ldrh r4, [r1, 0x2] - cmp r0, r4 - bcc _081D2742 - strh r3, [r1, 0x2] - strh r3, [r1] -_081D2742: - adds r1, 0x4 - subs r2, 0x1 - cmp r2, 0 - bge _081D2736 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81D2634 - - thumb_func_start sub_81D2754 -sub_81D2754: @ 81D2754 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - mov r8, r1 - ldr r1, =gUnknown_08625410 - ldrb r0, [r6] - adds r0, r1 - ldrb r2, [r0] - adds r6, 0x1 - movs r0, 0x9B - mov r3, r8 - strh r0, [r3] - movs r0, 0x5B - subs r0, r2 - strh r0, [r3, 0x2] - movs r7, 0x40 - movs r0, 0 - mov r12, r0 - movs r2, 0x1 - mov r9, r2 - ldr r3, =gSineTable - mov r10, r3 -_081D2786: - adds r0, r7, 0 - adds r0, 0x33 - lsls r0, 24 - lsrs r7, r0, 24 - mov r1, r12 - lsls r0, r1, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r3, r0, 24 - mov r12, r3 - cmp r0, 0 - bge _081D27A4 - movs r0, 0x4 - mov r12, r0 -_081D27A4: - mov r1, r12 - lsls r0, r1, 24 - asrs r4, r0, 24 - cmp r4, 0x2 - bne _081D27B4 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_081D27B4: - ldrb r0, [r6] - ldr r2, =gUnknown_08625410 - adds r0, r2 - ldrb r2, [r0] - adds r6, 0x1 - lsls r0, r4, 2 - mov r1, r8 - adds r3, r0, r1 - adds r0, r7, 0 - adds r0, 0x40 - lsls r0, 1 - add r0, r10 - movs r1, 0 - ldrsh r0, [r0, r1] - muls r0, r2 - asrs r5, r0, 8 - adds r0, r5, 0 - adds r0, 0x9B - strh r0, [r3] - lsls r0, r7, 1 - add r0, r10 - movs r1, 0 - ldrsh r0, [r0, r1] - adds r1, r2, 0 - muls r1, r0 - asrs r1, 8 - movs r0, 0x5B - subs r0, r1 - strh r0, [r3, 0x2] - cmp r4, 0x2 - bgt _081D2800 - cmp r2, 0x20 - bne _081D27FA - cmp r4, 0x2 - beq _081D2800 -_081D27FA: - adds r0, r5, 0 - adds r0, 0x9C - strh r0, [r3] -_081D2800: - mov r0, r9 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - cmp r0, 0x4 - bls _081D2786 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D2754 - thumb_func_start InitMoveRelearnerWindows InitMoveRelearnerWindows: @ 81D2824 push {r4,r5,lr} diff --git a/data/menu_unknown.s b/data/menu_unknown.s index 329e000597..fc8bf47b9c 100644 --- a/data/menu_unknown.s +++ b/data/menu_unknown.s @@ -3,8 +3,8 @@ .section .rodata -gUnknown_08625410:: @ 8625410 - .byte 4, 5, 6, 7, 8, 9, 9, 0xA, 0xA, 0xB, 0xB, 0xC, 0xC, 0xD, 0xD, 0xD, 0xD, 0xE, 0xE, 0xE, 0xE, 0xF, 0xF, 0xF, 0xF, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23 +@gUnknown_08625410:: @ 8625410 +@ .byte 4, 5, 6, 7, 8, 9, 9, 0xA, 0xA, 0xB, 0xB, 0xC, 0xC, 0xD, 0xD, 0xD, 0xD, 0xE, 0xE, 0xE, 0xE, 0xF, 0xF, 0xF, 0xF, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23 gMoveRelearnerWindowTemplates:: @ 8625510s window_template 1, 1, 1, 16, 12, 0xF, 0x000A diff --git a/include/menu_unknown.h b/include/menu_unknown.h index 744e985ca4..d63abdc0b9 100644 --- a/include/menu_unknown.h +++ b/include/menu_unknown.h @@ -14,8 +14,10 @@ struct UnknownStruct_81D1ED4 u8 unk0[4][5]; struct UnknownSubStruct_81D1ED4 unk14[4][5]; struct UnknownSubStruct_81D1ED4 unk64[10][5]; - struct UnknownSubStruct_81D1ED4 unk12C[4]; - u8 unk13C[0x216]; + struct UnknownSubStruct_81D1ED4 unk12C[5]; + struct UnknownSubStruct_81D1ED4 unk13C[0x42]; + struct UnknownSubStruct_81D1ED4 unk248[0x42]; + u16 unk350; u16 unk352; u8 unk354; u8 unk355; @@ -37,7 +39,7 @@ void sub_81D2230(struct UnknownStruct_81D1ED4 *arg0); bool8 sub_81D20BC(struct UnknownStruct_81D1ED4 *arg0); void sub_81D3464(void *arg0); void sub_81D3480(void *arg0, u8 arg1); -void sub_81D2754(struct UnknownStruct_81D1ED4 *arg0, void *arg1); +void sub_81D2754(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D1ED4 *arg1); void sub_81D1F84(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D1ED4 arg1[4][5], struct UnknownSubStruct_81D1ED4 arg2[4][5]); #endif // GUARD_MENU_UNKNOWN_H \ No newline at end of file diff --git a/src/menu_unknown.c b/src/menu_unknown.c index 243eb33ffc..dc8351d924 100644 --- a/src/menu_unknown.c +++ b/src/menu_unknown.c @@ -1,15 +1,18 @@ #include "global.h" #include "alloc.h" +#include "gpu_regs.h" #include "international_string_util.h" #include "menu.h" #include "menu_unknown.h" #include "player_pc.h" +#include "scanline_effect.h" #include "sound.h" #include "strings.h" #include "string_util.h" +#include "trig.h" #include "window.h" #include "constants/songs.h" -#include "scanline_effect.h" +#include "gba/io_reg.h" #define WINDOW_UNK_0 0 #define WINDOW_UNK_1 1 @@ -19,6 +22,8 @@ EWRAM_DATA static u8 sUnknown_0203CF48[3] = {0}; EWRAM_DATA static struct ListMenuItem *sUnknown_0203CF4C = NULL; void sub_81D1E7C(s32 itemIndex, bool8 onInit, struct ListMenu *list); +void sub_81D24A4(struct UnknownStruct_81D1ED4 *a0); +void sub_81D2634(struct UnknownStruct_81D1ED4 *a0); static const struct WindowTemplate sUnknown_086253E8[] = { @@ -66,6 +71,44 @@ static const struct ScanlineEffectParams sUnknown_08625404 = .unused9 = 0 }; + +const u8 gUnknown_08625410[] = +{ + 4, + 5, + 6, + 7, + 8, + 9, 9, + 10, 10, + 0xB, 0xB, + 0xC, 0xC, + 0xD, 0xD, + 0xD, 0xD, + 0xE, 0xE, 0xE, 0xE, + 0xF, 0xF, 0xF, 0xF, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, + 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, + 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, + 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, + 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, + 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, + 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x23 +}; + bool8 sub_81D1C44(u8 count) { u32 i; @@ -398,4 +441,1062 @@ bool8 sub_81D20BC(struct UnknownStruct_81D1ED4 *arg0) default: return FALSE; } +} + +NAKED +void sub_81D2108(struct UnknownStruct_81D1ED4 *arg0) +{ + // Three of the additions are in the wrong order. +#ifdef NONMATCHING + u16 i; + u32 v3; + u32 v4; + u16 *scanBuffer1; + u16 *scanBuffer2; + u32 scanBufferWidth; + u32 mask; + u16 *unkBuff1; + u16 *unkBuff2; + u16 *unkBuff3; + u16 *unkBuff4; + + if (arg0->unk354 == 0) + return; + + sub_81D24A4(arg0); + sub_81D2634(arg0); + + i = 0; + scanBuffer1 = gScanlineEffectRegBuffers[0]; + scanBufferWidth = ARRAY_COUNT(gScanlineEffectRegBuffers[0]); + scanBuffer2 = scanBuffer1 + scanBufferWidth; + + // This function accesses the arrays "manually", where every other entry + // is just handled differently, rather than a pairwise struct. + unkBuff1 = (u16*)&arg0->unk13C[0].unk0; + mask = 0xFFFF; + unkBuff2 = (u16*)&arg0->unk13C[0].unk2; + unkBuff3 = (u16*)&arg0->unk248[0].unk0; + unkBuff4 = (u16*)&arg0->unk248[0].unk2; + + for (; i < 0x42; i++) + { + u32 offset1; + register u32 offset2 asm("r2"); + u32 offset3; + + offset1 = (i + 0x37) * 2; + offset2 = i + 0x37; + scanBuffer2[offset1] = (scanBuffer1[offset1] = (unkBuff1[i * 2] << 8) | unkBuff2[i * 2]) & mask; + + offset3 = offset2 * 2 + 1; + scanBuffer2[offset3] = (scanBuffer1[offset3] = (unkBuff3[i * 2] << 8) | unkBuff4[i * 2]) & mask; + } + + arg0->unk354 = 0; +#else + asm(".syntax 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, 0x10\n\ + adds r6, r0, 0\n\ + movs r1, 0xD5\n\ + lsls r1, 2\n\ + adds r0, r6, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + beq _081D21BE\n\ + adds r0, r6, 0\n\ + bl sub_81D24A4\n\ + adds r0, r6, 0\n\ + bl sub_81D2634\n\ + movs r7, 0\n\ + ldr r5, =gScanlineEffectRegBuffers\n\ + mov r12, r5\n\ + movs r0, 0xF0\n\ + lsls r0, 3\n\ + add r0, r12\n\ + mov r9, r0\n\ + movs r1, 0xA0\n\ + lsls r1, 1\n\ + adds r1, r6, r1\n\ + str r1, [sp]\n\ + ldr r5, =0x0000ffff\n\ + mov r8, r5\n\ + movs r0, 0xA1\n\ + lsls r0, 1\n\ + adds r0, r6, r0\n\ + str r0, [sp, 0x4]\n\ + movs r1, 0x92\n\ + lsls r1, 2\n\ + adds r1, r6, r1\n\ + str r1, [sp, 0x8]\n\ + ldr r5, =0x0000024a\n\ + adds r5, r6\n\ + mov r10, r5\n\ +_081D215E:\n\ + adds r2, r7, 0\n\ + adds r2, 0x37\n\ + lsls r3, r2, 2\n\ + mov r0, r9\n\ + adds r0, r3, r0\n\ + str r0, [sp, 0xC]\n\ + add r3, r12\n\ + lsls r4, r7, 2\n\ + ldr r1, [sp]\n\ + adds r0, r1, r4\n\ + ldrh r0, [r0]\n\ + lsls r0, 8\n\ + ldr r5, [sp, 0x4]\n\ + adds r1, r5, r4\n\ + ldrh r1, [r1]\n\ + orrs r0, r1\n\ + strh r0, [r3]\n\ + mov r1, r8\n\ + ands r0, r1\n\ + ldr r5, [sp, 0xC]\n\ + strh r0, [r5]\n\ + lsls r2, 1\n\ + adds r2, 0x1\n\ + lsls r2, 1\n\ + mov r0, r9\n\ + adds r3, r2, r0\n\ + add r2, r12\n\ + ldr r1, [sp, 0x8]\n\ + adds r0, r1, r4\n\ + ldrh r0, [r0]\n\ + lsls r0, 8\n\ + add r4, r10\n\ + ldrh r1, [r4]\n\ + orrs r0, r1\n\ + strh r0, [r2]\n\ + mov r5, r8\n\ + ands r0, r5\n\ + strh r0, [r3]\n\ + adds r0, r7, 0x1\n\ + lsls r0, 16\n\ + lsrs r7, r0, 16\n\ + cmp r7, 0x41\n\ + bls _081D215E\n\ + movs r0, 0xD5\n\ + lsls r0, 2\n\ + adds r1, r6, r0\n\ + movs r0, 0\n\ + strb r0, [r1]\n\ +_081D21BE:\n\ + add sp, 0x10\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\ + .syntax divided"); +#endif +} + +void sub_81D21DC(u8 bg) +{ + u8 flags; + + if (bg > 3) + bg = 0; + + // Unset the WINOUT flag for the bg. + flags = (WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ) & ~(1 << bg); + + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, 0xF0)); + SetGpuReg(REG_OFFSET_WIN1H, WIN_RANGE(0, 0x9B)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(0x38, 0x79)); + SetGpuReg(REG_OFFSET_WIN1V, WIN_RANGE(0x38, 0x79)); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); + SetGpuReg(REG_OFFSET_WINOUT, flags); +} + +void sub_81D2230(struct UnknownStruct_81D1ED4 *arg0) +{ + u16 i; + for (i = 0; i < 5; i++) + { + arg0->unk12C[i] = arg0->unk64[arg0->unk352][i]; + } + arg0->unk354 = 1; +} + +NAKED +void sub_81D2278(void *a0, void *a1, u16 *a2, u16 *a3, u8 a38, u32 a3C) +{ +#ifdef NONMATCHING + // a0 => sp0 + // a1 => r6 + // a2 => r5 + // a3 => sp4 + // a38 => r9 + // a3C => r7 + u32 v1; // r10 + u32 v2; // sp8 + u32 v3; // spC + u32 v4; + u32 v5; + u16 v6; // r8 + u32 v7; + u32 v8; // sp10 + + v3 = 0; + + // v4 => r4 + // v5 => r0 + // v7 => r1 + if (a2[1] < a3[1]) + { + v1 = a2[1]; + v5 = a3[1]; + v7 = a2[0]; + v4 = v7 << 10; + v2 = a3[0]; + } + else + { + v5 = a2[1]; + v1 = a3[1]; + v7 = a3[0]; + v4 = v7 << 10; + v2 = a2[0]; + } + + v6 = v5 - v1; + if (v6 != 0) + { + v3 = (v2 - v7) / v6; + } + v6++; + + if (a3C == 0) + { + v8 = + } +#else + asm(".syntax 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, 0x18\n\ + str r0, [sp]\n\ + adds r6, r1, 0\n\ + adds r5, r2, 0\n\ + str r3, [sp, 0x4]\n\ + ldr r0, [sp, 0x38]\n\ + ldr r7, [sp, 0x3C]\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r9, r0\n\ + movs r0, 0\n\ + str r0, [sp, 0xC]\n\ + ldrh r0, [r5, 0x2]\n\ + ldrh r1, [r3, 0x2]\n\ + cmp r0, r1\n\ + bcs _081D22B2\n\ + adds r2, r0, 0\n\ + mov r10, r2\n\ + ldrh r0, [r3, 0x2]\n\ + ldrh r1, [r5]\n\ + lsls r4, r1, 10\n\ + ldrh r3, [r3]\n\ + str r3, [sp, 0x8]\n\ + b _081D22C6\n\ +_081D22B2:\n\ + ldrh r0, [r5, 0x2]\n\ + ldr r1, [sp, 0x4]\n\ + ldrh r1, [r1, 0x2]\n\ + mov r10, r1\n\ + ldr r2, [sp, 0x4]\n\ + ldrh r1, [r2]\n\ + lsls r4, r1, 10\n\ + ldrh r3, [r5]\n\ + str r3, [sp, 0x8]\n\ + mov r2, r10\n\ +_081D22C6:\n\ + subs r0, r2\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r8, r0\n\ + cmp r0, 0\n\ + beq _081D22DE\n\ + subs r0, r3, r1\n\ + lsls r0, 10\n\ + mov r1, r8\n\ + bl __divsi3\n\ + str r0, [sp, 0xC]\n\ +_081D22DE:\n\ + mov r0, r8\n\ + adds r0, 0x1\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r8, r0\n\ + cmp r7, 0\n\ + bne _081D2328\n\ + mov r0, r10\n\ + subs r0, 0x38\n\ + lsls r0, 2\n\ + adds r6, r0\n\ + movs r5, 0\n\ + mov r3, r9\n\ + lsls r3, 1\n\ + mov r12, r3\n\ + ldr r0, [sp, 0x8]\n\ + add r0, r9\n\ + str r0, [sp, 0x10]\n\ + cmp r7, r8\n\ + bcs _081D23B6\n\ + movs r7, 0x1\n\ +_081D2308:\n\ + adds r2, r3, r6\n\ + asrs r1, r4, 10\n\ + asrs r0, r4, 9\n\ + ands r0, r7\n\ + adds r1, r0\n\ + add r1, r9\n\ + strh r1, [r2]\n\ + ldr r1, [sp, 0xC]\n\ + adds r4, r1\n\ + adds r6, 0x4\n\ + adds r0, r5, 0x1\n\ + lsls r0, 16\n\ + lsrs r5, r0, 16\n\ + cmp r5, r8\n\ + bcc _081D2308\n\ + b _081D23B6\n\ +_081D2328:\n\ + ldr r2, [sp, 0xC]\n\ + cmp r2, 0\n\ + ble _081D23C0\n\ + mov r0, r10\n\ + subs r0, 0x38\n\ + lsls r0, 2\n\ + adds r7, r0\n\ + movs r5, 0\n\ + mov r3, r9\n\ + lsls r3, 1\n\ + mov r12, r3\n\ + ldr r0, [sp, 0x8]\n\ + add r0, r9\n\ + str r0, [sp, 0x10]\n\ + cmp r5, r8\n\ + bcs _081D237A\n\ + ldr r0, =0x00026bff\n\ + cmp r4, r0\n\ + bgt _081D237A\n\ + mov r1, r12\n\ + str r1, [sp, 0x14]\n\ +_081D2352:\n\ + ldr r3, [sp, 0x14]\n\ + adds r2, r3, r7\n\ + asrs r1, r4, 10\n\ + asrs r0, r4, 9\n\ + movs r3, 0x1\n\ + ands r0, r3\n\ + adds r1, r0\n\ + add r1, r9\n\ + strh r1, [r2]\n\ + ldr r0, [sp, 0xC]\n\ + adds r4, r0\n\ + adds r7, 0x4\n\ + adds r0, r5, 0x1\n\ + lsls r0, 16\n\ + lsrs r5, r0, 16\n\ + cmp r5, r8\n\ + bcs _081D237A\n\ + ldr r1, =0x00026bff\n\ + cmp r4, r1\n\ + ble _081D2352\n\ +_081D237A:\n\ + mov r2, r10\n\ + adds r1, r2, r5\n\ + ldr r3, [sp]\n\ + movs r2, 0xD4\n\ + lsls r2, 2\n\ + adds r0, r3, r2\n\ + strh r1, [r0]\n\ + ldrh r0, [r0]\n\ + subs r0, 0x38\n\ + lsls r0, 2\n\ + adds r6, r0\n\ + cmp r5, r8\n\ + bcs _081D23B6\n\ + mov r3, r12\n\ + movs r7, 0x1\n\ +_081D2398:\n\ + adds r2, r3, r6\n\ + asrs r1, r4, 10\n\ + asrs r0, r4, 9\n\ + ands r0, r7\n\ + adds r1, r0\n\ + add r1, r9\n\ + strh r1, [r2]\n\ + ldr r0, [sp, 0xC]\n\ + adds r4, r0\n\ + adds r6, 0x4\n\ + adds r0, r5, 0x1\n\ + lsls r0, 16\n\ + lsrs r5, r0, 16\n\ + cmp r5, r8\n\ + bcc _081D2398\n\ +_081D23B6:\n\ + subs r0, r6, 0x4\n\ + b _081D248C\n\ + .pool\n\ +_081D23C0:\n\ + ldr r1, [sp, 0xC]\n\ + cmp r1, 0\n\ + bge _081D2464\n\ + mov r0, r10\n\ + subs r0, 0x38\n\ + lsls r0, 2\n\ + adds r6, r0\n\ + movs r5, 0\n\ + mov r2, r9\n\ + lsls r2, 1\n\ + mov r12, r2\n\ + ldr r3, [sp, 0x8]\n\ + add r3, r9\n\ + str r3, [sp, 0x10]\n\ + cmp r5, r8\n\ + bcs _081D241E\n\ + adds r3, r2, r6\n\ + asrs r1, r4, 10\n\ + asrs r0, r4, 9\n\ + movs r2, 0x1\n\ + ands r0, r2\n\ + adds r1, r0\n\ + add r1, r9\n\ + strh r1, [r3]\n\ + b _081D2414\n\ +_081D23F2:\n\ + ldr r0, [sp, 0xC]\n\ + adds r4, r0\n\ + adds r6, 0x4\n\ + adds r0, r5, 0x1\n\ + lsls r0, 16\n\ + lsrs r5, r0, 16\n\ + cmp r5, r8\n\ + bcs _081D241E\n\ + mov r1, r12\n\ + adds r3, r1, r6\n\ + asrs r2, r4, 10\n\ + asrs r0, r4, 9\n\ + movs r1, 0x1\n\ + ands r0, r1\n\ + adds r2, r0\n\ + add r2, r9\n\ + strh r2, [r3]\n\ +_081D2414:\n\ + ldr r0, =0x00026bff\n\ + cmp r4, r0\n\ + bgt _081D23F2\n\ + movs r0, 0x9B\n\ + strh r0, [r3]\n\ +_081D241E:\n\ + mov r2, r10\n\ + adds r1, r2, r5\n\ + ldr r3, [sp]\n\ + movs r2, 0xD4\n\ + lsls r2, 2\n\ + adds r0, r3, r2\n\ + strh r1, [r0]\n\ + ldrh r0, [r0]\n\ + subs r0, 0x38\n\ + lsls r0, 2\n\ + adds r7, r0\n\ + cmp r5, r8\n\ + bcs _081D245A\n\ + mov r3, r12\n\ + movs r6, 0x1\n\ +_081D243C:\n\ + adds r2, r3, r7\n\ + asrs r1, r4, 10\n\ + asrs r0, r4, 9\n\ + ands r0, r6\n\ + adds r1, r0\n\ + add r1, r9\n\ + strh r1, [r2]\n\ + ldr r0, [sp, 0xC]\n\ + adds r4, r0\n\ + adds r7, 0x4\n\ + adds r0, r5, 0x1\n\ + lsls r0, 16\n\ + lsrs r5, r0, 16\n\ + cmp r5, r8\n\ + bcc _081D243C\n\ +_081D245A:\n\ + subs r0, r7, 0x4\n\ + b _081D248C\n\ + .pool\n\ +_081D2464:\n\ + ldr r1, [sp]\n\ + movs r2, 0xD4\n\ + lsls r2, 2\n\ + adds r0, r1, r2\n\ + mov r3, r10\n\ + strh r3, [r0]\n\ + mov r0, r10\n\ + subs r0, 0x38\n\ + lsls r0, 2\n\ + adds r6, r0\n\ + adds r7, r0\n\ + ldrh r0, [r5]\n\ + adds r0, 0x1\n\ + strh r0, [r6, 0x2]\n\ + ldr r1, [sp, 0x4]\n\ + ldrh r0, [r1]\n\ + strh r0, [r7]\n\ + movs r0, 0x9B\n\ + strh r0, [r7, 0x2]\n\ + b _081D2494\n\ +_081D248C:\n\ + add r0, r12\n\ + mov r2, sp\n\ + ldrh r2, [r2, 0x10]\n\ + strh r2, [r0]\n\ +_081D2494:\n\ + add sp, 0x18\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\ + .syntax divided"); +#endif +} + +NAKED +void sub_81D24A4(struct UnknownStruct_81D1ED4 *a0) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + sub sp, 0x8\n\ + adds r4, r0, 0\n\ + movs r0, 0x97\n\ + lsls r0, 1\n\ + adds r2, r4, r0\n\ + movs r3, 0x99\n\ + lsls r3, 1\n\ + adds r1, r4, r3\n\ + ldrh r0, [r2]\n\ + ldrh r3, [r1]\n\ + cmp r0, r3\n\ + bcs _081D24E0\n\ + adds r7, r0, 0\n\ + movs r0, 0xA0\n\ + lsls r0, 1\n\ + adds r1, r4, r0\n\ + movs r3, 0x96\n\ + lsls r3, 1\n\ + adds r2, r4, r3\n\ + subs r0, 0x10\n\ + adds r3, r4, r0\n\ + movs r0, 0x1\n\ + str r0, [sp]\n\ + movs r0, 0\n\ + str r0, [sp, 0x4]\n\ + adds r0, r4, 0\n\ + bl sub_81D2278\n\ + b _081D2500\n\ +_081D24E0:\n\ + ldrh r7, [r1]\n\ + movs r2, 0xA0\n\ + lsls r2, 1\n\ + adds r1, r4, r2\n\ + movs r3, 0x98\n\ + lsls r3, 1\n\ + adds r2, r4, r3\n\ + movs r0, 0x96\n\ + lsls r0, 1\n\ + adds r3, r4, r0\n\ + movs r0, 0\n\ + str r0, [sp]\n\ + str r0, [sp, 0x4]\n\ + adds r0, r4, 0\n\ + bl sub_81D2278\n\ +_081D2500:\n\ + movs r1, 0xA0\n\ + lsls r1, 1\n\ + adds r5, r4, r1\n\ + movs r3, 0x98\n\ + lsls r3, 1\n\ + adds r2, r4, r3\n\ + movs r0, 0x9A\n\ + lsls r0, 1\n\ + adds r6, r4, r0\n\ + movs r0, 0x1\n\ + str r0, [sp]\n\ + movs r0, 0\n\ + str r0, [sp, 0x4]\n\ + adds r0, r4, 0\n\ + adds r1, r5, 0\n\ + adds r3, r6, 0\n\ + bl sub_81D2278\n\ + movs r2, 0\n\ + movs r1, 0x9B\n\ + lsls r1, 1\n\ + adds r0, r4, r1\n\ + movs r3, 0x9D\n\ + lsls r3, 1\n\ + adds r1, r4, r3\n\ + ldrh r0, [r0]\n\ + ldrh r1, [r1]\n\ + cmp r0, r1\n\ + bhi _081D253C\n\ + movs r2, 0x1\n\ +_081D253C:\n\ + movs r0, 0x9C\n\ + lsls r0, 1\n\ + adds r3, r4, r0\n\ + str r2, [sp]\n\ + movs r1, 0x92\n\ + lsls r1, 2\n\ + adds r0, r4, r1\n\ + str r0, [sp, 0x4]\n\ + adds r0, r4, 0\n\ + adds r1, r5, 0\n\ + adds r2, r6, 0\n\ + bl sub_81D2278\n\ + movs r2, 0x38\n\ + cmp r2, r7\n\ + bcs _081D257E\n\ + adds r6, r5, 0\n\ + movs r3, 0\n\ + movs r0, 0xA1\n\ + lsls r0, 1\n\ + adds r5, r4, r0\n\ +_081D2566:\n\ + adds r0, r2, 0\n\ + subs r0, 0x38\n\ + lsls r0, 2\n\ + adds r1, r6, r0\n\ + strh r3, [r1]\n\ + adds r0, r5, r0\n\ + strh r3, [r0]\n\ + adds r0, r2, 0x1\n\ + lsls r0, 16\n\ + lsrs r2, r0, 16\n\ + cmp r2, r7\n\ + bcc _081D2566\n\ +_081D257E:\n\ + movs r1, 0x97\n\ + lsls r1, 1\n\ + adds r0, r4, r1\n\ + ldrh r2, [r0]\n\ + movs r3, 0xD4\n\ + lsls r3, 2\n\ + adds r0, r4, r3\n\ + ldrh r1, [r0]\n\ + cmp r2, r1\n\ + bhi _081D25B2\n\ + movs r1, 0xA0\n\ + lsls r1, 1\n\ + adds r3, r4, r1\n\ + movs r5, 0x9B\n\ + adds r1, r0, 0\n\ +_081D259C:\n\ + adds r0, r2, 0\n\ + subs r0, 0x38\n\ + lsls r0, 2\n\ + adds r0, r3, r0\n\ + strh r5, [r0]\n\ + adds r0, r2, 0x1\n\ + lsls r0, 16\n\ + lsrs r2, r0, 16\n\ + ldrh r0, [r1]\n\ + cmp r2, r0\n\ + bls _081D259C\n\ +_081D25B2:\n\ + movs r2, 0x9B\n\ + lsls r2, 1\n\ + adds r1, r4, r2\n\ + movs r3, 0xD4\n\ + lsls r3, 2\n\ + adds r0, r4, r3\n\ + ldrh r0, [r0]\n\ + ldrh r1, [r1]\n\ + cmp r0, r1\n\ + bcs _081D25C8\n\ + adds r0, r1, 0\n\ +_081D25C8:\n\ + adds r0, 0x1\n\ + lsls r0, 16\n\ + lsrs r2, r0, 16\n\ + cmp r2, 0x79\n\ + bhi _081D25F8\n\ + movs r0, 0xA0\n\ + lsls r0, 1\n\ + adds r6, r4, r0\n\ + movs r3, 0\n\ + movs r1, 0xA1\n\ + lsls r1, 1\n\ + adds r5, r4, r1\n\ +_081D25E0:\n\ + adds r0, r2, 0\n\ + subs r0, 0x38\n\ + lsls r0, 2\n\ + adds r1, r6, r0\n\ + strh r3, [r1]\n\ + adds r0, r5, r0\n\ + strh r3, [r0]\n\ + adds r0, r2, 0x1\n\ + lsls r0, 16\n\ + lsrs r2, r0, 16\n\ + cmp r2, 0x79\n\ + bls _081D25E0\n\ +_081D25F8:\n\ + movs r2, 0x38\n\ + movs r3, 0xA0\n\ + lsls r3, 1\n\ + adds r5, r4, r3\n\ + movs r0, 0xA1\n\ + lsls r0, 1\n\ + adds r4, r0\n\ + movs r6, 0x9B\n\ +_081D2608:\n\ + adds r0, r2, 0\n\ + subs r0, 0x38\n\ + lsls r1, r0, 2\n\ + adds r3, r5, r1\n\ + ldrh r0, [r3]\n\ + cmp r0, 0\n\ + bne _081D2620\n\ + adds r0, r4, r1\n\ + ldrh r0, [r0]\n\ + cmp r0, 0\n\ + beq _081D2620\n\ + strh r6, [r3]\n\ +_081D2620:\n\ + adds r0, r2, 0x1\n\ + lsls r0, 16\n\ + lsrs r2, r0, 16\n\ + cmp r2, 0x79\n\ + bls _081D2608\n\ + add sp, 0x8\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .syntax divided"); +} + +NAKED +void sub_81D2634(struct UnknownStruct_81D1ED4 *a0) +{ + asm(".syntax unified\n\ + push {r4-r6,lr}\n\ + sub sp, 0x8\n\ + adds r4, r0, 0\n\ + movs r0, 0x97\n\ + lsls r0, 1\n\ + adds r2, r4, r0\n\ + movs r3, 0x9F\n\ + lsls r3, 1\n\ + adds r1, r4, r3\n\ + ldrh r0, [r2]\n\ + ldrh r5, [r1]\n\ + cmp r0, r5\n\ + bcs _081D266E\n\ + adds r6, r0, 0\n\ + movs r0, 0x92\n\ + lsls r0, 2\n\ + adds r1, r4, r0\n\ + subs r3, 0x12\n\ + adds r2, r4, r3\n\ + movs r5, 0x9E\n\ + lsls r5, 1\n\ + adds r3, r4, r5\n\ + movs r0, 0\n\ + str r0, [sp]\n\ + str r0, [sp, 0x4]\n\ + adds r0, r4, 0\n\ + bl sub_81D2278\n\ + b _081D2690\n\ +_081D266E:\n\ + ldrh r6, [r1]\n\ + movs r0, 0x92\n\ + lsls r0, 2\n\ + adds r1, r4, r0\n\ + movs r3, 0x9E\n\ + lsls r3, 1\n\ + adds r2, r4, r3\n\ + movs r5, 0x96\n\ + lsls r5, 1\n\ + adds r3, r4, r5\n\ + movs r0, 0x1\n\ + str r0, [sp]\n\ + movs r0, 0\n\ + str r0, [sp, 0x4]\n\ + adds r0, r4, 0\n\ + bl sub_81D2278\n\ +_081D2690:\n\ + movs r0, 0x92\n\ + lsls r0, 2\n\ + adds r5, r4, r0\n\ + movs r1, 0x9E\n\ + lsls r1, 1\n\ + adds r2, r4, r1\n\ + movs r0, 0x9C\n\ + lsls r0, 1\n\ + adds r3, r4, r0\n\ + movs r0, 0\n\ + str r0, [sp]\n\ + str r0, [sp, 0x4]\n\ + adds r0, r4, 0\n\ + adds r1, r5, 0\n\ + bl sub_81D2278\n\ + cmp r6, 0x38\n\ + ble _081D26C8\n\ + movs r0, 0\n\ + adds r1, r5, 0\n\ + adds r2, r6, 0\n\ + subs r2, 0x38\n\ +_081D26BC:\n\ + strh r0, [r1]\n\ + strh r0, [r1, 0x2]\n\ + adds r1, 0x4\n\ + subs r2, 0x1\n\ + cmp r2, 0\n\ + bne _081D26BC\n\ +_081D26C8:\n\ + movs r1, 0x97\n\ + lsls r1, 1\n\ + adds r0, r4, r1\n\ + ldrh r2, [r0]\n\ + movs r3, 0xD4\n\ + lsls r3, 2\n\ + adds r0, r4, r3\n\ + ldrh r5, [r0]\n\ + cmp r2, r5\n\ + bgt _081D26F6\n\ + movs r3, 0x9B\n\ + adds r1, r0, 0\n\ + lsls r0, r2, 2\n\ + movs r5, 0xB5\n\ + lsls r5, 1\n\ + adds r0, r5\n\ + adds r0, r4\n\ +_081D26EA:\n\ + strh r3, [r0]\n\ + adds r0, 0x4\n\ + adds r2, 0x1\n\ + ldrh r5, [r1]\n\ + cmp r2, r5\n\ + ble _081D26EA\n\ +_081D26F6:\n\ + movs r1, 0x9D\n\ + lsls r1, 1\n\ + adds r0, r4, r1\n\ + ldrh r0, [r0]\n\ + adds r1, r0, 0x1\n\ + movs r2, 0xD4\n\ + lsls r2, 2\n\ + adds r0, r4, r2\n\ + ldrh r0, [r0]\n\ + cmp r0, r1\n\ + bge _081D270E\n\ + adds r0, r1, 0\n\ +_081D270E:\n\ + adds r2, r0, 0\n\ + cmp r2, 0x79\n\ + bgt _081D272C\n\ + movs r1, 0\n\ + lsls r0, r2, 2\n\ + movs r3, 0xB4\n\ + lsls r3, 1\n\ + adds r0, r3\n\ + adds r0, r4\n\ +_081D2720:\n\ + strh r1, [r0]\n\ + strh r1, [r0, 0x2]\n\ + adds r0, 0x4\n\ + adds r2, 0x1\n\ + cmp r2, 0x79\n\ + ble _081D2720\n\ +_081D272C:\n\ + movs r3, 0\n\ + movs r5, 0x92\n\ + lsls r5, 2\n\ + adds r1, r4, r5\n\ + movs r2, 0x41\n\ +_081D2736:\n\ + ldrh r0, [r1]\n\ + ldrh r4, [r1, 0x2]\n\ + cmp r0, r4\n\ + bcc _081D2742\n\ + strh r3, [r1, 0x2]\n\ + strh r3, [r1]\n\ +_081D2742:\n\ + adds r1, 0x4\n\ + subs r2, 0x1\n\ + cmp r2, 0\n\ + bge _081D2736\n\ + add sp, 0x8\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .syntax divided"); +} + +NAKED +void sub_81D2754(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D1ED4 *arg1) +{ + // There are some register-renaming issues here. The cause of the problem seems to be that + // GCC tries to save gUnknown_08625410 in a register, instead of loading the constant repeatedly. + // But this is one too many things to keep track of, so GCC is forced to use the stack. +#ifdef NONMATCHING + u8* v1; + u8 v2; + u8 v3; + s8 v4; + u16 v5; + + v1 = arg0->unk0[0]; + v2 = gUnknown_08625410[*v1]; + v1++; + arg1[0].unk0 = 0x9B; + arg1[0].unk2 = 0x5B - v2; + for (v3 = 0x40, v4 = 0, v5 = 1; v5 < 5; v5++) + { + v3 += 0x33; + v4--; + if (v4 < 0) + { + v4 = 4; + } + if (v4 == 2) + { + v3++; + } + + v2 = gUnknown_08625410[*v1]; + v1++; + arg1[v4].unk0 = ((gSineTable[v3 + 0x40] * v2) >> 8) + 0x9B; + arg1[v4].unk2 = ((gSineTable[v3] * v2) >> 8) - 0x5B; + if (v4 <= 2 && (v2 != 0x20 || v4 != 2)) + { + arg1[v4].unk0 = arg1[v4].unk0 + 1; + } + } +#else + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + adds r6, r0, 0\n\ + mov r8, r1\n\ + ldr r1, =gUnknown_08625410\n\ + ldrb r0, [r6]\n\ + adds r0, r1\n\ + ldrb r2, [r0]\n\ + adds r6, 0x1\n\ + movs r0, 0x9B\n\ + mov r3, r8\n\ + strh r0, [r3]\n\ + movs r0, 0x5B\n\ + subs r0, r2\n\ + strh r0, [r3, 0x2]\n\ + movs r7, 0x40\n\ + movs r0, 0\n\ + mov r12, r0\n\ + movs r2, 0x1\n\ + mov r9, r2\n\ + ldr r3, =gSineTable\n\ + mov r10, r3\n\ +_081D2786:\n\ + adds r0, r7, 0\n\ + adds r0, 0x33\n\ + lsls r0, 24\n\ + lsrs r7, r0, 24\n\ + mov r1, r12\n\ + lsls r0, r1, 24\n\ + movs r2, 0xFF\n\ + lsls r2, 24\n\ + adds r0, r2\n\ + lsrs r3, r0, 24\n\ + mov r12, r3\n\ + cmp r0, 0\n\ + bge _081D27A4\n\ + movs r0, 0x4\n\ + mov r12, r0\n\ +_081D27A4:\n\ + mov r1, r12\n\ + lsls r0, r1, 24\n\ + asrs r4, r0, 24\n\ + cmp r4, 0x2\n\ + bne _081D27B4\n\ + adds r0, r7, 0x1\n\ + lsls r0, 24\n\ + lsrs r7, r0, 24\n\ +_081D27B4:\n\ + ldrb r0, [r6]\n\ + ldr r2, =gUnknown_08625410\n\ + adds r0, r2\n\ + ldrb r2, [r0]\n\ + adds r6, 0x1\n\ + lsls r0, r4, 2\n\ + mov r1, r8\n\ + adds r3, r0, r1\n\ + adds r0, r7, 0\n\ + adds r0, 0x40\n\ + lsls r0, 1\n\ + add r0, r10\n\ + movs r1, 0\n\ + ldrsh r0, [r0, r1]\n\ + muls r0, r2\n\ + asrs r5, r0, 8\n\ + adds r0, r5, 0\n\ + adds r0, 0x9B\n\ + strh r0, [r3]\n\ + lsls r0, r7, 1\n\ + add r0, r10\n\ + movs r1, 0\n\ + ldrsh r0, [r0, r1]\n\ + adds r1, r2, 0\n\ + muls r1, r0\n\ + asrs r1, 8\n\ + movs r0, 0x5B\n\ + subs r0, r1\n\ + strh r0, [r3, 0x2]\n\ + cmp r4, 0x2\n\ + bgt _081D2800\n\ + cmp r2, 0x20\n\ + bne _081D27FA\n\ + cmp r4, 0x2\n\ + beq _081D2800\n\ +_081D27FA:\n\ + adds r0, r5, 0\n\ + adds r0, 0x9C\n\ + strh r0, [r3]\n\ +_081D2800:\n\ + mov r0, r9\n\ + adds r0, 0x1\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r9, r0\n\ + cmp r0, 0x4\n\ + bls _081D2786\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\ + .syntax divided"); +#endif } \ No newline at end of file diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index 8b47386082..75e8da3f87 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -34,7 +34,6 @@ struct UsePokeblockSubStruct struct UsePokeblockStruct { u8 field_0[0x7C58]; - //u8 field_7C58[0x378]; struct UnknownStruct_81D1ED4 field_7C58; struct UsePokeblockSubStruct info; }; @@ -204,7 +203,7 @@ void sub_8166380(void) gUnknown_0203BC90->field_50++; break; case 11: - sub_81D2754(&gUnknown_0203BCAC->field_7C58, &gUnknown_0203BCAC->field_0[0x7C6C]); + sub_81D2754(&gUnknown_0203BCAC->field_7C58, gUnknown_0203BCAC->field_7C58.unk14[0]); sub_81D20AC(&gUnknown_0203BCAC->field_7C58); gUnknown_0203BC90->field_50++; break; From aa7657a82a108321d5112f0ad195132e2c6e6c99 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Wed, 6 Mar 2019 22:58:05 -0500 Subject: [PATCH 21/47] Move constants into C Also figured out what one of the graphics files is for. --- data/menu_unknown.s | 28 +---- .../{8625660.png => pokeball_placeholder.png} | Bin src/menu_unknown.c | 98 ++++++++++++++++-- 3 files changed, 93 insertions(+), 33 deletions(-) rename graphics/pokenav/{8625660.png => pokeball_placeholder.png} (100%) diff --git a/data/menu_unknown.s b/data/menu_unknown.s index fc8bf47b9c..e88a68fcc6 100644 --- a/data/menu_unknown.s +++ b/data/menu_unknown.s @@ -2,38 +2,12 @@ .include "constants/constants.inc" .section .rodata - -@gUnknown_08625410:: @ 8625410 -@ .byte 4, 5, 6, 7, 8, 9, 9, 0xA, 0xA, 0xB, 0xB, 0xC, 0xC, 0xD, 0xD, 0xD, 0xD, 0xE, 0xE, 0xE, 0xE, 0xF, 0xF, 0xF, 0xF, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23 - -gMoveRelearnerWindowTemplates:: @ 8625510s - window_template 1, 1, 1, 16, 12, 0xF, 0x000A - window_template 1, 1, 1, 16, 12, 0xF, 0x00CA - window_template 1, 19, 1, 10, 12, 0xF, 0x018A - window_template 1, 4, 15, 22, 4, 0xF, 0x0202 - window_template 0, 22, 8, 5, 4, 0xF, 0x025A - null_window_template - -gMoveRelearnerYesNoMenuTemplate:: @ 8625540 - window_template 0, 22, 8, 5, 4, 0xF, 0x025A - -gMoveRelearnerMovesListTemplate:: @ 8625548 struct ListMenuTemplate - .4byte NULL - .4byte MoveRelearnerCursorCallback - .4byte NULL - .2byte 0 - .2byte 0 - .byte 2 - .byte 0 - .byte 8 - .byte 0 - .4byte 0x1003121 gUnknown_08625560:: @ 8625560 .incbin "graphics/pokenav/pokeball.4bpp" gUnknown_08625660:: @ 8625660 - .incbin "graphics/pokenav/8625660.4bpp" + .incbin "graphics/pokenav/pokeball_placeholder.4bpp" gUnknown_08625680:: @ 8625680 .incbin "graphics/pokenav/sparkle.gbapal" diff --git a/graphics/pokenav/8625660.png b/graphics/pokenav/pokeball_placeholder.png similarity index 100% rename from graphics/pokenav/8625660.png rename to graphics/pokenav/pokeball_placeholder.png diff --git a/src/menu_unknown.c b/src/menu_unknown.c index dc8351d924..9a8ea59065 100644 --- a/src/menu_unknown.c +++ b/src/menu_unknown.c @@ -24,6 +24,7 @@ EWRAM_DATA static struct ListMenuItem *sUnknown_0203CF4C = NULL; void sub_81D1E7C(s32 itemIndex, bool8 onInit, struct ListMenu *list); void sub_81D24A4(struct UnknownStruct_81D1ED4 *a0); void sub_81D2634(struct UnknownStruct_81D1ED4 *a0); +void MoveRelearnerCursorCallback(s32 itemIndex, bool8 onInit, struct ListMenu *list); static const struct WindowTemplate sUnknown_086253E8[] = { @@ -72,7 +73,7 @@ static const struct ScanlineEffectParams sUnknown_08625404 = }; -const u8 gUnknown_08625410[] = +static const u8 sUnknown_08625410[] = { 4, 5, @@ -109,6 +110,91 @@ const u8 gUnknown_08625410[] = 0x23 }; + +const struct WindowTemplate gMoveRelearnerWindowTemplates[] = +{ + { + .bg = 1, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 16, + .height = 12, + .paletteNum = 0xF, + .baseBlock = 0xA + }, + { + .bg = 1, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 16, + .height = 12, + .paletteNum = 0xF, + .baseBlock = 0xCA + }, + { + .bg = 1, + .tilemapLeft = 19, + .tilemapTop = 1, + .width = 10, + .height = 12, + .paletteNum = 0xF, + .baseBlock = 0x18A + }, + { + .bg = 1, + .tilemapLeft = 4, + .tilemapTop = 15, + .width = 22, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x202 + }, + { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 8, + .width = 5, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x25A + }, + DUMMY_WIN_TEMPLATE +}; + +const struct WindowTemplate gMoveRelearnerYesNoMenuTemplate = +{ + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 8, + .width = 5, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x25A +}; + + +const struct ListMenuTemplate gMoveRelearnerMovesListTemplate = +{ + .items = NULL, + .moveCursorFunc = MoveRelearnerCursorCallback, + .itemPrintFunc = NULL, + .totalItems = 0, + .maxShowed = 0, + .windowId = 2, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 1, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, + .fontId = 1, + .cursorKind = 0 +}; + bool8 sub_81D1C44(u8 count) { u32 i; @@ -1353,7 +1439,7 @@ NAKED void sub_81D2754(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D1ED4 *arg1) { // There are some register-renaming issues here. The cause of the problem seems to be that - // GCC tries to save gUnknown_08625410 in a register, instead of loading the constant repeatedly. + // GCC tries to save sUnknown_08625410 in a register, instead of loading the constant repeatedly. // But this is one too many things to keep track of, so GCC is forced to use the stack. #ifdef NONMATCHING u8* v1; @@ -1363,7 +1449,7 @@ void sub_81D2754(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D u16 v5; v1 = arg0->unk0[0]; - v2 = gUnknown_08625410[*v1]; + v2 = sUnknown_08625410[*v1]; v1++; arg1[0].unk0 = 0x9B; arg1[0].unk2 = 0x5B - v2; @@ -1380,7 +1466,7 @@ void sub_81D2754(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D v3++; } - v2 = gUnknown_08625410[*v1]; + v2 = sUnknown_08625410[*v1]; v1++; arg1[v4].unk0 = ((gSineTable[v3 + 0x40] * v2) >> 8) + 0x9B; arg1[v4].unk2 = ((gSineTable[v3] * v2) >> 8) - 0x5B; @@ -1398,7 +1484,7 @@ void sub_81D2754(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D push {r5-r7}\n\ adds r6, r0, 0\n\ mov r8, r1\n\ - ldr r1, =gUnknown_08625410\n\ + ldr r1, =sUnknown_08625410\n\ ldrb r0, [r6]\n\ adds r0, r1\n\ ldrb r2, [r0]\n\ @@ -1443,7 +1529,7 @@ _081D27A4:\n\ lsrs r7, r0, 24\n\ _081D27B4:\n\ ldrb r0, [r6]\n\ - ldr r2, =gUnknown_08625410\n\ + ldr r2, =sUnknown_08625410\n\ adds r0, r2\n\ ldrb r2, [r0]\n\ adds r6, 0x1\n\ From 105e1721d665d8386afd47882020c51d6d97c522 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sun, 3 Mar 2019 21:59:57 -0500 Subject: [PATCH 22/47] Overhaul scaninc to work recursively This also fixes the bug where scaninc would ignore #include lines in assembly files. --- Makefile | 2 +- src/field_message_box.c | 2 +- src/item_menu.c | 2 +- src/main_menu.c | 2 +- tools/scaninc/Makefile | 4 +- tools/scaninc/asm_file.cpp | 3 +- tools/scaninc/scaninc.cpp | 96 +++++++++----------------- tools/scaninc/scaninc.h | 2 +- tools/scaninc/source_file.cpp | 125 ++++++++++++++++++++++++++++++++++ tools/scaninc/source_file.h | 71 +++++++++++++++++++ 10 files changed, 238 insertions(+), 71 deletions(-) create mode 100644 tools/scaninc/source_file.cpp create mode 100644 tools/scaninc/source_file.h diff --git a/Makefile b/Makefile index c9a7c2e059..e5b35a8302 100644 --- a/Makefile +++ b/Makefile @@ -168,7 +168,7 @@ $(ASM_BUILDDIR)/%.o: $(ASM_SUBDIR)/%.s $$(asm_dep) ifeq ($(NODEP),1) $(DATA_ASM_BUILDDIR)/%.o: data_dep := else -$(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) $(DATA_ASM_SUBDIR)/$*.s) +$(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) -I include $(DATA_ASM_SUBDIR)/$*.s) endif $(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s $$(data_dep) diff --git a/src/field_message_box.c b/src/field_message_box.c index ac5e7a4bb7..ca1c05e224 100755 --- a/src/field_message_box.c +++ b/src/field_message_box.c @@ -1,6 +1,6 @@ +#include #include "global.h" #include "menu.h" -#include "string.h" #include "string_util.h" #include "task.h" #include "text.h" diff --git a/src/item_menu.c b/src/item_menu.c index 5b9946e62e..5d5dfe854a 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -1,3 +1,4 @@ +#include #include "global.h" #include "item_menu.h" #include "battle.h" @@ -40,7 +41,6 @@ #include "shop.h" #include "sound.h" #include "sprite.h" -#include "string.h" #include "strings.h" #include "string_util.h" #include "task.h" diff --git a/src/main_menu.c b/src/main_menu.c index e6e29d942a..1879495f52 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -1,3 +1,4 @@ +#include #include "global.h" #include "trainer_pokemon_sprites.h" #include "bg.h" @@ -30,7 +31,6 @@ #include "scanline_effect.h" #include "sound.h" #include "sprite.h" -#include "string.h" #include "strings.h" #include "string_util.h" #include "task.h" diff --git a/tools/scaninc/Makefile b/tools/scaninc/Makefile index 367a3350b8..53c9d0060d 100644 --- a/tools/scaninc/Makefile +++ b/tools/scaninc/Makefile @@ -2,9 +2,9 @@ CXX = g++ CXXFLAGS = -Wall -Werror -std=c++11 -O2 -SRCS = scaninc.cpp c_file.cpp asm_file.cpp +SRCS = scaninc.cpp c_file.cpp asm_file.cpp source_file.cpp -HEADERS := scaninc.h asm_file.h c_file.h +HEADERS := scaninc.h asm_file.h c_file.h source_file.h .PHONY: clean diff --git a/tools/scaninc/asm_file.cpp b/tools/scaninc/asm_file.cpp index 6322749e20..109e604a22 100644 --- a/tools/scaninc/asm_file.cpp +++ b/tools/scaninc/asm_file.cpp @@ -64,7 +64,8 @@ IncDirectiveType AsmFile::ReadUntilIncDirective(std::string &path) IncDirectiveType incDirectiveType = IncDirectiveType::None; - if (PeekChar() == '.') + char c = PeekChar(); + if (c == '.' || c == '#') { m_pos++; diff --git a/tools/scaninc/scaninc.cpp b/tools/scaninc/scaninc.cpp index 3dc221479c..0d55d11f65 100644 --- a/tools/scaninc/scaninc.cpp +++ b/tools/scaninc/scaninc.cpp @@ -25,8 +25,7 @@ #include #include #include "scaninc.h" -#include "asm_file.h" -#include "c_file.h" +#include "source_file.h" bool CanOpenFile(std::string path) { @@ -46,7 +45,7 @@ int main(int argc, char **argv) std::queue filesToProcess; std::set dependencies; - std::list includeDirs; + std::vector includeDirs; argc--; argv++; @@ -83,79 +82,50 @@ int main(int argc, char **argv) std::string initialPath(argv[0]); - std::size_t pos = initialPath.find_last_of('.'); + filesToProcess.push(initialPath); - if (pos == std::string::npos) - FATAL_ERROR("no file extension in path \"%s\"\n", initialPath.c_str()); - - std::string extension = initialPath.substr(pos + 1); - - std::string srcDir(""); - std::size_t slash = initialPath.rfind('/'); - if (slash != std::string::npos) + while (!filesToProcess.empty()) { - srcDir = initialPath.substr(0, slash + 1); - } - includeDirs.push_back(srcDir); + std::string filePath = filesToProcess.front(); + SourceFile file(filePath); + filesToProcess.pop(); - if (extension == "c" || extension == "h") - { - filesToProcess.push(initialPath); - - while (!filesToProcess.empty()) + includeDirs.push_back(file.GetSrcDir()); + for (auto incbin : file.GetIncbins()) { - CFile file(filesToProcess.front()); - filesToProcess.pop(); - - file.FindIncbins(); - for (auto incbin : file.GetIncbins()) + dependencies.insert(incbin); + } + for (auto include : file.GetIncludes()) + { + bool found = false; + for (auto includeDir : includeDirs) { - dependencies.insert(incbin); - } - for (auto include : file.GetIncludes()) - { - for (auto includeDir : includeDirs) + std::string path(includeDir + include); + if (CanOpenFile(path)) { - std::string path(includeDir + include); - if (CanOpenFile(path)) + bool inserted = dependencies.insert(path).second; + if (inserted) { - bool inserted = dependencies.insert(path).second; - if (inserted) - { - filesToProcess.push(path); - } - break; + filesToProcess.push(path); } + found = true; + break; } } - } - } - else if (extension == "s" || extension == "inc") - { - filesToProcess.push(initialPath); - - while (!filesToProcess.empty()) - { - AsmFile file(filesToProcess.front()); - - filesToProcess.pop(); - - IncDirectiveType incDirectiveType; - std::string path; - - while ((incDirectiveType = file.ReadUntilIncDirective(path)) != IncDirectiveType::None) + if (!found) { - bool inserted = dependencies.insert(path).second; - if (inserted - && incDirectiveType == IncDirectiveType::Include - && CanOpenFile(path)) - filesToProcess.push(path); + if (GetFileType(include) == SourceFileType::Header) + // We don't have any generated .h files... yet. + // Better to give a warning; debugging the makefile when a + // header is missing is very difficult. + fprintf(stderr, "scaninc: warning: C header file \"%s\" not found. (included from \"%s\")\n", + include.c_str(), filePath.c_str()); + + // It's probably a generated file. + dependencies.insert(include); } } - } - else - { - FATAL_ERROR("unknown extension \"%s\"\n", extension.c_str()); + includeDirs.pop_back(); } for (const std::string &path : dependencies) diff --git a/tools/scaninc/scaninc.h b/tools/scaninc/scaninc.h index 30cc9611c1..d6736e01bb 100644 --- a/tools/scaninc/scaninc.h +++ b/tools/scaninc/scaninc.h @@ -1,4 +1,4 @@ -// Copyright(c) 2015-2017 YamaArashi +// Copyright(c) 2019 Phlosioneer // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/tools/scaninc/source_file.cpp b/tools/scaninc/source_file.cpp new file mode 100644 index 0000000000..f23ff6db65 --- /dev/null +++ b/tools/scaninc/source_file.cpp @@ -0,0 +1,125 @@ +// Copyright(c) 2019 Phlosioneer +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include "source_file.h" + + +SourceFileType GetFileType(std::string& path) +{ + std::size_t pos = path.find_last_of('.'); + + if (pos == std::string::npos) + FATAL_ERROR("no file extension in path \"%s\"\n", path.c_str()); + + std::string extension = path.substr(pos + 1); + + if (extension == "c") + return SourceFileType::Cpp; + else if (extension == "s") + return SourceFileType::Asm; + else if (extension == "h") + return SourceFileType::Header; + else if (extension == "inc") + return SourceFileType::Inc; + else + FATAL_ERROR("Unrecognized extension \"%s\"\n", extension.c_str()); + + // Unreachable + return SourceFileType::Cpp; +} + +std::string GetDir(std::string& path) +{ + std::size_t slash = path.rfind('/'); + + if (slash != std::string::npos) + return path.substr(0, slash + 1); + else + return std::string(""); +} + +SourceFile::SourceFile(std::string path) +{ + m_file_type = GetFileType(path); + + m_src_dir = GetDir(path); + + if (m_file_type == SourceFileType::Cpp + || m_file_type == SourceFileType::Header) + { + new (&m_source_file.c_file) CFile(path); + m_source_file.c_file.FindIncbins(); + } + else + { + AsmFile file(path); + std::set incbins; + std::set includes; + + IncDirectiveType incDirectiveType; + std::string outputPath; + + while ((incDirectiveType = file.ReadUntilIncDirective(outputPath)) != IncDirectiveType::None) + { + if (incDirectiveType == IncDirectiveType::Include) + includes.insert(outputPath); + else + incbins.insert(outputPath); + } + + new (&m_source_file.asm_wrapper) SourceFile::InnerUnion::AsmWrapper{incbins, includes}; + } +} + +SourceFile::~SourceFile() +{ + if (m_file_type == SourceFileType::Cpp || m_file_type == SourceFileType::Header) + { + m_source_file.c_file.~CFile(); + } + else + { + m_source_file.asm_wrapper.asm_incbins.~set(); + m_source_file.asm_wrapper.asm_includes.~set(); + } +} + +const std::set& SourceFile::GetIncbins() +{ + if (m_file_type == SourceFileType::Cpp || m_file_type == SourceFileType::Header) + return m_source_file.c_file.GetIncbins(); + else + return m_source_file.asm_wrapper.asm_incbins; +} + +const std::set& SourceFile::GetIncludes() +{ + if (m_file_type == SourceFileType::Cpp || m_file_type == SourceFileType::Header) + return m_source_file.c_file.GetIncludes(); + else + return m_source_file.asm_wrapper.asm_includes; +} + +std::string& SourceFile::GetSrcDir() +{ + return m_src_dir; +} + diff --git a/tools/scaninc/source_file.h b/tools/scaninc/source_file.h new file mode 100644 index 0000000000..15ea50a034 --- /dev/null +++ b/tools/scaninc/source_file.h @@ -0,0 +1,71 @@ +// Copyright(c) 2015-2017 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef SOURCE_FILE_H +#define SOURCE_FILE_H + +#include +#include "scaninc.h" +#include "asm_file.h" +#include "c_file.h" + +enum class SourceFileType +{ + Cpp, + Header, + Asm, + Inc +}; + +SourceFileType GetFileType(std::string& path); + +class SourceFile +{ +public: + + SourceFile(std::string path); + ~SourceFile(); + SourceFile(SourceFile const&) = delete; + SourceFile(SourceFile&&) = delete; + SourceFile& operator =(SourceFile const&) = delete; + SourceFile& operator =(SourceFile&&) = delete; + bool HasIncbins(); + const std::set& GetIncbins(); + const std::set& GetIncludes(); + std::string& GetSrcDir(); + +private: + union InnerUnion { + CFile c_file; + struct AsmWrapper { + std::set asm_incbins; + std::set asm_includes; + } asm_wrapper; + + // Construction and destruction handled by SourceFile. + InnerUnion() {}; + ~InnerUnion() {}; + } m_source_file; + SourceFileType m_file_type; + std::string m_src_dir; +}; + +#endif // SOURCE_FILE_H + From b0c634d5318019f17547a758084fdcfb5a387c24 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Mon, 4 Mar 2019 00:21:34 -0500 Subject: [PATCH 23/47] Support absolute paths --- Makefile | 4 ++-- tools/scaninc/scaninc.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index e5b35a8302..1bfeebf616 100644 --- a/Makefile +++ b/Makefile @@ -159,7 +159,7 @@ $(C_BUILDDIR)/%.o : $(C_SUBDIR)/%.c $$(c_dep) ifeq ($(NODEP),1) $(ASM_BUILDDIR)/%.o: asm_dep := else -$(ASM_BUILDDIR)/%.o: asm_dep = $(shell $(SCANINC) $(ASM_SUBDIR)/$*.s) +$(ASM_BUILDDIR)/%.o: asm_dep = $(shell $(SCANINC) -I "" $(ASM_SUBDIR)/$*.s) endif $(ASM_BUILDDIR)/%.o: $(ASM_SUBDIR)/%.s $$(asm_dep) @@ -168,7 +168,7 @@ $(ASM_BUILDDIR)/%.o: $(ASM_SUBDIR)/%.s $$(asm_dep) ifeq ($(NODEP),1) $(DATA_ASM_BUILDDIR)/%.o: data_dep := else -$(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) -I include $(DATA_ASM_SUBDIR)/$*.s) +$(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) -I include -I "" $(DATA_ASM_SUBDIR)/$*.s) endif $(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s $$(data_dep) diff --git a/tools/scaninc/scaninc.cpp b/tools/scaninc/scaninc.cpp index 0d55d11f65..696842dc91 100644 --- a/tools/scaninc/scaninc.cpp +++ b/tools/scaninc/scaninc.cpp @@ -62,7 +62,7 @@ int main(int argc, char **argv) argv++; includeDir = std::string(argv[0]); } - if (includeDir.back() != '/') + if (!includeDir.empty() && includeDir.back() != '/') { includeDir += '/'; } From 6638ebe7fdda1119d8fe0056c8cf0c65cf292c11 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Tue, 5 Mar 2019 02:30:08 -0500 Subject: [PATCH 24/47] Fix copyright mixup --- tools/scaninc/scaninc.h | 2 +- tools/scaninc/source_file.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/scaninc/scaninc.h b/tools/scaninc/scaninc.h index d6736e01bb..30cc9611c1 100644 --- a/tools/scaninc/scaninc.h +++ b/tools/scaninc/scaninc.h @@ -1,4 +1,4 @@ -// Copyright(c) 2019 Phlosioneer +// Copyright(c) 2015-2017 YamaArashi // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/tools/scaninc/source_file.h b/tools/scaninc/source_file.h index 15ea50a034..f7b6412bd2 100644 --- a/tools/scaninc/source_file.h +++ b/tools/scaninc/source_file.h @@ -1,4 +1,4 @@ -// Copyright(c) 2015-2017 YamaArashi +// Copyright(c) 2019 Phlosioneer // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal From bd157b301dea3526a4c373737dc8167d9a02b168 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 7 Mar 2019 09:46:14 -0600 Subject: [PATCH 25/47] Scaninc: Don't insert missing headers into dependencies --- src/field_message_box.c | 2 +- src/item_menu.c | 2 +- src/main_menu.c | 2 +- tools/scaninc/scaninc.cpp | 14 -------------- 4 files changed, 3 insertions(+), 17 deletions(-) diff --git a/src/field_message_box.c b/src/field_message_box.c index ca1c05e224..ac5e7a4bb7 100755 --- a/src/field_message_box.c +++ b/src/field_message_box.c @@ -1,6 +1,6 @@ -#include #include "global.h" #include "menu.h" +#include "string.h" #include "string_util.h" #include "task.h" #include "text.h" diff --git a/src/item_menu.c b/src/item_menu.c index 5d5dfe854a..5b9946e62e 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -1,4 +1,3 @@ -#include #include "global.h" #include "item_menu.h" #include "battle.h" @@ -41,6 +40,7 @@ #include "shop.h" #include "sound.h" #include "sprite.h" +#include "string.h" #include "strings.h" #include "string_util.h" #include "task.h" diff --git a/src/main_menu.c b/src/main_menu.c index 1879495f52..e6e29d942a 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -1,4 +1,3 @@ -#include #include "global.h" #include "trainer_pokemon_sprites.h" #include "bg.h" @@ -31,6 +30,7 @@ #include "scanline_effect.h" #include "sound.h" #include "sprite.h" +#include "string.h" #include "strings.h" #include "string_util.h" #include "task.h" diff --git a/tools/scaninc/scaninc.cpp b/tools/scaninc/scaninc.cpp index 696842dc91..b95cbd0337 100644 --- a/tools/scaninc/scaninc.cpp +++ b/tools/scaninc/scaninc.cpp @@ -97,7 +97,6 @@ int main(int argc, char **argv) } for (auto include : file.GetIncludes()) { - bool found = false; for (auto includeDir : includeDirs) { std::string path(includeDir + include); @@ -108,22 +107,9 @@ int main(int argc, char **argv) { filesToProcess.push(path); } - found = true; break; } } - if (!found) - { - if (GetFileType(include) == SourceFileType::Header) - // We don't have any generated .h files... yet. - // Better to give a warning; debugging the makefile when a - // header is missing is very difficult. - fprintf(stderr, "scaninc: warning: C header file \"%s\" not found. (included from \"%s\")\n", - include.c_str(), filePath.c_str()); - - // It's probably a generated file. - dependencies.insert(include); - } } includeDirs.pop_back(); } From 69aec91577659cfe89a63fc4c8d2fc77ab344cbb Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Fri, 8 Mar 2019 01:56:38 -0500 Subject: [PATCH 26/47] Decompile move tutor stuff 2 nonmatching. --- asm/menu_unknown.s | 500 ----------------------------- include/contest_effect.h | 1 + include/menu_unknown.h | 6 + include/pokemon_summary_screen.h | 3 + include/pokenav.h | 5 - include/strings.h | 7 + src/menu_unknown.c | 531 +++++++++++++++++++++++++++++++ src/move_relearner.c | 2 +- src/strings.c | 14 +- 9 files changed, 556 insertions(+), 513 deletions(-) diff --git a/asm/menu_unknown.s b/asm/menu_unknown.s index c0026a7423..a08d72aa5d 100644 --- a/asm/menu_unknown.s +++ b/asm/menu_unknown.s @@ -6,506 +6,6 @@ .text - thumb_func_start InitMoveRelearnerWindows -InitMoveRelearnerWindows: @ 81D2824 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gMoveRelearnerWindowTemplates - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - movs r1, 0x1 - movs r2, 0xE0 - bl LoadUserWindowBorderGfx - ldr r0, =gUnknown_0860F074 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r4, 0 -_081D284A: - adds r0, r4, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _081D284A - cmp r5, 0 - bne _081D287C - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0 - movs r2, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle - b _081D288E - .pool -_081D287C: - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle -_081D288E: - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0x2 - movs r1, 0 - movs r2, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle - movs r0, 0x3 - movs r1, 0 - movs r2, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle - bl nullsub_79 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end InitMoveRelearnerWindows - - thumb_func_start nullsub_79 -nullsub_79: @ 81D28C4 - bx lr - thumb_func_end nullsub_79 - - thumb_func_start LoadMoveRelearnerMovesList -LoadMoveRelearnerMovesList: @ 81D28C8 - push {r4-r7,lr} - lsls r1, 16 - lsrs r4, r1, 16 - ldr r3, =gMultiuseListMenuTemplate - adds r2, r3, 0 - ldr r1, =gMoveRelearnerMovesListTemplate - ldm r1!, {r5-r7} - stm r2!, {r5-r7} - ldm r1!, {r5-r7} - stm r2!, {r5-r7} - strh r4, [r3, 0xC] - str r0, [r3] - cmp r4, 0x5 - bhi _081D28F0 - strh r4, [r3, 0xE] - b _081D28F4 - .pool -_081D28F0: - movs r0, 0x6 - strh r0, [r3, 0xE] -_081D28F4: - ldrb r0, [r3, 0xE] - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end LoadMoveRelearnerMovesList - - thumb_func_start MoveRelearnerLoadBattleMoveDescription -MoveRelearnerLoadBattleMoveDescription: @ 81D28FC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - mov r9, r0 - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r5, =gText_BattleMoves2 - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x80 - bl GetStringCenterAlignXOffset - adds r4, r0, 0 - lsls r3, r4, 24 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - mov r8, r0 - str r0, [sp, 0x4] - movs r7, 0 - str r7, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - bl AddTextPrinterParameterized - ldr r5, =gText_PPSlash - movs r1, 0x29 - mov r10, r1 - str r1, [sp] - mov r0, r8 - str r0, [sp, 0x4] - str r7, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0x4 - bl AddTextPrinterParameterized - ldr r5, =gText_PowerSlash - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x6A - bl GetStringRightAlignXOffset - adds r4, r0, 0 - lsls r3, r4, 24 - lsrs r3, 24 - movs r1, 0x19 - str r1, [sp] - mov r0, r8 - str r0, [sp, 0x4] - str r7, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - bl AddTextPrinterParameterized - ldr r5, =gText_AccuracySlash - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x6A - bl GetStringRightAlignXOffset - adds r4, r0, 0 - lsls r3, r4, 24 - lsrs r3, 24 - mov r1, r10 - str r1, [sp] - mov r0, r8 - str r0, [sp, 0x4] - str r7, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - bl AddTextPrinterParameterized - movs r0, 0x2 - negs r0, r0 - cmp r9, r0 - bne _081D29C4 - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - b _081D2AB6 - .pool -_081D29C4: - mov r1, r9 - lsls r0, r1, 1 - add r0, r9 - lsls r0, 2 - ldr r1, =gBattleMoves - adds r6, r0, r1 - ldrb r1, [r6, 0x2] - lsls r0, r1, 3 - subs r0, r1 - ldr r1, =gTypeNames - adds r5, r0, r1 - movs r0, 0x19 - str r0, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r7, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0x4 - bl AddTextPrinterParameterized - ldr r1, =gText_PPSlash - movs r0, 0x1 - movs r2, 0 - bl GetStringWidth - adds r4, r0, 0x4 - ldrb r1, [r6, 0x4] - add r0, sp, 0xC - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - lsls r3, r4, 24 - lsrs r3, 24 - mov r0, r10 - str r0, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r7, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - add r2, sp, 0xC - bl AddTextPrinterParameterized - ldrb r0, [r6, 0x1] - cmp r0, 0x1 - bhi _081D2A3C - ldr r5, =gText_ThreeDashes - b _081D2A4A - .pool -_081D2A3C: - ldrb r1, [r6, 0x1] - add r0, sp, 0xC - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - add r5, sp, 0xC -_081D2A4A: - movs r0, 0x19 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0x6A - bl AddTextPrinterParameterized - ldrb r0, [r6, 0x3] - cmp r0, 0 - bne _081D2A70 - ldr r5, =gText_ThreeDashes - b _081D2A7E - .pool -_081D2A70: - ldrb r1, [r6, 0x3] - add r0, sp, 0xC - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - add r5, sp, 0xC -_081D2A7E: - movs r0, 0x29 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0x6A - bl AddTextPrinterParameterized - ldr r1, =gMoveDescriptionPointers - mov r0, r9 - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r5, [r0] - movs r0, 0x41 - str r0, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r1, 0x7 - adds r2, r5, 0 - movs r3, 0 - bl AddTextPrinterParameterized -_081D2AB6: - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end MoveRelearnerLoadBattleMoveDescription - - thumb_func_start MoveRelearnerMenuLoadContestMoveDescription -MoveRelearnerMenuLoadContestMoveDescription: @ 81D2ACC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - adds r4, r0, 0 - bl MoveRelearnerShowHideHearts - movs r0, 0x1 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r5, =gText_ContestMoves2 - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x80 - bl GetStringCenterAlignXOffset - lsls r3, r0, 24 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r7, 0xFF - str r7, [sp, 0x4] - movs r6, 0 - str r6, [sp, 0x8] - movs r1, 0x1 - adds r2, r5, 0 - bl AddTextPrinterParameterized - ldr r5, =gText_Appeal2 - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x5C - bl GetStringRightAlignXOffset - lsls r3, r0, 24 - lsrs r3, 24 - movs r0, 0x19 - mov r8, r0 - str r0, [sp] - str r7, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - adds r2, r5, 0 - bl AddTextPrinterParameterized - ldr r5, =gText_Jam2 - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x5C - bl GetStringRightAlignXOffset - lsls r3, r0, 24 - lsrs r3, 24 - movs r0, 0x29 - str r0, [sp] - str r7, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - adds r2, r5, 0 - bl AddTextPrinterParameterized - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - bne _081D2B6C - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - b _081D2BB8 - .pool -_081D2B6C: - lsls r4, 3 - ldr r0, =gContestMoves - adds r4, r0 - ldr r1, =gContestMoveTypeTextPointers - ldrb r0, [r4, 0x1] - lsls r0, 29 - lsrs r0, 27 - adds r0, r1 - ldr r5, [r0] - mov r0, r8 - str r0, [sp] - str r7, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0x4 - bl AddTextPrinterParameterized - ldr r1, =gContestEffectDescriptionPointers - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r5, [r0] - movs r0, 0x41 - str r0, [sp] - str r7, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x7 - adds r2, r5, 0 - movs r3, 0 - bl AddTextPrinterParameterized - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram -_081D2BB8: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end MoveRelearnerMenuLoadContestMoveDescription - - thumb_func_start MoveRelearnerCursorCallback -MoveRelearnerCursorCallback: @ 81D2BD0 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _081D2BE2 - movs r0, 0x5 - bl PlaySE -_081D2BE2: - adds r0, r4, 0 - bl MoveRelearnerLoadBattleMoveDescription - adds r0, r4, 0 - bl MoveRelearnerMenuLoadContestMoveDescription - pop {r4} - pop {r0} - bx r0 - thumb_func_end MoveRelearnerCursorCallback - - thumb_func_start MoveRelearnerPrintText -MoveRelearnerPrintText: @ 81D2BF4 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - movs r0, 0x3 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gTextFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - bl GetPlayerTextSpeedDelay - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r1, 0x1 - adds r2, r4, 0 - bl AddTextPrinterParameterized2 - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end MoveRelearnerPrintText - - thumb_func_start MoveRelearnerRunTextPrinters -MoveRelearnerRunTextPrinters: @ 81D2C3C - push {lr} - bl RunTextPrinters - movs r0, 0x3 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end MoveRelearnerRunTextPrinters - - thumb_func_start MoveRelearnerCreateYesNoMenu -MoveRelearnerCreateYesNoMenu: @ 81D2C50 - push {lr} - ldr r0, =gMoveRelearnerYesNoMenuTemplate - movs r1, 0x1 - movs r2, 0xE - movs r3, 0 - bl CreateYesNoMenu - pop {r0} - bx r0 - .pool - thumb_func_end MoveRelearnerCreateYesNoMenu - thumb_func_start sub_81D2C68 sub_81D2C68: @ 81D2C68 push {lr} diff --git a/include/contest_effect.h b/include/contest_effect.h index 5f48e1b8bd..0474cb38cc 100644 --- a/include/contest_effect.h +++ b/include/contest_effect.h @@ -19,6 +19,7 @@ struct ContestEffect extern const struct ContestMove gContestMoves[]; extern const struct ContestEffect gContestEffects[]; extern const u8 *const gContestEffectDescriptionPointers[]; +extern const u8 *const gContestMoveTypeTextPointers[]; bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove); diff --git a/include/menu_unknown.h b/include/menu_unknown.h index d63abdc0b9..a442ec3184 100644 --- a/include/menu_unknown.h +++ b/include/menu_unknown.h @@ -2,6 +2,7 @@ #define GUARD_MENU_UNKNOWN_H #include "player_pc.h" +#include "list_menu.h" struct UnknownSubStruct_81D1ED4 { @@ -41,5 +42,10 @@ void sub_81D3464(void *arg0); void sub_81D3480(void *arg0, u8 arg1); void sub_81D2754(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D1ED4 *arg1); void sub_81D1F84(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D1ED4 arg1[4][5], struct UnknownSubStruct_81D1ED4 arg2[4][5]); +void MoveRelearnerPrintText(u8 *text); +bool16 MoveRelearnerRunTextPrinters(void); +void MoveRelearnerCreateYesNoMenu(void); +u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices); +void InitMoveRelearnerWindows(bool8 useContextWindow); #endif // GUARD_MENU_UNKNOWN_H \ No newline at end of file diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index bd99fed0ec..19994b77fd 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -1,7 +1,10 @@ #ifndef GUARD_POKEMON_SUMMARY_SCREEN_H #define GUARD_POKEMON_SUMMARY_SCREEN_H +#include "main.h" + extern u8 gLastViewedMonIndex; +extern const u8 *const gMoveDescriptionPointers[]; void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); void sub_81C4F98(u8, void(*)(void)); diff --git a/include/pokenav.h b/include/pokenav.h index e39373b351..a562b0c7b2 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -4,11 +4,6 @@ bool8 sub_81D312C(void *arg0); bool8 sub_81D4A58(struct EventObject*); -void MoveRelearnerPrintText(u8 *); -u16 MoveRelearnerRunTextPrinters(void); -void MoveRelearnerCreateYesNoMenu(void); -u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices); -void InitMoveRelearnerWindows(bool8 useContextWindow); bool8 EventObjectIsFarawayIslandMew(struct EventObject *); u32 sub_81D427C(void); void sub_81D4998(void); diff --git a/include/strings.h b/include/strings.h index 8fc5ad377e..9e464562d2 100644 --- a/include/strings.h +++ b/include/strings.h @@ -868,6 +868,13 @@ extern const u8 gText_MoveRelearnerPkmnForgotMoveAndLearnedNew[]; extern const u8 gText_TeachWhichMoveToPkmn[]; extern const u8 gText_MoveRelearnerGiveUp[]; extern const u8 gText_MoveRelearnerTeachMoveConfirm[]; +extern const u8 gText_MoveRelearnerBattleMoves[]; +extern const u8 gText_MoveRelearnerPP[]; +extern const u8 gText_MoveRelearnerPower[]; +extern const u8 gText_MoveRelearnerAccuracy[]; +extern const u8 gText_MoveRelearnerContestMovesTitle[]; +extern const u8 gText_MoveRelearnerAppeal[]; +extern const u8 gText_MoveRelearnerJam[]; extern const u8 gText_Kira[]; extern const u8 gText_Amy[]; diff --git a/src/menu_unknown.c b/src/menu_unknown.c index 9a8ea59065..78b2cc8d59 100644 --- a/src/menu_unknown.c +++ b/src/menu_unknown.c @@ -1,14 +1,21 @@ #include "global.h" #include "alloc.h" +#include "battle_main.h" +#include "contest_effect.h" #include "gpu_regs.h" +#include "menu.h" #include "international_string_util.h" #include "menu.h" #include "menu_unknown.h" +#include "move_relearner.h" +#include "palette.h" #include "player_pc.h" +#include "pokemon_summary_screen.h" #include "scanline_effect.h" #include "sound.h" #include "strings.h" #include "string_util.h" +#include "text_window.h" #include "trig.h" #include "window.h" #include "constants/songs.h" @@ -25,6 +32,7 @@ void sub_81D1E7C(s32 itemIndex, bool8 onInit, struct ListMenu *list); void sub_81D24A4(struct UnknownStruct_81D1ED4 *a0); void sub_81D2634(struct UnknownStruct_81D1ED4 *a0); void MoveRelearnerCursorCallback(s32 itemIndex, bool8 onInit, struct ListMenu *list); +extern void nullsub_79(void); static const struct WindowTemplate sUnknown_086253E8[] = { @@ -1585,4 +1593,527 @@ _081D2800:\n\ .pool\n\ .syntax divided"); #endif +} + +void InitMoveRelearnerWindows(bool8 useContextWindow) +{ + u8 i; + + InitWindows(gMoveRelearnerWindowTemplates); + DeactivateAllTextPrinters(); + LoadUserWindowBorderGfx(0, 1, 0xE0); + LoadPalette(gUnknown_0860F074, 0xF0, 0x20); + + for (i = 0; i < 5; i++) + { + FillWindowPixelBuffer(i, 0x11); + } + + if (!useContextWindow) + { + PutWindowTilemap(0); + SetWindowBorderStyle(0, 0, 0x1, 0xE); + } + else + { + PutWindowTilemap(1); + SetWindowBorderStyle(1, 0, 1, 0xE); + } + PutWindowTilemap(2); + PutWindowTilemap(3); + SetWindowBorderStyle(2, 0, 1, 0xE); + SetWindowBorderStyle(3, 0, 1, 0xE); + nullsub_79(); + schedule_bg_copy_tilemap_to_vram(1); +} + +void nullsub_79(void) +{ + +} + +u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices) +{ + gMultiuseListMenuTemplate = gMoveRelearnerMovesListTemplate; + gMultiuseListMenuTemplate.totalItems = numChoices; + gMultiuseListMenuTemplate.items = items; + + if (numChoices < 6) + { + gMultiuseListMenuTemplate.maxShowed = numChoices; + } + else + { + gMultiuseListMenuTemplate.maxShowed = 6; + } + return gMultiuseListMenuTemplate.maxShowed; +} + +NAKED +void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove) +{ + // Two small issues, and a few renamed registers. +#ifdef NONMATCHING + u8 offset; + s32 width; + const struct BattleMove *move; + u8 buffer[0x20]; + const u8 *labelStr; + + FillWindowPixelBuffer(0, 0x11); + labelStr = gText_MoveRelearnerBattleMoves; + offset = GetStringCenterAlignXOffset(1, labelStr, 0x80); + AddTextPrinterParameterized(0, 1, labelStr, offset, 1, TEXT_SPEED_FF, NULL); + + labelStr = gText_MoveRelearnerPP; + AddTextPrinterParameterized(0, 1, labelStr, 4, 0x29, TEXT_SPEED_FF, NULL); + + labelStr = gText_MoveRelearnerPower; + offset = GetStringRightAlignXOffset(1, labelStr, 0x6A); + AddTextPrinterParameterized(0, 1, labelStr, offset, 0x19, TEXT_SPEED_FF, NULL); + + labelStr = gText_MoveRelearnerAccuracy; + offset = GetStringRightAlignXOffset(1, labelStr, 0x6A); + AddTextPrinterParameterized(0, 1, labelStr, offset, 0x29, TEXT_SPEED_FF, NULL); + if (chosenMove == LIST_CANCEL) + { + CopyWindowToVram(0, 2); + return; + } + move = &gBattleMoves[chosenMove]; + labelStr = gTypeNames[move->type]; + // GCC tries to be smart, and preserves the same 0x19 from above for this. + // The original asm just loads the constant 0x19 twice. + AddTextPrinterParameterized(0, 1, labelStr, 4, 0x19, TEXT_SPEED_FF, NULL); + + // GCC tries to generate this as: + // add r4, r0, 0 + // add r4, r4, 4 + // But the original asm is: + // add r4, r0, 4 + width = 4 + GetStringWidth(1, gText_MoveRelearnerPP, 0); + + ConvertIntToDecimalStringN(buffer, move->pp, 0, 2); + AddTextPrinterParameterized(0, 1, buffer, width, 0x29, TEXT_SPEED_FF, NULL); + + + if (move->power < 2) + { + labelStr = gText_ThreeDashes; + } + else + { + ConvertIntToDecimalStringN(buffer, move->power, 0, 3); + labelStr = buffer; + } + AddTextPrinterParameterized(0, 1, labelStr, 0x6A, 0x19, TEXT_SPEED_FF, NULL); + + if (move->accuracy == 0) + { + labelStr = gText_ThreeDashes; + } + else + { + ConvertIntToDecimalStringN(buffer, move->accuracy, 0, 3); + labelStr = buffer; + } + AddTextPrinterParameterized(0, 1, labelStr, 0x6A, 0x29, TEXT_SPEED_FF, NULL); + labelStr = gMoveDescriptionPointers[chosenMove - 1]; + AddTextPrinterParameterized(0, 7, labelStr, 0, 0x41, 0, NULL); +#else + asm(".syntax 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, 0x2C\n\ + mov r9, r0\n\ + movs r0, 0\n\ + movs r1, 0x11\n\ + bl FillWindowPixelBuffer\n\ + ldr r5, =gText_MoveRelearnerBattleMoves\n\ + movs r0, 0x1\n\ + adds r1, r5, 0\n\ + movs r2, 0x80\n\ + bl GetStringCenterAlignXOffset\n\ + adds r4, r0, 0\n\ + lsls r3, r4, 24\n\ + lsrs r3, 24\n\ + movs r0, 0x1\n\ + str r0, [sp]\n\ + movs r0, 0xFF\n\ + mov r8, r0\n\ + str r0, [sp, 0x4]\n\ + movs r7, 0\n\ + str r7, [sp, 0x8]\n\ + movs r0, 0\n\ + movs r1, 0x1\n\ + adds r2, r5, 0\n\ + bl AddTextPrinterParameterized\n\ + ldr r5, =gText_MoveRelearnerPP\n\ + movs r1, 0x29\n\ + mov r10, r1\n\ + str r1, [sp]\n\ + mov r0, r8\n\ + str r0, [sp, 0x4]\n\ + str r7, [sp, 0x8]\n\ + movs r0, 0\n\ + movs r1, 0x1\n\ + adds r2, r5, 0\n\ + movs r3, 0x4\n\ + bl AddTextPrinterParameterized\n\ + ldr r5, =gText_MoveRelearnerPower\n\ + movs r0, 0x1\n\ + adds r1, r5, 0\n\ + movs r2, 0x6A\n\ + bl GetStringRightAlignXOffset\n\ + adds r4, r0, 0\n\ + lsls r3, r4, 24\n\ + lsrs r3, 24\n\ + movs r1, 0x19\n\ + str r1, [sp]\n\ + mov r0, r8\n\ + str r0, [sp, 0x4]\n\ + str r7, [sp, 0x8]\n\ + movs r0, 0\n\ + movs r1, 0x1\n\ + adds r2, r5, 0\n\ + bl AddTextPrinterParameterized\n\ + ldr r5, =gText_MoveRelearnerAccuracy\n\ + movs r0, 0x1\n\ + adds r1, r5, 0\n\ + movs r2, 0x6A\n\ + bl GetStringRightAlignXOffset\n\ + adds r4, r0, 0\n\ + lsls r3, r4, 24\n\ + lsrs r3, 24\n\ + mov r1, r10\n\ + str r1, [sp]\n\ + mov r0, r8\n\ + str r0, [sp, 0x4]\n\ + str r7, [sp, 0x8]\n\ + movs r0, 0\n\ + movs r1, 0x1\n\ + adds r2, r5, 0\n\ + bl AddTextPrinterParameterized\n\ + movs r0, 0x2\n\ + negs r0, r0\n\ + cmp r9, r0\n\ + bne _081D29C4\n\ + movs r0, 0\n\ + movs r1, 0x2\n\ + bl CopyWindowToVram\n\ + b _081D2AB6\n\ + .pool\n\ +_081D29C4:\n\ + mov r1, r9\n\ + lsls r0, r1, 1\n\ + add r0, r9\n\ + lsls r0, 2\n\ + ldr r1, =gBattleMoves\n\ + adds r6, r0, r1\n\ + ldrb r1, [r6, 0x2]\n\ + lsls r0, r1, 3\n\ + subs r0, r1\n\ + ldr r1, =gTypeNames\n\ + adds r5, r0, r1\n\ + movs r0, 0x19\n\ + str r0, [sp]\n\ + mov r1, r8\n\ + str r1, [sp, 0x4]\n\ + str r7, [sp, 0x8]\n\ + movs r0, 0\n\ + movs r1, 0x1\n\ + adds r2, r5, 0\n\ + movs r3, 0x4\n\ + bl AddTextPrinterParameterized\n\ + ldr r1, =gText_MoveRelearnerPP\n\ + movs r0, 0x1\n\ + movs r2, 0\n\ + bl GetStringWidth\n\ + adds r4, r0, 0x4\n\ + ldrb r1, [r6, 0x4]\n\ + add r0, sp, 0xC\n\ + movs r2, 0\n\ + movs r3, 0x2\n\ + bl ConvertIntToDecimalStringN\n\ + lsls r3, r4, 24\n\ + lsrs r3, 24\n\ + mov r0, r10\n\ + str r0, [sp]\n\ + mov r1, r8\n\ + str r1, [sp, 0x4]\n\ + str r7, [sp, 0x8]\n\ + movs r0, 0\n\ + movs r1, 0x1\n\ + add r2, sp, 0xC\n\ + bl AddTextPrinterParameterized\n\ + ldrb r0, [r6, 0x1]\n\ + cmp r0, 0x1\n\ + bhi _081D2A3C\n\ + ldr r5, =gText_ThreeDashes\n\ + b _081D2A4A\n\ + .pool\n\ +_081D2A3C:\n\ + ldrb r1, [r6, 0x1]\n\ + add r0, sp, 0xC\n\ + movs r2, 0\n\ + movs r3, 0x3\n\ + bl ConvertIntToDecimalStringN\n\ + add r5, sp, 0xC\n\ +_081D2A4A:\n\ + movs r0, 0x19\n\ + str r0, [sp]\n\ + movs r0, 0xFF\n\ + str r0, [sp, 0x4]\n\ + movs r0, 0\n\ + str r0, [sp, 0x8]\n\ + movs r1, 0x1\n\ + adds r2, r5, 0\n\ + movs r3, 0x6A\n\ + bl AddTextPrinterParameterized\n\ + ldrb r0, [r6, 0x3]\n\ + cmp r0, 0\n\ + bne _081D2A70\n\ + ldr r5, =gText_ThreeDashes\n\ + b _081D2A7E\n\ + .pool\n\ +_081D2A70:\n\ + ldrb r1, [r6, 0x3]\n\ + add r0, sp, 0xC\n\ + movs r2, 0\n\ + movs r3, 0x3\n\ + bl ConvertIntToDecimalStringN\n\ + add r5, sp, 0xC\n\ +_081D2A7E:\n\ + movs r0, 0x29\n\ + str r0, [sp]\n\ + movs r0, 0xFF\n\ + str r0, [sp, 0x4]\n\ + movs r4, 0\n\ + str r4, [sp, 0x8]\n\ + movs r0, 0\n\ + movs r1, 0x1\n\ + adds r2, r5, 0\n\ + movs r3, 0x6A\n\ + bl AddTextPrinterParameterized\n\ + ldr r1, =gMoveDescriptionPointers\n\ + mov r0, r9\n\ + subs r0, 0x1\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + ldr r5, [r0]\n\ + movs r0, 0x41\n\ + str r0, [sp]\n\ + str r4, [sp, 0x4]\n\ + str r4, [sp, 0x8]\n\ + movs r0, 0\n\ + movs r1, 0x7\n\ + adds r2, r5, 0\n\ + movs r3, 0\n\ + bl AddTextPrinterParameterized\n\ +_081D2AB6:\n\ + add sp, 0x2C\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\ + .syntax divided"); +#endif +} + +NAKED +void MoveRelearnerMenuLoadContestMoveDescription(u32 chosenMove) +{ +#ifdef NONMATCHING + //u8 offset; + const u8 *labelStr; + const struct ContestMove *move; + u8 category; + const u8 **temp; + + MoveRelearnerShowHideHearts(chosenMove); + FillWindowPixelBuffer(1, 0x11); + labelStr = gText_MoveRelearnerContestMovesTitle; + // GCC compiles these as: + // add r3, r0, 0 + // lsls r3, r3, 24 + // lsrs r3, r3, 24 + // But in the original asm: + // lsls r3, r0, 24 + // lsrs r3, r3, 24 + //offset = GetStringCenterAlignXOffset(1, labelStr, 0x80); + AddTextPrinterParameterized(1, 1, labelStr, GetStringCenterAlignXOffset(1, labelStr, 0x80), 1, TEXT_SPEED_FF, NULL); + + labelStr = gText_MoveRelearnerAppeal; + //offset = GetStringRightAlignXOffset(1, labelStr, 0x5C); + AddTextPrinterParameterized(1, 1, labelStr, GetStringCenterAlignXOffset(1, labelStr, 0x5C), 0x19, TEXT_SPEED_FF, NULL); + + labelStr = gText_MoveRelearnerJam; + //offset = GetStringRightAlignXOffset(1, labelStr, 0x5C); + AddTextPrinterParameterized(1, 1, labelStr, GetStringCenterAlignXOffset(1, labelStr, 0x5C), 0x29, TEXT_SPEED_FF, NULL); + + if (chosenMove == MENU_NOTHING_CHOSEN) + { + CopyWindowToVram(1, 2); + return; + } + + move = &gContestMoves[chosenMove]; + temp = (const u8**)gContestMoveTypeTextPointers; + category = move->contestCategory; + labelStr = temp[category]; + AddTextPrinterParameterized(1, 1, labelStr, 4, 0x19, TEXT_SPEED_FF, NULL); + + labelStr = gContestEffectDescriptionPointers[move->effect]; + AddTextPrinterParameterized(1, 1, labelStr, 0, 0x41, TEXT_SPEED_FF, NULL); + + CopyWindowToVram(1, 2); +#else + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + sub sp, 0xC\n\ + adds r4, r0, 0\n\ + bl MoveRelearnerShowHideHearts\n\ + movs r0, 0x1\n\ + movs r1, 0x11\n\ + bl FillWindowPixelBuffer\n\ + ldr r5, =gText_MoveRelearnerContestMovesTitle\n\ + movs r0, 0x1\n\ + adds r1, r5, 0\n\ + movs r2, 0x80\n\ + bl GetStringCenterAlignXOffset\n\ + lsls r3, r0, 24\n\ + lsrs r3, 24\n\ + movs r0, 0x1\n\ + str r0, [sp]\n\ + movs r7, 0xFF\n\ + str r7, [sp, 0x4]\n\ + movs r6, 0\n\ + str r6, [sp, 0x8]\n\ + movs r1, 0x1\n\ + adds r2, r5, 0\n\ + bl AddTextPrinterParameterized\n\ + ldr r5, =gText_MoveRelearnerAppeal\n\ + movs r0, 0x1\n\ + adds r1, r5, 0\n\ + movs r2, 0x5C\n\ + bl GetStringRightAlignXOffset\n\ + lsls r3, r0, 24\n\ + lsrs r3, 24\n\ + movs r0, 0x19\n\ + mov r8, r0\n\ + str r0, [sp]\n\ + str r7, [sp, 0x4]\n\ + str r6, [sp, 0x8]\n\ + movs r0, 0x1\n\ + movs r1, 0x1\n\ + adds r2, r5, 0\n\ + bl AddTextPrinterParameterized\n\ + ldr r5, =gText_MoveRelearnerJam\n\ + movs r0, 0x1\n\ + adds r1, r5, 0\n\ + movs r2, 0x5C\n\ + bl GetStringRightAlignXOffset\n\ + lsls r3, r0, 24\n\ + lsrs r3, 24\n\ + movs r0, 0x29\n\ + str r0, [sp]\n\ + str r7, [sp, 0x4]\n\ + str r6, [sp, 0x8]\n\ + movs r0, 0x1\n\ + movs r1, 0x1\n\ + adds r2, r5, 0\n\ + bl AddTextPrinterParameterized\n\ + movs r0, 0x2\n\ + negs r0, r0\n\ + cmp r4, r0\n\ + bne _081D2B6C\n\ + movs r0, 0x1\n\ + movs r1, 0x2\n\ + bl CopyWindowToVram\n\ + b _081D2BB8\n\ + .pool\n\ +_081D2B6C:\n\ + lsls r4, 3\n\ + ldr r0, =gContestMoves\n\ + adds r4, r0\n\ + ldr r1, =gContestMoveTypeTextPointers\n\ + ldrb r0, [r4, 0x1]\n\ + lsls r0, 29\n\ + lsrs r0, 27\n\ + adds r0, r1\n\ + ldr r5, [r0]\n\ + mov r0, r8\n\ + str r0, [sp]\n\ + str r7, [sp, 0x4]\n\ + str r6, [sp, 0x8]\n\ + movs r0, 0x1\n\ + movs r1, 0x1\n\ + adds r2, r5, 0\n\ + movs r3, 0x4\n\ + bl AddTextPrinterParameterized\n\ + ldr r1, =gContestEffectDescriptionPointers\n\ + ldrb r0, [r4]\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + ldr r5, [r0]\n\ + movs r0, 0x41\n\ + str r0, [sp]\n\ + str r7, [sp, 0x4]\n\ + str r6, [sp, 0x8]\n\ + movs r0, 0x1\n\ + movs r1, 0x7\n\ + adds r2, r5, 0\n\ + movs r3, 0\n\ + bl AddTextPrinterParameterized\n\ + movs r0, 0x1\n\ + movs r1, 0x2\n\ + bl CopyWindowToVram\n\ +_081D2BB8:\n\ + add sp, 0xC\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n\ + .syntax divided"); +#endif +} + +void MoveRelearnerCursorCallback(s32 itemIndex, bool8 onInit, struct ListMenu *list) +{ + if (onInit != TRUE) + PlaySE(SE_SELECT); + MoveRelearnerLoadBattleMoveDescription(itemIndex); + MoveRelearnerMenuLoadContestMoveDescription(itemIndex); +} + +void MoveRelearnerPrintText(u8 *text) +{ + u8 speed; + + FillWindowPixelBuffer(3, 0x11); + gTextFlags.canABSpeedUpPrint = TRUE; + speed = GetPlayerTextSpeedDelay(); + AddTextPrinterParameterized2(3, 1, text, speed, NULL, TEXT_COLOR_DARK_GREY, TEXT_COLOR_WHITE, 3); +} + +bool16 MoveRelearnerRunTextPrinters(void) +{ + RunTextPrinters(); + return IsTextPrinterActive(3); +} + +void MoveRelearnerCreateYesNoMenu(void) +{ + CreateYesNoMenu(&gMoveRelearnerYesNoMenuTemplate, 1, 0xE, 0); } \ No newline at end of file diff --git a/src/move_relearner.c b/src/move_relearner.c index 1766476ccd..8576c5e688 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -12,10 +12,10 @@ #include "alloc.h" #include "menu.h" #include "menu_helpers.h" +#include "menu_unknown.h" #include "overworld.h" #include "palette.h" #include "pokemon_summary_screen.h" -#include "pokenav.h" #include "script.h" #include "sound.h" #include "sprite.h" diff --git a/src/strings.c b/src/strings.c index bed8f4b682..577d26f5c3 100644 --- a/src/strings.c +++ b/src/strings.c @@ -1751,14 +1751,14 @@ const u8 gText_MoveRelearnerPkmnForgotMoveAndLearnedNew[] = _("{STR_VAR_1} forgo const u8 gUnknown_085EF9C8[] = _("{STR_VAR_1} did not learn the\nmove {STR_VAR_2}."); const u8 gText_MoveRelearnerGiveUp[] = _("Give up trying to teach a new\nmove to {STR_VAR_1}?"); const u8 gText_MoveRelearnerWhichMoveToForget[] = _("Which move should be\nforgotten?\p"); -const u8 gText_BattleMoves2[] = _("BATTLE MOVES"); -const u8 gText_ContestMoves2[] = _("CONTEST MOVES"); +const u8 gText_MoveRelearnerBattleMoves[] = _("BATTLE MOVES"); +const u8 gText_MoveRelearnerContestMovesTitle[] = _("CONTEST MOVES"); const u8 gUnknown_085EFA4C[] = _("TYPE/"); -const u8 gText_PPSlash[] = _("PP/"); -const u8 gText_PowerSlash[] = _("POWER/"); -const u8 gText_AccuracySlash[] = _("ACCURACY/"); -const u8 gText_Appeal2[] = _("APPEAL"); -const u8 gText_Jam2[] = _("JAM"); +const u8 gText_MoveRelearnerPP[] = _("PP/"); +const u8 gText_MoveRelearnerPower[] = _("POWER/"); +const u8 gText_MoveRelearnerAccuracy[] = _("ACCURACY/"); +const u8 gText_MoveRelearnerAppeal[] = _("APPEAL"); +const u8 gText_MoveRelearnerJam[] = _("JAM"); const u8 gText_Kira[] = _("KIRA"); const u8 gText_Amy[] = _("AMY"); const u8 gText_John[] = _("JOHN"); From af182d6f168afbb7c8c35fe9240ecf931099d06e Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Fri, 8 Mar 2019 02:10:44 -0500 Subject: [PATCH 27/47] Minor cleanup before pushing --- include/menu_unknown.h | 8 ++-- src/menu_unknown.c | 83 +++++++++++++++--------------------------- src/move_relearner.c | 2 +- 3 files changed, 34 insertions(+), 59 deletions(-) diff --git a/include/menu_unknown.h b/include/menu_unknown.h index a442ec3184..2eefb5971d 100644 --- a/include/menu_unknown.h +++ b/include/menu_unknown.h @@ -25,10 +25,10 @@ struct UnknownStruct_81D1ED4 u8 unk356[0x22]; }; -bool8 sub_81D1C44(u8 a0); +bool8 sub_81D1C44(u8 count); u8 sub_81D1C84(u8 a0); -u8 sub_81D1DC0(struct PlayerPCItemPageStruct *a0); -void sub_81D1E90(struct PlayerPCItemPageStruct *a0); +u8 sub_81D1DC0(struct PlayerPCItemPageStruct *page); +void sub_81D1E90(struct PlayerPCItemPageStruct *page); void sub_81D1EC0(void); void sub_81D1D04(u8 a0); void DrawLevelUpWindowPg1(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); @@ -42,7 +42,7 @@ void sub_81D3464(void *arg0); void sub_81D3480(void *arg0, u8 arg1); void sub_81D2754(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D1ED4 *arg1); void sub_81D1F84(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D1ED4 arg1[4][5], struct UnknownSubStruct_81D1ED4 arg2[4][5]); -void MoveRelearnerPrintText(u8 *text); +void MoveRelearnerPrintText(u8 *str); bool16 MoveRelearnerRunTextPrinters(void); void MoveRelearnerCreateYesNoMenu(void); u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices); diff --git a/src/menu_unknown.c b/src/menu_unknown.c index 78b2cc8d59..21e19caccf 100644 --- a/src/menu_unknown.c +++ b/src/menu_unknown.c @@ -21,22 +21,18 @@ #include "constants/songs.h" #include "gba/io_reg.h" -#define WINDOW_UNK_0 0 -#define WINDOW_UNK_1 1 -#define WINDOW_UNK_2 2 - EWRAM_DATA static u8 sUnknown_0203CF48[3] = {0}; EWRAM_DATA static struct ListMenuItem *sUnknown_0203CF4C = NULL; -void sub_81D1E7C(s32 itemIndex, bool8 onInit, struct ListMenu *list); -void sub_81D24A4(struct UnknownStruct_81D1ED4 *a0); -void sub_81D2634(struct UnknownStruct_81D1ED4 *a0); -void MoveRelearnerCursorCallback(s32 itemIndex, bool8 onInit, struct ListMenu *list); -extern void nullsub_79(void); +static void sub_81D1E7C(s32 itemIndex, bool8 onInit, struct ListMenu *list); +static void sub_81D24A4(struct UnknownStruct_81D1ED4 *a0); +static void sub_81D2634(struct UnknownStruct_81D1ED4 *a0); +static void MoveRelearnerCursorCallback(s32 itemIndex, bool8 onInit, struct ListMenu *list); +static void nullsub_79(void); static const struct WindowTemplate sUnknown_086253E8[] = { - [WINDOW_UNK_0] = { + { .bg = 0, .tilemapLeft = 1, .tilemapTop = 1, @@ -45,7 +41,7 @@ static const struct WindowTemplate sUnknown_086253E8[] = .paletteNum = 0xF, .baseBlock = 0x8 }, - [WINDOW_UNK_1] = { + { .bg = 0, .tilemapLeft = 21, .tilemapTop = 1, @@ -54,7 +50,7 @@ static const struct WindowTemplate sUnknown_086253E8[] = .paletteNum = 0xF, .baseBlock = 0x18 }, - [WINDOW_UNK_2] = { + { .bg = 0, .tilemapLeft = 1, .tilemapTop = 1, @@ -119,7 +115,7 @@ static const u8 sUnknown_08625410[] = }; -const struct WindowTemplate gMoveRelearnerWindowTemplates[] = +static const struct WindowTemplate sMoveRelearnerWindowTemplates[] = { { .bg = 1, @@ -169,7 +165,7 @@ const struct WindowTemplate gMoveRelearnerWindowTemplates[] = DUMMY_WIN_TEMPLATE }; -const struct WindowTemplate gMoveRelearnerYesNoMenuTemplate = +static const struct WindowTemplate sMoveRelearnerYesNoMenuTemplate = { .bg = 0, .tilemapLeft = 22, @@ -181,7 +177,7 @@ const struct WindowTemplate gMoveRelearnerYesNoMenuTemplate = }; -const struct ListMenuTemplate gMoveRelearnerMovesListTemplate = +static const struct ListMenuTemplate sMoveRelearnerMovesListTemplate = { .items = NULL, .moveCursorFunc = MoveRelearnerCursorCallback, @@ -228,16 +224,16 @@ u8 sub_81D1C84(u8 a0) u8 windowId = sUnknown_0203CF48[a0]; if (windowId == 0xFF) { - if (a0 == WINDOW_UNK_2) + if (a0 == 2) { u32 v1; u32 v2; s32 v3; - template = sUnknown_086253E8[WINDOW_UNK_2]; + template = sUnknown_086253E8[2]; v3 = GetMaxWidthInMenuTable(&gMailboxMailOptions[0], 4); template.width = v3; - sUnknown_0203CF48[WINDOW_UNK_2] = AddWindow(&template); + sUnknown_0203CF48[2] = AddWindow(&template); } else { @@ -256,12 +252,12 @@ void sub_81D1D04(u8 a0) sUnknown_0203CF48[a0] = 0xFF; } -u8 sub_81D1D34(u8 a0) +static u8 sub_81D1D34(u8 a0) { return sUnknown_0203CF48[a0]; } -void sub_81D1D44(u8 windowId, s32 itemId, u8 y) +static void sub_81D1D44(u8 windowId, s32 itemId, u8 y) { u8 buffer[30]; u16 length; @@ -310,7 +306,7 @@ u8 sub_81D1DC0(struct PlayerPCItemPageStruct *page) return ListMenuInit(&gMultiuseListMenuTemplate, page->itemsAbove, page->cursorPos); } -void sub_81D1E7C(s32 itemIndex, bool8 onInit, struct ListMenu *list) +static void sub_81D1E7C(s32 itemIndex, bool8 onInit, struct ListMenu *list) { if (onInit != TRUE) PlaySE(SE_SELECT); @@ -355,27 +351,6 @@ void sub_81D1ED4(struct UnknownStruct_81D1ED4 *a0) NAKED void sub_81D1F84(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D1ED4 arg1[4][5], struct UnknownSubStruct_81D1ED4 arg2[4][5]) { - /* - u16 j; - u16 i; - s16 v1; - s16 v2; - for (j = 0; j < 5; j++) - { - v1 = arg1[0][j].unk0; - v2 = (arg2[0][j].unk0 - v1) / 10; - - for (i = 0; i < 9; i++) - { - arg0->unk64[i][j].unk0 = v1 + ((v1 << 1) & 1); - } - - for (i = 0; i < 9; i++) - { - - } - } - */ asm(".syntax unified\n\ push {r4-r7,lr}\n\ mov r7, r10\n\ @@ -723,7 +698,7 @@ void sub_81D2230(struct UnknownStruct_81D1ED4 *arg0) } NAKED -void sub_81D2278(void *a0, void *a1, u16 *a2, u16 *a3, u8 a38, u32 a3C) +static void sub_81D2278(void *a0, void *a1, u16 *a2, u16 *a3, u8 a38, u32 a3C) { #ifdef NONMATCHING // a0 => sp0 @@ -1072,7 +1047,7 @@ _081D2494:\n\ } NAKED -void sub_81D24A4(struct UnknownStruct_81D1ED4 *a0) +static void sub_81D24A4(struct UnknownStruct_81D1ED4 *a0) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -1286,7 +1261,7 @@ _081D2620:\n\ } NAKED -void sub_81D2634(struct UnknownStruct_81D1ED4 *a0) +static void sub_81D2634(struct UnknownStruct_81D1ED4 *a0) { asm(".syntax unified\n\ push {r4-r6,lr}\n\ @@ -1599,7 +1574,7 @@ void InitMoveRelearnerWindows(bool8 useContextWindow) { u8 i; - InitWindows(gMoveRelearnerWindowTemplates); + InitWindows(sMoveRelearnerWindowTemplates); DeactivateAllTextPrinters(); LoadUserWindowBorderGfx(0, 1, 0xE0); LoadPalette(gUnknown_0860F074, 0xF0, 0x20); @@ -1627,14 +1602,14 @@ void InitMoveRelearnerWindows(bool8 useContextWindow) schedule_bg_copy_tilemap_to_vram(1); } -void nullsub_79(void) +static void nullsub_79(void) { } u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices) { - gMultiuseListMenuTemplate = gMoveRelearnerMovesListTemplate; + gMultiuseListMenuTemplate = sMoveRelearnerMovesListTemplate; gMultiuseListMenuTemplate.totalItems = numChoices; gMultiuseListMenuTemplate.items = items; @@ -1650,7 +1625,7 @@ u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices) } NAKED -void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove) +static void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove) { // Two small issues, and a few renamed registers. #ifdef NONMATCHING @@ -1928,7 +1903,7 @@ _081D2AB6:\n\ } NAKED -void MoveRelearnerMenuLoadContestMoveDescription(u32 chosenMove) +static void MoveRelearnerMenuLoadContestMoveDescription(u32 chosenMove) { #ifdef NONMATCHING //u8 offset; @@ -2089,7 +2064,7 @@ _081D2BB8:\n\ #endif } -void MoveRelearnerCursorCallback(s32 itemIndex, bool8 onInit, struct ListMenu *list) +static void MoveRelearnerCursorCallback(s32 itemIndex, bool8 onInit, struct ListMenu *list) { if (onInit != TRUE) PlaySE(SE_SELECT); @@ -2097,14 +2072,14 @@ void MoveRelearnerCursorCallback(s32 itemIndex, bool8 onInit, struct ListMenu *l MoveRelearnerMenuLoadContestMoveDescription(itemIndex); } -void MoveRelearnerPrintText(u8 *text) +void MoveRelearnerPrintText(u8 *str) { u8 speed; FillWindowPixelBuffer(3, 0x11); gTextFlags.canABSpeedUpPrint = TRUE; speed = GetPlayerTextSpeedDelay(); - AddTextPrinterParameterized2(3, 1, text, speed, NULL, TEXT_COLOR_DARK_GREY, TEXT_COLOR_WHITE, 3); + AddTextPrinterParameterized2(3, 1, str, speed, NULL, TEXT_COLOR_DARK_GREY, TEXT_COLOR_WHITE, 3); } bool16 MoveRelearnerRunTextPrinters(void) @@ -2115,5 +2090,5 @@ bool16 MoveRelearnerRunTextPrinters(void) void MoveRelearnerCreateYesNoMenu(void) { - CreateYesNoMenu(&gMoveRelearnerYesNoMenuTemplate, 1, 0xE, 0); + CreateYesNoMenu(&sMoveRelearnerYesNoMenuTemplate, 1, 0xE, 0); } \ No newline at end of file diff --git a/src/move_relearner.c b/src/move_relearner.c index 8576c5e688..7d5b518992 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -37,7 +37,7 @@ * - Creates moveDisplayArrowTask to listen to right/left buttons. * - Creates moveListScrollArrowTask to listen to up/down buttons. * - Whenever the selected move changes (and once on init), the MoveRelearnerCursorCallback - * is called (see gMoveRelearnerMovesListTemplate). That callback will reload the contest + * is called (see sMoveRelearnerMovesListTemplate). That callback will reload the contest * display and battle display windows for the new move. Both are always loaded in * memory, but only the currently active one is copied to VRAM. The exception to this * is the appeal and jam hearts, which are sprites. MoveRelearnerShowHideHearts is called From eac70acab65dea005da2299e4bb209aff1ded60f Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Fri, 8 Mar 2019 02:17:01 -0500 Subject: [PATCH 28/47] Change filename to something more descriptive --- asm/{menu_unknown.s => menu_specialized.s} | 0 data/{menu_unknown.s => menu_specialized.s} | 0 include/{menu_unknown.h => menu_specialized.h} | 6 +++--- ld_script.txt | 8 ++++---- src/{menu_unknown.c => menu_specialized.c} | 2 +- src/move_relearner.c | 2 +- src/party_menu.c | 2 +- src/player_pc.c | 2 +- src/use_pokeblock.c | 2 +- sym_ewram.txt | 2 +- 10 files changed, 13 insertions(+), 13 deletions(-) rename asm/{menu_unknown.s => menu_specialized.s} (100%) rename data/{menu_unknown.s => menu_specialized.s} (100%) rename include/{menu_unknown.h => menu_specialized.h} (94%) rename src/{menu_unknown.c => menu_specialized.c} (99%) diff --git a/asm/menu_unknown.s b/asm/menu_specialized.s similarity index 100% rename from asm/menu_unknown.s rename to asm/menu_specialized.s diff --git a/data/menu_unknown.s b/data/menu_specialized.s similarity index 100% rename from data/menu_unknown.s rename to data/menu_specialized.s diff --git a/include/menu_unknown.h b/include/menu_specialized.h similarity index 94% rename from include/menu_unknown.h rename to include/menu_specialized.h index 2eefb5971d..3012ac90a4 100644 --- a/include/menu_unknown.h +++ b/include/menu_specialized.h @@ -1,5 +1,5 @@ -#ifndef GUARD_MENU_UNKNOWN_H -#define GUARD_MENU_UNKNOWN_H +#ifndef GUARD_MENU_SPECIALIZED_H +#define GUARD_MENU_SPECIALIZED_H #include "player_pc.h" #include "list_menu.h" @@ -48,4 +48,4 @@ void MoveRelearnerCreateYesNoMenu(void); u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices); void InitMoveRelearnerWindows(bool8 useContextWindow); -#endif // GUARD_MENU_UNKNOWN_H \ No newline at end of file +#endif // GUARD_MENU_SPECIALIZED_H \ No newline at end of file diff --git a/ld_script.txt b/ld_script.txt index 4c12291fe9..25ab0de58e 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -291,8 +291,8 @@ SECTIONS { src/pokenav.o(.text); asm/pokenav.o(.text); src/pokenav_match_call.o(.text); - src/menu_unknown.o(.text); - asm/menu_unknown.o(.text); + src/menu_specialized.o(.text); + asm/menu_specialized.o(.text); asm/rom_81D1C44.o(.text); src/trainer_hill.o(.text); src/rayquaza_scene.o(.text); @@ -596,8 +596,8 @@ SECTIONS { src/pokenav.o(.rodata); data/pokenav.o(.rodata); src/pokenav_match_call.o(.rodata); - src/menu_unknown.o(.rodata); - data/menu_unknown.o(.rodata); + src/menu_specialized.o(.rodata); + data/menu_specialized.o(.rodata); data/rom_81D1C44.o(.rodata); src/trainer_hill.o(.rodata); src/rayquaza_scene.o(.rodata); diff --git a/src/menu_unknown.c b/src/menu_specialized.c similarity index 99% rename from src/menu_unknown.c rename to src/menu_specialized.c index 21e19caccf..d9b2270f45 100644 --- a/src/menu_unknown.c +++ b/src/menu_specialized.c @@ -6,7 +6,7 @@ #include "menu.h" #include "international_string_util.h" #include "menu.h" -#include "menu_unknown.h" +#include "menu_specialized.h" #include "move_relearner.h" #include "palette.h" #include "player_pc.h" diff --git a/src/move_relearner.c b/src/move_relearner.c index 7d5b518992..e148b9ace0 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -12,7 +12,7 @@ #include "alloc.h" #include "menu.h" #include "menu_helpers.h" -#include "menu_unknown.h" +#include "menu_specialized.h" #include "overworld.h" #include "palette.h" #include "pokemon_summary_screen.h" diff --git a/src/party_menu.c b/src/party_menu.c index 7e47cbf808..71609bf9ee 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -37,7 +37,7 @@ #include "main.h" #include "menu.h" #include "menu_helpers.h" -#include "menu_unknown.h" +#include "menu_specialized.h" #include "metatile_behavior.h" #include "overworld.h" #include "palette.h" diff --git a/src/player_pc.c b/src/player_pc.c index f167062cb4..38f556b28a 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -28,7 +28,7 @@ #include "strings.h" #include "task.h" #include "window.h" -#include "menu_unknown.h" +#include "menu_specialized.h" // structures struct Struct203BCC4 diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index 75e8da3f87..b06d0cba96 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -4,7 +4,7 @@ #include "alloc.h" #include "palette.h" #include "pokenav.h" -#include "menu_unknown.h" +#include "menu_specialized.h" #include "scanline_effect.h" #include "text.h" #include "bg.h" diff --git a/sym_ewram.txt b/sym_ewram.txt index f6db45f6d9..215560111c 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -237,7 +237,7 @@ gUnknown_0203CF40: @ 203CF40 gUnknown_0203CF44: @ 203CF44 .space 0x4 - .include "src/menu_unknown.o" + .include "src/menu_specialized.o" gUnknown_0203CF50: @ 203CF50 .space 0x4 From eaddf396b2b19e342a03585f0527906aa7dcecd5 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Fri, 8 Mar 2019 02:35:19 -0500 Subject: [PATCH 29/47] I was dumb and forgot to add merge fixes --- src/menu_specialized.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/menu_specialized.c b/src/menu_specialized.c index d9b2270f45..bf5d2ec564 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -246,7 +246,7 @@ u8 sub_81D1C84(u8 a0) void sub_81D1D04(u8 a0) { - sub_8198070(sUnknown_0203CF48[a0], 0); + ClearStdWindowAndFrameToTransparent(sUnknown_0203CF48[a0], 0); ClearWindowTilemap(sUnknown_0203CF48[a0]); RemoveWindow(sUnknown_0203CF48[a0]); sUnknown_0203CF48[a0] = 0xFF; @@ -1587,17 +1587,17 @@ void InitMoveRelearnerWindows(bool8 useContextWindow) if (!useContextWindow) { PutWindowTilemap(0); - SetWindowBorderStyle(0, 0, 0x1, 0xE); + DrawStdFrameWithCustomTileAndPalette(0, 0, 0x1, 0xE); } else { PutWindowTilemap(1); - SetWindowBorderStyle(1, 0, 1, 0xE); + DrawStdFrameWithCustomTileAndPalette(1, 0, 1, 0xE); } PutWindowTilemap(2); PutWindowTilemap(3); - SetWindowBorderStyle(2, 0, 1, 0xE); - SetWindowBorderStyle(3, 0, 1, 0xE); + DrawStdFrameWithCustomTileAndPalette(2, 0, 1, 0xE); + DrawStdFrameWithCustomTileAndPalette(3, 0, 1, 0xE); nullsub_79(); schedule_bg_copy_tilemap_to_vram(1); } From 146c194b0c638693270d6e4eac490e33a9dbb8fd Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Fri, 8 Mar 2019 03:12:08 -0500 Subject: [PATCH 30/47] Actually change the variable name this time --- src/pokemon_summary_screen.c | 662 +++++++++++++++++------------------ 1 file changed, 331 insertions(+), 331 deletions(-) diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 01cafb100e..3bbc832a07 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -160,7 +160,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData bool8 unk40EF; s16 switchCounter; // Used for various switch statement cases that decompress/load graphics or pokemon data u8 unk_filler4[6]; -} *sMonSummaryScreenData = NULL; +} *sMonSummaryScreen = NULL; EWRAM_DATA u8 gLastViewedMonIndex = 0; static EWRAM_DATA u8 sUnknown_0203CF21 = 0; ALIGNED(4) static EWRAM_DATA u8 sUnknownTaskId = 0; @@ -1047,38 +1047,38 @@ static const u16 sSummaryMarkingsPalette[] = INCBIN_U16("graphics/interface/summ // code void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) { - sMonSummaryScreenData = AllocZeroed(sizeof(*sMonSummaryScreenData)); - sMonSummaryScreenData->mode = mode; - sMonSummaryScreenData->monList.mons = mons; - sMonSummaryScreenData->curMonIndex = monIndex; - sMonSummaryScreenData->maxMonIndex = maxMonIndex; - sMonSummaryScreenData->callback = callback; + sMonSummaryScreen = AllocZeroed(sizeof(*sMonSummaryScreen)); + sMonSummaryScreen->mode = mode; + sMonSummaryScreen->monList.mons = mons; + sMonSummaryScreen->curMonIndex = monIndex; + sMonSummaryScreen->maxMonIndex = maxMonIndex; + sMonSummaryScreen->callback = callback; if (mode == PSS_MODE_BOX) - sMonSummaryScreenData->isBoxMon = TRUE; + sMonSummaryScreen->isBoxMon = TRUE; else - sMonSummaryScreenData->isBoxMon = FALSE; + sMonSummaryScreen->isBoxMon = FALSE; switch (mode) { case PSS_MODE_NORMAL: case PSS_MODE_BOX: - sMonSummaryScreenData->minPageIndex = 0; - sMonSummaryScreenData->maxPageIndex = 3; + sMonSummaryScreen->minPageIndex = 0; + sMonSummaryScreen->maxPageIndex = 3; break; case PSS_MODE_UNK1: - sMonSummaryScreenData->minPageIndex = 0; - sMonSummaryScreenData->maxPageIndex = 3; - sMonSummaryScreenData->unk40C8 = TRUE; + sMonSummaryScreen->minPageIndex = 0; + sMonSummaryScreen->maxPageIndex = 3; + sMonSummaryScreen->unk40C8 = TRUE; break; case PSS_MODE_SELECT_MOVE: - sMonSummaryScreenData->minPageIndex = 2; - sMonSummaryScreenData->maxPageIndex = 3; - sMonSummaryScreenData->lockMonFlag = TRUE; + sMonSummaryScreen->minPageIndex = 2; + sMonSummaryScreen->maxPageIndex = 3; + sMonSummaryScreen->lockMonFlag = TRUE; break; } - sMonSummaryScreenData->currPageIndex = sMonSummaryScreenData->minPageIndex; + sMonSummaryScreen->currPageIndex = sMonSummaryScreen->minPageIndex; SummaryScreen_SetUnknownTaskId(-1); if (gMonSpritesGfxPtr == 0) @@ -1090,13 +1090,13 @@ void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void), u16 newMove) { ShowPokemonSummaryScreen(PSS_MODE_SELECT_MOVE, mons, monIndex, maxMonIndex, callback); - sMonSummaryScreenData->newMove = newMove; + sMonSummaryScreen->newMove = newMove; } void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) { ShowPokemonSummaryScreen(mode, mons, monIndex, maxMonIndex, callback); - sMonSummaryScreenData->unk40EF = TRUE; + sMonSummaryScreen->unk40EF = TRUE; } static void SummaryScreen_MainCB2(void) @@ -1149,7 +1149,7 @@ static bool8 SummaryScreen_LoadGraphics(void) break; case 5: InitBGs(); - sMonSummaryScreenData->switchCounter = 0; + sMonSummaryScreen->switchCounter = 0; gMain.state++; break; case 6: @@ -1165,12 +1165,12 @@ static bool8 SummaryScreen_LoadGraphics(void) gMain.state++; break; case 9: - CopyMonToSummaryStruct(&sMonSummaryScreenData->currentMon); - sMonSummaryScreenData->switchCounter = 0; + CopyMonToSummaryStruct(&sMonSummaryScreen->currentMon); + sMonSummaryScreen->switchCounter = 0; gMain.state++; break; case 10: - if (ExtractMonDataToSummaryStruct(&sMonSummaryScreenData->currentMon) != 0) + if (ExtractMonDataToSummaryStruct(&sMonSummaryScreen->currentMon) != 0) gMain.state++; break; case 11: @@ -1182,7 +1182,7 @@ static bool8 SummaryScreen_LoadGraphics(void) gMain.state++; break; case 13: - PrintPageSpecificText(sMonSummaryScreenData->currPageIndex); + PrintPageSpecificText(sMonSummaryScreen->currPageIndex); gMain.state++; break; case 14: @@ -1190,29 +1190,29 @@ static bool8 SummaryScreen_LoadGraphics(void) gMain.state++; break; case 15: - CreatePageWindowTilemaps(sMonSummaryScreenData->currPageIndex); + CreatePageWindowTilemaps(sMonSummaryScreen->currPageIndex); gMain.state++; break; case 16: ResetSpriteIds(); CreateMoveTypeIcons(); - sMonSummaryScreenData->switchCounter = 0; + sMonSummaryScreen->switchCounter = 0; gMain.state++; break; case 17: - sMonSummaryScreenData->spriteIds[0] = CreatePokemonSprite(&sMonSummaryScreenData->currentMon, &sMonSummaryScreenData->switchCounter); - if (sMonSummaryScreenData->spriteIds[0] != 0xFF) + sMonSummaryScreen->spriteIds[0] = CreatePokemonSprite(&sMonSummaryScreen->currentMon, &sMonSummaryScreen->switchCounter); + if (sMonSummaryScreen->spriteIds[0] != 0xFF) { - sMonSummaryScreenData->switchCounter = 0; + sMonSummaryScreen->switchCounter = 0; gMain.state++; } break; case 18: - CreateMonMarkingsSprite(&sMonSummaryScreenData->currentMon); + CreateMonMarkingsSprite(&sMonSummaryScreen->currentMon); gMain.state++; break; case 19: - CreateCaughtBallSprite(&sMonSummaryScreenData->currentMon); + CreateCaughtBallSprite(&sMonSummaryScreen->currentMon); gMain.state++; break; case 20: @@ -1224,7 +1224,7 @@ static bool8 SummaryScreen_LoadGraphics(void) gMain.state++; break; case 22: - if (sMonSummaryScreenData->mode != PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreen->mode != PSS_MODE_SELECT_MOVE) CreateTask(HandleInput, 0); else CreateTask(sub_81C171C, 0); @@ -1251,9 +1251,9 @@ static void InitBGs(void) { ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sUnknown_0861CBB4, ARRAY_COUNT(sUnknown_0861CBB4)); - SetBgTilemapBuffer(1, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); - SetBgTilemapBuffer(2, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_SKILLS][0]); - SetBgTilemapBuffer(3, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][0]); + SetBgTilemapBuffer(1, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); + SetBgTilemapBuffer(2, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_SKILLS][0]); + SetBgTilemapBuffer(3, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][0]); ResetAllBgsCoordinates(); schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); @@ -1268,64 +1268,64 @@ static void InitBGs(void) static bool8 SummaryScreen_DecompressGraphics(void) { - switch (sMonSummaryScreenData->switchCounter) + switch (sMonSummaryScreen->switchCounter) { case 0: reset_temp_tile_data_buffers(); decompress_and_copy_tile_data_to_vram(1, &gStatusScreenBitmap, 0, 0, 0); - sMonSummaryScreenData->switchCounter++; + sMonSummaryScreen->switchCounter++; break; case 1: if (free_temp_tile_data_buffers_if_possible() != 1) { - LZDecompressWram(gPageInfoTilemap, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][0]); - sMonSummaryScreenData->switchCounter++; + LZDecompressWram(gPageInfoTilemap, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][0]); + sMonSummaryScreen->switchCounter++; } break; case 2: - LZDecompressWram(gUnknown_08D98CC8, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][1]); - sMonSummaryScreenData->switchCounter++; + LZDecompressWram(gUnknown_08D98CC8, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][1]); + sMonSummaryScreen->switchCounter++; break; case 3: - LZDecompressWram(gPageSkillsTilemap, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_SKILLS][1]); - sMonSummaryScreenData->switchCounter++; + LZDecompressWram(gPageSkillsTilemap, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_SKILLS][1]); + sMonSummaryScreen->switchCounter++; break; case 4: - LZDecompressWram(gPageBattleMovesTilemap, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][1]); - sMonSummaryScreenData->switchCounter++; + LZDecompressWram(gPageBattleMovesTilemap, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][1]); + sMonSummaryScreen->switchCounter++; break; case 5: - LZDecompressWram(gPageContestMovesTilemap, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]); - sMonSummaryScreenData->switchCounter++; + LZDecompressWram(gPageContestMovesTilemap, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]); + sMonSummaryScreen->switchCounter++; break; case 6: LoadCompressedPalette(gStatusScreenPalette, 0, 0x100); LoadPalette(&gUnknown_08D85620, 0x81, 0x1E); - sMonSummaryScreenData->switchCounter++; + sMonSummaryScreen->switchCounter++; break; case 7: LoadCompressedSpriteSheet(&sSpriteSheet_MoveTypes); - sMonSummaryScreenData->switchCounter++; + sMonSummaryScreen->switchCounter++; break; case 8: LoadCompressedSpriteSheet(&sMoveSelectorSpriteSheet); - sMonSummaryScreenData->switchCounter++; + sMonSummaryScreen->switchCounter++; break; case 9: LoadCompressedSpriteSheet(&sStatusIconsSpriteSheet); - sMonSummaryScreenData->switchCounter++; + sMonSummaryScreen->switchCounter++; break; case 10: LoadCompressedSpritePalette(&sStatusIconsSpritePalette); - sMonSummaryScreenData->switchCounter++; + sMonSummaryScreen->switchCounter++; break; case 11: LoadCompressedSpritePalette(&gUnknown_0861D07C); - sMonSummaryScreenData->switchCounter++; + sMonSummaryScreen->switchCounter++; break; case 12: LoadCompressedPalette(gMoveTypes_Pal, 0x1D0, 0x60); - sMonSummaryScreenData->switchCounter = 0; + sMonSummaryScreen->switchCounter = 0; return TRUE; } return FALSE; @@ -1333,24 +1333,24 @@ static bool8 SummaryScreen_DecompressGraphics(void) static void CopyMonToSummaryStruct(struct Pokemon *mon) { - if (!sMonSummaryScreenData->isBoxMon) + if (!sMonSummaryScreen->isBoxMon) { - struct Pokemon *partyMon = sMonSummaryScreenData->monList.mons; - *mon = partyMon[sMonSummaryScreenData->curMonIndex]; + struct Pokemon *partyMon = sMonSummaryScreen->monList.mons; + *mon = partyMon[sMonSummaryScreen->curMonIndex]; } else { - struct BoxPokemon *boxMon = sMonSummaryScreenData->monList.boxMons; - BoxMonToMon(&boxMon[sMonSummaryScreenData->curMonIndex], mon); + struct BoxPokemon *boxMon = sMonSummaryScreen->monList.boxMons; + BoxMonToMon(&boxMon[sMonSummaryScreen->curMonIndex], mon); } } static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *mon) { u32 i; - struct PokeSummary *sum = &sMonSummaryScreenData->summary; + struct PokeSummary *sum = &sMonSummaryScreen->summary; // Spread the data extraction over multiple frames. - switch (sMonSummaryScreenData->switchCounter) + switch (sMonSummaryScreen->switchCounter) { case 0: sum->species = GetMonData(mon, MON_DATA_SPECIES); @@ -1377,7 +1377,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *mon) sum->ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES); break; case 2: - if (sMonSummaryScreenData->monList.mons == gPlayerParty || sMonSummaryScreenData->mode == PSS_MODE_BOX || sMonSummaryScreenData->unk40EF == TRUE) + if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == PSS_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE) { sum->nature = GetNature(mon); sum->currentHP = GetMonData(mon, MON_DATA_HP); @@ -1415,45 +1415,45 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *mon) sum->ribbonCount = GetMonData(mon, MON_DATA_RIBBON_COUNT); return TRUE; } - sMonSummaryScreenData->switchCounter++; + sMonSummaryScreen->switchCounter++; return FALSE; } static void sub_81C0348(void) { - if (sMonSummaryScreenData->currPageIndex != PSS_PAGE_BATTLE_MOVES && sMonSummaryScreenData->currPageIndex != PSS_PAGE_CONTEST_MOVES) + if (sMonSummaryScreen->currPageIndex != PSS_PAGE_BATTLE_MOVES && sMonSummaryScreen->currPageIndex != PSS_PAGE_CONTEST_MOVES) { sub_81C1DA4(0, 255); sub_81C1EFC(0, 255, 0); } else { - DrawContestMoveHearts(sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]); - sub_81C2194(sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); - sub_81C2194(sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); - SetBgTilemapBuffer(1, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0]); - SetBgTilemapBuffer(2, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); + DrawContestMoveHearts(sMonSummaryScreen->summary.moves[sMonSummaryScreen->firstMoveIndex]); + sub_81C2194(sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); + sub_81C2194(sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); + SetBgTilemapBuffer(1, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0]); + SetBgTilemapBuffer(2, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); ChangeBgX(2, 0x10000, 1); ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); } - if (sMonSummaryScreenData->summary.ailment == AILMENT_NONE) + if (sMonSummaryScreen->summary.ailment == AILMENT_NONE) { sub_81C2074(0, 0xFF); } else { - if (sMonSummaryScreenData->currPageIndex != PSS_PAGE_BATTLE_MOVES && sMonSummaryScreenData->currPageIndex != PSS_PAGE_CONTEST_MOVES) + if (sMonSummaryScreen->currPageIndex != PSS_PAGE_BATTLE_MOVES && sMonSummaryScreen->currPageIndex != PSS_PAGE_CONTEST_MOVES) PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); } LimitEggSummaryPageDisplay(); - DrawPokerusCuredSymbol(&sMonSummaryScreenData->currentMon); + DrawPokerusCuredSymbol(&sMonSummaryScreen->currentMon); } static void sub_81C0434(void) { FreeAllWindowBuffers(); - Free(sMonSummaryScreenData); + Free(sMonSummaryScreen); } static void BeginCloseSummaryScreen(u8 taskId) @@ -1466,8 +1466,8 @@ static void CloseSummaryScreen(u8 taskId) { if (sub_81221EC() != TRUE && !gPaletteFade.active) { - SetMainCallback2(sMonSummaryScreenData->callback); - gLastViewedMonIndex = sMonSummaryScreenData->curMonIndex; + SetMainCallback2(sMonSummaryScreen->callback); + gLastViewedMonIndex = sMonSummaryScreen->curMonIndex; SummaryScreen_DestroyUnknownTask(); ResetSpriteData(); FreeAllSpritePalettes(); @@ -1502,9 +1502,9 @@ static void HandleInput(u8 taskId) } else if (gMain.newKeys & A_BUTTON) { - if (sMonSummaryScreenData->currPageIndex != PSS_PAGE_SKILLS) + if (sMonSummaryScreen->currPageIndex != PSS_PAGE_SKILLS) { - if (sMonSummaryScreenData->currPageIndex == PSS_PAGE_INFO) + if (sMonSummaryScreen->currPageIndex == PSS_PAGE_INFO) { StopPokemonAnimations(); PlaySE(SE_SELECT); @@ -1531,12 +1531,12 @@ static void ChangeSummaryPokemon(u8 taskId, s8 delta) s8 v1; s8 v2; - if (!sMonSummaryScreenData->lockMonFlag) + if (!sMonSummaryScreen->lockMonFlag) { - if (sMonSummaryScreenData->isBoxMon == TRUE) + if (sMonSummaryScreen->isBoxMon == TRUE) { - if (sMonSummaryScreenData->currPageIndex != PSS_PAGE_INFO) + if (sMonSummaryScreen->currPageIndex != PSS_PAGE_INFO) { if (delta == 1) delta = 0; @@ -1550,7 +1550,7 @@ static void ChangeSummaryPokemon(u8 taskId, s8 delta) else delta = 3; } - v1 = sub_80D214C(sMonSummaryScreenData->monList.boxMons, sMonSummaryScreenData->curMonIndex, sMonSummaryScreenData->maxMonIndex, delta); + v1 = sub_80D214C(sMonSummaryScreen->monList.boxMons, sMonSummaryScreen->curMonIndex, sMonSummaryScreen->maxMonIndex, delta); } else if (IsMultiBattle() == TRUE) { @@ -1564,14 +1564,14 @@ static void ChangeSummaryPokemon(u8 taskId, s8 delta) if (v1 != -1) { PlaySE(SE_SELECT); - if (sMonSummaryScreenData->summary.ailment != AILMENT_NONE) + if (sMonSummaryScreen->summary.ailment != AILMENT_NONE) { SetSpriteInvisibility(2, 1); ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); schedule_bg_copy_tilemap_to_vram(0); sub_81C2074(0, 2); } - sMonSummaryScreenData->curMonIndex = v1; + sMonSummaryScreen->curMonIndex = v1; gTasks[taskId].data[0] = 0; gTasks[taskId].func = sub_81C0704; } @@ -1589,36 +1589,36 @@ static void sub_81C0704(u8 taskId) break; case 1: SummaryScreen_DestroyUnknownTask(); - DestroySpriteAndFreeResources(&gSprites[sMonSummaryScreenData->spriteIds[0]]); + DestroySpriteAndFreeResources(&gSprites[sMonSummaryScreen->spriteIds[0]]); break; case 2: - DestroySpriteAndFreeResources(&gSprites[sMonSummaryScreenData->spriteIds[1]]); + DestroySpriteAndFreeResources(&gSprites[sMonSummaryScreen->spriteIds[1]]); break; case 3: - CopyMonToSummaryStruct(&sMonSummaryScreenData->currentMon); - sMonSummaryScreenData->switchCounter = 0; + CopyMonToSummaryStruct(&sMonSummaryScreen->currentMon); + sMonSummaryScreen->switchCounter = 0; break; case 4: - if (ExtractMonDataToSummaryStruct(&sMonSummaryScreenData->currentMon) == FALSE) + if (ExtractMonDataToSummaryStruct(&sMonSummaryScreen->currentMon) == FALSE) return; break; case 5: - RemoveAndCreateMonMarkingsSprite(&sMonSummaryScreenData->currentMon); + RemoveAndCreateMonMarkingsSprite(&sMonSummaryScreen->currentMon); break; case 6: - CreateCaughtBallSprite(&sMonSummaryScreenData->currentMon); + CreateCaughtBallSprite(&sMonSummaryScreen->currentMon); break; case 7: - if (sMonSummaryScreenData->summary.ailment != AILMENT_NONE) + if (sMonSummaryScreen->summary.ailment != AILMENT_NONE) sub_81C2074(10, -2); - DrawPokerusCuredSymbol(&sMonSummaryScreenData->currentMon); + DrawPokerusCuredSymbol(&sMonSummaryScreen->currentMon); data[1] = 0; break; case 8: - sMonSummaryScreenData->spriteIds[0] = CreatePokemonSprite(&sMonSummaryScreenData->currentMon, &data[1]); - if (sMonSummaryScreenData->spriteIds[0] == 0xFF) + sMonSummaryScreen->spriteIds[0] = CreatePokemonSprite(&sMonSummaryScreen->currentMon, &data[1]); + if (sMonSummaryScreen->spriteIds[0] == 0xFF) return; - gSprites[sMonSummaryScreenData->spriteIds[0]].data[2] = 1; + gSprites[sMonSummaryScreen->spriteIds[0]].data[2] = 1; CheckExperienceProgressBar(); data[1] = 0; break; @@ -1629,11 +1629,11 @@ static void sub_81C0704(u8 taskId) sub_81C25E8(); break; case 11: - PrintPageSpecificText(sMonSummaryScreenData->currPageIndex); + PrintPageSpecificText(sMonSummaryScreen->currPageIndex); LimitEggSummaryPageDisplay(); break; case 12: - gSprites[sMonSummaryScreenData->spriteIds[0]].data[2] = 0; + gSprites[sMonSummaryScreen->spriteIds[0]].data[2] = 0; break; default: if (sub_81221EC() == 0 && FuncIsActiveTask(sub_81C20F0) == 0) @@ -1648,25 +1648,25 @@ static void sub_81C0704(u8 taskId) static s8 sub_81C08F8(s8 a) { - struct Pokemon *mon = sMonSummaryScreenData->monList.mons; + struct Pokemon *mon = sMonSummaryScreen->monList.mons; - if (sMonSummaryScreenData->currPageIndex == PSS_PAGE_INFO) + if (sMonSummaryScreen->currPageIndex == PSS_PAGE_INFO) { - if (a == -1 && sMonSummaryScreenData->curMonIndex == 0) + if (a == -1 && sMonSummaryScreen->curMonIndex == 0) return -1; - else if (a == 1 && sMonSummaryScreenData->curMonIndex >= sMonSummaryScreenData->maxMonIndex) + else if (a == 1 && sMonSummaryScreen->curMonIndex >= sMonSummaryScreen->maxMonIndex) return -1; else - return sMonSummaryScreenData->curMonIndex + a; + return sMonSummaryScreen->curMonIndex + a; } else { - s8 index = sMonSummaryScreenData->curMonIndex; + s8 index = sMonSummaryScreen->curMonIndex; do { index += a; - if (index < 0 || index > sMonSummaryScreenData->maxMonIndex) + if (index < 0 || index > sMonSummaryScreen->maxMonIndex) return -1; } while (GetMonData(&mon[index], MON_DATA_IS_EGG) != 0); return index; @@ -1675,13 +1675,13 @@ static s8 sub_81C08F8(s8 a) static s8 sub_81C09B4(s8 a) { - struct Pokemon *mon = sMonSummaryScreenData->monList.mons; + struct Pokemon *mon = sMonSummaryScreen->monList.mons; s8 r5 = 0; u8 i; for (i = 0; i < 6; i++) { - if (gUnknown_0861CC1C[i] == sMonSummaryScreenData->curMonIndex) + if (gUnknown_0861CC1C[i] == sMonSummaryScreen->curMonIndex) { r5 = i; break; @@ -1706,7 +1706,7 @@ static bool8 sub_81C0A50(struct Pokemon* mon) { if (GetMonData(mon, MON_DATA_SPECIES) == SPECIES_NONE) return FALSE; - else if (sMonSummaryScreenData->curMonIndex != 0 || GetMonData(mon, MON_DATA_IS_EGG) == 0) + else if (sMonSummaryScreen->curMonIndex != 0 || GetMonData(mon, MON_DATA_IS_EGG) == 0) return TRUE; else return FALSE; @@ -1714,25 +1714,25 @@ static bool8 sub_81C0A50(struct Pokemon* mon) static void ChangePage(u8 taskId, s8 delta) { - struct PokeSummary *summary = &sMonSummaryScreenData->summary; + struct PokeSummary *summary = &sMonSummaryScreen->summary; s16 *data = gTasks[taskId].data; if (summary->isEgg) return; - else if (delta == -1&& sMonSummaryScreenData->currPageIndex == sMonSummaryScreenData->minPageIndex) + else if (delta == -1 && sMonSummaryScreen->currPageIndex == sMonSummaryScreen->minPageIndex) return; - else if (delta == 1 && sMonSummaryScreenData->currPageIndex == sMonSummaryScreenData->maxPageIndex) + else if (delta == 1 && sMonSummaryScreen->currPageIndex == sMonSummaryScreen->maxPageIndex) return; PlaySE(SE_SELECT); - ClearPageWindowTilemaps(sMonSummaryScreenData->currPageIndex); - sMonSummaryScreenData->currPageIndex += delta; + ClearPageWindowTilemaps(sMonSummaryScreen->currPageIndex); + sMonSummaryScreen->currPageIndex += delta; data[0] = 0; if (delta == 1) SetTaskFuncWithFollowupFunc(taskId, PssScrollRight, gTasks[taskId].func); else SetTaskFuncWithFollowupFunc(taskId, PssScrollLeft, gTasks[taskId].func); - CreateTextPrinterTask(sMonSummaryScreenData->currPageIndex); + CreateTextPrinterTask(sMonSummaryScreen->currPageIndex); HidePageSpecificSprites(); } @@ -1741,7 +1741,7 @@ static void PssScrollRight(u8 taskId) // Scroll right s16 *data = gTasks[taskId].data; if (data[0] == 0) { - if (sMonSummaryScreenData->bgDisplayOrder == 0) + if (sMonSummaryScreen->bgDisplayOrder == 0) { data[1] = 1; SetBgAttribute(1, BG_ATTR_PRIORITY, 1); @@ -1756,7 +1756,7 @@ static void PssScrollRight(u8 taskId) // Scroll right schedule_bg_copy_tilemap_to_vram(2); } ChangeBgX(data[1], 0, 0); - SetBgTilemapBuffer(data[1], sMonSummaryScreenData->bgTilemapBuffers[sMonSummaryScreenData->currPageIndex][0]); + SetBgTilemapBuffer(data[1], sMonSummaryScreen->bgTilemapBuffers[sMonSummaryScreen->currPageIndex][0]); ShowBg(1); ShowBg(2); } @@ -1769,11 +1769,11 @@ static void PssScrollRight(u8 taskId) // Scroll right static void PssScrollRightEnd(u8 taskId) // display right { s16 *data = gTasks[taskId].data; - sMonSummaryScreenData->bgDisplayOrder ^= 1; + sMonSummaryScreen->bgDisplayOrder ^= 1; data[1] = 0; data[0] = 0; DrawPagination(); - CreatePageWindowTilemaps(sMonSummaryScreenData->currPageIndex); + CreatePageWindowTilemaps(sMonSummaryScreen->currPageIndex); SetTypeIcons(); CheckExperienceProgressBar(); SwitchTaskToFollowupFunc(taskId); @@ -1784,7 +1784,7 @@ static void PssScrollLeft(u8 taskId) // Scroll left s16 *data = gTasks[taskId].data; if (data[0] == 0) { - if (sMonSummaryScreenData->bgDisplayOrder == 0) + if (sMonSummaryScreen->bgDisplayOrder == 0) data[1] = 2; else data[1] = 1; @@ -1799,7 +1799,7 @@ static void PssScrollLeft(u8 taskId) // Scroll left static void PssScrollLeftEnd(u8 taskId) // display left { s16 *data = gTasks[taskId].data; - if (sMonSummaryScreenData->bgDisplayOrder == 0) + if (sMonSummaryScreen->bgDisplayOrder == 0) { SetBgAttribute(1, BG_ATTR_PRIORITY, 1); SetBgAttribute(2, BG_ATTR_PRIORITY, 2); @@ -1811,18 +1811,18 @@ static void PssScrollLeftEnd(u8 taskId) // display left SetBgAttribute(1, BG_ATTR_PRIORITY, 2); schedule_bg_copy_tilemap_to_vram(1); } - if (sMonSummaryScreenData->currPageIndex > 1) + if (sMonSummaryScreen->currPageIndex > 1) { - SetBgTilemapBuffer(data[1], (u8*)sMonSummaryScreenData + ((sMonSummaryScreenData->currPageIndex << 12) + 0xFFFFF0BC)); + SetBgTilemapBuffer(data[1], (u8*)sMonSummaryScreen + ((sMonSummaryScreen->currPageIndex << 12) + 0xFFFFF0BC)); ChangeBgX(data[1], 0x10000, 0); } ShowBg(1); ShowBg(2); - sMonSummaryScreenData->bgDisplayOrder ^= 1; + sMonSummaryScreen->bgDisplayOrder ^= 1; data[1] = 0; data[0] = 0; DrawPagination(); - CreatePageWindowTilemaps(sMonSummaryScreenData->currPageIndex); + CreatePageWindowTilemaps(sMonSummaryScreen->currPageIndex); SetTypeIcons(); CheckExperienceProgressBar(); SwitchTaskToFollowupFunc(taskId); @@ -1830,27 +1830,27 @@ static void PssScrollLeftEnd(u8 taskId) // display left static void CheckExperienceProgressBar(void) { - if (sMonSummaryScreenData->currPageIndex == 1) - DrawExperienceProgressBar(&sMonSummaryScreenData->currentMon); + if (sMonSummaryScreen->currPageIndex == 1) + DrawExperienceProgressBar(&sMonSummaryScreen->currentMon); } static void sub_81C0E48(u8 taskId) { u16 move; - sMonSummaryScreenData->firstMoveIndex = 0; - move = sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]; + sMonSummaryScreen->firstMoveIndex = 0; + move = sMonSummaryScreen->summary.moves[sMonSummaryScreen->firstMoveIndex]; ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); - if (gSprites[sMonSummaryScreenData->spriteIds[2]].invisible == 0) + if (gSprites[sMonSummaryScreen->spriteIds[2]].invisible == 0) ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); sub_81C1DA4(9, -3); sub_81C1EFC(9, -3, move); - if (!sMonSummaryScreenData->unk40C8) + if (!sMonSummaryScreen->unk40C8) { ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_SWITCH); } - sub_81C2194(sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); - sub_81C2194(sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); + sub_81C2194(sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); + sub_81C2194(sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); PrintMoveDetails(move); PrintNewMoveDetailsOrCancelText(); SetNewMoveTypeIcon(); @@ -1871,17 +1871,17 @@ static void HandleInput_MoveSelect(u8 taskId) if (gMain.newKeys & DPAD_UP) { data[0] = 4; - sub_81C1070(data, -1, &sMonSummaryScreenData->firstMoveIndex); + sub_81C1070(data, -1, &sMonSummaryScreen->firstMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 4; - sub_81C1070(data, 1, &sMonSummaryScreenData->firstMoveIndex); + sub_81C1070(data, 1, &sMonSummaryScreen->firstMoveIndex); } else if (gMain.newKeys & A_BUTTON) { - if (sMonSummaryScreenData->unk40C8 == TRUE - || (sMonSummaryScreenData->newMove == MOVE_NONE && sMonSummaryScreenData->firstMoveIndex == MAX_MON_MOVES)) + if (sMonSummaryScreen->unk40C8 == TRUE + || (sMonSummaryScreen->newMove == MOVE_NONE && sMonSummaryScreen->firstMoveIndex == MAX_MON_MOVES)) { PlaySE(SE_SELECT); sub_81C11F4(taskId); @@ -1909,7 +1909,7 @@ static bool8 sub_81C1040(void) u8 i; for (i = 1; i < MAX_MON_MOVES; i++) { - if (sMonSummaryScreenData->summary.moves[i] != 0) + if (sMonSummaryScreen->summary.moves[i] != 0) return TRUE; } return FALSE; @@ -1932,10 +1932,10 @@ static void sub_81C1070(s16 *a, s8 b, u8 *c) moveIndex = a[0]; if (moveIndex == MAX_MON_MOVES) { - move = sMonSummaryScreenData->newMove; + move = sMonSummaryScreen->newMove; break; } - move = sMonSummaryScreenData->summary.moves[moveIndex]; + move = sMonSummaryScreen->summary.moves[moveIndex]; if (move != 0) break; } @@ -1943,16 +1943,16 @@ static void sub_81C1070(s16 *a, s8 b, u8 *c) schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); PrintMoveDetails(move); - if ((*c == 4 && sMonSummaryScreenData->newMove == MOVE_NONE) || a[1] == 1) + if ((*c == 4 && sMonSummaryScreen->newMove == MOVE_NONE) || a[1] == 1) { ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); - if (!gSprites[sMonSummaryScreenData->spriteIds[2]].invisible) + if (!gSprites[sMonSummaryScreen->spriteIds[2]].invisible) ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(9, -3); sub_81C1EFC(9, -3, move); } - if (*c != 4 && moveIndex == 4 && sMonSummaryScreenData->newMove == MOVE_NONE) + if (*c != 4 && moveIndex == 4 && sMonSummaryScreen->newMove == MOVE_NONE) { ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC); ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); @@ -1961,7 +1961,7 @@ static void sub_81C1070(s16 *a, s8 b, u8 *c) sub_81C1EFC(0, 3, 0); } *c = moveIndex; - if (c == &sMonSummaryScreenData->firstMoveIndex) + if (c == &sMonSummaryScreen->firstMoveIndex) sub_81C4D18(8); else sub_81C4D18(18); @@ -1973,10 +1973,10 @@ static void sub_81C11F4(u8 taskId) ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_SWITCH); PutWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); PrintMoveDetails(0); - sub_81C2194(sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 1); - sub_81C2194(sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 1); + sub_81C2194(sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 1); + sub_81C2194(sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 1); sub_81C4064(); - if (sMonSummaryScreenData->firstMoveIndex != MAX_MON_MOVES) + if (sMonSummaryScreen->firstMoveIndex != MAX_MON_MOVES) { ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC); ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); @@ -1991,7 +1991,7 @@ static void sub_81C11F4(u8 taskId) static void sub_81C129C(u8 taskId) { - sMonSummaryScreenData->secondMoveIndex = sMonSummaryScreenData->firstMoveIndex; + sMonSummaryScreen->secondMoveIndex = sMonSummaryScreen->firstMoveIndex; sub_81C4C84(1); sub_81C4AF8(18); gTasks[taskId].func = sub_81C12E4; @@ -2006,16 +2006,16 @@ static void sub_81C12E4(u8 taskId) if (gMain.newKeys & DPAD_UP) { data[0] = 3; - sub_81C1070(&data[0], -1, &sMonSummaryScreenData->secondMoveIndex); + sub_81C1070(&data[0], -1, &sMonSummaryScreen->secondMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 3; - sub_81C1070(&data[0], 1, &sMonSummaryScreenData->secondMoveIndex); + sub_81C1070(&data[0], 1, &sMonSummaryScreen->secondMoveIndex); } else if (gMain.newKeys & A_BUTTON) { - if (sMonSummaryScreenData->firstMoveIndex == sMonSummaryScreenData->secondMoveIndex) + if (sMonSummaryScreen->firstMoveIndex == sMonSummaryScreen->secondMoveIndex) { sub_81C13B0(taskId, 0); } @@ -2041,23 +2041,23 @@ static void sub_81C13B0(u8 taskId, bool8 b) if (b == TRUE) { - if (!sMonSummaryScreenData->isBoxMon) + if (!sMonSummaryScreen->isBoxMon) { - struct Pokemon *why = sMonSummaryScreenData->monList.mons; - SwapMonMoves(&why[sMonSummaryScreenData->curMonIndex], sMonSummaryScreenData->firstMoveIndex, sMonSummaryScreenData->secondMoveIndex); + struct Pokemon *why = sMonSummaryScreen->monList.mons; + SwapMonMoves(&why[sMonSummaryScreen->curMonIndex], sMonSummaryScreen->firstMoveIndex, sMonSummaryScreen->secondMoveIndex); } else { - struct BoxPokemon *why = sMonSummaryScreenData->monList.boxMons; - SwapBoxMonMoves(&why[sMonSummaryScreenData->curMonIndex], sMonSummaryScreenData->firstMoveIndex, sMonSummaryScreenData->secondMoveIndex); + struct BoxPokemon *why = sMonSummaryScreen->monList.boxMons; + SwapBoxMonMoves(&why[sMonSummaryScreen->curMonIndex], sMonSummaryScreen->firstMoveIndex, sMonSummaryScreen->secondMoveIndex); } - CopyMonToSummaryStruct(&sMonSummaryScreenData->currentMon); - sub_81C40A0(sMonSummaryScreenData->firstMoveIndex, sMonSummaryScreenData->secondMoveIndex); - sub_81C4568(sMonSummaryScreenData->firstMoveIndex, sMonSummaryScreenData->secondMoveIndex); - sMonSummaryScreenData->firstMoveIndex = sMonSummaryScreenData->secondMoveIndex; + CopyMonToSummaryStruct(&sMonSummaryScreen->currentMon); + sub_81C40A0(sMonSummaryScreen->firstMoveIndex, sMonSummaryScreen->secondMoveIndex); + sub_81C4568(sMonSummaryScreen->firstMoveIndex, sMonSummaryScreen->secondMoveIndex); + sMonSummaryScreen->firstMoveIndex = sMonSummaryScreen->secondMoveIndex; } - move = sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]; + move = sMonSummaryScreen->summary.moves[sMonSummaryScreen->firstMoveIndex]; PrintMoveDetails(move); DrawContestMoveHearts(move); schedule_bg_copy_tilemap_to_vram(1); @@ -2067,7 +2067,7 @@ static void sub_81C13B0(u8 taskId, bool8 b) static void SwapMonMoves(struct Pokemon *mon, u8 moveIndex1, u8 moveIndex2) { - struct PokeSummary* summary = &sMonSummaryScreenData->summary; + struct PokeSummary* summary = &sMonSummaryScreen->summary; u16 move1 = summary->moves[moveIndex1]; u16 move2 = summary->moves[moveIndex2]; @@ -2102,7 +2102,7 @@ static void SwapMonMoves(struct Pokemon *mon, u8 moveIndex1, u8 moveIndex2) static void SwapBoxMonMoves(struct BoxPokemon *mon, u8 moveIndex1, u8 moveIndex2) { - struct PokeSummary* summary = &sMonSummaryScreenData->summary; + struct PokeSummary* summary = &sMonSummaryScreen->summary; u16 move1 = summary->moves[moveIndex1]; u16 move2 = summary->moves[moveIndex2]; @@ -2153,12 +2153,12 @@ static void HandleReplaceMoveInput(u8 taskId) if (gMain.newKeys & DPAD_UP) { data[0] = 4; - sub_81C1070(data, -1, &sMonSummaryScreenData->firstMoveIndex); + sub_81C1070(data, -1, &sMonSummaryScreen->firstMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 4; - sub_81C1070(data, 1, &sMonSummaryScreenData->firstMoveIndex); + sub_81C1070(data, 1, &sMonSummaryScreen->firstMoveIndex); } else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) { @@ -2174,7 +2174,7 @@ static void HandleReplaceMoveInput(u8 taskId) { StopPokemonAnimations(); PlaySE(SE_SELECT); - sUnknown_0203CF21 = sMonSummaryScreenData->firstMoveIndex; + sUnknown_0203CF21 = sMonSummaryScreen->firstMoveIndex; gSpecialVar_0x8005 = sUnknown_0203CF21; BeginCloseSummaryScreen(taskId); } @@ -2199,7 +2199,7 @@ static void HandleReplaceMoveInput(u8 taskId) static bool8 CanReplaceMove(void) { - if (sMonSummaryScreenData->firstMoveIndex == MAX_MON_MOVES || sMonSummaryScreenData->newMove == MOVE_NONE || IsMoveHm(sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]) != 1) + if (sMonSummaryScreen->firstMoveIndex == MAX_MON_MOVES || sMonSummaryScreen->newMove == MOVE_NONE || IsMoveHm(sMonSummaryScreen->summary.moves[sMonSummaryScreen->firstMoveIndex]) != 1) return TRUE; else return FALSE; @@ -2227,7 +2227,7 @@ static void HandleHMMovesCantBeForgottenInput(u8 taskId) { data[1] = 1; data[0] = 4; - sub_81C1070(&data[0], -1, &sMonSummaryScreenData->firstMoveIndex); + sub_81C1070(&data[0], -1, &sMonSummaryScreen->firstMoveIndex); data[1] = 0; gTasks[taskId].func = HandleReplaceMoveInput; } @@ -2235,18 +2235,18 @@ static void HandleHMMovesCantBeForgottenInput(u8 taskId) { data[1] = 1; data[0] = 4; - sub_81C1070(&data[0], 1, &sMonSummaryScreenData->firstMoveIndex); + sub_81C1070(&data[0], 1, &sMonSummaryScreen->firstMoveIndex); data[1] = 0; gTasks[taskId].func = HandleReplaceMoveInput; } else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) { - if (sMonSummaryScreenData->currPageIndex != 2) + if (sMonSummaryScreen->currPageIndex != 2) { ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); - if (!gSprites[sMonSummaryScreenData->spriteIds[2]].invisible) + if (!gSprites[sMonSummaryScreen->spriteIds[2]].invisible) ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); - move = sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]; + move = sMonSummaryScreen->summary.moves[sMonSummaryScreen->firstMoveIndex]; gTasks[taskId].func = HandleReplaceMoveInput; ChangePage(taskId, -1); sub_81C1DA4(9, -2); @@ -2255,12 +2255,12 @@ static void HandleHMMovesCantBeForgottenInput(u8 taskId) } else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) { - if (sMonSummaryScreenData->currPageIndex != 3) + if (sMonSummaryScreen->currPageIndex != 3) { ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); - if (!gSprites[sMonSummaryScreenData->spriteIds[2]].invisible) + if (!gSprites[sMonSummaryScreen->spriteIds[2]].invisible) ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); - move = sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]; + move = sMonSummaryScreen->summary.moves[sMonSummaryScreen->firstMoveIndex]; gTasks[taskId].func = HandleReplaceMoveInput; ChangePage(taskId, 1); sub_81C1DA4(9, -2); @@ -2270,9 +2270,9 @@ static void HandleHMMovesCantBeForgottenInput(u8 taskId) else if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); - if (!gSprites[sMonSummaryScreenData->spriteIds[2]].invisible) + if (!gSprites[sMonSummaryScreen->spriteIds[2]].invisible) ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); - move = sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]; + move = sMonSummaryScreen->summary.moves[sMonSummaryScreen->firstMoveIndex]; PrintMoveDetails(move); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(9, -3); @@ -2296,30 +2296,30 @@ static void DrawPagination(void) // Updates the pagination dots at the top of th { u8 j = i * 2; - if (i < sMonSummaryScreenData->minPageIndex) + if (i < sMonSummaryScreen->minPageIndex) { alloced[j + 0] = 0x40; alloced[j + 1] = 0x40; alloced[j + 8] = 0x50; alloced[j + 9] = 0x50; } - else if (i > sMonSummaryScreenData->maxPageIndex) + else if (i > sMonSummaryScreen->maxPageIndex) { alloced[j + 0] = 0x4A; alloced[j + 1] = 0x4A; alloced[j + 8] = 0x5A; alloced[j + 9] = 0x5A; } - else if (i < sMonSummaryScreenData->currPageIndex) + else if (i < sMonSummaryScreen->currPageIndex) { alloced[j + 0] = 0x46; alloced[j + 1] = 0x47; alloced[j + 8] = 0x56; alloced[j + 9] = 0x57; } - else if (i == sMonSummaryScreenData->currPageIndex) + else if (i == sMonSummaryScreen->currPageIndex) { - if (i != sMonSummaryScreenData->maxPageIndex) + if (i != sMonSummaryScreen->maxPageIndex) { alloced[j + 0] = 0x41; alloced[j + 1] = 0x42; @@ -2334,7 +2334,7 @@ static void DrawPagination(void) // Updates the pagination dots at the top of th alloced[j + 9] = 0x5C; } } - else if (i != sMonSummaryScreenData->maxPageIndex) + else if (i != sMonSummaryScreen->maxPageIndex) { alloced[j + 0] = 0x43; alloced[j + 1] = 0x44; @@ -2389,7 +2389,7 @@ static void sub_81C1DA4(u16 a, s16 b) b = sUnknown_0861CC04.field_6; if (b == 0 || b == sUnknown_0861CC04.field_6) { - sub_81C1CB0(&sUnknown_0861CC04, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], b, 1); + sub_81C1CB0(&sUnknown_0861CC04, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], b, 1); } else { @@ -2415,17 +2415,17 @@ static void sub_81C1E20(u8 taskId) { data[1] = sUnknown_0861CC04.field_6; } - sub_81C1CB0(&sUnknown_0861CC04, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], data[1], 1); + sub_81C1CB0(&sUnknown_0861CC04, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], data[1], 1); if (data[1] <= 0 || data[1] >= sUnknown_0861CC04.field_6) { if (data[0] < 0) { - if (sMonSummaryScreenData->currPageIndex == 2) + if (sMonSummaryScreen->currPageIndex == 2) PutWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC); } else { - if (!gSprites[sMonSummaryScreenData->spriteIds[2]].invisible) + if (!gSprites[sMonSummaryScreen->spriteIds[2]].invisible) PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); } @@ -2441,7 +2441,7 @@ static void sub_81C1EFC(u16 a, s16 b, u16 move) if (b > sUnknown_0861CC10.field_6) b = sUnknown_0861CC10.field_6; if (b == 0 || b == sUnknown_0861CC10.field_6) - sub_81C1CB0(&sUnknown_0861CC10, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], b, 1); + sub_81C1CB0(&sUnknown_0861CC10, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], b, 1); else { u8 taskId = FindTaskIdByFunc(sub_81C1F80); @@ -2465,18 +2465,18 @@ static void sub_81C1F80(u8 taskId) { data[1] = sUnknown_0861CC10.field_6; } - sub_81C1CB0(&sUnknown_0861CC10, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], data[1], 1); + sub_81C1CB0(&sUnknown_0861CC10, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], data[1], 1); if (data[1] <= 0 || data[1] >= sUnknown_0861CC10.field_6) { if (data[0] < 0) { - if (sMonSummaryScreenData->currPageIndex == 3 && FuncIsActiveTask(PssScrollRight) == 0) + if (sMonSummaryScreen->currPageIndex == 3 && FuncIsActiveTask(PssScrollRight) == 0) PutWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); DrawContestMoveHearts(data[2]); } else { - if (!gSprites[sMonSummaryScreenData->spriteIds[2]].invisible) + if (!gSprites[sMonSummaryScreen->spriteIds[2]].invisible) { PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); } @@ -2495,8 +2495,8 @@ static void sub_81C2074(u16 a, s16 b) b = sUnknown_0861CBEC.field_6; if (b == 0 || b == sUnknown_0861CBEC.field_6) { - sub_81C1CB0(&sUnknown_0861CBEC, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); - sub_81C1CB0(&sUnknown_0861CBF8, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); + sub_81C1CB0(&sUnknown_0861CBEC, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); + sub_81C1CB0(&sUnknown_0861CBF8, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); } else { @@ -2514,8 +2514,8 @@ static void sub_81C20F0(u8 taskId) data[1] = 0; else if (data[1] > sUnknown_0861CBEC.field_6) data[1] = sUnknown_0861CBEC.field_6; - sub_81C1CB0(&sUnknown_0861CBEC, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); - sub_81C1CB0(&sUnknown_0861CBF8, sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); + sub_81C1CB0(&sUnknown_0861CBEC, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); + sub_81C1CB0(&sUnknown_0861CBF8, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); schedule_bg_copy_tilemap_to_vram(3); if (data[1] <= 0 || data[1] >= sUnknown_0861CBEC.field_6) { @@ -2561,13 +2561,13 @@ static void DrawPokerusCuredSymbol(struct Pokemon *mon) // This checks if the mo { if (!CheckPartyPokerus(mon, 0) && CheckPartyHasHadPokerus(mon, 0)) // If yes it draws the cured symbol { - sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x2C; - sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x2C; + sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x2C; + sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x2C; } else { - sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x81A; - sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x81A; + sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x81A; + sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x81A; } schedule_bg_copy_tilemap_to_vram(3); } @@ -2584,7 +2584,7 @@ static void sub_81C228C(bool8 isMonShiny) static void DrawExperienceProgressBar(struct Pokemon *unused) { s64 numExpProgressBarTicks; - struct PokeSummary *summary = &sMonSummaryScreenData->summary; + struct PokeSummary *summary = &sMonSummaryScreen->summary; u16 *r9; u8 i; @@ -2605,7 +2605,7 @@ static void DrawExperienceProgressBar(struct Pokemon *unused) numExpProgressBarTicks = 0; } - r9 = &sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_SKILLS][1][0x255]; + r9 = &sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_SKILLS][1][0x255]; for (i = 0; i < 8; i++) { if (numExpProgressBarTicks > 7) @@ -2617,7 +2617,7 @@ static void DrawExperienceProgressBar(struct Pokemon *unused) numExpProgressBarTicks = 0; } - if (GetBgTilemapBuffer(1) == sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_SKILLS][0]) + if (GetBgTilemapBuffer(1) == sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_SKILLS][0]) schedule_bg_copy_tilemap_to_vram(1); else schedule_bg_copy_tilemap_to_vram(2); @@ -2625,7 +2625,7 @@ static void DrawExperienceProgressBar(struct Pokemon *unused) static void DrawContestMoveHearts(u16 move) { - u16 *tilemap = sMonSummaryScreenData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]; + u16 *tilemap = sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]; u8 i; u8 effectValue; @@ -2669,7 +2669,7 @@ static void DrawContestMoveHearts(u16 move) static void LimitEggSummaryPageDisplay(void) // If the pokemon is an egg, limit the number of pages displayed to 1 { - if (sMonSummaryScreenData->summary.isEgg) + if (sMonSummaryScreen->summary.isEgg) ChangeBgX(3, 0x10000, 0); else ChangeBgX(3, 0, 0); @@ -2685,9 +2685,9 @@ static void ResetWindows(void) { FillWindowPixelBuffer(i, PIXEL_FILL(0)); } - for (i = 0; i < ARRAY_COUNT(sMonSummaryScreenData->windowIds); i++) + for (i = 0; i < ARRAY_COUNT(sMonSummaryScreen->windowIds); i++) { - sMonSummaryScreenData->windowIds[i] = 0xFF; + sMonSummaryScreen->windowIds[i] = 0xFF; } } @@ -2701,7 +2701,7 @@ static void sub_81C25E8(void) FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER, PIXEL_FILL(0)); FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME, PIXEL_FILL(0)); FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, PIXEL_FILL(0)); - if (!sMonSummaryScreenData->summary.isEgg) + if (!sMonSummaryScreen->summary.isEgg) sub_81C2628(); else sub_81C2794(); @@ -2711,8 +2711,8 @@ static void sub_81C25E8(void) static void sub_81C2628(void) { u8 strArray[16]; - struct Pokemon *mon = &sMonSummaryScreenData->currentMon; - struct PokeSummary *summary = &sMonSummaryScreenData->summary; + struct Pokemon *mon = &sMonSummaryScreen->currentMon; + struct PokeSummary *summary = &sMonSummaryScreen->summary; u16 dexNum = SpeciesToPokedexNum(summary->species); if (dexNum != 0xFFFF) { @@ -2755,7 +2755,7 @@ static void sub_81C2628(void) static void sub_81C2794(void) { - GetMonNickname(&sMonSummaryScreenData->currentMon, gStringVar1); + GetMonNickname(&sMonSummaryScreen->currentMon, gStringVar1); SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME, gStringVar1, 0, 1, 0, 1); PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME); ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER); @@ -2866,9 +2866,9 @@ static void CreatePageWindowTilemaps(u8 page) break; case PSS_PAGE_BATTLE_MOVES: PutWindowTilemap(PSS_LABEL_WINDOW_BATTLE_MOVES_TITLE); - if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE) { - if (sMonSummaryScreenData->newMove != MOVE_NONE || sMonSummaryScreenData->firstMoveIndex != MAX_MON_MOVES) + if (sMonSummaryScreen->newMove != MOVE_NONE || sMonSummaryScreen->firstMoveIndex != MAX_MON_MOVES) PutWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC); } else @@ -2878,9 +2878,9 @@ static void CreatePageWindowTilemaps(u8 page) break; case PSS_PAGE_CONTEST_MOVES: PutWindowTilemap(PSS_LABEL_WINDOW_CONTEST_MOVES_TITLE); - if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE) { - if (sMonSummaryScreenData->newMove != MOVE_NONE || sMonSummaryScreenData->firstMoveIndex != MAX_MON_MOVES) + if (sMonSummaryScreen->newMove != MOVE_NONE || sMonSummaryScreen->firstMoveIndex != MAX_MON_MOVES) PutWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); } else @@ -2890,9 +2890,9 @@ static void CreatePageWindowTilemaps(u8 page) break; } - for (i = 0; i < ARRAY_COUNT(sMonSummaryScreenData->windowIds); i++) + for (i = 0; i < ARRAY_COUNT(sMonSummaryScreen->windowIds); i++) { - PutWindowTilemap(sMonSummaryScreenData->windowIds[i]); + PutWindowTilemap(sMonSummaryScreen->windowIds[i]); } schedule_bg_copy_tilemap_to_vram(0); @@ -2915,9 +2915,9 @@ static void ClearPageWindowTilemaps(u8 page) ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_EXP); break; case PSS_PAGE_BATTLE_MOVES: - if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE) { - if (sMonSummaryScreenData->newMove != MOVE_NONE || sMonSummaryScreenData->firstMoveIndex != MAX_MON_MOVES) + if (sMonSummaryScreen->newMove != MOVE_NONE || sMonSummaryScreen->firstMoveIndex != MAX_MON_MOVES) ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC); } else @@ -2926,9 +2926,9 @@ static void ClearPageWindowTilemaps(u8 page) } break; case PSS_PAGE_CONTEST_MOVES: - if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE) { - if (sMonSummaryScreenData->newMove != MOVE_NONE || sMonSummaryScreenData->firstMoveIndex != MAX_MON_MOVES) + if (sMonSummaryScreen->newMove != MOVE_NONE || sMonSummaryScreen->firstMoveIndex != MAX_MON_MOVES) ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); } else @@ -2938,7 +2938,7 @@ static void ClearPageWindowTilemaps(u8 page) break; } - for (i = 0; i < ARRAY_COUNT(sMonSummaryScreenData->windowIds); i++) + for (i = 0; i < ARRAY_COUNT(sMonSummaryScreen->windowIds); i++) { SummaryScreen_RemoveWindowByIndex(i); } @@ -2948,7 +2948,7 @@ static void ClearPageWindowTilemaps(u8 page) static u8 AddWindowFromTemplateList(const struct WindowTemplate *template, u8 templateId) { - u8 *windowIdPtr = &(sMonSummaryScreenData->windowIds[templateId]); + u8 *windowIdPtr = &(sMonSummaryScreen->windowIds[templateId]); if (*windowIdPtr == 0xFF) { *windowIdPtr = AddWindow(&template[templateId]); @@ -2959,7 +2959,7 @@ static u8 AddWindowFromTemplateList(const struct WindowTemplate *template, u8 te static void SummaryScreen_RemoveWindowByIndex(u8 windowIndex) { - u8 *windowIdPtr = &(sMonSummaryScreenData->windowIds[windowIndex]); + u8 *windowIdPtr = &(sMonSummaryScreen->windowIds[windowIndex]); if (*windowIdPtr != 0xFF) { ClearWindowTilemap(*windowIdPtr); @@ -2971,10 +2971,10 @@ static void SummaryScreen_RemoveWindowByIndex(u8 windowIndex) static void PrintPageSpecificText(u8 pageIndex) { u16 i; - for (i = 0; i < ARRAY_COUNT(sMonSummaryScreenData->windowIds); i++) + for (i = 0; i < ARRAY_COUNT(sMonSummaryScreen->windowIds); i++) { - if (sMonSummaryScreenData->windowIds[i] != 0xFF) - FillWindowPixelBuffer(sMonSummaryScreenData->windowIds[i], PIXEL_FILL(0)); + if (sMonSummaryScreen->windowIds[i] != 0xFF) + FillWindowPixelBuffer(sMonSummaryScreen->windowIds[i], PIXEL_FILL(0)); } sTextPrinterFunctions[pageIndex](); } @@ -2986,7 +2986,7 @@ static void CreateTextPrinterTask(u8 pageIndex) static void PrintInfoPageText(void) { - if (sMonSummaryScreenData->summary.isEgg) + if (sMonSummaryScreen->summary.isEgg) { PrintEggOTName(); PrintEggOTID(); @@ -3043,10 +3043,10 @@ static void PrintMonOTName(void) windowId = AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ORIGINAL_TRAINER); SummaryScreen_PrintTextOnWindow(windowId, gText_OTSlash, 0, 1, 0, 1); x = GetStringWidth(1, gText_OTSlash, 0); - if (sMonSummaryScreenData->summary.OTGender == 0) - SummaryScreen_PrintTextOnWindow(windowId, sMonSummaryScreenData->summary.OTName, x, 1, 0, 5); + if (sMonSummaryScreen->summary.OTGender == 0) + SummaryScreen_PrintTextOnWindow(windowId, sMonSummaryScreen->summary.OTName, x, 1, 0, 5); else - SummaryScreen_PrintTextOnWindow(windowId, sMonSummaryScreenData->summary.OTName, x, 1, 0, 6); + SummaryScreen_PrintTextOnWindow(windowId, sMonSummaryScreen->summary.OTName, x, 1, 0, 6); } } @@ -3055,7 +3055,7 @@ static void PrintMonOTID(void) int xPos; if (InBattleFactory() != TRUE && InSlateportBattleTent() != TRUE) { - ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_UnkCtrlF907F908), (u16)sMonSummaryScreenData->summary.OTID, 2, 5); + ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_UnkCtrlF907F908), (u16)sMonSummaryScreen->summary.OTID, 2, 5); xPos = GetStringRightAlignXOffset(1, gStringVar1, 56); SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ID), gStringVar1, xPos, 1, 0, 1); } @@ -3063,19 +3063,19 @@ static void PrintMonOTID(void) static void PrintMonAbilityName(void) { - u8 ability = GetAbilityBySpecies(sMonSummaryScreenData->summary.species, sMonSummaryScreenData->summary.altAbility); + u8 ability = GetAbilityBySpecies(sMonSummaryScreen->summary.species, sMonSummaryScreen->summary.altAbility); SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ABILITY), gAbilityNames[ability], 0, 1, 0, 1); } static void PrintMonAbilityDescription(void) { - u8 ability = GetAbilityBySpecies(sMonSummaryScreenData->summary.species, sMonSummaryScreenData->summary.altAbility); + u8 ability = GetAbilityBySpecies(sMonSummaryScreen->summary.species, sMonSummaryScreen->summary.altAbility); SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ABILITY), gAbilityDescriptionPointers[ability], 0, 17, 0, 0); } static void BufferMonTrainerMemo(void) { - struct PokeSummary *sum = &sMonSummaryScreenData->summary; + struct PokeSummary *sum = &sMonSummaryScreen->summary; const u8 *text; DynamicPlaceholderTextUtil_Reset(); @@ -3132,14 +3132,14 @@ static void PrintMonTrainerMemo(void) static void BufferNatureString(void) { - struct PokemonSummaryScreenData *sumStruct = sMonSummaryScreenData; + struct PokemonSummaryScreenData *sumStruct = sMonSummaryScreen; DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gNatureNamePointers[sumStruct->summary.nature]); DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, gText_EmptyString5); } static void GetMetLevelString(u8 *output) { - u8 level = sMonSummaryScreenData->summary.metLevel; + u8 level = sMonSummaryScreen->summary.metLevel; if (level == 0) level = EGG_HATCH_LEVEL; ConvertIntToDecimalStringN(output, level, 0, 3); @@ -3148,11 +3148,11 @@ static void GetMetLevelString(u8 *output) static bool8 DoesMonOTMatchOwner(void) { - struct PokeSummary *sum = &sMonSummaryScreenData->summary; + struct PokeSummary *sum = &sMonSummaryScreen->summary; u32 trainerId; u8 gender; - if (sMonSummaryScreenData->monList.mons == gEnemyParty) + if (sMonSummaryScreen->monList.mons == gEnemyParty) { u8 multiID = GetMultiplayerId() ^ 1; trainerId = (u16)gLinkPlayers[multiID].trainerId; @@ -3174,7 +3174,7 @@ static bool8 DoesMonOTMatchOwner(void) static bool8 DidMonComeFromGBAGames(void) { - struct PokeSummary *sum = &sMonSummaryScreenData->summary; + struct PokeSummary *sum = &sMonSummaryScreen->summary; if (sum->metGame > 0 && sum->metGame <= VERSION_LEAF_GREEN) return TRUE; return FALSE; @@ -3182,7 +3182,7 @@ static bool8 DidMonComeFromGBAGames(void) bool8 DidMonComeFromRSE(void) { - struct PokeSummary *sum = &sMonSummaryScreenData->summary; + struct PokeSummary *sum = &sMonSummaryScreen->summary; if (sum->metGame > 0 && sum->metGame <= VERSION_EMERALD) return TRUE; return FALSE; @@ -3192,7 +3192,7 @@ static bool8 IsInGamePartnerMon(void) { if ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) && gMain.inBattle) { - if (sMonSummaryScreenData->curMonIndex == 1 || sMonSummaryScreenData->curMonIndex == 4 || sMonSummaryScreenData->curMonIndex == 5) + if (sMonSummaryScreen->curMonIndex == 1 || sMonSummaryScreen->curMonIndex == 4 || sMonSummaryScreen->curMonIndex == 5) return TRUE; } return FALSE; @@ -3218,9 +3218,9 @@ static void PrintEggOTID(void) static void PrintEggState(void) { const u8 *text; - struct PokeSummary *sum = &sMonSummaryScreenData->summary; + struct PokeSummary *sum = &sMonSummaryScreen->summary; - if (sMonSummaryScreenData->summary.sanity == TRUE) + if (sMonSummaryScreen->summary.sanity == TRUE) text = gText_EggWillTakeALongTime; else if (sum->friendship <= 5) text = gText_EggAboutToHatch; @@ -3237,9 +3237,9 @@ static void PrintEggState(void) static void PrintEggMemo(void) { const u8 *text; - struct PokeSummary *sum = &sMonSummaryScreenData->summary; + struct PokeSummary *sum = &sMonSummaryScreen->summary; - if (sMonSummaryScreenData->summary.sanity != 1) + if (sMonSummaryScreen->summary.sanity != 1) { if (sum->metLocation == METLOC_FATEFUL_ENCOUNTER) text = gText_PeculiarEggNicePlace; @@ -3308,17 +3308,17 @@ static void PrintHeldItemName(void) const u8 *text; int offset; - if (sMonSummaryScreenData->summary.item == ITEM_ENIGMA_BERRY && IsMultiBattle() == TRUE && (sMonSummaryScreenData->curMonIndex == 1 || sMonSummaryScreenData->curMonIndex == 4 || sMonSummaryScreenData->curMonIndex == 5)) + if (sMonSummaryScreen->summary.item == ITEM_ENIGMA_BERRY && IsMultiBattle() == TRUE && (sMonSummaryScreen->curMonIndex == 1 || sMonSummaryScreen->curMonIndex == 4 || sMonSummaryScreen->curMonIndex == 5)) { text = ItemId_GetName(ITEM_ENIGMA_BERRY); } - else if (sMonSummaryScreenData->summary.item == ITEM_NONE) + else if (sMonSummaryScreen->summary.item == ITEM_NONE) { text = gText_None; } else { - CopyItemName(sMonSummaryScreenData->summary.item, gStringVar1); + CopyItemName(sMonSummaryScreen->summary.item, gStringVar1); text = gStringVar1; } @@ -3331,13 +3331,13 @@ static void PrintRibbonCount(void) const u8 *text; int offset; - if (sMonSummaryScreenData->summary.ribbonCount == 0) + if (sMonSummaryScreen->summary.ribbonCount == 0) { text = gText_None; } else { - ConvertIntToDecimalStringN(gStringVar1, sMonSummaryScreenData->summary.ribbonCount, 1, 2); + ConvertIntToDecimalStringN(gStringVar1, sMonSummaryScreen->summary.ribbonCount, 1, 2); StringExpandPlaceholders(gStringVar4, gText_RibbonsVar1); text = gStringVar4; } @@ -3353,10 +3353,10 @@ static void BufferLeftColumnStats(void) u8 *attackString = Alloc(8); u8 *defenseString = Alloc(8); - ConvertIntToDecimalStringN(currentHPString, sMonSummaryScreenData->summary.currentHP, 1, 3); - ConvertIntToDecimalStringN(maxHPString, sMonSummaryScreenData->summary.maxHP, 1, 3); - ConvertIntToDecimalStringN(attackString, sMonSummaryScreenData->summary.atk, 1, 7); - ConvertIntToDecimalStringN(defenseString, sMonSummaryScreenData->summary.def, 1, 7); + ConvertIntToDecimalStringN(currentHPString, sMonSummaryScreen->summary.currentHP, 1, 3); + ConvertIntToDecimalStringN(maxHPString, sMonSummaryScreen->summary.maxHP, 1, 3); + ConvertIntToDecimalStringN(attackString, sMonSummaryScreen->summary.atk, 1, 7); + ConvertIntToDecimalStringN(defenseString, sMonSummaryScreen->summary.def, 1, 7); DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, currentHPString); @@ -3378,9 +3378,9 @@ static void PrintLeftColumnStats(void) static void BufferRightColumnStats(void) { - ConvertIntToDecimalStringN(gStringVar1, sMonSummaryScreenData->summary.spatk, 1, 3); - ConvertIntToDecimalStringN(gStringVar2, sMonSummaryScreenData->summary.spdef, 1, 3); - ConvertIntToDecimalStringN(gStringVar3, sMonSummaryScreenData->summary.speed, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, sMonSummaryScreen->summary.spatk, 1, 3); + ConvertIntToDecimalStringN(gStringVar2, sMonSummaryScreen->summary.spdef, 1, 3); + ConvertIntToDecimalStringN(gStringVar3, sMonSummaryScreen->summary.speed, 1, 3); DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); @@ -3396,7 +3396,7 @@ static void PrintRightColumnStats(void) static void PrintExpPointsNextLevel(void) { - struct PokeSummary *sum = &sMonSummaryScreenData->summary; + struct PokeSummary *sum = &sMonSummaryScreen->summary; u8 windowId = AddWindowFromTemplateList(sPageSkillsTemplate, PSS_DATA_WINDOW_EXP); int offset; u32 expToNextLevel; @@ -3422,17 +3422,17 @@ static void PrintBattleMoves(void) PrintMoveNameAndPP(2); PrintMoveNameAndPP(3); - if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE) { PrintNewMoveDetailsOrCancelText(); - if (sMonSummaryScreenData->firstMoveIndex == MAX_MON_MOVES) + if (sMonSummaryScreen->firstMoveIndex == MAX_MON_MOVES) { - if (sMonSummaryScreenData->newMove != MOVE_NONE) - PrintMoveDetails(sMonSummaryScreenData->newMove); + if (sMonSummaryScreen->newMove != MOVE_NONE) + PrintMoveDetails(sMonSummaryScreen->newMove); } else { - PrintMoveDetails(sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]); + PrintMoveDetails(sMonSummaryScreen->summary.moves[sMonSummaryScreen->firstMoveIndex]); } } } @@ -3456,22 +3456,22 @@ static void Task_PrintBattleMoves(u8 taskId) PrintMoveNameAndPP(3); break; case 5: - if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE) PrintNewMoveDetailsOrCancelText(); break; case 6: - if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE) { - if (sMonSummaryScreenData->firstMoveIndex == MAX_MON_MOVES) - data[1] = sMonSummaryScreenData->newMove; + if (sMonSummaryScreen->firstMoveIndex == MAX_MON_MOVES) + data[1] = sMonSummaryScreen->newMove; else - data[1] = sMonSummaryScreenData->summary.moves[sMonSummaryScreenData->firstMoveIndex]; + data[1] = sMonSummaryScreen->summary.moves[sMonSummaryScreen->firstMoveIndex]; } break; case 7: - if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE) { - if (sMonSummaryScreenData->newMove != MOVE_NONE || sMonSummaryScreenData->firstMoveIndex != MAX_MON_MOVES) + if (sMonSummaryScreen->newMove != MOVE_NONE || sMonSummaryScreen->firstMoveIndex != MAX_MON_MOVES) PrintMoveDetails(data[1]); } break; @@ -3488,7 +3488,7 @@ static void PrintMoveNameAndPP(u8 moveIndex) u32 ppState; const u8 *text; u32 offset; - struct PokemonSummaryScreenData *summaryStruct = sMonSummaryScreenData; + struct PokemonSummaryScreenData *summaryStruct = sMonSummaryScreen; u8 moveNameWindowId = AddWindowFromTemplateList(sPageMovesTemplate, PSS_DATA_WINDOW_MOVE_NAMES); u8 ppValueWindowId = AddWindowFromTemplateList(sPageMovesTemplate, PSS_DATA_WINDOW_MOVE_PP); u16 move = summaryStruct->summary.moves[moveIndex]; @@ -3558,10 +3558,10 @@ static void PrintContestMoves(void) PrintMoveNameAndPP(2); PrintMoveNameAndPP(3); - if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE) { PrintNewMoveDetailsOrCancelText(); - PrintContestMoveDescription(sMonSummaryScreenData->firstMoveIndex); + PrintContestMoveDescription(sMonSummaryScreen->firstMoveIndex); } } @@ -3585,14 +3585,14 @@ static void Task_PrintContestMoves(u8 taskId) PrintMoveNameAndPP(3); break; case 4: - if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE) PrintNewMoveDetailsOrCancelText(); break; case 5: - if (sMonSummaryScreenData->mode == PSS_MODE_SELECT_MOVE) + if (sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE) { - if (sMonSummaryScreenData->newMove != MOVE_NONE || sMonSummaryScreenData->firstMoveIndex != MAX_MON_MOVES) - PrintContestMoveDescription(sMonSummaryScreenData->firstMoveIndex); + if (sMonSummaryScreen->newMove != MOVE_NONE || sMonSummaryScreen->firstMoveIndex != MAX_MON_MOVES) + PrintContestMoveDescription(sMonSummaryScreen->firstMoveIndex); } break; case 6: @@ -3607,9 +3607,9 @@ static void PrintContestMoveDescription(u8 moveSlot) u16 move; if (moveSlot == MAX_MON_MOVES) - move = sMonSummaryScreenData->newMove; + move = sMonSummaryScreen->newMove; else - move = sMonSummaryScreenData->summary.moves[moveSlot]; + move = sMonSummaryScreen->summary.moves[moveSlot]; if (move != MOVE_NONE) { @@ -3624,7 +3624,7 @@ static void PrintMoveDetails(u16 move) FillWindowPixelBuffer(windowId, PIXEL_FILL(0)); if (move != MOVE_NONE) { - if (sMonSummaryScreenData->currPageIndex == PSS_MODE_BOX) + if (sMonSummaryScreen->currPageIndex == PSS_MODE_BOX) { PrintMovePowerAndAccuracy(move); SummaryScreen_PrintTextOnWindow(windowId, gMoveDescriptionPointers[move - 1], 6, 1, 0, 0); @@ -3648,15 +3648,15 @@ static void PrintNewMoveDetailsOrCancelText(void) u8 windowId1 = AddWindowFromTemplateList(sPageMovesTemplate, PSS_DATA_WINDOW_MOVE_NAMES); u8 windowId2 = AddWindowFromTemplateList(sPageMovesTemplate, PSS_DATA_WINDOW_MOVE_PP); - if (sMonSummaryScreenData->newMove == MOVE_NONE) + if (sMonSummaryScreen->newMove == MOVE_NONE) { SummaryScreen_PrintTextOnWindow(windowId1, gText_Cancel, 0, 65, 0, 1); } else { - u16 move = sMonSummaryScreenData->newMove; + u16 move = sMonSummaryScreen->newMove; - if (sMonSummaryScreenData->currPageIndex == 2) + if (sMonSummaryScreen->currPageIndex == 2) SummaryScreen_PrintTextOnWindow(windowId1, gMoveNames[move], 0, 65, 0, 6); else SummaryScreen_PrintTextOnWindow(windowId1, gMoveNames[move], 0, 65, 0, 5); @@ -3703,24 +3703,24 @@ static void ResetSpriteIds(void) { u8 i; - for (i = 0; i < ARRAY_COUNT(sMonSummaryScreenData->spriteIds); i++) + for (i = 0; i < ARRAY_COUNT(sMonSummaryScreen->spriteIds); i++) { - sMonSummaryScreenData->spriteIds[i] = 0xFF; + sMonSummaryScreen->spriteIds[i] = 0xFF; } } static void DestroySpriteInArray(u8 spriteArrayId) { - if (sMonSummaryScreenData->spriteIds[spriteArrayId] != 0xFF) + if (sMonSummaryScreen->spriteIds[spriteArrayId] != 0xFF) { - DestroySprite(&gSprites[sMonSummaryScreenData->spriteIds[spriteArrayId]]); - sMonSummaryScreenData->spriteIds[spriteArrayId] = 0xFF; + DestroySprite(&gSprites[sMonSummaryScreen->spriteIds[spriteArrayId]]); + sMonSummaryScreen->spriteIds[spriteArrayId] = 0xFF; } } static void SetSpriteInvisibility(u8 spriteArrayId, bool8 invisible) { - gSprites[sMonSummaryScreenData->spriteIds[spriteArrayId]].invisible = invisible; + gSprites[sMonSummaryScreen->spriteIds[spriteArrayId]].invisible = invisible; } static void HidePageSpecificSprites(void) @@ -3728,16 +3728,16 @@ static void HidePageSpecificSprites(void) // Keeps Pokémon, caught ball and status sprites visible. u8 i; - for (i = 3; i < ARRAY_COUNT(sMonSummaryScreenData->spriteIds); i++) + for (i = 3; i < ARRAY_COUNT(sMonSummaryScreen->spriteIds); i++) { - if (sMonSummaryScreenData->spriteIds[i] != 0xFF) + if (sMonSummaryScreen->spriteIds[i] != 0xFF) SetSpriteInvisibility(i, TRUE); } } static void SetTypeIcons(void) { - switch (sMonSummaryScreenData->currPageIndex) + switch (sMonSummaryScreen->currPageIndex) { case PSS_PAGE_INFO: SetMonTypeIcons(); @@ -3759,8 +3759,8 @@ static void CreateMoveTypeIcons(void) for (i = 3; i < 8; i++) { - if (sMonSummaryScreenData->spriteIds[i] == 0xFF) - sMonSummaryScreenData->spriteIds[i] = CreateSprite(&sSpriteTemplate_MoveTypes, 0, 0, 2); + if (sMonSummaryScreen->spriteIds[i] == 0xFF) + sMonSummaryScreen->spriteIds[i] = CreateSprite(&sSpriteTemplate_MoveTypes, 0, 0, 2); SetSpriteInvisibility(i, TRUE); } @@ -3768,7 +3768,7 @@ static void CreateMoveTypeIcons(void) static void SetMoveTypeSpritePosAndType(u8 typeId, u8 x, u8 y, u8 spriteArrayId) { - struct Sprite *sprite = &gSprites[sMonSummaryScreenData->spriteIds[spriteArrayId]]; + struct Sprite *sprite = &gSprites[sMonSummaryScreen->spriteIds[spriteArrayId]]; StartSpriteAnim(sprite, typeId); sprite->oam.paletteNum = sMoveTypeToOamPaletteNum[typeId]; sprite->pos1.x = x + 16; @@ -3778,7 +3778,7 @@ static void SetMoveTypeSpritePosAndType(u8 typeId, u8 x, u8 y, u8 spriteArrayId) static void SetMonTypeIcons(void) { - struct PokeSummary *summary = &sMonSummaryScreenData->summary; + struct PokeSummary *summary = &sMonSummaryScreen->summary; if (summary->isEgg) { SetMoveTypeSpritePosAndType(TYPE_MYSTERY, 120, 48, 3); @@ -3802,7 +3802,7 @@ static void SetMonTypeIcons(void) static void SetMoveTypeIcons(void) { u8 i; - struct PokeSummary *summary = &sMonSummaryScreenData->summary; + struct PokeSummary *summary = &sMonSummaryScreen->summary; for (i = 0; i < MAX_MON_MOVES; i++) { if (summary->moves[i] != MOVE_NONE) @@ -3815,7 +3815,7 @@ static void SetMoveTypeIcons(void) static void SetContestMoveTypeIcons(void) { u8 i; - struct PokeSummary *summary = &sMonSummaryScreenData->summary; + struct PokeSummary *summary = &sMonSummaryScreen->summary; for (i = 0; i < MAX_MON_MOVES; i++) { if (summary->moves[i] != MOVE_NONE) @@ -3827,23 +3827,23 @@ static void SetContestMoveTypeIcons(void) static void SetNewMoveTypeIcon(void) { - if (sMonSummaryScreenData->newMove == MOVE_NONE) + if (sMonSummaryScreen->newMove == MOVE_NONE) { SetSpriteInvisibility(7, TRUE); } else { - if (sMonSummaryScreenData->currPageIndex == 2) - SetMoveTypeSpritePosAndType(gBattleMoves[sMonSummaryScreenData->newMove].type, 85, 96, 7); + if (sMonSummaryScreen->currPageIndex == 2) + SetMoveTypeSpritePosAndType(gBattleMoves[sMonSummaryScreen->newMove].type, 85, 96, 7); else - SetMoveTypeSpritePosAndType(NUMBER_OF_MON_TYPES + gContestMoves[sMonSummaryScreenData->newMove].contestCategory, 85, 96, 7); + SetMoveTypeSpritePosAndType(NUMBER_OF_MON_TYPES + gContestMoves[sMonSummaryScreen->newMove].contestCategory, 85, 96, 7); } } static void sub_81C4568(u8 a0, u8 a1) { - struct Sprite *sprite1 = &gSprites[sMonSummaryScreenData->spriteIds[a0 + 3]]; - struct Sprite *sprite2 = &gSprites[sMonSummaryScreenData->spriteIds[a1 + 3]]; + struct Sprite *sprite1 = &gSprites[sMonSummaryScreen->spriteIds[a0 + 3]]; + struct Sprite *sprite2 = &gSprites[sMonSummaryScreen->spriteIds[a1 + 3]]; u8 temp = sprite1->animNum; sprite1->animNum = sprite2->animNum; @@ -3862,7 +3862,7 @@ static void sub_81C4568(u8 a0, u8 a1) static u8 CreatePokemonSprite(struct Pokemon *mon, s16 *a1) { const struct CompressedSpritePalette *pal; - struct PokeSummary *summary = &sMonSummaryScreenData->summary; + struct PokeSummary *summary = &sMonSummaryScreen->summary; switch (*a1) { @@ -3871,7 +3871,7 @@ static u8 CreatePokemonSprite(struct Pokemon *mon, s16 *a1) case 0: if (gMain.inBattle) { - if (sub_80688F8(3, sMonSummaryScreenData->curMonIndex)) + if (sub_80688F8(3, sMonSummaryScreen->curMonIndex)) { HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); } @@ -3884,7 +3884,7 @@ static u8 CreatePokemonSprite(struct Pokemon *mon, s16 *a1) { if (gMonSpritesGfxPtr != NULL) { - if (sMonSummaryScreenData->monList.mons == gPlayerParty || sMonSummaryScreenData->mode == PSS_MODE_BOX || sMonSummaryScreenData->unk40EF == TRUE) + if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == PSS_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE) { HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); } @@ -3895,7 +3895,7 @@ static u8 CreatePokemonSprite(struct Pokemon *mon, s16 *a1) } else { - if (sMonSummaryScreenData->monList.mons == gPlayerParty || sMonSummaryScreenData->mode == PSS_MODE_BOX || sMonSummaryScreenData->unk40EF == TRUE) + if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == PSS_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE) { HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], sub_806F4F8(0, 1), summary->species2, summary->pid); } @@ -3918,10 +3918,10 @@ static u8 CreatePokemonSprite(struct Pokemon *mon, s16 *a1) static void PlayMonCry(void) { - struct PokeSummary *summary = &sMonSummaryScreenData->summary; + struct PokeSummary *summary = &sMonSummaryScreen->summary; if (!summary->isEgg) { - if (ShouldPlayNormalMonCry(&sMonSummaryScreenData->currentMon) == TRUE) + if (ShouldPlayNormalMonCry(&sMonSummaryScreen->currentMon) == TRUE) { PlayCry3(summary->species2, 0, 0); } @@ -3934,7 +3934,7 @@ static void PlayMonCry(void) static u8 sub_81C47B4(struct Pokemon *unused) { - struct PokeSummary *summary = &sMonSummaryScreenData->summary; + struct PokeSummary *summary = &sMonSummaryScreen->summary; u8 spriteId = CreateSprite(&gMultiuseSpriteTemplate, 40, 64, 5); struct Sprite *sprite = &gSprites[spriteId]; @@ -3959,7 +3959,7 @@ static u8 sub_81C47B4(struct Pokemon *unused) static void SpriteCB_Pokemon(struct Sprite *sprite) { - struct PokeSummary *summary = &sMonSummaryScreenData->summary; + struct PokeSummary *summary = &sMonSummaryScreen->summary; if (!gPaletteFade.active && sprite->data[2] != 1) { @@ -3985,7 +3985,7 @@ void SummaryScreen_DestroyUnknownTask(void) static bool32 SummaryScreen_DoesSpriteHaveCallback(void) { - if (gSprites[sMonSummaryScreenData->spriteIds[0]].callback == SpriteCallbackDummy) + if (gSprites[sMonSummaryScreen->spriteIds[0]].callback == SpriteCallbackDummy) { return FALSE; } @@ -4000,11 +4000,11 @@ static void StopPokemonAnimations(void) // A subtle effect, this function stops u16 i; u16 paletteIndex; - gSprites[sMonSummaryScreenData->spriteIds[0]].animPaused = TRUE; - gSprites[sMonSummaryScreenData->spriteIds[0]].callback = SpriteCallbackDummy; + gSprites[sMonSummaryScreen->spriteIds[0]].animPaused = TRUE; + gSprites[sMonSummaryScreen->spriteIds[0]].callback = SpriteCallbackDummy; StopPokemonAnimationDelayTask(); - paletteIndex = (gSprites[sMonSummaryScreenData->spriteIds[0]].oam.paletteNum * 16) | 0x100; + paletteIndex = (gSprites[sMonSummaryScreen->spriteIds[0]].oam.paletteNum * 16) | 0x100; for (i = 0; i < 16; i++) { @@ -4016,20 +4016,20 @@ static void CreateMonMarkingsSprite(struct Pokemon *mon) { struct Sprite *sprite = sub_811FF94(30003, 30003, sSummaryMarkingsPalette); - sMonSummaryScreenData->markingsSprite = sprite; + sMonSummaryScreen->markingsSprite = sprite; if (sprite != NULL) { StartSpriteAnim(sprite, GetMonData(mon, MON_DATA_MARKINGS)); - sMonSummaryScreenData->markingsSprite->pos1.x = 60; - sMonSummaryScreenData->markingsSprite->pos1.y = 26; - sMonSummaryScreenData->markingsSprite->oam.priority = 1; + sMonSummaryScreen->markingsSprite->pos1.x = 60; + sMonSummaryScreen->markingsSprite->pos1.y = 26; + sMonSummaryScreen->markingsSprite->oam.priority = 1; } } static void RemoveAndCreateMonMarkingsSprite(struct Pokemon *mon) { - DestroySprite(sMonSummaryScreenData->markingsSprite); + DestroySprite(sMonSummaryScreen->markingsSprite); FreeSpriteTilesByTag(30003); CreateMonMarkingsSprite(mon); } @@ -4039,14 +4039,14 @@ static void CreateCaughtBallSprite(struct Pokemon *mon) u8 ball = ItemIdToBallId(GetMonData(mon, MON_DATA_POKEBALL)); LoadBallGfx(ball); - sMonSummaryScreenData->spriteIds[1] = CreateSprite(&gBallSpriteTemplates[ball], 16, 136, 0); - gSprites[sMonSummaryScreenData->spriteIds[1]].callback = SpriteCallbackDummy; - gSprites[sMonSummaryScreenData->spriteIds[1]].oam.priority = 3; + sMonSummaryScreen->spriteIds[1] = CreateSprite(&gBallSpriteTemplates[ball], 16, 136, 0); + gSprites[sMonSummaryScreen->spriteIds[1]].callback = SpriteCallbackDummy; + gSprites[sMonSummaryScreen->spriteIds[1]].oam.priority = 3; } static void CreateSetStatusSprite(void) { - u8 *spriteId = &sMonSummaryScreenData->spriteIds[2]; + u8 *spriteId = &sMonSummaryScreen->spriteIds[2]; u8 anim; if (*spriteId == 0xFF) @@ -4054,7 +4054,7 @@ static void CreateSetStatusSprite(void) *spriteId = CreateSprite(&sSpriteTemplate_StatusCondition, 64, 152, 0); } - anim = GetMonAilment(&sMonSummaryScreenData->currentMon); + anim = GetMonAilment(&sMonSummaryScreen->currentMon); if (anim != 0) { @@ -4070,9 +4070,9 @@ static void CreateSetStatusSprite(void) static void sub_81C4AF8(u8 a0) { u8 i; - u8 *spriteIds = &sMonSummaryScreenData->spriteIds[a0]; + u8 *spriteIds = &sMonSummaryScreen->spriteIds[a0]; - if (sMonSummaryScreenData->currPageIndex > 1) + if (sMonSummaryScreen->currPageIndex > 1) { u8 subsprite = 0; if (a0 == 8) @@ -4124,11 +4124,11 @@ static void sub_81C4BE4(struct Sprite *sprite) if (sprite->data[0] == 8) { - sprite->pos2.y = sMonSummaryScreenData->firstMoveIndex * 16; + sprite->pos2.y = sMonSummaryScreen->firstMoveIndex * 16; } else { - sprite->pos2.y = sMonSummaryScreenData->secondMoveIndex * 16; + sprite->pos2.y = sMonSummaryScreen->secondMoveIndex * 16; } } @@ -4144,7 +4144,7 @@ static void sub_81C4C60(u8 a0) static void sub_81C4C84(u8 a0) { u8 i; - u8 *spriteIds = &sMonSummaryScreenData->spriteIds[8]; + u8 *spriteIds = &sMonSummaryScreen->spriteIds[8]; a0 *= 3; for (i = 0; i < 10; i++) @@ -4167,7 +4167,7 @@ static void sub_81C4C84(u8 a0) static void sub_81C4D18(u8 firstSpriteId) { u8 i; - u8 *spriteIds = &sMonSummaryScreenData->spriteIds[firstSpriteId]; + u8 *spriteIds = &sMonSummaryScreen->spriteIds[firstSpriteId]; for (i = 0; i < 10; i++) { From 622096a9d3b5c7c94fc3db385904d36b01890edb Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Fri, 8 Mar 2019 04:00:11 -0500 Subject: [PATCH 31/47] spaces => tabs --- sym_ewram.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sym_ewram.txt b/sym_ewram.txt index 215560111c..e4b315c925 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -180,10 +180,10 @@ gPlayerFacingPosition: @ 203AB40 .include "src/pokeblock.o" .include "src/field_specials.o" - .include "src/battle_records.o" - .include "src/pokedex_area_screen.o" - .include "src/evolution_scene.o" - .include "src/roulette.o" + .include "src/battle_records.o" + .include "src/pokedex_area_screen.o" + .include "src/evolution_scene.o" + .include "src/roulette.o" .include "src/pokedex_cry_screen.o" .include "src/coins.o" .include "src/battle_transition.o" @@ -237,7 +237,7 @@ gUnknown_0203CF40: @ 203CF40 gUnknown_0203CF44: @ 203CF44 .space 0x4 - .include "src/menu_specialized.o" + .include "src/menu_specialized.o" gUnknown_0203CF50: @ 203CF50 .space 0x4 From c3feb9871f4d05cd9874dd8fc0c2016eaa072864 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Fri, 8 Mar 2019 04:02:05 -0500 Subject: [PATCH 32/47] Use PIXEL_FILL macro --- src/menu_specialized.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/menu_specialized.c b/src/menu_specialized.c index bf5d2ec564..8371c7a70a 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -1581,7 +1581,7 @@ void InitMoveRelearnerWindows(bool8 useContextWindow) for (i = 0; i < 5; i++) { - FillWindowPixelBuffer(i, 0x11); + FillWindowPixelBuffer(i, PIXEL_FILL(1)); } if (!useContextWindow) @@ -1635,7 +1635,7 @@ static void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove) u8 buffer[0x20]; const u8 *labelStr; - FillWindowPixelBuffer(0, 0x11); + FillWindowPixelBuffer(0, PIXEL_FILL(1)); labelStr = gText_MoveRelearnerBattleMoves; offset = GetStringCenterAlignXOffset(1, labelStr, 0x80); AddTextPrinterParameterized(0, 1, labelStr, offset, 1, TEXT_SPEED_FF, NULL); @@ -1913,7 +1913,7 @@ static void MoveRelearnerMenuLoadContestMoveDescription(u32 chosenMove) const u8 **temp; MoveRelearnerShowHideHearts(chosenMove); - FillWindowPixelBuffer(1, 0x11); + FillWindowPixelBuffer(1, PIXEL_FILL(1)); labelStr = gText_MoveRelearnerContestMovesTitle; // GCC compiles these as: // add r3, r0, 0 @@ -2076,7 +2076,7 @@ void MoveRelearnerPrintText(u8 *str) { u8 speed; - FillWindowPixelBuffer(3, 0x11); + FillWindowPixelBuffer(3, PIXEL_FILL(1)); gTextFlags.canABSpeedUpPrint = TRUE; speed = GetPlayerTextSpeedDelay(); AddTextPrinterParameterized2(3, 1, str, speed, NULL, TEXT_COLOR_DARK_GREY, TEXT_COLOR_WHITE, 3); From 8e1537fb57dc7ed17079b30f7a3851132cf462bd Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sun, 10 Mar 2019 08:10:59 -0400 Subject: [PATCH 33/47] Document map name popup flag --- data/event_scripts.s | 4 ++-- data/maps/InsideOfTruck/scripts.inc | 2 +- data/maps/LavaridgeTown/scripts.inc | 4 ++-- data/maps/LittlerootTown/scripts.inc | 6 +++--- data/maps/PetalburgCity/scripts.inc | 8 ++++---- data/maps/Route101/scripts.inc | 4 ++-- data/maps/Route128/scripts.inc | 2 +- data/maps/RustboroCity/scripts.inc | 4 ++-- data/maps/SeafloorCavern_Room9/scripts.inc | 2 +- data/maps/SkyPillar_Outside/scripts.inc | 4 ++-- data/maps/SlateportCity/scripts.inc | 4 ++-- data/maps/SootopolisCity/scripts.inc | 10 +++++----- include/constants/flags.h | 2 +- src/field_special_scene.c | 4 ++-- src/map_name_popup.c | 2 +- 15 files changed, 31 insertions(+), 31 deletions(-) diff --git a/data/event_scripts.s b/data/event_scripts.s index 1175c8d00a..67351d184f 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -3161,7 +3161,7 @@ Route118_EventScript_273D13:: @ 8273D13 Route125_EventScript_273D13:: @ 8273D13 Route127_EventScript_273D13:: @ 8273D13 Route129_EventScript_273D13:: @ 8273D13 - setflag FLAG_SPECIAL_FLAG_0x4000 + setflag FLAG_HIDE_MAP_NAME_POPUP return UnusualWeather_StartKyogreWeather:: @ 8273D17 @@ -3188,7 +3188,7 @@ UnusualWeather_EventScript_EndEventAndCleanup_2:: @ 8273D31 special DrawWholeMapView setvar VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_NONE setvar VAR_SHOULD_END_UNUSUAL_WEATHER, 0 - clearflag FLAG_SPECIAL_FLAG_0x4000 + clearflag FLAG_HIDE_MAP_NAME_POPUP fadescreenswapbuffers 0 releaseall end diff --git a/data/maps/InsideOfTruck/scripts.inc b/data/maps/InsideOfTruck/scripts.inc index 672b2003b8..0f7f5447d1 100644 --- a/data/maps/InsideOfTruck/scripts.inc +++ b/data/maps/InsideOfTruck/scripts.inc @@ -15,7 +15,7 @@ InsideOfTruck_MapScript1_23BF01: @ 823BF01 InsideOfTruck_EventScript_23BF04:: @ 823BF04 lockall - setflag FLAG_SPECIAL_FLAG_0x4000 + setflag FLAG_HIDE_MAP_NAME_POPUP checkplayergender compare VAR_RESULT, MALE goto_if_eq InsideOfTruck_EventScript_23BF20 diff --git a/data/maps/LavaridgeTown/scripts.inc b/data/maps/LavaridgeTown/scripts.inc index 5c1612199b..acbb3fcd26 100644 --- a/data/maps/LavaridgeTown/scripts.inc +++ b/data/maps/LavaridgeTown/scripts.inc @@ -37,7 +37,7 @@ LavaridgeTown_EventScript_1EA53F:: @ 81EA53F return LavaridgeTown_EventScript_1EA543:: @ 81EA543 - setflag FLAG_SPECIAL_FLAG_0x4000 + setflag FLAG_HIDE_MAP_NAME_POPUP return LavaridgeTown_MapScript2_1EA547: @ 81EA547 @@ -95,7 +95,7 @@ LavaridgeTown_EventScript_1EA5FF:: @ 81EA5FF call_if_ne LavaridgeTown_EventScript_1EA6C9 removeobject 7 setvar VAR_LAVARIDGE_RIVAL_STATE, 2 - clearflag FLAG_SPECIAL_FLAG_0x4000 + clearflag FLAG_HIDE_MAP_NAME_POPUP savebgm MUS_DUMMY fadedefaultbgm releaseall diff --git a/data/maps/LittlerootTown/scripts.inc b/data/maps/LittlerootTown/scripts.inc index e133169bac..f347811f8f 100644 --- a/data/maps/LittlerootTown/scripts.inc +++ b/data/maps/LittlerootTown/scripts.inc @@ -31,7 +31,7 @@ LittlerootTown_EventScript_1E7E45:: @ 81E7E45 return LittlerootTown_EventScript_1E7E4B:: @ 81E7E4B - setflag FLAG_SPECIAL_FLAG_0x4000 + setflag FLAG_HIDE_MAP_NAME_POPUP return LittlerootTown_EventScript_1E7E4F:: @ 81E7E4F @@ -141,7 +141,7 @@ LittlerootTown_EventScript_1E7F17:: @ 81E7F17 closedoor VAR_0x8004, VAR_0x8005 waitdooranim clearflag FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN - clearflag FLAG_SPECIAL_FLAG_0x4000 + clearflag FLAG_HIDE_MAP_NAME_POPUP return LittlerootTown_Movement_1E7F98: @ 81E7F98 @@ -194,7 +194,7 @@ LittlerootTown_EventScript_1E7FB1:: @ 81E7FB1 clearflag FLAG_HIDE_LITTLEROOT_TOWN_RIVAL clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCH delay 20 - clearflag FLAG_SPECIAL_FLAG_0x4000 + clearflag FLAG_HIDE_MAP_NAME_POPUP warp MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB, 255, 6, 5 waitstate releaseall diff --git a/data/maps/PetalburgCity/scripts.inc b/data/maps/PetalburgCity/scripts.inc index 5a652ab15f..c8b723383d 100644 --- a/data/maps/PetalburgCity/scripts.inc +++ b/data/maps/PetalburgCity/scripts.inc @@ -20,7 +20,7 @@ PetalburgCity_EventScript_1DC307:: @ 81DC307 return PetalburgCity_EventScript_1DC30F:: @ 81DC30F - setflag FLAG_SPECIAL_FLAG_0x4000 + setflag FLAG_HIDE_MAP_NAME_POPUP savebgm MUS_TSURETEK return @@ -48,7 +48,7 @@ PetalburgCity_EventScript_1DC32E:: @ 81DC32E waitmovement 2, MAP_PETALBURG_CITY msgbox PetalburgCity_Text_1EC297, MSGBOX_DEFAULT closemessage - clearflag FLAG_SPECIAL_FLAG_0x4000 + clearflag FLAG_HIDE_MAP_NAME_POPUP setvar VAR_PETALBURG_STATE, 3 fadedefaultbgm clearflag FLAG_SPECIAL_FLAG_0x4001 @@ -61,7 +61,7 @@ PetalburgCity_EventScript_1DC32E:: @ 81DC32E PetalburgCity_EventScript_1DC390:: @ 81DC390 lockall - setflag FLAG_SPECIAL_FLAG_0x4000 + setflag FLAG_HIDE_MAP_NAME_POPUP applymovement 5, PetalburgCity_Movement_1DC41B applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC406 waitmovement 0 @@ -76,7 +76,7 @@ PetalburgCity_EventScript_1DC390:: @ 81DC390 hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY closedoor VAR_0x8004, VAR_0x8005 waitdooranim - clearflag FLAG_SPECIAL_FLAG_0x4000 + clearflag FLAG_HIDE_MAP_NAME_POPUP fadedefaultbgm clearflag FLAG_SPECIAL_FLAG_0x4001 warp MAP_PETALBURG_CITY_WALLYS_HOUSE, 255, 2, 4 diff --git a/data/maps/Route101/scripts.inc b/data/maps/Route101/scripts.inc index aa20ba2daf..47663e1ddf 100644 --- a/data/maps/Route101/scripts.inc +++ b/data/maps/Route101/scripts.inc @@ -12,7 +12,7 @@ Route101_MapScript2_1EBCCB: @ 81EBCCB .2byte 0 Route101_EventScript_1EBCD5:: @ 81EBCD5 - setflag FLAG_SPECIAL_FLAG_0x4000 + setflag FLAG_HIDE_MAP_NAME_POPUP setvar VAR_ROUTE101_STATE, 1 end @@ -236,7 +236,7 @@ Route101_EventScript_1EBE16:: @ 81EBE16 setflag FLAG_HIDE_ROUTE_101_BIRCH_STARTERS_BAG setvar VAR_BIRCH_LAB_STATE, 2 setvar VAR_ROUTE101_STATE, 3 - clearflag FLAG_SPECIAL_FLAG_0x4000 + clearflag FLAG_HIDE_MAP_NAME_POPUP checkplayergender compare VAR_RESULT, MALE call_if_eq Route101_EventScript_1EBE85 diff --git a/data/maps/Route128/scripts.inc b/data/maps/Route128/scripts.inc index 647d62b6a2..84091ac3ad 100644 --- a/data/maps/Route128/scripts.inc +++ b/data/maps/Route128/scripts.inc @@ -73,7 +73,7 @@ Route128_EventScript_1F6B57:: @ 81F6B57 delay 15 removeobject 3 waitfieldeffect 30 - clearflag FLAG_SPECIAL_FLAG_0x4000 + clearflag FLAG_HIDE_MAP_NAME_POPUP setvar VAR_ROUTE128_STATE, 2 releaseall end diff --git a/data/maps/RustboroCity/scripts.inc b/data/maps/RustboroCity/scripts.inc index f937113443..1ba63c9599 100644 --- a/data/maps/RustboroCity/scripts.inc +++ b/data/maps/RustboroCity/scripts.inc @@ -24,7 +24,7 @@ RustboroCity_EventScript_1E06FF:: @ 81E06FF end RustboroCity_EventScript_1E0707:: @ 81E0707 - setflag FLAG_SPECIAL_FLAG_0x4000 + setflag FLAG_HIDE_MAP_NAME_POPUP return RustboroCity_MapScript2_1E070B: @ 81E070B @@ -100,7 +100,7 @@ RustboroCity_EventScript_1E07BD:: @ 81E07BD removeobject 15 setflag FLAG_HIDE_RUSTBORO_CITY_SCIENTIST setvar VAR_RUSTBORO_STATE, 7 - clearflag FLAG_SPECIAL_FLAG_0x4000 + clearflag FLAG_HIDE_MAP_NAME_POPUP releaseall end diff --git a/data/maps/SeafloorCavern_Room9/scripts.inc b/data/maps/SeafloorCavern_Room9/scripts.inc index 38a10a0043..4c630a1d4a 100644 --- a/data/maps/SeafloorCavern_Room9/scripts.inc +++ b/data/maps/SeafloorCavern_Room9/scripts.inc @@ -140,7 +140,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_1 setflag FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS - setflag FLAG_SPECIAL_FLAG_0x4000 + setflag FLAG_HIDE_MAP_NAME_POPUP warp MAP_ROUTE128, 255, 38, 22 waitstate releaseall diff --git a/data/maps/SkyPillar_Outside/scripts.inc b/data/maps/SkyPillar_Outside/scripts.inc index 93d4e42c39..c4769c9901 100644 --- a/data/maps/SkyPillar_Outside/scripts.inc +++ b/data/maps/SkyPillar_Outside/scripts.inc @@ -12,7 +12,7 @@ SkyPillar_Outside_MapScript1_2392B8: @ 82392B8 end SkyPillar_Outside_EventScript_2392CF:: @ 82392CF - setflag FLAG_SPECIAL_FLAG_0x4000 + setflag FLAG_HIDE_MAP_NAME_POPUP return SkyPillar_Outside_EventScript_2392D3:: @ 82392D3 @@ -81,7 +81,7 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304 closemessage playse SE_KAIDAN fadescreenswapbuffers 1 - clearflag FLAG_SPECIAL_FLAG_0x4000 + clearflag FLAG_HIDE_MAP_NAME_POPUP setvar VAR_RAYQUAZA_STATE, 4 removeobject 1 clearflag FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc index acf66d2bdb..1830c3f005 100644 --- a/data/maps/SlateportCity/scripts.inc +++ b/data/maps/SlateportCity/scripts.inc @@ -36,7 +36,7 @@ SlateportCity_EventScript_1DCC99:: @ 81DCC99 return SlateportCity_EventScript_1DCCE7:: @ 81DCCE7 - setflag FLAG_SPECIAL_FLAG_0x4000 + setflag FLAG_HIDE_MAP_NAME_POPUP getplayerxy VAR_0x8004, VAR_0x8005 compare VAR_0x8004, 30 goto_if_eq SlateportCity_EventScript_1DCD06 @@ -83,7 +83,7 @@ SlateportCity_EventScript_1DCD1C:: @ 81DCD1C removeobject 35 setobjectxyperm 35, 10, 12 setobjectmovementtype 35, MOVEMENT_TYPE_FACE_DOWN - clearflag FLAG_SPECIAL_FLAG_0x4000 + clearflag FLAG_HIDE_MAP_NAME_POPUP setvar VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE, 2 addvar VAR_SCOTT_STATE, 1 releaseall diff --git a/data/maps/SootopolisCity/scripts.inc b/data/maps/SootopolisCity/scripts.inc index dbfe923f03..ad72120f9c 100644 --- a/data/maps/SootopolisCity/scripts.inc +++ b/data/maps/SootopolisCity/scripts.inc @@ -62,7 +62,7 @@ SootopolisCity_MapScript1_1E56EF: @ 81E56EF end SootopolisCity_EventScript_1E5781:: @ 81E5781 - setflag FLAG_SPECIAL_FLAG_0x4000 + setflag FLAG_HIDE_MAP_NAME_POPUP return SootopolisCity_EventScript_1E5785:: @ 81E5785 @@ -272,7 +272,7 @@ SootopolisCity_EventScript_1E5946:: @ 81E5946 waitmovement 0 special RemoveCameraObject setvar VAR_RAYQUAZA_STATE, 2 - clearflag FLAG_SPECIAL_FLAG_0x4000 + clearflag FLAG_HIDE_MAP_NAME_POPUP releaseall end @@ -372,7 +372,7 @@ SootopolisCity_EventScript_1E5A82:: @ 81E5A82 waitmovement 0 special RemoveCameraObject setvar VAR_RAYQUAZA_STATE, 2 - clearflag FLAG_SPECIAL_FLAG_0x4000 + clearflag FLAG_HIDE_MAP_NAME_POPUP releaseall end @@ -544,7 +544,7 @@ SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E clearflag FLAG_LEGENDARIES_IN_SOOTOPOLIS fadenewbgm MUS_RUNECITY delay 120 - clearflag FLAG_SPECIAL_FLAG_0x4000 + clearflag FLAG_HIDE_MAP_NAME_POPUP warp8 MAP_SOOTOPOLIS_CITY, 255, 43, 32 waitstate end @@ -597,7 +597,7 @@ SootopolisCity_EventScript_1E5CCE:: @ 81E5CCE clearflag FLAG_LEGENDARIES_IN_SOOTOPOLIS fadenewbgm MUS_NAMINORI delay 120 - clearflag FLAG_SPECIAL_FLAG_0x4000 + clearflag FLAG_HIDE_MAP_NAME_POPUP warp8 MAP_SOOTOPOLIS_CITY, 255, 29, 53 waitstate end diff --git a/include/constants/flags.h b/include/constants/flags.h index f0759389fd..230fbabaff 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -1548,7 +1548,7 @@ // Special Flags (Unknown) #define SPECIAL_FLAGS_START 0x4000 -#define FLAG_SPECIAL_FLAG_0x4000 0x4000 +#define FLAG_HIDE_MAP_NAME_POPUP 0x4000 #define FLAG_SPECIAL_FLAG_0x4001 0x4001 #define FLAG_SPECIAL_FLAG_0x4002 0x4002 #define FLAG_SPECIAL_FLAG_0x4003 0x4003 diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 2b518808b0..e059e6ef8a 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -301,7 +301,7 @@ void Task_HandlePorthole(u8 taskId) break; case EXIT_PORTHOLE: // exit porthole. FlagClear(FLAG_SPECIAL_FLAG_0x4001); - FlagClear(FLAG_SPECIAL_FLAG_0x4000); + FlagClear(FLAG_HIDE_MAP_NAME_POPUP); SetWarpDestinationToDynamicWarp(0); DoDiveWarp(); DestroyTask(taskId); @@ -338,7 +338,7 @@ void sub_80FB7A4(void) { FlagSet(FLAG_SYS_CRUISE_MODE); FlagSet(FLAG_SPECIAL_FLAG_0x4001); - FlagSet(FLAG_SPECIAL_FLAG_0x4000); + FlagSet(FLAG_HIDE_MAP_NAME_POPUP); SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); sub_80FB59C(); sub_80AF8B8(); diff --git a/src/map_name_popup.c b/src/map_name_popup.c index 8936198aeb..d95b808e92 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -207,7 +207,7 @@ bool8 sub_80D47D4(void) void ShowMapNamePopup(void) { - if (FlagGet(FLAG_SPECIAL_FLAG_0x4000) != TRUE) + if (FlagGet(FLAG_HIDE_MAP_NAME_POPUP) != TRUE) { if (!FuncIsActiveTask(Task_MapNamePopUpWindow)) { From 14211fb4953a25ada33b2aa1618b90cb46b211b7 Mon Sep 17 00:00:00 2001 From: garak Date: Thu, 14 Mar 2019 16:19:54 -0400 Subject: [PATCH 34/47] fix incbin paths --- src/anim_mon_front_pics.c | 830 +++--- src/data/graphics/pokemon.h | 5560 +++++++++++++++++------------------ 2 files changed, 3195 insertions(+), 3195 deletions(-) diff --git a/src/anim_mon_front_pics.c b/src/anim_mon_front_pics.c index ba53ba1936..f2480ea20f 100644 --- a/src/anim_mon_front_pics.c +++ b/src/anim_mon_front_pics.c @@ -1,424 +1,424 @@ #include "global.h" -const u32 gMonFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/anim_front_pics/circled_question_mark_front_pic.4bpp.lz"); +const u32 gMonFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/anim_front.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 u32 gMonFrontPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/anim_front.4bpp.lz"); +const u32 gMonFrontPic_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/anim_front.4bpp.lz"); +const u32 gMonFrontPic_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Paras[] = INCBIN_U32("graphics/pokemon/paras/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Persian[] = INCBIN_U32("graphics/pokemon/persian/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Abra[] = INCBIN_U32("graphics/pokemon/abra/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Machop[] = INCBIN_U32("graphics/pokemon/machop/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Golem[] = INCBIN_U32("graphics/pokemon/golem/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Muk[] = INCBIN_U32("graphics/pokemon/muk/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Onix[] = INCBIN_U32("graphics/pokemon/onix/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mew[] = INCBIN_U32("graphics/pokemon/mew/anim_front.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_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Furret[] = INCBIN_U32("graphics/pokemon/furret/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Natu[] = INCBIN_U32("graphics/pokemon/natu/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Marill[] = INCBIN_U32("graphics/pokemon/marill/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownA[] = INCBIN_U32("graphics/pokemon/unown/anim_front_a.4bpp.lz"); +const u32 gMonFrontPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/anim_front.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 u32 gMonFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Magby[] = INCBIN_U32("graphics/pokemon/magby/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Entei[] = INCBIN_U32("graphics/pokemon/entei/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/anim_front.4bpp.lz"); +const u32 gMonFrontPic_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/anim_front.4bpp.lz"); -const u32 gMonFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/anim_front_pics/double_question_mark_front_pic.4bpp.lz"); +const u32 gMonFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/double_question_mark/anim_front.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 u32 gMonFrontPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Numel[] = INCBIN_U32("graphics/pokemon/numel/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Minun[] = INCBIN_U32("graphics/pokemon/minun/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Absol[] = INCBIN_U32("graphics/pokemon/absol/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Banette[] = INCBIN_U32("graphics/pokemon/banette/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Aron[] = INCBIN_U32("graphics/pokemon/aron/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Castform[] = INCBIN_U32("graphics/pokemon/castform/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Metang[] = INCBIN_U32("graphics/pokemon/metang/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Regice[] = INCBIN_U32("graphics/pokemon/regice/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Latias[] = INCBIN_U32("graphics/pokemon/latias/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Latios[] = INCBIN_U32("graphics/pokemon/latios/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/anim_front.4bpp.lz"); -const u32 gMonFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/anim_front_pics/egg_front_pic.4bpp.lz"); +const u32 gMonFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/egg/anim_front.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"); +const u32 gMonFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/anim_front_b.4bpp.lz"); +const u32 gMonFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/anim_front_c.4bpp.lz"); +const u32 gMonFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/anim_front_d.4bpp.lz"); +const u32 gMonFrontPic_UnownE[] = INCBIN_U32("graphics/pokemon/unown/anim_front_e.4bpp.lz"); +const u32 gMonFrontPic_UnownF[] = INCBIN_U32("graphics/pokemon/unown/anim_front_f.4bpp.lz"); +const u32 gMonFrontPic_UnownG[] = INCBIN_U32("graphics/pokemon/unown/anim_front_g.4bpp.lz"); +const u32 gMonFrontPic_UnownH[] = INCBIN_U32("graphics/pokemon/unown/anim_front_h.4bpp.lz"); +const u32 gMonFrontPic_UnownI[] = INCBIN_U32("graphics/pokemon/unown/anim_front_i.4bpp.lz"); +const u32 gMonFrontPic_UnownJ[] = INCBIN_U32("graphics/pokemon/unown/anim_front_j.4bpp.lz"); +const u32 gMonFrontPic_UnownK[] = INCBIN_U32("graphics/pokemon/unown/anim_front_k.4bpp.lz"); +const u32 gMonFrontPic_UnownL[] = INCBIN_U32("graphics/pokemon/unown/anim_front_l.4bpp.lz"); +const u32 gMonFrontPic_UnownM[] = INCBIN_U32("graphics/pokemon/unown/anim_front_m.4bpp.lz"); +const u32 gMonFrontPic_UnownN[] = INCBIN_U32("graphics/pokemon/unown/anim_front_n.4bpp.lz"); +const u32 gMonFrontPic_UnownO[] = INCBIN_U32("graphics/pokemon/unown/anim_front_o.4bpp.lz"); +const u32 gMonFrontPic_UnownP[] = INCBIN_U32("graphics/pokemon/unown/anim_front_p.4bpp.lz"); +const u32 gMonFrontPic_UnownQ[] = INCBIN_U32("graphics/pokemon/unown/anim_front_q.4bpp.lz"); +const u32 gMonFrontPic_UnownR[] = INCBIN_U32("graphics/pokemon/unown/anim_front_r.4bpp.lz"); +const u32 gMonFrontPic_UnownS[] = INCBIN_U32("graphics/pokemon/unown/anim_front_s.4bpp.lz"); +const u32 gMonFrontPic_UnownT[] = INCBIN_U32("graphics/pokemon/unown/anim_front_t.4bpp.lz"); +const u32 gMonFrontPic_UnownU[] = INCBIN_U32("graphics/pokemon/unown/anim_front_u.4bpp.lz"); +const u32 gMonFrontPic_UnownV[] = INCBIN_U32("graphics/pokemon/unown/anim_front_v.4bpp.lz"); +const u32 gMonFrontPic_UnownW[] = INCBIN_U32("graphics/pokemon/unown/anim_front_w.4bpp.lz"); +const u32 gMonFrontPic_UnownX[] = INCBIN_U32("graphics/pokemon/unown/anim_front_x.4bpp.lz"); +const u32 gMonFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/anim_front_y.4bpp.lz"); +const u32 gMonFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/anim_front_z.4bpp.lz"); +const u32 gMonFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/anim_front_exclamation_mark.4bpp.lz"); +const u32 gMonFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/anim_front_question_mark.4bpp.lz"); diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index 40ebdf9e41..67d1fbd3f0 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -1,1625 +1,1625 @@ -const u32 gMonStillFrontPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/front_pics/bulbasaur_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/palettes/bulbasaur_palette.gbapal.lz"); -const u32 gMonBackPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/back_pics/bulbasaur_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/palettes/bulbasaur_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Bulbasaur[] = INCBIN_U8("graphics/pokemon/icons/bulbasaur_icon.4bpp"); -const u8 gMonFootprint_Bulbasaur[] = INCBIN_U8("graphics/pokemon/footprints/bulbasaur_footprint.1bpp"); - -const u32 gMonStillFrontPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/front_pics/ivysaur_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/palettes/ivysaur_palette.gbapal.lz"); -const u32 gMonBackPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/back_pics/ivysaur_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/palettes/ivysaur_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Ivysaur[] = INCBIN_U8("graphics/pokemon/icons/ivysaur_icon.4bpp"); -const u8 gMonFootprint_Ivysaur[] = INCBIN_U8("graphics/pokemon/footprints/ivysaur_footprint.1bpp"); - -const u32 gMonStillFrontPic_Venusaur[] = INCBIN_U32("graphics/pokemon/front_pics/venusaur_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/palettes/venusaur_palette.gbapal.lz"); -const u32 gMonBackPic_Venusaur[] = INCBIN_U32("graphics/pokemon/back_pics/venusaur_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/palettes/venusaur_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Venusaur[] = INCBIN_U8("graphics/pokemon/icons/venusaur_icon.4bpp"); -const u8 gMonFootprint_Venusaur[] = INCBIN_U8("graphics/pokemon/footprints/venusaur_footprint.1bpp"); - -const u32 gMonStillFrontPic_Charmander[] = INCBIN_U32("graphics/pokemon/front_pics/charmander_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Charmander[] = INCBIN_U32("graphics/pokemon/palettes/charmander_palette.gbapal.lz"); -const u32 gMonBackPic_Charmander[] = INCBIN_U32("graphics/pokemon/back_pics/charmander_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Charmander[] = INCBIN_U32("graphics/pokemon/palettes/charmander_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Charmander[] = INCBIN_U8("graphics/pokemon/icons/charmander_icon.4bpp"); -const u8 gMonFootprint_Charmander[] = INCBIN_U8("graphics/pokemon/footprints/charmander_footprint.1bpp"); - -const u32 gMonStillFrontPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/front_pics/charmeleon_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/palettes/charmeleon_palette.gbapal.lz"); -const u32 gMonBackPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/back_pics/charmeleon_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/palettes/charmeleon_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Charmeleon[] = INCBIN_U8("graphics/pokemon/icons/charmeleon_icon.4bpp"); -const u8 gMonFootprint_Charmeleon[] = INCBIN_U8("graphics/pokemon/footprints/charmeleon_footprint.1bpp"); - -const u32 gMonStillFrontPic_Charizard[] = INCBIN_U32("graphics/pokemon/front_pics/charizard_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Charizard[] = INCBIN_U32("graphics/pokemon/palettes/charizard_palette.gbapal.lz"); -const u32 gMonBackPic_Charizard[] = INCBIN_U32("graphics/pokemon/back_pics/charizard_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Charizard[] = INCBIN_U32("graphics/pokemon/palettes/charizard_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Charizard[] = INCBIN_U8("graphics/pokemon/icons/charizard_icon.4bpp"); -const u8 gMonFootprint_Charizard[] = INCBIN_U8("graphics/pokemon/footprints/charizard_footprint.1bpp"); - -const u32 gMonStillFrontPic_Squirtle[] = INCBIN_U32("graphics/pokemon/front_pics/squirtle_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/palettes/squirtle_palette.gbapal.lz"); -const u32 gMonBackPic_Squirtle[] = INCBIN_U32("graphics/pokemon/back_pics/squirtle_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/palettes/squirtle_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Squirtle[] = INCBIN_U8("graphics/pokemon/icons/squirtle_icon.4bpp"); -const u8 gMonFootprint_Squirtle[] = INCBIN_U8("graphics/pokemon/footprints/squirtle_footprint.1bpp"); - -const u32 gMonStillFrontPic_Wartortle[] = INCBIN_U32("graphics/pokemon/front_pics/wartortle_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/palettes/wartortle_palette.gbapal.lz"); -const u32 gMonBackPic_Wartortle[] = INCBIN_U32("graphics/pokemon/back_pics/wartortle_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/palettes/wartortle_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Wartortle[] = INCBIN_U8("graphics/pokemon/icons/wartortle_icon.4bpp"); -const u8 gMonFootprint_Wartortle[] = INCBIN_U8("graphics/pokemon/footprints/wartortle_footprint.1bpp"); - -const u32 gMonStillFrontPic_Blastoise[] = INCBIN_U32("graphics/pokemon/front_pics/blastoise_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/palettes/blastoise_palette.gbapal.lz"); -const u32 gMonBackPic_Blastoise[] = INCBIN_U32("graphics/pokemon/back_pics/blastoise_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/palettes/blastoise_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Blastoise[] = INCBIN_U8("graphics/pokemon/icons/blastoise_icon.4bpp"); -const u8 gMonFootprint_Blastoise[] = INCBIN_U8("graphics/pokemon/footprints/blastoise_footprint.1bpp"); - -const u32 gMonStillFrontPic_Caterpie[] = INCBIN_U32("graphics/pokemon/front_pics/caterpie_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/palettes/caterpie_palette.gbapal.lz"); -const u32 gMonBackPic_Caterpie[] = INCBIN_U32("graphics/pokemon/back_pics/caterpie_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/palettes/caterpie_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Caterpie[] = INCBIN_U8("graphics/pokemon/icons/caterpie_icon.4bpp"); -const u8 gMonFootprint_Caterpie[] = INCBIN_U8("graphics/pokemon/footprints/caterpie_footprint.1bpp"); - -const u32 gMonStillFrontPic_Metapod[] = INCBIN_U32("graphics/pokemon/front_pics/metapod_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Metapod[] = INCBIN_U32("graphics/pokemon/palettes/metapod_palette.gbapal.lz"); -const u32 gMonBackPic_Metapod[] = INCBIN_U32("graphics/pokemon/back_pics/metapod_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Metapod[] = INCBIN_U32("graphics/pokemon/palettes/metapod_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Metapod[] = INCBIN_U8( "graphics/pokemon/icons/metapod_icon.4bpp"); -const u8 gMonFootprint_Metapod[] = INCBIN_U8("graphics/pokemon/footprints/metapod_footprint.1bpp"); - -const u32 gMonStillFrontPic_Butterfree[] = INCBIN_U32("graphics/pokemon/front_pics/butterfree_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/palettes/butterfree_palette.gbapal.lz"); -const u32 gMonBackPic_Butterfree[] = INCBIN_U32("graphics/pokemon/back_pics/butterfree_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/palettes/butterfree_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Butterfree[] = INCBIN_U8("graphics/pokemon/icons/butterfree_icon.4bpp"); -const u8 gMonFootprint_Butterfree[] = INCBIN_U8("graphics/pokemon/footprints/butterfree_footprint.1bpp"); - -const u32 gMonStillFrontPic_Weedle[] = INCBIN_U32("graphics/pokemon/front_pics/weedle_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Weedle[] = INCBIN_U32("graphics/pokemon/palettes/weedle_palette.gbapal.lz"); -const u32 gMonBackPic_Weedle[] = INCBIN_U32("graphics/pokemon/back_pics/weedle_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Weedle[] = INCBIN_U32("graphics/pokemon/palettes/weedle_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Weedle[] = INCBIN_U8("graphics/pokemon/icons/weedle_icon.4bpp"); -const u8 gMonFootprint_Weedle[] = INCBIN_U8("graphics/pokemon/footprints/weedle_footprint.1bpp"); - -const u32 gMonStillFrontPic_Kakuna[] = INCBIN_U32("graphics/pokemon/front_pics/kakuna_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/palettes/kakuna_palette.gbapal.lz"); -const u32 gMonBackPic_Kakuna[] = INCBIN_U32("graphics/pokemon/back_pics/kakuna_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/palettes/kakuna_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Kakuna[] = INCBIN_U8("graphics/pokemon/icons/kakuna_icon.4bpp"); -const u8 gMonFootprint_Kakuna[] = INCBIN_U8("graphics/pokemon/footprints/kakuna_footprint.1bpp"); - -const u32 gMonStillFrontPic_Beedrill[] = INCBIN_U32("graphics/pokemon/front_pics/beedrill_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/palettes/beedrill_palette.gbapal.lz"); -const u32 gMonBackPic_Beedrill[] = INCBIN_U32("graphics/pokemon/back_pics/beedrill_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/palettes/beedrill_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Beedrill[] = INCBIN_U8("graphics/pokemon/icons/beedrill_icon.4bpp"); -const u8 gMonFootprint_Beedrill[] = INCBIN_U8("graphics/pokemon/footprints/beedrill_footprint.1bpp"); - -const u32 gMonStillFrontPic_Pidgey[] = INCBIN_U32("graphics/pokemon/front_pics/pidgey_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/palettes/pidgey_palette.gbapal.lz"); -const u32 gMonBackPic_Pidgey[] = INCBIN_U32("graphics/pokemon/back_pics/pidgey_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/palettes/pidgey_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Pidgey[] = INCBIN_U8("graphics/pokemon/icons/pidgey_icon.4bpp"); -const u8 gMonFootprint_Pidgey[] = INCBIN_U8("graphics/pokemon/footprints/pidgey_footprint.1bpp"); - -const u32 gMonStillFrontPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/front_pics/pidgeotto_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/palettes/pidgeotto_palette.gbapal.lz"); -const u32 gMonBackPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/back_pics/pidgeotto_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/palettes/pidgeotto_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Pidgeotto[] = INCBIN_U8("graphics/pokemon/icons/pidgeotto_icon.4bpp"); -const u8 gMonFootprint_Pidgeotto[] = INCBIN_U8("graphics/pokemon/footprints/pidgeotto_footprint.1bpp"); - -const u32 gMonStillFrontPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/front_pics/pidgeot_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/palettes/pidgeot_palette.gbapal.lz"); -const u32 gMonBackPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/back_pics/pidgeot_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/palettes/pidgeot_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Pidgeot[] = INCBIN_U8("graphics/pokemon/icons/pidgeot_icon.4bpp"); -const u8 gMonFootprint_Pidgeot[] = INCBIN_U8("graphics/pokemon/footprints/pidgeot_footprint.1bpp"); - -const u32 gMonStillFrontPic_Rattata[] = INCBIN_U32("graphics/pokemon/front_pics/rattata_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Rattata[] = INCBIN_U32("graphics/pokemon/palettes/rattata_palette.gbapal.lz"); -const u32 gMonBackPic_Rattata[] = INCBIN_U32("graphics/pokemon/back_pics/rattata_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Rattata[] = INCBIN_U32("graphics/pokemon/palettes/rattata_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Rattata[] = INCBIN_U8("graphics/pokemon/icons/rattata_icon.4bpp"); -const u8 gMonFootprint_Rattata[] = INCBIN_U8("graphics/pokemon/footprints/rattata_footprint.1bpp"); - -const u32 gMonStillFrontPic_Raticate[] = INCBIN_U32("graphics/pokemon/front_pics/raticate_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Raticate[] = INCBIN_U32("graphics/pokemon/palettes/raticate_palette.gbapal.lz"); -const u32 gMonBackPic_Raticate[] = INCBIN_U32("graphics/pokemon/back_pics/raticate_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Raticate[] = INCBIN_U32("graphics/pokemon/palettes/raticate_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Raticate[] = INCBIN_U8("graphics/pokemon/icons/raticate_icon.4bpp"); -const u8 gMonFootprint_Raticate[] = INCBIN_U8("graphics/pokemon/footprints/raticate_footprint.1bpp"); - -const u32 gMonStillFrontPic_Spearow[] = INCBIN_U32("graphics/pokemon/front_pics/spearow_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Spearow[] = INCBIN_U32("graphics/pokemon/palettes/spearow_palette.gbapal.lz"); -const u32 gMonBackPic_Spearow[] = INCBIN_U32("graphics/pokemon/back_pics/spearow_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Spearow[] = INCBIN_U32("graphics/pokemon/palettes/spearow_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Spearow[] = INCBIN_U8("graphics/pokemon/icons/spearow_icon.4bpp"); -const u8 gMonFootprint_Spearow[] = INCBIN_U8("graphics/pokemon/footprints/spearow_footprint.1bpp"); - -const u32 gMonStillFrontPic_Fearow[] = INCBIN_U32("graphics/pokemon/front_pics/fearow_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Fearow[] = INCBIN_U32("graphics/pokemon/palettes/fearow_palette.gbapal.lz"); -const u32 gMonBackPic_Fearow[] = INCBIN_U32("graphics/pokemon/back_pics/fearow_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Fearow[] = INCBIN_U32("graphics/pokemon/palettes/fearow_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Fearow[] = INCBIN_U8("graphics/pokemon/icons/fearow_icon.4bpp"); -const u8 gMonFootprint_Fearow[] = INCBIN_U8("graphics/pokemon/footprints/fearow_footprint.1bpp"); - -const u32 gMonStillFrontPic_Ekans[] = INCBIN_U32("graphics/pokemon/front_pics/ekans_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Ekans[] = INCBIN_U32("graphics/pokemon/palettes/ekans_palette.gbapal.lz"); -const u32 gMonBackPic_Ekans[] = INCBIN_U32("graphics/pokemon/back_pics/ekans_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Ekans[] = INCBIN_U32("graphics/pokemon/palettes/ekans_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Ekans[] = INCBIN_U8("graphics/pokemon/icons/ekans_icon.4bpp"); -const u8 gMonFootprint_Ekans[] = INCBIN_U8("graphics/pokemon/footprints/ekans_footprint.1bpp"); - -const u32 gMonStillFrontPic_Arbok[] = INCBIN_U32("graphics/pokemon/front_pics/arbok_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Arbok[] = INCBIN_U32("graphics/pokemon/palettes/arbok_palette.gbapal.lz"); -const u32 gMonBackPic_Arbok[] = INCBIN_U32("graphics/pokemon/back_pics/arbok_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Arbok[] = INCBIN_U32("graphics/pokemon/palettes/arbok_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Arbok[] = INCBIN_U8("graphics/pokemon/icons/arbok_icon.4bpp"); -const u8 gMonFootprint_Arbok[] = INCBIN_U8("graphics/pokemon/footprints/arbok_footprint.1bpp"); - -const u32 gMonStillFrontPic_Pikachu[] = INCBIN_U32("graphics/pokemon/front_pics/pikachu_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/palettes/pikachu_palette.gbapal.lz"); -const u32 gMonBackPic_Pikachu[] = INCBIN_U32("graphics/pokemon/back_pics/pikachu_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/palettes/pikachu_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Pikachu[] = INCBIN_U8("graphics/pokemon/icons/pikachu_icon.4bpp"); -const u8 gMonFootprint_Pikachu[] = INCBIN_U8("graphics/pokemon/footprints/pikachu_footprint.1bpp"); - -const u32 gMonStillFrontPic_Raichu[] = INCBIN_U32("graphics/pokemon/front_pics/raichu_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Raichu[] = INCBIN_U32("graphics/pokemon/palettes/raichu_palette.gbapal.lz"); -const u32 gMonBackPic_Raichu[] = INCBIN_U32("graphics/pokemon/back_pics/raichu_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Raichu[] = INCBIN_U32("graphics/pokemon/palettes/raichu_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Raichu[] = INCBIN_U8("graphics/pokemon/icons/raichu_icon.4bpp"); -const u8 gMonFootprint_Raichu[] = INCBIN_U8("graphics/pokemon/footprints/raichu_footprint.1bpp"); - -const u32 gMonStillFrontPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/front_pics/sandshrew_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/palettes/sandshrew_palette.gbapal.lz"); -const u32 gMonBackPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/back_pics/sandshrew_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/palettes/sandshrew_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Sandshrew[] = INCBIN_U8("graphics/pokemon/icons/sandshrew_icon.4bpp"); -const u8 gMonFootprint_Sandshrew[] = INCBIN_U8("graphics/pokemon/footprints/sandshrew_footprint.1bpp"); - -const u32 gMonStillFrontPic_Sandslash[] = INCBIN_U32("graphics/pokemon/front_pics/sandslash_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/palettes/sandslash_palette.gbapal.lz"); -const u32 gMonBackPic_Sandslash[] = INCBIN_U32("graphics/pokemon/back_pics/sandslash_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/palettes/sandslash_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Sandslash[] = INCBIN_U8("graphics/pokemon/icons/sandslash_icon.4bpp"); -const u8 gMonFootprint_Sandslash[] = INCBIN_U8("graphics/pokemon/footprints/sandslash_footprint.1bpp"); - -const u32 gMonStillFrontPic_NidoranF[] = INCBIN_U32("graphics/pokemon/front_pics/nidoran_f_still_front_pic.4bpp.lz"); -const u32 gMonPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/palettes/nidoran_f_palette.gbapal.lz"); -const u32 gMonBackPic_NidoranF[] = INCBIN_U32("graphics/pokemon/back_pics/nidoran_f_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/palettes/nidoran_f_shiny_palette.gbapal.lz"); -const u8 gMonIcon_NidoranF[] = INCBIN_U8("graphics/pokemon/icons/nidoran_f_icon.4bpp"); -const u8 gMonFootprint_NidoranF[] = INCBIN_U8("graphics/pokemon/footprints/nidoran_f_footprint.1bpp"); - -const u32 gMonStillFrontPic_Nidorina[] = INCBIN_U32("graphics/pokemon/front_pics/nidorina_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/palettes/nidorina_palette.gbapal.lz"); -const u32 gMonBackPic_Nidorina[] = INCBIN_U32("graphics/pokemon/back_pics/nidorina_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/palettes/nidorina_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Nidorina[] = INCBIN_U8("graphics/pokemon/icons/nidorina_icon.4bpp"); -const u8 gMonFootprint_Nidorina[] = INCBIN_U8("graphics/pokemon/footprints/nidorina_footprint.1bpp"); - -const u32 gMonStillFrontPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/front_pics/nidoqueen_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/palettes/nidoqueen_palette.gbapal.lz"); -const u32 gMonBackPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/back_pics/nidoqueen_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/palettes/nidoqueen_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Nidoqueen[] = INCBIN_U8("graphics/pokemon/icons/nidoqueen_icon.4bpp"); -const u8 gMonFootprint_Nidoqueen[] = INCBIN_U8("graphics/pokemon/footprints/nidoqueen_footprint.1bpp"); - -const u32 gMonStillFrontPic_NidoranM[] = INCBIN_U32("graphics/pokemon/front_pics/nidoran_m_still_front_pic.4bpp.lz"); -const u32 gMonPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/palettes/nidoran_m_palette.gbapal.lz"); -const u32 gMonBackPic_NidoranM[] = INCBIN_U32("graphics/pokemon/back_pics/nidoran_m_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/palettes/nidoran_m_shiny_palette.gbapal.lz"); -const u8 gMonIcon_NidoranM[] = INCBIN_U8("graphics/pokemon/icons/nidoran_m_icon.4bpp"); -const u8 gMonFootprint_NidoranM[] = INCBIN_U8("graphics/pokemon/footprints/nidoran_m_footprint.1bpp"); - -const u32 gMonStillFrontPic_Nidorino[] = INCBIN_U32("graphics/pokemon/front_pics/nidorino_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/palettes/nidorino_palette.gbapal.lz"); -const u32 gMonBackPic_Nidorino[] = INCBIN_U32("graphics/pokemon/back_pics/nidorino_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/palettes/nidorino_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Nidorino[] = INCBIN_U8("graphics/pokemon/icons/nidorino_icon.4bpp"); -const u8 gMonFootprint_Nidorino[] = INCBIN_U8("graphics/pokemon/footprints/nidorino_footprint.1bpp"); - -const u32 gMonStillFrontPic_Nidoking[] = INCBIN_U32("graphics/pokemon/front_pics/nidoking_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/palettes/nidoking_palette.gbapal.lz"); -const u32 gMonBackPic_Nidoking[] = INCBIN_U32("graphics/pokemon/back_pics/nidoking_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/palettes/nidoking_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Nidoking[] = INCBIN_U8("graphics/pokemon/icons/nidoking_icon.4bpp"); -const u8 gMonFootprint_Nidoking[] = INCBIN_U8("graphics/pokemon/footprints/nidoking_footprint.1bpp"); - -const u32 gMonStillFrontPic_Clefairy[] = INCBIN_U32("graphics/pokemon/front_pics/clefairy_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/palettes/clefairy_palette.gbapal.lz"); -const u32 gMonBackPic_Clefairy[] = INCBIN_U32("graphics/pokemon/back_pics/clefairy_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/palettes/clefairy_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Clefairy[] = INCBIN_U8("graphics/pokemon/icons/clefairy_icon.4bpp"); -const u8 gMonFootprint_Clefairy[] = INCBIN_U8("graphics/pokemon/footprints/clefairy_footprint.1bpp"); - -const u32 gMonStillFrontPic_Clefable[] = INCBIN_U32("graphics/pokemon/front_pics/clefable_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Clefable[] = INCBIN_U32("graphics/pokemon/palettes/clefable_palette.gbapal.lz"); -const u32 gMonBackPic_Clefable[] = INCBIN_U32("graphics/pokemon/back_pics/clefable_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Clefable[] = INCBIN_U32("graphics/pokemon/palettes/clefable_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Clefable[] = INCBIN_U8("graphics/pokemon/icons/clefable_icon.4bpp"); -const u8 gMonFootprint_Clefable[] = INCBIN_U8("graphics/pokemon/footprints/clefable_footprint.1bpp"); - -const u32 gMonStillFrontPic_Vulpix[] = INCBIN_U32("graphics/pokemon/front_pics/vulpix_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/palettes/vulpix_palette.gbapal.lz"); -const u32 gMonBackPic_Vulpix[] = INCBIN_U32("graphics/pokemon/back_pics/vulpix_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/palettes/vulpix_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Vulpix[] = INCBIN_U8("graphics/pokemon/icons/vulpix_icon.4bpp"); -const u8 gMonFootprint_Vulpix[] = INCBIN_U8("graphics/pokemon/footprints/vulpix_footprint.1bpp"); - -const u32 gMonStillFrontPic_Ninetales[] = INCBIN_U32("graphics/pokemon/front_pics/ninetales_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/palettes/ninetales_palette.gbapal.lz"); -const u32 gMonBackPic_Ninetales[] = INCBIN_U32("graphics/pokemon/back_pics/ninetales_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/palettes/ninetales_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Ninetales[] = INCBIN_U8("graphics/pokemon/icons/ninetales_icon.4bpp"); -const u8 gMonFootprint_Ninetales[] = INCBIN_U8("graphics/pokemon/footprints/ninetales_footprint.1bpp"); - -const u32 gMonStillFrontPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/front_pics/jigglypuff_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/palettes/jigglypuff_palette.gbapal.lz"); -const u32 gMonBackPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/back_pics/jigglypuff_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/palettes/jigglypuff_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Jigglypuff[] = INCBIN_U8("graphics/pokemon/icons/jigglypuff_icon.4bpp"); -const u8 gMonFootprint_Jigglypuff[] = INCBIN_U8("graphics/pokemon/footprints/jigglypuff_footprint.1bpp"); - -const u32 gMonStillFrontPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/front_pics/wigglytuff_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/palettes/wigglytuff_palette.gbapal.lz"); -const u32 gMonBackPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/back_pics/wigglytuff_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/palettes/wigglytuff_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Wigglytuff[] = INCBIN_U8("graphics/pokemon/icons/wigglytuff_icon.4bpp"); -const u8 gMonFootprint_Wigglytuff[] = INCBIN_U8("graphics/pokemon/footprints/wigglytuff_footprint.1bpp"); - -const u32 gMonStillFrontPic_Zubat[] = INCBIN_U32("graphics/pokemon/front_pics/zubat_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Zubat[] = INCBIN_U32("graphics/pokemon/palettes/zubat_palette.gbapal.lz"); -const u32 gMonBackPic_Zubat[] = INCBIN_U32("graphics/pokemon/back_pics/zubat_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Zubat[] = INCBIN_U32("graphics/pokemon/palettes/zubat_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Zubat[] = INCBIN_U8("graphics/pokemon/icons/zubat_icon.4bpp"); -const u8 gMonFootprint_Zubat[] = INCBIN_U8("graphics/pokemon/footprints/zubat_footprint.1bpp"); - -const u32 gMonStillFrontPic_Golbat[] = INCBIN_U32("graphics/pokemon/front_pics/golbat_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Golbat[] = INCBIN_U32("graphics/pokemon/palettes/golbat_palette.gbapal.lz"); -const u32 gMonBackPic_Golbat[] = INCBIN_U32("graphics/pokemon/back_pics/golbat_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Golbat[] = INCBIN_U32("graphics/pokemon/palettes/golbat_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Golbat[] = INCBIN_U8("graphics/pokemon/icons/golbat_icon.4bpp"); -const u8 gMonFootprint_Golbat[] = INCBIN_U8("graphics/pokemon/footprints/golbat_footprint.1bpp"); - -const u32 gMonStillFrontPic_Oddish[] = INCBIN_U32("graphics/pokemon/front_pics/oddish_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Oddish[] = INCBIN_U32("graphics/pokemon/palettes/oddish_palette.gbapal.lz"); -const u32 gMonBackPic_Oddish[] = INCBIN_U32("graphics/pokemon/back_pics/oddish_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Oddish[] = INCBIN_U32("graphics/pokemon/palettes/oddish_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Oddish[] = INCBIN_U8("graphics/pokemon/icons/oddish_icon.4bpp"); -const u8 gMonFootprint_Oddish[] = INCBIN_U8("graphics/pokemon/footprints/oddish_footprint.1bpp"); - -const u32 gMonStillFrontPic_Gloom[] = INCBIN_U32("graphics/pokemon/front_pics/gloom_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Gloom[] = INCBIN_U32("graphics/pokemon/palettes/gloom_palette.gbapal.lz"); -const u32 gMonBackPic_Gloom[] = INCBIN_U32("graphics/pokemon/back_pics/gloom_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Gloom[] = INCBIN_U32("graphics/pokemon/palettes/gloom_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Gloom[] = INCBIN_U8("graphics/pokemon/icons/gloom_icon.4bpp"); -const u8 gMonFootprint_Gloom[] = INCBIN_U8("graphics/pokemon/footprints/gloom_footprint.1bpp"); - -const u32 gMonStillFrontPic_Vileplume[] = INCBIN_U32("graphics/pokemon/front_pics/vileplume_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/palettes/vileplume_palette.gbapal.lz"); -const u32 gMonBackPic_Vileplume[] = INCBIN_U32("graphics/pokemon/back_pics/vileplume_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/palettes/vileplume_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Vileplume[] = INCBIN_U8("graphics/pokemon/icons/vileplume_icon.4bpp"); -const u8 gMonFootprint_Vileplume[] = INCBIN_U8("graphics/pokemon/footprints/vileplume_footprint.1bpp"); - -const u32 gMonStillFrontPic_Paras[] = INCBIN_U32("graphics/pokemon/front_pics/paras_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Paras[] = INCBIN_U32("graphics/pokemon/palettes/paras_palette.gbapal.lz"); -const u32 gMonBackPic_Paras[] = INCBIN_U32("graphics/pokemon/back_pics/paras_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Paras[] = INCBIN_U32("graphics/pokemon/palettes/paras_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Paras[] = INCBIN_U8("graphics/pokemon/icons/paras_icon.4bpp"); -const u8 gMonFootprint_Paras[] = INCBIN_U8("graphics/pokemon/footprints/paras_footprint.1bpp"); - -const u32 gMonStillFrontPic_Parasect[] = INCBIN_U32("graphics/pokemon/front_pics/parasect_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Parasect[] = INCBIN_U32("graphics/pokemon/palettes/parasect_palette.gbapal.lz"); -const u32 gMonBackPic_Parasect[] = INCBIN_U32("graphics/pokemon/back_pics/parasect_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Parasect[] = INCBIN_U32("graphics/pokemon/palettes/parasect_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Parasect[] = INCBIN_U8("graphics/pokemon/icons/parasect_icon.4bpp"); -const u8 gMonFootprint_Parasect[] = INCBIN_U8("graphics/pokemon/footprints/parasect_footprint.1bpp"); - -const u32 gMonStillFrontPic_Venonat[] = INCBIN_U32("graphics/pokemon/front_pics/venonat_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Venonat[] = INCBIN_U32("graphics/pokemon/palettes/venonat_palette.gbapal.lz"); -const u32 gMonBackPic_Venonat[] = INCBIN_U32("graphics/pokemon/back_pics/venonat_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Venonat[] = INCBIN_U32("graphics/pokemon/palettes/venonat_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Venonat[] = INCBIN_U8("graphics/pokemon/icons/venonat_icon.4bpp"); -const u8 gMonFootprint_Venonat[] = INCBIN_U8("graphics/pokemon/footprints/venonat_footprint.1bpp"); - -const u32 gMonStillFrontPic_Venomoth[] = INCBIN_U32("graphics/pokemon/front_pics/venomoth_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/palettes/venomoth_palette.gbapal.lz"); -const u32 gMonBackPic_Venomoth[] = INCBIN_U32("graphics/pokemon/back_pics/venomoth_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/palettes/venomoth_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Venomoth[] = INCBIN_U8("graphics/pokemon/icons/venomoth_icon.4bpp"); -const u8 gMonFootprint_Venomoth[] = INCBIN_U8("graphics/pokemon/footprints/venomoth_footprint.1bpp"); - -const u32 gMonStillFrontPic_Diglett[] = INCBIN_U32("graphics/pokemon/front_pics/diglett_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Diglett[] = INCBIN_U32("graphics/pokemon/palettes/diglett_palette.gbapal.lz"); -const u32 gMonBackPic_Diglett[] = INCBIN_U32("graphics/pokemon/back_pics/diglett_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Diglett[] = INCBIN_U32("graphics/pokemon/palettes/diglett_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Diglett[] = INCBIN_U8("graphics/pokemon/icons/diglett_icon.4bpp"); -const u8 gMonFootprint_Diglett[] = INCBIN_U8("graphics/pokemon/footprints/diglett_footprint.1bpp"); - -const u32 gMonStillFrontPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/front_pics/dugtrio_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/palettes/dugtrio_palette.gbapal.lz"); -const u32 gMonBackPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/back_pics/dugtrio_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/palettes/dugtrio_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Dugtrio[] = INCBIN_U8("graphics/pokemon/icons/dugtrio_icon.4bpp"); -const u8 gMonFootprint_Dugtrio[] = INCBIN_U8("graphics/pokemon/footprints/dugtrio_footprint.1bpp"); - -const u32 gMonStillFrontPic_Meowth[] = INCBIN_U32("graphics/pokemon/front_pics/meowth_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Meowth[] = INCBIN_U32("graphics/pokemon/palettes/meowth_palette.gbapal.lz"); -const u32 gMonBackPic_Meowth[] = INCBIN_U32("graphics/pokemon/back_pics/meowth_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Meowth[] = INCBIN_U32("graphics/pokemon/palettes/meowth_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Meowth[] = INCBIN_U8("graphics/pokemon/icons/meowth_icon.4bpp"); -const u8 gMonFootprint_Meowth[] = INCBIN_U8("graphics/pokemon/footprints/meowth_footprint.1bpp"); - -const u32 gMonStillFrontPic_Persian[] = INCBIN_U32("graphics/pokemon/front_pics/persian_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Persian[] = INCBIN_U32("graphics/pokemon/palettes/persian_palette.gbapal.lz"); -const u32 gMonBackPic_Persian[] = INCBIN_U32("graphics/pokemon/back_pics/persian_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Persian[] = INCBIN_U32("graphics/pokemon/palettes/persian_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Persian[] = INCBIN_U8("graphics/pokemon/icons/persian_icon.4bpp"); -const u8 gMonFootprint_Persian[] = INCBIN_U8("graphics/pokemon/footprints/persian_footprint.1bpp"); - -const u32 gMonStillFrontPic_Psyduck[] = INCBIN_U32("graphics/pokemon/front_pics/psyduck_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/palettes/psyduck_palette.gbapal.lz"); -const u32 gMonBackPic_Psyduck[] = INCBIN_U32("graphics/pokemon/back_pics/psyduck_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/palettes/psyduck_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Psyduck[] = INCBIN_U8("graphics/pokemon/icons/psyduck_icon.4bpp"); -const u8 gMonFootprint_Psyduck[] = INCBIN_U8("graphics/pokemon/footprints/psyduck_footprint.1bpp"); - -const u32 gMonStillFrontPic_Golduck[] = INCBIN_U32("graphics/pokemon/front_pics/golduck_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Golduck[] = INCBIN_U32("graphics/pokemon/palettes/golduck_palette.gbapal.lz"); -const u32 gMonBackPic_Golduck[] = INCBIN_U32("graphics/pokemon/back_pics/golduck_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Golduck[] = INCBIN_U32("graphics/pokemon/palettes/golduck_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Golduck[] = INCBIN_U8("graphics/pokemon/icons/golduck_icon.4bpp"); -const u8 gMonFootprint_Golduck[] = INCBIN_U8("graphics/pokemon/footprints/golduck_footprint.1bpp"); - -const u32 gMonStillFrontPic_Mankey[] = INCBIN_U32("graphics/pokemon/front_pics/mankey_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Mankey[] = INCBIN_U32("graphics/pokemon/palettes/mankey_palette.gbapal.lz"); -const u32 gMonBackPic_Mankey[] = INCBIN_U32("graphics/pokemon/back_pics/mankey_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Mankey[] = INCBIN_U32("graphics/pokemon/palettes/mankey_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Mankey[] = INCBIN_U8("graphics/pokemon/icons/mankey_icon.4bpp"); -const u8 gMonFootprint_Mankey[] = INCBIN_U8("graphics/pokemon/footprints/mankey_footprint.1bpp"); - -const u32 gMonStillFrontPic_Primeape[] = INCBIN_U32("graphics/pokemon/front_pics/primeape_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Primeape[] = INCBIN_U32("graphics/pokemon/palettes/primeape_palette.gbapal.lz"); -const u32 gMonBackPic_Primeape[] = INCBIN_U32("graphics/pokemon/back_pics/primeape_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Primeape[] = INCBIN_U32("graphics/pokemon/palettes/primeape_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Primeape[] = INCBIN_U8("graphics/pokemon/icons/primeape_icon.4bpp"); -const u8 gMonFootprint_Primeape[] = INCBIN_U8("graphics/pokemon/footprints/primeape_footprint.1bpp"); - -const u32 gMonStillFrontPic_Growlithe[] = INCBIN_U32("graphics/pokemon/front_pics/growlithe_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/palettes/growlithe_palette.gbapal.lz"); -const u32 gMonBackPic_Growlithe[] = INCBIN_U32("graphics/pokemon/back_pics/growlithe_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/palettes/growlithe_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Growlithe[] = INCBIN_U8("graphics/pokemon/icons/growlithe_icon.4bpp"); -const u8 gMonFootprint_Growlithe[] = INCBIN_U8("graphics/pokemon/footprints/growlithe_footprint.1bpp"); - -const u32 gMonStillFrontPic_Arcanine[] = INCBIN_U32("graphics/pokemon/front_pics/arcanine_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/palettes/arcanine_palette.gbapal.lz"); -const u32 gMonBackPic_Arcanine[] = INCBIN_U32("graphics/pokemon/back_pics/arcanine_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/palettes/arcanine_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Arcanine[] = INCBIN_U8("graphics/pokemon/icons/arcanine_icon.4bpp"); -const u8 gMonFootprint_Arcanine[] = INCBIN_U8("graphics/pokemon/footprints/arcanine_footprint.1bpp"); - -const u32 gMonStillFrontPic_Poliwag[] = INCBIN_U32("graphics/pokemon/front_pics/poliwag_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/palettes/poliwag_palette.gbapal.lz"); -const u32 gMonBackPic_Poliwag[] = INCBIN_U32("graphics/pokemon/back_pics/poliwag_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/palettes/poliwag_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Poliwag[] = INCBIN_U8("graphics/pokemon/icons/poliwag_icon.4bpp"); -const u8 gMonFootprint_Poliwag[] = INCBIN_U8("graphics/pokemon/footprints/poliwag_footprint.1bpp"); - -const u32 gMonStillFrontPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/front_pics/poliwhirl_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/palettes/poliwhirl_palette.gbapal.lz"); -const u32 gMonBackPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/back_pics/poliwhirl_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/palettes/poliwhirl_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Poliwhirl[] = INCBIN_U8("graphics/pokemon/icons/poliwhirl_icon.4bpp"); -const u8 gMonFootprint_Poliwhirl[] = INCBIN_U8("graphics/pokemon/footprints/poliwhirl_footprint.1bpp"); - -const u32 gMonStillFrontPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/front_pics/poliwrath_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/palettes/poliwrath_palette.gbapal.lz"); -const u32 gMonBackPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/back_pics/poliwrath_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/palettes/poliwrath_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Poliwrath[] = INCBIN_U8("graphics/pokemon/icons/poliwrath_icon.4bpp"); -const u8 gMonFootprint_Poliwrath[] = INCBIN_U8("graphics/pokemon/footprints/poliwrath_footprint.1bpp"); - -const u32 gMonStillFrontPic_Abra[] = INCBIN_U32("graphics/pokemon/front_pics/abra_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Abra[] = INCBIN_U32("graphics/pokemon/palettes/abra_palette.gbapal.lz"); -const u32 gMonBackPic_Abra[] = INCBIN_U32("graphics/pokemon/back_pics/abra_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Abra[] = INCBIN_U32("graphics/pokemon/palettes/abra_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Abra[] = INCBIN_U8("graphics/pokemon/icons/abra_icon.4bpp"); -const u8 gMonFootprint_Abra[] = INCBIN_U8("graphics/pokemon/footprints/abra_footprint.1bpp"); - -const u32 gMonStillFrontPic_Kadabra[] = INCBIN_U32("graphics/pokemon/front_pics/kadabra_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/palettes/kadabra_palette.gbapal.lz"); -const u32 gMonBackPic_Kadabra[] = INCBIN_U32("graphics/pokemon/back_pics/kadabra_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/palettes/kadabra_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Kadabra[] = INCBIN_U8("graphics/pokemon/icons/kadabra_icon.4bpp"); -const u8 gMonFootprint_Kadabra[] = INCBIN_U8("graphics/pokemon/footprints/kadabra_footprint.1bpp"); - -const u32 gMonStillFrontPic_Alakazam[] = INCBIN_U32("graphics/pokemon/front_pics/alakazam_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/palettes/alakazam_palette.gbapal.lz"); -const u32 gMonBackPic_Alakazam[] = INCBIN_U32("graphics/pokemon/back_pics/alakazam_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/palettes/alakazam_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Alakazam[] = INCBIN_U8("graphics/pokemon/icons/alakazam_icon.4bpp"); -const u8 gMonFootprint_Alakazam[] = INCBIN_U8("graphics/pokemon/footprints/alakazam_footprint.1bpp"); - -const u32 gMonStillFrontPic_Machop[] = INCBIN_U32("graphics/pokemon/front_pics/machop_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Machop[] = INCBIN_U32("graphics/pokemon/palettes/machop_palette.gbapal.lz"); -const u32 gMonBackPic_Machop[] = INCBIN_U32("graphics/pokemon/back_pics/machop_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Machop[] = INCBIN_U32("graphics/pokemon/palettes/machop_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Machop[] = INCBIN_U8("graphics/pokemon/icons/machop_icon.4bpp"); -const u8 gMonFootprint_Machop[] = INCBIN_U8("graphics/pokemon/footprints/machop_footprint.1bpp"); - -const u32 gMonStillFrontPic_Machoke[] = INCBIN_U32("graphics/pokemon/front_pics/machoke_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Machoke[] = INCBIN_U32("graphics/pokemon/palettes/machoke_palette.gbapal.lz"); -const u32 gMonBackPic_Machoke[] = INCBIN_U32("graphics/pokemon/back_pics/machoke_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Machoke[] = INCBIN_U32("graphics/pokemon/palettes/machoke_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Machoke[] = INCBIN_U8("graphics/pokemon/icons/machoke_icon.4bpp"); -const u8 gMonFootprint_Machoke[] = INCBIN_U8("graphics/pokemon/footprints/machoke_footprint.1bpp"); - -const u32 gMonStillFrontPic_Machamp[] = INCBIN_U32("graphics/pokemon/front_pics/machamp_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Machamp[] = INCBIN_U32("graphics/pokemon/palettes/machamp_palette.gbapal.lz"); -const u32 gMonBackPic_Machamp[] = INCBIN_U32("graphics/pokemon/back_pics/machamp_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Machamp[] = INCBIN_U32("graphics/pokemon/palettes/machamp_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Machamp[] = INCBIN_U8("graphics/pokemon/icons/machamp_icon.4bpp"); -const u8 gMonFootprint_Machamp[] = INCBIN_U8("graphics/pokemon/footprints/machamp_footprint.1bpp"); - -const u32 gMonStillFrontPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/front_pics/bellsprout_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/palettes/bellsprout_palette.gbapal.lz"); -const u32 gMonBackPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/back_pics/bellsprout_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/palettes/bellsprout_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Bellsprout[] = INCBIN_U8("graphics/pokemon/icons/bellsprout_icon.4bpp"); -const u8 gMonFootprint_Bellsprout[] = INCBIN_U8("graphics/pokemon/footprints/bellsprout_footprint.1bpp"); - -const u32 gMonStillFrontPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/front_pics/weepinbell_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/palettes/weepinbell_palette.gbapal.lz"); -const u32 gMonBackPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/back_pics/weepinbell_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/palettes/weepinbell_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Weepinbell[] = INCBIN_U8("graphics/pokemon/icons/weepinbell_icon.4bpp"); -const u8 gMonFootprint_Weepinbell[] = INCBIN_U8("graphics/pokemon/footprints/weepinbell_footprint.1bpp"); - -const u32 gMonStillFrontPic_Victreebel[] = INCBIN_U32("graphics/pokemon/front_pics/victreebel_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/palettes/victreebel_palette.gbapal.lz"); -const u32 gMonBackPic_Victreebel[] = INCBIN_U32("graphics/pokemon/back_pics/victreebel_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/palettes/victreebel_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Victreebel[] = INCBIN_U8("graphics/pokemon/icons/victreebel_icon.4bpp"); -const u8 gMonFootprint_Victreebel[] = INCBIN_U8("graphics/pokemon/footprints/victreebel_footprint.1bpp"); - -const u32 gMonStillFrontPic_Tentacool[] = INCBIN_U32("graphics/pokemon/front_pics/tentacool_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/palettes/tentacool_palette.gbapal.lz"); -const u32 gMonBackPic_Tentacool[] = INCBIN_U32("graphics/pokemon/back_pics/tentacool_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/palettes/tentacool_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Tentacool[] = INCBIN_U8("graphics/pokemon/icons/tentacool_icon.4bpp"); -const u8 gMonFootprint_Tentacool[] = INCBIN_U8("graphics/pokemon/footprints/tentacool_footprint.1bpp"); - -const u32 gMonStillFrontPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/front_pics/tentacruel_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/palettes/tentacruel_palette.gbapal.lz"); -const u32 gMonBackPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/back_pics/tentacruel_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/palettes/tentacruel_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Tentacruel[] = INCBIN_U8("graphics/pokemon/icons/tentacruel_icon.4bpp"); -const u8 gMonFootprint_Tentacruel[] = INCBIN_U8("graphics/pokemon/footprints/tentacruel_footprint.1bpp"); - -const u32 gMonStillFrontPic_Geodude[] = INCBIN_U32("graphics/pokemon/front_pics/geodude_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Geodude[] = INCBIN_U32("graphics/pokemon/palettes/geodude_palette.gbapal.lz"); -const u32 gMonBackPic_Geodude[] = INCBIN_U32("graphics/pokemon/back_pics/geodude_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Geodude[] = INCBIN_U32("graphics/pokemon/palettes/geodude_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Geodude[] = INCBIN_U8("graphics/pokemon/icons/geodude_icon.4bpp"); -const u8 gMonFootprint_Geodude[] = INCBIN_U8("graphics/pokemon/footprints/geodude_footprint.1bpp"); - -const u32 gMonStillFrontPic_Graveler[] = INCBIN_U32("graphics/pokemon/front_pics/graveler_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Graveler[] = INCBIN_U32("graphics/pokemon/palettes/graveler_palette.gbapal.lz"); -const u32 gMonBackPic_Graveler[] = INCBIN_U32("graphics/pokemon/back_pics/graveler_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Graveler[] = INCBIN_U32("graphics/pokemon/palettes/graveler_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Graveler[] = INCBIN_U8("graphics/pokemon/icons/graveler_icon.4bpp"); -const u8 gMonFootprint_Graveler[] = INCBIN_U8("graphics/pokemon/footprints/graveler_footprint.1bpp"); - -const u32 gMonStillFrontPic_Golem[] = INCBIN_U32("graphics/pokemon/front_pics/golem_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Golem[] = INCBIN_U32("graphics/pokemon/palettes/golem_palette.gbapal.lz"); -const u32 gMonBackPic_Golem[] = INCBIN_U32("graphics/pokemon/back_pics/golem_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Golem[] = INCBIN_U32("graphics/pokemon/palettes/golem_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Golem[] = INCBIN_U8("graphics/pokemon/icons/golem_icon.4bpp"); -const u8 gMonFootprint_Golem[] = INCBIN_U8("graphics/pokemon/footprints/golem_footprint.1bpp"); - -const u32 gMonStillFrontPic_Ponyta[] = INCBIN_U32("graphics/pokemon/front_pics/ponyta_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/palettes/ponyta_palette.gbapal.lz"); -const u32 gMonBackPic_Ponyta[] = INCBIN_U32("graphics/pokemon/back_pics/ponyta_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/palettes/ponyta_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Ponyta[] = INCBIN_U8("graphics/pokemon/icons/ponyta_icon.4bpp"); -const u8 gMonFootprint_Ponyta[] = INCBIN_U8("graphics/pokemon/footprints/ponyta_footprint.1bpp"); - -const u32 gMonStillFrontPic_Rapidash[] = INCBIN_U32("graphics/pokemon/front_pics/rapidash_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/palettes/rapidash_palette.gbapal.lz"); -const u32 gMonBackPic_Rapidash[] = INCBIN_U32("graphics/pokemon/back_pics/rapidash_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/palettes/rapidash_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Rapidash[] = INCBIN_U8("graphics/pokemon/icons/rapidash_icon.4bpp"); -const u8 gMonFootprint_Rapidash[] = INCBIN_U8("graphics/pokemon/footprints/rapidash_footprint.1bpp"); - -const u32 gMonStillFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/front_pics/slowpoke_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/palettes/slowpoke_palette.gbapal.lz"); -const u32 gMonBackPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/back_pics/slowpoke_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/palettes/slowpoke_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Slowpoke[] = INCBIN_U8("graphics/pokemon/icons/slowpoke_icon.4bpp"); -const u8 gMonFootprint_Slowpoke[] = INCBIN_U8("graphics/pokemon/footprints/slowpoke_footprint.1bpp"); - -const u32 gMonStillFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/front_pics/slowbro_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/palettes/slowbro_palette.gbapal.lz"); -const u32 gMonBackPic_Slowbro[] = INCBIN_U32("graphics/pokemon/back_pics/slowbro_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/palettes/slowbro_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Slowbro[] = INCBIN_U8("graphics/pokemon/icons/slowbro_icon.4bpp"); -const u8 gMonFootprint_Slowbro[] = INCBIN_U8("graphics/pokemon/footprints/slowbro_footprint.1bpp"); - -const u32 gMonStillFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/front_pics/magnemite_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/palettes/magnemite_palette.gbapal.lz"); -const u32 gMonBackPic_Magnemite[] = INCBIN_U32("graphics/pokemon/back_pics/magnemite_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/palettes/magnemite_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Magnemite[] = INCBIN_U8("graphics/pokemon/icons/magnemite_icon.4bpp"); -const u8 gMonFootprint_Magnemite[] = INCBIN_U8("graphics/pokemon/footprints/magnemite_footprint.1bpp"); - -const u32 gMonStillFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/front_pics/magneton_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Magneton[] = INCBIN_U32("graphics/pokemon/palettes/magneton_palette.gbapal.lz"); -const u32 gMonBackPic_Magneton[] = INCBIN_U32("graphics/pokemon/back_pics/magneton_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Magneton[] = INCBIN_U32("graphics/pokemon/palettes/magneton_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Magneton[] = INCBIN_U8("graphics/pokemon/icons/magneton_icon.4bpp"); -const u8 gMonFootprint_Magneton[] = INCBIN_U8("graphics/pokemon/footprints/magneton_footprint.1bpp"); - -const u32 gMonStillFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/front_pics/farfetch_d_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/palettes/farfetch_d_palette.gbapal.lz"); -const u32 gMonBackPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/back_pics/farfetch_d_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/palettes/farfetch_d_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Farfetchd[] = INCBIN_U8("graphics/pokemon/icons/farfetch_d_icon.4bpp"); -const u8 gMonFootprint_Farfetchd[] = INCBIN_U8("graphics/pokemon/footprints/farfetch_d_footprint.1bpp"); - -const u32 gMonStillFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/front_pics/doduo_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Doduo[] = INCBIN_U32("graphics/pokemon/palettes/doduo_palette.gbapal.lz"); -const u32 gMonBackPic_Doduo[] = INCBIN_U32("graphics/pokemon/back_pics/doduo_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Doduo[] = INCBIN_U32("graphics/pokemon/palettes/doduo_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Doduo[] = INCBIN_U8("graphics/pokemon/icons/doduo_icon.4bpp"); -const u8 gMonFootprint_Doduo[] = INCBIN_U8("graphics/pokemon/footprints/doduo_footprint.1bpp"); - -const u32 gMonStillFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/front_pics/dodrio_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/palettes/dodrio_palette.gbapal.lz"); -const u32 gMonBackPic_Dodrio[] = INCBIN_U32("graphics/pokemon/back_pics/dodrio_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/palettes/dodrio_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Dodrio[] = INCBIN_U8("graphics/pokemon/icons/dodrio_icon.4bpp"); -const u8 gMonFootprint_Dodrio[] = INCBIN_U8("graphics/pokemon/footprints/dodrio_footprint.1bpp"); - -const u32 gMonStillFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/front_pics/seel_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Seel[] = INCBIN_U32("graphics/pokemon/palettes/seel_palette.gbapal.lz"); -const u32 gMonBackPic_Seel[] = INCBIN_U32("graphics/pokemon/back_pics/seel_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Seel[] = INCBIN_U32("graphics/pokemon/palettes/seel_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Seel[] = INCBIN_U8("graphics/pokemon/icons/seel_icon.4bpp"); -const u8 gMonFootprint_Seel[] = INCBIN_U8("graphics/pokemon/footprints/seel_footprint.1bpp"); - -const u32 gMonStillFrontPic_Dewgong[] = INCBIN_U32("graphics/pokemon/front_pics/dewgong_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/palettes/dewgong_palette.gbapal.lz"); -const u32 gMonBackPic_Dewgong[] = INCBIN_U32("graphics/pokemon/back_pics/dewgong_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/palettes/dewgong_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Dewgong[] = INCBIN_U8("graphics/pokemon/icons/dewgong_icon.4bpp"); -const u8 gMonFootprint_Dewgong[] = INCBIN_U8("graphics/pokemon/footprints/dewgong_footprint.1bpp"); - -const u32 gMonStillFrontPic_Grimer[] = INCBIN_U32("graphics/pokemon/front_pics/grimer_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Grimer[] = INCBIN_U32("graphics/pokemon/palettes/grimer_palette.gbapal.lz"); -const u32 gMonBackPic_Grimer[] = INCBIN_U32("graphics/pokemon/back_pics/grimer_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Grimer[] = INCBIN_U32("graphics/pokemon/palettes/grimer_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Grimer[] = INCBIN_U8("graphics/pokemon/icons/grimer_icon.4bpp"); -const u8 gMonFootprint_Grimer[] = INCBIN_U8("graphics/pokemon/footprints/grimer_footprint.1bpp"); - -const u32 gMonStillFrontPic_Muk[] = INCBIN_U32("graphics/pokemon/front_pics/muk_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Muk[] = INCBIN_U32("graphics/pokemon/palettes/muk_palette.gbapal.lz"); -const u32 gMonBackPic_Muk[] = INCBIN_U32("graphics/pokemon/back_pics/muk_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Muk[] = INCBIN_U32("graphics/pokemon/palettes/muk_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Muk[] = INCBIN_U8("graphics/pokemon/icons/muk_icon.4bpp"); -const u8 gMonFootprint_Muk[] = INCBIN_U8("graphics/pokemon/footprints/muk_footprint.1bpp"); - -const u32 gMonStillFrontPic_Shellder[] = INCBIN_U32("graphics/pokemon/front_pics/shellder_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Shellder[] = INCBIN_U32("graphics/pokemon/palettes/shellder_palette.gbapal.lz"); -const u32 gMonBackPic_Shellder[] = INCBIN_U32("graphics/pokemon/back_pics/shellder_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Shellder[] = INCBIN_U32("graphics/pokemon/palettes/shellder_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Shellder[] = INCBIN_U8("graphics/pokemon/icons/shellder_icon.4bpp"); -const u8 gMonFootprint_Shellder[] = INCBIN_U8("graphics/pokemon/footprints/shellder_footprint.1bpp"); - -const u32 gMonStillFrontPic_Cloyster[] = INCBIN_U32("graphics/pokemon/front_pics/cloyster_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/palettes/cloyster_palette.gbapal.lz"); -const u32 gMonBackPic_Cloyster[] = INCBIN_U32("graphics/pokemon/back_pics/cloyster_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/palettes/cloyster_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Cloyster[] = INCBIN_U8("graphics/pokemon/icons/cloyster_icon.4bpp"); -const u8 gMonFootprint_Cloyster[] = INCBIN_U8("graphics/pokemon/footprints/cloyster_footprint.1bpp"); - -const u32 gMonStillFrontPic_Gastly[] = INCBIN_U32("graphics/pokemon/front_pics/gastly_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Gastly[] = INCBIN_U32("graphics/pokemon/palettes/gastly_palette.gbapal.lz"); -const u32 gMonBackPic_Gastly[] = INCBIN_U32("graphics/pokemon/back_pics/gastly_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Gastly[] = INCBIN_U32("graphics/pokemon/palettes/gastly_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Gastly[] = INCBIN_U8("graphics/pokemon/icons/gastly_icon.4bpp"); -const u8 gMonFootprint_Gastly[] = INCBIN_U8("graphics/pokemon/footprints/gastly_footprint.1bpp"); - -const u32 gMonStillFrontPic_Haunter[] = INCBIN_U32("graphics/pokemon/front_pics/haunter_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Haunter[] = INCBIN_U32("graphics/pokemon/palettes/haunter_palette.gbapal.lz"); -const u32 gMonBackPic_Haunter[] = INCBIN_U32("graphics/pokemon/back_pics/haunter_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Haunter[] = INCBIN_U32("graphics/pokemon/palettes/haunter_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Haunter[] = INCBIN_U8("graphics/pokemon/icons/haunter_icon.4bpp"); -const u8 gMonFootprint_Haunter[] = INCBIN_U8("graphics/pokemon/footprints/haunter_footprint.1bpp"); - -const u32 gMonStillFrontPic_Gengar[] = INCBIN_U32("graphics/pokemon/front_pics/gengar_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Gengar[] = INCBIN_U32("graphics/pokemon/palettes/gengar_palette.gbapal.lz"); -const u32 gMonBackPic_Gengar[] = INCBIN_U32("graphics/pokemon/back_pics/gengar_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Gengar[] = INCBIN_U32("graphics/pokemon/palettes/gengar_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Gengar[] = INCBIN_U8("graphics/pokemon/icons/gengar_icon.4bpp"); -const u8 gMonFootprint_Gengar[] = INCBIN_U8("graphics/pokemon/footprints/gengar_footprint.1bpp"); - -const u32 gMonStillFrontPic_Onix[] = INCBIN_U32("graphics/pokemon/front_pics/onix_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Onix[] = INCBIN_U32("graphics/pokemon/palettes/onix_palette.gbapal.lz"); -const u32 gMonBackPic_Onix[] = INCBIN_U32("graphics/pokemon/back_pics/onix_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Onix[] = INCBIN_U32("graphics/pokemon/palettes/onix_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Onix[] = INCBIN_U8("graphics/pokemon/icons/onix_icon.4bpp"); -const u8 gMonFootprint_Onix[] = INCBIN_U8("graphics/pokemon/footprints/onix_footprint.1bpp"); - -const u32 gMonStillFrontPic_Drowzee[] = INCBIN_U32("graphics/pokemon/front_pics/drowzee_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/palettes/drowzee_palette.gbapal.lz"); -const u32 gMonBackPic_Drowzee[] = INCBIN_U32("graphics/pokemon/back_pics/drowzee_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/palettes/drowzee_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Drowzee[] = INCBIN_U8("graphics/pokemon/icons/drowzee_icon.4bpp"); -const u8 gMonFootprint_Drowzee[] = INCBIN_U8("graphics/pokemon/footprints/drowzee_footprint.1bpp"); - -const u32 gMonStillFrontPic_Hypno[] = INCBIN_U32("graphics/pokemon/front_pics/hypno_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Hypno[] = INCBIN_U32("graphics/pokemon/palettes/hypno_palette.gbapal.lz"); -const u32 gMonBackPic_Hypno[] = INCBIN_U32("graphics/pokemon/back_pics/hypno_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Hypno[] = INCBIN_U32("graphics/pokemon/palettes/hypno_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Hypno[] = INCBIN_U8("graphics/pokemon/icons/hypno_icon.4bpp"); -const u8 gMonFootprint_Hypno[] = INCBIN_U8("graphics/pokemon/footprints/hypno_footprint.1bpp"); - -const u32 gMonStillFrontPic_Krabby[] = INCBIN_U32("graphics/pokemon/front_pics/krabby_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Krabby[] = INCBIN_U32("graphics/pokemon/palettes/krabby_palette.gbapal.lz"); -const u32 gMonBackPic_Krabby[] = INCBIN_U32("graphics/pokemon/back_pics/krabby_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Krabby[] = INCBIN_U32("graphics/pokemon/palettes/krabby_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Krabby[] = INCBIN_U8("graphics/pokemon/icons/krabby_icon.4bpp"); -const u8 gMonFootprint_Krabby[] = INCBIN_U8("graphics/pokemon/footprints/krabby_footprint.1bpp"); - -const u32 gMonStillFrontPic_Kingler[] = INCBIN_U32("graphics/pokemon/front_pics/kingler_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Kingler[] = INCBIN_U32("graphics/pokemon/palettes/kingler_palette.gbapal.lz"); -const u32 gMonBackPic_Kingler[] = INCBIN_U32("graphics/pokemon/back_pics/kingler_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Kingler[] = INCBIN_U32("graphics/pokemon/palettes/kingler_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Kingler[] = INCBIN_U8("graphics/pokemon/icons/kingler_icon.4bpp"); -const u8 gMonFootprint_Kingler[] = INCBIN_U8("graphics/pokemon/footprints/kingler_footprint.1bpp"); - -const u32 gMonStillFrontPic_Voltorb[] = INCBIN_U32("graphics/pokemon/front_pics/voltorb_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/palettes/voltorb_palette.gbapal.lz"); -const u32 gMonBackPic_Voltorb[] = INCBIN_U32("graphics/pokemon/back_pics/voltorb_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/palettes/voltorb_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Voltorb[] = INCBIN_U8("graphics/pokemon/icons/voltorb_icon.4bpp"); -const u8 gMonFootprint_Voltorb[] = INCBIN_U8("graphics/pokemon/footprints/voltorb_footprint.1bpp"); - -const u32 gMonStillFrontPic_Electrode[] = INCBIN_U32("graphics/pokemon/front_pics/electrode_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Electrode[] = INCBIN_U32("graphics/pokemon/palettes/electrode_palette.gbapal.lz"); -const u32 gMonBackPic_Electrode[] = INCBIN_U32("graphics/pokemon/back_pics/electrode_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Electrode[] = INCBIN_U32("graphics/pokemon/palettes/electrode_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Electrode[] = INCBIN_U8("graphics/pokemon/icons/electrode_icon.4bpp"); -const u8 gMonFootprint_Electrode[] = INCBIN_U8("graphics/pokemon/footprints/electrode_footprint.1bpp"); - -const u32 gMonStillFrontPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/front_pics/exeggcute_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/palettes/exeggcute_palette.gbapal.lz"); -const u32 gMonBackPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/back_pics/exeggcute_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/palettes/exeggcute_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Exeggcute[] = INCBIN_U8("graphics/pokemon/icons/exeggcute_icon.4bpp"); -const u8 gMonFootprint_Exeggcute[] = INCBIN_U8("graphics/pokemon/footprints/exeggcute_footprint.1bpp"); - -const u32 gMonStillFrontPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/front_pics/exeggutor_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/palettes/exeggutor_palette.gbapal.lz"); -const u32 gMonBackPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/back_pics/exeggutor_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/palettes/exeggutor_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Exeggutor[] = INCBIN_U8("graphics/pokemon/icons/exeggutor_icon.4bpp"); -const u8 gMonFootprint_Exeggutor[] = INCBIN_U8("graphics/pokemon/footprints/exeggutor_footprint.1bpp"); - -const u32 gMonStillFrontPic_Cubone[] = INCBIN_U32("graphics/pokemon/front_pics/cubone_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Cubone[] = INCBIN_U32("graphics/pokemon/palettes/cubone_palette.gbapal.lz"); -const u32 gMonBackPic_Cubone[] = INCBIN_U32("graphics/pokemon/back_pics/cubone_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Cubone[] = INCBIN_U32("graphics/pokemon/palettes/cubone_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Cubone[] = INCBIN_U8("graphics/pokemon/icons/cubone_icon.4bpp"); -const u8 gMonFootprint_Cubone[] = INCBIN_U8("graphics/pokemon/footprints/cubone_footprint.1bpp"); - -const u32 gMonStillFrontPic_Marowak[] = INCBIN_U32("graphics/pokemon/front_pics/marowak_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Marowak[] = INCBIN_U32("graphics/pokemon/palettes/marowak_palette.gbapal.lz"); -const u32 gMonBackPic_Marowak[] = INCBIN_U32("graphics/pokemon/back_pics/marowak_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Marowak[] = INCBIN_U32("graphics/pokemon/palettes/marowak_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Marowak[] = INCBIN_U8("graphics/pokemon/icons/marowak_icon.4bpp"); -const u8 gMonFootprint_Marowak[] = INCBIN_U8("graphics/pokemon/footprints/marowak_footprint.1bpp"); - -const u32 gMonStillFrontPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/front_pics/hitmonlee_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/palettes/hitmonlee_palette.gbapal.lz"); -const u32 gMonBackPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/back_pics/hitmonlee_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/palettes/hitmonlee_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Hitmonlee[] = INCBIN_U8("graphics/pokemon/icons/hitmonlee_icon.4bpp"); -const u8 gMonFootprint_Hitmonlee[] = INCBIN_U8("graphics/pokemon/footprints/hitmonlee_footprint.1bpp"); - -const u32 gMonStillFrontPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/front_pics/hitmonchan_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/palettes/hitmonchan_palette.gbapal.lz"); -const u32 gMonBackPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/back_pics/hitmonchan_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/palettes/hitmonchan_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Hitmonchan[] = INCBIN_U8("graphics/pokemon/icons/hitmonchan_icon.4bpp"); -const u8 gMonFootprint_Hitmonchan[] = INCBIN_U8("graphics/pokemon/footprints/hitmonchan_footprint.1bpp"); - -const u32 gMonStillFrontPic_Lickitung[] = INCBIN_U32("graphics/pokemon/front_pics/lickitung_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/palettes/lickitung_palette.gbapal.lz"); -const u32 gMonBackPic_Lickitung[] = INCBIN_U32("graphics/pokemon/back_pics/lickitung_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/palettes/lickitung_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Lickitung[] = INCBIN_U8("graphics/pokemon/icons/lickitung_icon.4bpp"); -const u8 gMonFootprint_Lickitung[] = INCBIN_U8("graphics/pokemon/footprints/lickitung_footprint.1bpp"); - -const u32 gMonStillFrontPic_Koffing[] = INCBIN_U32("graphics/pokemon/front_pics/koffing_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Koffing[] = INCBIN_U32("graphics/pokemon/palettes/koffing_palette.gbapal.lz"); -const u32 gMonBackPic_Koffing[] = INCBIN_U32("graphics/pokemon/back_pics/koffing_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Koffing[] = INCBIN_U32("graphics/pokemon/palettes/koffing_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Koffing[] = INCBIN_U8("graphics/pokemon/icons/koffing_icon.4bpp"); -const u8 gMonFootprint_Koffing[] = INCBIN_U8("graphics/pokemon/footprints/koffing_footprint.1bpp"); - -const u32 gMonStillFrontPic_Weezing[] = INCBIN_U32("graphics/pokemon/front_pics/weezing_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Weezing[] = INCBIN_U32("graphics/pokemon/palettes/weezing_palette.gbapal.lz"); -const u32 gMonBackPic_Weezing[] = INCBIN_U32("graphics/pokemon/back_pics/weezing_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Weezing[] = INCBIN_U32("graphics/pokemon/palettes/weezing_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Weezing[] = INCBIN_U8("graphics/pokemon/icons/weezing_icon.4bpp"); -const u8 gMonFootprint_Weezing[] = INCBIN_U8("graphics/pokemon/footprints/weezing_footprint.1bpp"); - -const u32 gMonStillFrontPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/front_pics/rhyhorn_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/palettes/rhyhorn_palette.gbapal.lz"); -const u32 gMonBackPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/back_pics/rhyhorn_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/palettes/rhyhorn_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Rhyhorn[] = INCBIN_U8("graphics/pokemon/icons/rhyhorn_icon.4bpp"); -const u8 gMonFootprint_Rhyhorn[] = INCBIN_U8("graphics/pokemon/footprints/rhyhorn_footprint.1bpp"); - -const u32 gMonStillFrontPic_Rhydon[] = INCBIN_U32("graphics/pokemon/front_pics/rhydon_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/palettes/rhydon_palette.gbapal.lz"); -const u32 gMonBackPic_Rhydon[] = INCBIN_U32("graphics/pokemon/back_pics/rhydon_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/palettes/rhydon_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Rhydon[] = INCBIN_U8("graphics/pokemon/icons/rhydon_icon.4bpp"); -const u8 gMonFootprint_Rhydon[] = INCBIN_U8("graphics/pokemon/footprints/rhydon_footprint.1bpp"); - -const u32 gMonStillFrontPic_Chansey[] = INCBIN_U32("graphics/pokemon/front_pics/chansey_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Chansey[] = INCBIN_U32("graphics/pokemon/palettes/chansey_palette.gbapal.lz"); -const u32 gMonBackPic_Chansey[] = INCBIN_U32("graphics/pokemon/back_pics/chansey_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Chansey[] = INCBIN_U32("graphics/pokemon/palettes/chansey_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Chansey[] = INCBIN_U8("graphics/pokemon/icons/chansey_icon.4bpp"); -const u8 gMonFootprint_Chansey[] = INCBIN_U8("graphics/pokemon/footprints/chansey_footprint.1bpp"); - -const u32 gMonStillFrontPic_Tangela[] = INCBIN_U32("graphics/pokemon/front_pics/tangela_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Tangela[] = INCBIN_U32("graphics/pokemon/palettes/tangela_palette.gbapal.lz"); -const u32 gMonBackPic_Tangela[] = INCBIN_U32("graphics/pokemon/back_pics/tangela_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Tangela[] = INCBIN_U32("graphics/pokemon/palettes/tangela_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Tangela[] = INCBIN_U8("graphics/pokemon/icons/tangela_icon.4bpp"); -const u8 gMonFootprint_Tangela[] = INCBIN_U8("graphics/pokemon/footprints/tangela_footprint.1bpp"); - -const u32 gMonStillFrontPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/front_pics/kangaskhan_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/palettes/kangaskhan_palette.gbapal.lz"); -const u32 gMonBackPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/back_pics/kangaskhan_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/palettes/kangaskhan_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Kangaskhan[] = INCBIN_U8("graphics/pokemon/icons/kangaskhan_icon.4bpp"); -const u8 gMonFootprint_Kangaskhan[] = INCBIN_U8("graphics/pokemon/footprints/kangaskhan_footprint.1bpp"); - -const u32 gMonStillFrontPic_Horsea[] = INCBIN_U32("graphics/pokemon/front_pics/horsea_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Horsea[] = INCBIN_U32("graphics/pokemon/palettes/horsea_palette.gbapal.lz"); -const u32 gMonBackPic_Horsea[] = INCBIN_U32("graphics/pokemon/back_pics/horsea_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Horsea[] = INCBIN_U32("graphics/pokemon/palettes/horsea_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Horsea[] = INCBIN_U8("graphics/pokemon/icons/horsea_icon.4bpp"); -const u8 gMonFootprint_Horsea[] = INCBIN_U8("graphics/pokemon/footprints/horsea_footprint.1bpp"); - -const u32 gMonStillFrontPic_Seadra[] = INCBIN_U32("graphics/pokemon/front_pics/seadra_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Seadra[] = INCBIN_U32("graphics/pokemon/palettes/seadra_palette.gbapal.lz"); -const u32 gMonBackPic_Seadra[] = INCBIN_U32("graphics/pokemon/back_pics/seadra_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Seadra[] = INCBIN_U32("graphics/pokemon/palettes/seadra_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Seadra[] = INCBIN_U8("graphics/pokemon/icons/seadra_icon.4bpp"); -const u8 gMonFootprint_Seadra[] = INCBIN_U8("graphics/pokemon/footprints/seadra_footprint.1bpp"); - -const u32 gMonStillFrontPic_Goldeen[] = INCBIN_U32("graphics/pokemon/front_pics/goldeen_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/palettes/goldeen_palette.gbapal.lz"); -const u32 gMonBackPic_Goldeen[] = INCBIN_U32("graphics/pokemon/back_pics/goldeen_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/palettes/goldeen_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Goldeen[] = INCBIN_U8("graphics/pokemon/icons/goldeen_icon.4bpp"); -const u8 gMonFootprint_Goldeen[] = INCBIN_U8("graphics/pokemon/footprints/goldeen_footprint.1bpp"); - -const u32 gMonStillFrontPic_Seaking[] = INCBIN_U32("graphics/pokemon/front_pics/seaking_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Seaking[] = INCBIN_U32("graphics/pokemon/palettes/seaking_palette.gbapal.lz"); -const u32 gMonBackPic_Seaking[] = INCBIN_U32("graphics/pokemon/back_pics/seaking_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Seaking[] = INCBIN_U32("graphics/pokemon/palettes/seaking_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Seaking[] = INCBIN_U8("graphics/pokemon/icons/seaking_icon.4bpp"); -const u8 gMonFootprint_Seaking[] = INCBIN_U8("graphics/pokemon/footprints/seaking_footprint.1bpp"); - -const u32 gMonStillFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/front_pics/staryu_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Staryu[] = INCBIN_U32("graphics/pokemon/palettes/staryu_palette.gbapal.lz"); -const u32 gMonBackPic_Staryu[] = INCBIN_U32("graphics/pokemon/back_pics/staryu_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Staryu[] = INCBIN_U32("graphics/pokemon/palettes/staryu_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Staryu[] = INCBIN_U8("graphics/pokemon/icons/staryu_icon.4bpp"); -const u8 gMonFootprint_Staryu[] = INCBIN_U8("graphics/pokemon/footprints/staryu_footprint.1bpp"); - -const u32 gMonStillFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/front_pics/starmie_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Starmie[] = INCBIN_U32("graphics/pokemon/palettes/starmie_palette.gbapal.lz"); -const u32 gMonBackPic_Starmie[] = INCBIN_U32("graphics/pokemon/back_pics/starmie_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Starmie[] = INCBIN_U32("graphics/pokemon/palettes/starmie_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Starmie[] = INCBIN_U8("graphics/pokemon/icons/starmie_icon.4bpp"); -const u8 gMonFootprint_Starmie[] = INCBIN_U8("graphics/pokemon/footprints/starmie_footprint.1bpp"); - -const u32 gMonStillFrontPic_Mrmime[] = INCBIN_U32("graphics/pokemon/front_pics/mr_mime_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Mrmime[] = INCBIN_U32("graphics/pokemon/palettes/mr_mime_palette.gbapal.lz"); -const u32 gMonBackPic_Mrmime[] = INCBIN_U32("graphics/pokemon/back_pics/mr_mime_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Mrmime[] = INCBIN_U32("graphics/pokemon/palettes/mr_mime_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Mrmime[] = INCBIN_U8("graphics/pokemon/icons/mr_mime_icon.4bpp"); -const u8 gMonFootprint_Mrmime[] = INCBIN_U8("graphics/pokemon/footprints/mr_mime_footprint.1bpp"); - -const u32 gMonStillFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/front_pics/scyther_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Scyther[] = INCBIN_U32("graphics/pokemon/palettes/scyther_palette.gbapal.lz"); -const u32 gMonBackPic_Scyther[] = INCBIN_U32("graphics/pokemon/back_pics/scyther_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Scyther[] = INCBIN_U32("graphics/pokemon/palettes/scyther_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Scyther[] = INCBIN_U8("graphics/pokemon/icons/scyther_icon.4bpp"); -const u8 gMonFootprint_Scyther[] = INCBIN_U8("graphics/pokemon/footprints/scyther_footprint.1bpp"); - -const u32 gMonStillFrontPic_Jynx[] = INCBIN_U32("graphics/pokemon/front_pics/jynx_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Jynx[] = INCBIN_U32("graphics/pokemon/palettes/jynx_palette.gbapal.lz"); -const u32 gMonBackPic_Jynx[] = INCBIN_U32("graphics/pokemon/back_pics/jynx_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Jynx[] = INCBIN_U32("graphics/pokemon/palettes/jynx_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Jynx[] = INCBIN_U8("graphics/pokemon/icons/jynx_icon.4bpp"); -const u8 gMonFootprint_Jynx[] = INCBIN_U8("graphics/pokemon/footprints/jynx_footprint.1bpp"); - -const u32 gMonStillFrontPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/front_pics/electabuzz_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/palettes/electabuzz_palette.gbapal.lz"); -const u32 gMonBackPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/back_pics/electabuzz_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/palettes/electabuzz_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Electabuzz[] = INCBIN_U8("graphics/pokemon/icons/electabuzz_icon.4bpp"); -const u8 gMonFootprint_Electabuzz[] = INCBIN_U8("graphics/pokemon/footprints/electabuzz_footprint.1bpp"); - -const u32 gMonStillFrontPic_Magmar[] = INCBIN_U32("graphics/pokemon/front_pics/magmar_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Magmar[] = INCBIN_U32("graphics/pokemon/palettes/magmar_palette.gbapal.lz"); -const u32 gMonBackPic_Magmar[] = INCBIN_U32("graphics/pokemon/back_pics/magmar_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Magmar[] = INCBIN_U32("graphics/pokemon/palettes/magmar_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Magmar[] = INCBIN_U8("graphics/pokemon/icons/magmar_icon.4bpp"); -const u8 gMonFootprint_Magmar[] = INCBIN_U8("graphics/pokemon/footprints/magmar_footprint.1bpp"); - -const u32 gMonStillFrontPic_Pinsir[] = INCBIN_U32("graphics/pokemon/front_pics/pinsir_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/palettes/pinsir_palette.gbapal.lz"); -const u32 gMonBackPic_Pinsir[] = INCBIN_U32("graphics/pokemon/back_pics/pinsir_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/palettes/pinsir_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Pinsir[] = INCBIN_U8("graphics/pokemon/icons/pinsir_icon.4bpp"); -const u8 gMonFootprint_Pinsir[] = INCBIN_U8("graphics/pokemon/footprints/pinsir_footprint.1bpp"); - -const u32 gMonStillFrontPic_Tauros[] = INCBIN_U32("graphics/pokemon/front_pics/tauros_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Tauros[] = INCBIN_U32("graphics/pokemon/palettes/tauros_palette.gbapal.lz"); -const u32 gMonBackPic_Tauros[] = INCBIN_U32("graphics/pokemon/back_pics/tauros_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Tauros[] = INCBIN_U32("graphics/pokemon/palettes/tauros_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Tauros[] = INCBIN_U8("graphics/pokemon/icons/tauros_icon.4bpp"); -const u8 gMonFootprint_Tauros[] = INCBIN_U8("graphics/pokemon/footprints/tauros_footprint.1bpp"); - -const u32 gMonStillFrontPic_Magikarp[] = INCBIN_U32("graphics/pokemon/front_pics/magikarp_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/palettes/magikarp_palette.gbapal.lz"); -const u32 gMonBackPic_Magikarp[] = INCBIN_U32("graphics/pokemon/back_pics/magikarp_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/palettes/magikarp_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Magikarp[] = INCBIN_U8("graphics/pokemon/icons/magikarp_icon.4bpp"); -const u8 gMonFootprint_Magikarp[] = INCBIN_U8("graphics/pokemon/footprints/magikarp_footprint.1bpp"); - -const u32 gMonStillFrontPic_Gyarados[] = INCBIN_U32("graphics/pokemon/front_pics/gyarados_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/palettes/gyarados_palette.gbapal.lz"); -const u32 gMonBackPic_Gyarados[] = INCBIN_U32("graphics/pokemon/back_pics/gyarados_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/palettes/gyarados_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Gyarados[] = INCBIN_U8("graphics/pokemon/icons/gyarados_icon.4bpp"); -const u8 gMonFootprint_Gyarados[] = INCBIN_U8("graphics/pokemon/footprints/gyarados_footprint.1bpp"); - -const u32 gMonStillFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/front_pics/lapras_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Lapras[] = INCBIN_U32("graphics/pokemon/palettes/lapras_palette.gbapal.lz"); -const u32 gMonBackPic_Lapras[] = INCBIN_U32("graphics/pokemon/back_pics/lapras_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Lapras[] = INCBIN_U32("graphics/pokemon/palettes/lapras_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Lapras[] = INCBIN_U8("graphics/pokemon/icons/lapras_icon.4bpp"); -const u8 gMonFootprint_Lapras[] = INCBIN_U8("graphics/pokemon/footprints/lapras_footprint.1bpp"); - -const u32 gMonStillFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/front_pics/ditto_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Ditto[] = INCBIN_U32("graphics/pokemon/palettes/ditto_palette.gbapal.lz"); -const u32 gMonBackPic_Ditto[] = INCBIN_U32("graphics/pokemon/back_pics/ditto_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Ditto[] = INCBIN_U32("graphics/pokemon/palettes/ditto_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Ditto[] = INCBIN_U8("graphics/pokemon/icons/ditto_icon.4bpp"); -const u8 gMonFootprint_Ditto[] = INCBIN_U8("graphics/pokemon/footprints/ditto_footprint.1bpp"); - -const u32 gMonStillFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/front_pics/eevee_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Eevee[] = INCBIN_U32("graphics/pokemon/palettes/eevee_palette.gbapal.lz"); -const u32 gMonBackPic_Eevee[] = INCBIN_U32("graphics/pokemon/back_pics/eevee_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Eevee[] = INCBIN_U32("graphics/pokemon/palettes/eevee_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Eevee[] = INCBIN_U8("graphics/pokemon/icons/eevee_icon.4bpp"); -const u8 gMonFootprint_Eevee[] = INCBIN_U8("graphics/pokemon/footprints/eevee_footprint.1bpp"); - -const u32 gMonStillFrontPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/front_pics/vaporeon_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/palettes/vaporeon_palette.gbapal.lz"); -const u32 gMonBackPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/back_pics/vaporeon_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/palettes/vaporeon_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Vaporeon[] = INCBIN_U8("graphics/pokemon/icons/vaporeon_icon.4bpp"); -const u8 gMonFootprint_Vaporeon[] = INCBIN_U8("graphics/pokemon/footprints/vaporeon_footprint.1bpp"); - -const u32 gMonStillFrontPic_Jolteon[] = INCBIN_U32("graphics/pokemon/front_pics/jolteon_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/palettes/jolteon_palette.gbapal.lz"); -const u32 gMonBackPic_Jolteon[] = INCBIN_U32("graphics/pokemon/back_pics/jolteon_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/palettes/jolteon_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Jolteon[] = INCBIN_U8("graphics/pokemon/icons/jolteon_icon.4bpp"); -const u8 gMonFootprint_Jolteon[] = INCBIN_U8("graphics/pokemon/footprints/jolteon_footprint.1bpp"); - -const u32 gMonStillFrontPic_Flareon[] = INCBIN_U32("graphics/pokemon/front_pics/flareon_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Flareon[] = INCBIN_U32("graphics/pokemon/palettes/flareon_palette.gbapal.lz"); -const u32 gMonBackPic_Flareon[] = INCBIN_U32("graphics/pokemon/back_pics/flareon_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Flareon[] = INCBIN_U32("graphics/pokemon/palettes/flareon_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Flareon[] = INCBIN_U8("graphics/pokemon/icons/flareon_icon.4bpp"); -const u8 gMonFootprint_Flareon[] = INCBIN_U8("graphics/pokemon/footprints/flareon_footprint.1bpp"); - -const u32 gMonStillFrontPic_Porygon[] = INCBIN_U32("graphics/pokemon/front_pics/porygon_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Porygon[] = INCBIN_U32("graphics/pokemon/palettes/porygon_palette.gbapal.lz"); -const u32 gMonBackPic_Porygon[] = INCBIN_U32("graphics/pokemon/back_pics/porygon_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Porygon[] = INCBIN_U32("graphics/pokemon/palettes/porygon_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Porygon[] = INCBIN_U8("graphics/pokemon/icons/porygon_icon.4bpp"); -const u8 gMonFootprint_Porygon[] = INCBIN_U8("graphics/pokemon/footprints/porygon_footprint.1bpp"); - -const u32 gMonStillFrontPic_Omanyte[] = INCBIN_U32("graphics/pokemon/front_pics/omanyte_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/palettes/omanyte_palette.gbapal.lz"); -const u32 gMonBackPic_Omanyte[] = INCBIN_U32("graphics/pokemon/back_pics/omanyte_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/palettes/omanyte_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Omanyte[] = INCBIN_U8("graphics/pokemon/icons/omanyte_icon.4bpp"); -const u8 gMonFootprint_Omanyte[] = INCBIN_U8("graphics/pokemon/footprints/omanyte_footprint.1bpp"); - -const u32 gMonStillFrontPic_Omastar[] = INCBIN_U32("graphics/pokemon/front_pics/omastar_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Omastar[] = INCBIN_U32("graphics/pokemon/palettes/omastar_palette.gbapal.lz"); -const u32 gMonBackPic_Omastar[] = INCBIN_U32("graphics/pokemon/back_pics/omastar_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Omastar[] = INCBIN_U32("graphics/pokemon/palettes/omastar_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Omastar[] = INCBIN_U8("graphics/pokemon/icons/omastar_icon.4bpp"); -const u8 gMonFootprint_Omastar[] = INCBIN_U8("graphics/pokemon/footprints/omastar_footprint.1bpp"); - -const u32 gMonStillFrontPic_Kabuto[] = INCBIN_U32("graphics/pokemon/front_pics/kabuto_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/palettes/kabuto_palette.gbapal.lz"); -const u32 gMonBackPic_Kabuto[] = INCBIN_U32("graphics/pokemon/back_pics/kabuto_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/palettes/kabuto_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Kabuto[] = INCBIN_U8("graphics/pokemon/icons/kabuto_icon.4bpp"); -const u8 gMonFootprint_Kabuto[] = INCBIN_U8("graphics/pokemon/footprints/kabuto_footprint.1bpp"); - -const u32 gMonStillFrontPic_Kabutops[] = INCBIN_U32("graphics/pokemon/front_pics/kabutops_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/palettes/kabutops_palette.gbapal.lz"); -const u32 gMonBackPic_Kabutops[] = INCBIN_U32("graphics/pokemon/back_pics/kabutops_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/palettes/kabutops_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Kabutops[] = INCBIN_U8("graphics/pokemon/icons/kabutops_icon.4bpp"); -const u8 gMonFootprint_Kabutops[] = INCBIN_U8("graphics/pokemon/footprints/kabutops_footprint.1bpp"); - -const u32 gMonStillFrontPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/front_pics/aerodactyl_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/palettes/aerodactyl_palette.gbapal.lz"); -const u32 gMonBackPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/back_pics/aerodactyl_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/palettes/aerodactyl_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Aerodactyl[] = INCBIN_U8("graphics/pokemon/icons/aerodactyl_icon.4bpp"); -const u8 gMonFootprint_Aerodactyl[] = INCBIN_U8("graphics/pokemon/footprints/aerodactyl_footprint.1bpp"); - -const u32 gMonStillFrontPic_Snorlax[] = INCBIN_U32("graphics/pokemon/front_pics/snorlax_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/palettes/snorlax_palette.gbapal.lz"); -const u32 gMonBackPic_Snorlax[] = INCBIN_U32("graphics/pokemon/back_pics/snorlax_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/palettes/snorlax_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Snorlax[] = INCBIN_U8("graphics/pokemon/icons/snorlax_icon.4bpp"); -const u8 gMonFootprint_Snorlax[] = INCBIN_U8("graphics/pokemon/footprints/snorlax_footprint.1bpp"); - -const u32 gMonStillFrontPic_Articuno[] = INCBIN_U32("graphics/pokemon/front_pics/articuno_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Articuno[] = INCBIN_U32("graphics/pokemon/palettes/articuno_palette.gbapal.lz"); -const u32 gMonBackPic_Articuno[] = INCBIN_U32("graphics/pokemon/back_pics/articuno_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Articuno[] = INCBIN_U32("graphics/pokemon/palettes/articuno_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Articuno[] = INCBIN_U8("graphics/pokemon/icons/articuno_icon.4bpp"); -const u8 gMonFootprint_Articuno[] = INCBIN_U8("graphics/pokemon/footprints/articuno_footprint.1bpp"); - -const u32 gMonStillFrontPic_Zapdos[] = INCBIN_U32("graphics/pokemon/front_pics/zapdos_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/palettes/zapdos_palette.gbapal.lz"); -const u32 gMonBackPic_Zapdos[] = INCBIN_U32("graphics/pokemon/back_pics/zapdos_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/palettes/zapdos_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Zapdos[] = INCBIN_U8("graphics/pokemon/icons/zapdos_icon.4bpp"); -const u8 gMonFootprint_Zapdos[] = INCBIN_U8("graphics/pokemon/footprints/zapdos_footprint.1bpp"); - -const u32 gMonStillFrontPic_Moltres[] = INCBIN_U32("graphics/pokemon/front_pics/moltres_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Moltres[] = INCBIN_U32("graphics/pokemon/palettes/moltres_palette.gbapal.lz"); -const u32 gMonBackPic_Moltres[] = INCBIN_U32("graphics/pokemon/back_pics/moltres_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Moltres[] = INCBIN_U32("graphics/pokemon/palettes/moltres_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Moltres[] = INCBIN_U8("graphics/pokemon/icons/moltres_icon.4bpp"); -const u8 gMonFootprint_Moltres[] = INCBIN_U8("graphics/pokemon/footprints/moltres_footprint.1bpp"); - -const u32 gMonStillFrontPic_Dratini[] = INCBIN_U32("graphics/pokemon/front_pics/dratini_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Dratini[] = INCBIN_U32("graphics/pokemon/palettes/dratini_palette.gbapal.lz"); -const u32 gMonBackPic_Dratini[] = INCBIN_U32("graphics/pokemon/back_pics/dratini_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Dratini[] = INCBIN_U32("graphics/pokemon/palettes/dratini_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Dratini[] = INCBIN_U8("graphics/pokemon/icons/dratini_icon.4bpp"); -const u8 gMonFootprint_Dratini[] = INCBIN_U8("graphics/pokemon/footprints/dratini_footprint.1bpp"); - -const u32 gMonStillFrontPic_Dragonair[] = INCBIN_U32("graphics/pokemon/front_pics/dragonair_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/palettes/dragonair_palette.gbapal.lz"); -const u32 gMonBackPic_Dragonair[] = INCBIN_U32("graphics/pokemon/back_pics/dragonair_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/palettes/dragonair_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Dragonair[] = INCBIN_U8("graphics/pokemon/icons/dragonair_icon.4bpp"); -const u8 gMonFootprint_Dragonair[] = INCBIN_U8("graphics/pokemon/footprints/dragonair_footprint.1bpp"); - -const u32 gMonStillFrontPic_Dragonite[] = INCBIN_U32("graphics/pokemon/front_pics/dragonite_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/palettes/dragonite_palette.gbapal.lz"); -const u32 gMonBackPic_Dragonite[] = INCBIN_U32("graphics/pokemon/back_pics/dragonite_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/palettes/dragonite_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Dragonite[] = INCBIN_U8("graphics/pokemon/icons/dragonite_icon.4bpp"); -const u8 gMonFootprint_Dragonite[] = INCBIN_U8("graphics/pokemon/footprints/dragonite_footprint.1bpp"); - -const u32 gMonStillFrontPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/front_pics/mewtwo_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/palettes/mewtwo_palette.gbapal.lz"); -const u32 gMonBackPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/back_pics/mewtwo_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/palettes/mewtwo_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Mewtwo[] = INCBIN_U8("graphics/pokemon/icons/mewtwo_icon.4bpp"); -const u8 gMonFootprint_Mewtwo[] = INCBIN_U8("graphics/pokemon/footprints/mewtwo_footprint.1bpp"); - -const u32 gMonStillFrontPic_Mew[] = INCBIN_U32("graphics/pokemon/front_pics/mew_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Mew[] = INCBIN_U32("graphics/pokemon/palettes/mew_palette.gbapal.lz"); -const u32 gMonBackPic_Mew[] = INCBIN_U32("graphics/pokemon/back_pics/mew_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Mew[] = INCBIN_U32("graphics/pokemon/palettes/mew_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Mew[] = INCBIN_U8("graphics/pokemon/icons/mew_icon.4bpp"); -const u8 gMonFootprint_Mew[] = INCBIN_U8("graphics/pokemon/footprints/mew_footprint.1bpp"); - -const u32 gMonStillFrontPic_Chikorita[] = INCBIN_U32("graphics/pokemon/front_pics/chikorita_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/palettes/chikorita_palette.gbapal.lz"); -const u32 gMonBackPic_Chikorita[] = INCBIN_U32("graphics/pokemon/back_pics/chikorita_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/palettes/chikorita_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Chikorita[] = INCBIN_U8("graphics/pokemon/icons/chikorita_icon.4bpp"); -const u8 gMonFootprint_Chikorita[] = INCBIN_U8("graphics/pokemon/footprints/chikorita_footprint.1bpp"); - -const u32 gMonStillFrontPic_Bayleef[] = INCBIN_U32("graphics/pokemon/front_pics/bayleef_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/palettes/bayleef_palette.gbapal.lz"); -const u32 gMonBackPic_Bayleef[] = INCBIN_U32("graphics/pokemon/back_pics/bayleef_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/palettes/bayleef_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Bayleef[] = INCBIN_U8("graphics/pokemon/icons/bayleef_icon.4bpp"); -const u8 gMonFootprint_Bayleef[] = INCBIN_U8("graphics/pokemon/footprints/bayleef_footprint.1bpp"); - -const u32 gMonStillFrontPic_Meganium[] = INCBIN_U32("graphics/pokemon/front_pics/meganium_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Meganium[] = INCBIN_U32("graphics/pokemon/palettes/meganium_palette.gbapal.lz"); -const u32 gMonBackPic_Meganium[] = INCBIN_U32("graphics/pokemon/back_pics/meganium_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Meganium[] = INCBIN_U32("graphics/pokemon/palettes/meganium_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Meganium[] = INCBIN_U8("graphics/pokemon/icons/meganium_icon.4bpp"); -const u8 gMonFootprint_Meganium[] = INCBIN_U8("graphics/pokemon/footprints/meganium_footprint.1bpp"); - -const u32 gMonStillFrontPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/front_pics/cyndaquil_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/palettes/cyndaquil_palette.gbapal.lz"); -const u32 gMonBackPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/back_pics/cyndaquil_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/palettes/cyndaquil_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Cyndaquil[] = INCBIN_U8("graphics/pokemon/icons/cyndaquil_icon.4bpp"); -const u8 gMonFootprint_Cyndaquil[] = INCBIN_U8("graphics/pokemon/footprints/cyndaquil_footprint.1bpp"); - -const u32 gMonStillFrontPic_Quilava[] = INCBIN_U32("graphics/pokemon/front_pics/quilava_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Quilava[] = INCBIN_U32("graphics/pokemon/palettes/quilava_palette.gbapal.lz"); -const u32 gMonBackPic_Quilava[] = INCBIN_U32("graphics/pokemon/back_pics/quilava_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Quilava[] = INCBIN_U32("graphics/pokemon/palettes/quilava_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Quilava[] = INCBIN_U8("graphics/pokemon/icons/quilava_icon.4bpp"); -const u8 gMonFootprint_Quilava[] = INCBIN_U8("graphics/pokemon/footprints/quilava_footprint.1bpp"); - -const u32 gMonStillFrontPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/front_pics/typhlosion_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/palettes/typhlosion_palette.gbapal.lz"); -const u32 gMonBackPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/back_pics/typhlosion_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/palettes/typhlosion_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Typhlosion[] = INCBIN_U8("graphics/pokemon/icons/typhlosion_icon.4bpp"); -const u8 gMonFootprint_Typhlosion[] = INCBIN_U8("graphics/pokemon/footprints/typhlosion_footprint.1bpp"); - -const u32 gMonStillFrontPic_Totodile[] = INCBIN_U32("graphics/pokemon/front_pics/totodile_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Totodile[] = INCBIN_U32("graphics/pokemon/palettes/totodile_palette.gbapal.lz"); -const u32 gMonBackPic_Totodile[] = INCBIN_U32("graphics/pokemon/back_pics/totodile_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Totodile[] = INCBIN_U32("graphics/pokemon/palettes/totodile_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Totodile[] = INCBIN_U8("graphics/pokemon/icons/totodile_icon.4bpp"); -const u8 gMonFootprint_Totodile[] = INCBIN_U8("graphics/pokemon/footprints/totodile_footprint.1bpp"); - -const u32 gMonStillFrontPic_Croconaw[] = INCBIN_U32("graphics/pokemon/front_pics/croconaw_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/palettes/croconaw_palette.gbapal.lz"); -const u32 gMonBackPic_Croconaw[] = INCBIN_U32("graphics/pokemon/back_pics/croconaw_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/palettes/croconaw_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Croconaw[] = INCBIN_U8("graphics/pokemon/icons/croconaw_icon.4bpp"); -const u8 gMonFootprint_Croconaw[] = INCBIN_U8("graphics/pokemon/footprints/croconaw_footprint.1bpp"); - -const u32 gMonStillFrontPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/front_pics/feraligatr_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/palettes/feraligatr_palette.gbapal.lz"); -const u32 gMonBackPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/back_pics/feraligatr_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/palettes/feraligatr_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Feraligatr[] = INCBIN_U8("graphics/pokemon/icons/feraligatr_icon.4bpp"); -const u8 gMonFootprint_Feraligatr[] = INCBIN_U8("graphics/pokemon/footprints/feraligatr_footprint.1bpp"); - -const u32 gMonStillFrontPic_Sentret[] = INCBIN_U32("graphics/pokemon/front_pics/sentret_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Sentret[] = INCBIN_U32("graphics/pokemon/palettes/sentret_palette.gbapal.lz"); -const u32 gMonBackPic_Sentret[] = INCBIN_U32("graphics/pokemon/back_pics/sentret_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Sentret[] = INCBIN_U32("graphics/pokemon/palettes/sentret_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Sentret[] = INCBIN_U8("graphics/pokemon/icons/sentret_icon.4bpp"); -const u8 gMonFootprint_Sentret[] = INCBIN_U8("graphics/pokemon/footprints/sentret_footprint.1bpp"); - -const u32 gMonStillFrontPic_Furret[] = INCBIN_U32("graphics/pokemon/front_pics/furret_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Furret[] = INCBIN_U32("graphics/pokemon/palettes/furret_palette.gbapal.lz"); -const u32 gMonBackPic_Furret[] = INCBIN_U32("graphics/pokemon/back_pics/furret_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Furret[] = INCBIN_U32("graphics/pokemon/palettes/furret_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Furret[] = INCBIN_U8("graphics/pokemon/icons/furret_icon.4bpp"); -const u8 gMonFootprint_Furret[] = INCBIN_U8("graphics/pokemon/footprints/furret_footprint.1bpp"); - -const u32 gMonStillFrontPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/front_pics/hoothoot_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/palettes/hoothoot_palette.gbapal.lz"); -const u32 gMonBackPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/back_pics/hoothoot_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/palettes/hoothoot_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Hoothoot[] = INCBIN_U8("graphics/pokemon/icons/hoothoot_icon.4bpp"); -const u8 gMonFootprint_Hoothoot[] = INCBIN_U8("graphics/pokemon/footprints/hoothoot_footprint.1bpp"); - -const u32 gMonStillFrontPic_Noctowl[] = INCBIN_U32("graphics/pokemon/front_pics/noctowl_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/palettes/noctowl_palette.gbapal.lz"); -const u32 gMonBackPic_Noctowl[] = INCBIN_U32("graphics/pokemon/back_pics/noctowl_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/palettes/noctowl_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Noctowl[] = INCBIN_U8("graphics/pokemon/icons/noctowl_icon.4bpp"); -const u8 gMonFootprint_Noctowl[] = INCBIN_U8("graphics/pokemon/footprints/noctowl_footprint.1bpp"); - -const u32 gMonStillFrontPic_Ledyba[] = INCBIN_U32("graphics/pokemon/front_pics/ledyba_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/palettes/ledyba_palette.gbapal.lz"); -const u32 gMonBackPic_Ledyba[] = INCBIN_U32("graphics/pokemon/back_pics/ledyba_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/palettes/ledyba_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Ledyba[] = INCBIN_U8("graphics/pokemon/icons/ledyba_icon.4bpp"); -const u8 gMonFootprint_Ledyba[] = INCBIN_U8("graphics/pokemon/footprints/ledyba_footprint.1bpp"); - -const u32 gMonStillFrontPic_Ledian[] = INCBIN_U32("graphics/pokemon/front_pics/ledian_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Ledian[] = INCBIN_U32("graphics/pokemon/palettes/ledian_palette.gbapal.lz"); -const u32 gMonBackPic_Ledian[] = INCBIN_U32("graphics/pokemon/back_pics/ledian_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Ledian[] = INCBIN_U32("graphics/pokemon/palettes/ledian_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Ledian[] = INCBIN_U8("graphics/pokemon/icons/ledian_icon.4bpp"); -const u8 gMonFootprint_Ledian[] = INCBIN_U8("graphics/pokemon/footprints/ledian_footprint.1bpp"); - -const u32 gMonStillFrontPic_Spinarak[] = INCBIN_U32("graphics/pokemon/front_pics/spinarak_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/palettes/spinarak_palette.gbapal.lz"); -const u32 gMonBackPic_Spinarak[] = INCBIN_U32("graphics/pokemon/back_pics/spinarak_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/palettes/spinarak_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Spinarak[] = INCBIN_U8("graphics/pokemon/icons/spinarak_icon.4bpp"); -const u8 gMonFootprint_Spinarak[] = INCBIN_U8("graphics/pokemon/footprints/spinarak_footprint.1bpp"); - -const u32 gMonStillFrontPic_Ariados[] = INCBIN_U32("graphics/pokemon/front_pics/ariados_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Ariados[] = INCBIN_U32("graphics/pokemon/palettes/ariados_palette.gbapal.lz"); -const u32 gMonBackPic_Ariados[] = INCBIN_U32("graphics/pokemon/back_pics/ariados_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Ariados[] = INCBIN_U32("graphics/pokemon/palettes/ariados_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Ariados[] = INCBIN_U8("graphics/pokemon/icons/ariados_icon.4bpp"); -const u8 gMonFootprint_Ariados[] = INCBIN_U8("graphics/pokemon/footprints/ariados_footprint.1bpp"); - -const u32 gMonStillFrontPic_Crobat[] = INCBIN_U32("graphics/pokemon/front_pics/crobat_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Crobat[] = INCBIN_U32("graphics/pokemon/palettes/crobat_palette.gbapal.lz"); -const u32 gMonBackPic_Crobat[] = INCBIN_U32("graphics/pokemon/back_pics/crobat_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Crobat[] = INCBIN_U32("graphics/pokemon/palettes/crobat_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Crobat[] = INCBIN_U8("graphics/pokemon/icons/crobat_icon.4bpp"); -const u8 gMonFootprint_Crobat[] = INCBIN_U8("graphics/pokemon/footprints/crobat_footprint.1bpp"); - -const u32 gMonStillFrontPic_Chinchou[] = INCBIN_U32("graphics/pokemon/front_pics/chinchou_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/palettes/chinchou_palette.gbapal.lz"); -const u32 gMonBackPic_Chinchou[] = INCBIN_U32("graphics/pokemon/back_pics/chinchou_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/palettes/chinchou_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Chinchou[] = INCBIN_U8("graphics/pokemon/icons/chinchou_icon.4bpp"); -const u8 gMonFootprint_Chinchou[] = INCBIN_U8("graphics/pokemon/footprints/chinchou_footprint.1bpp"); - -const u32 gMonStillFrontPic_Lanturn[] = INCBIN_U32("graphics/pokemon/front_pics/lanturn_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/palettes/lanturn_palette.gbapal.lz"); -const u32 gMonBackPic_Lanturn[] = INCBIN_U32("graphics/pokemon/back_pics/lanturn_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/palettes/lanturn_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Lanturn[] = INCBIN_U8("graphics/pokemon/icons/lanturn_icon.4bpp"); -const u8 gMonFootprint_Lanturn[] = INCBIN_U8("graphics/pokemon/footprints/lanturn_footprint.1bpp"); - -const u32 gMonStillFrontPic_Pichu[] = INCBIN_U32("graphics/pokemon/front_pics/pichu_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Pichu[] = INCBIN_U32("graphics/pokemon/palettes/pichu_palette.gbapal.lz"); -const u32 gMonBackPic_Pichu[] = INCBIN_U32("graphics/pokemon/back_pics/pichu_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Pichu[] = INCBIN_U32("graphics/pokemon/palettes/pichu_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Pichu[] = INCBIN_U8("graphics/pokemon/icons/pichu_icon.4bpp"); -const u8 gMonFootprint_Pichu[] = INCBIN_U8("graphics/pokemon/footprints/pichu_footprint.1bpp"); - -const u32 gMonStillFrontPic_Cleffa[] = INCBIN_U32("graphics/pokemon/front_pics/cleffa_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/palettes/cleffa_palette.gbapal.lz"); -const u32 gMonBackPic_Cleffa[] = INCBIN_U32("graphics/pokemon/back_pics/cleffa_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/palettes/cleffa_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Cleffa[] = INCBIN_U8("graphics/pokemon/icons/cleffa_icon.4bpp"); -const u8 gMonFootprint_Cleffa[] = INCBIN_U8("graphics/pokemon/footprints/cleffa_footprint.1bpp"); - -const u32 gMonStillFrontPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/front_pics/igglybuff_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/palettes/igglybuff_palette.gbapal.lz"); -const u32 gMonBackPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/back_pics/igglybuff_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/palettes/igglybuff_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Igglybuff[] = INCBIN_U8("graphics/pokemon/icons/igglybuff_icon.4bpp"); -const u8 gMonFootprint_Igglybuff[] = INCBIN_U8("graphics/pokemon/footprints/igglybuff_footprint.1bpp"); - -const u32 gMonStillFrontPic_Togepi[] = INCBIN_U32("graphics/pokemon/front_pics/togepi_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Togepi[] = INCBIN_U32("graphics/pokemon/palettes/togepi_palette.gbapal.lz"); -const u32 gMonBackPic_Togepi[] = INCBIN_U32("graphics/pokemon/back_pics/togepi_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Togepi[] = INCBIN_U32("graphics/pokemon/palettes/togepi_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Togepi[] = INCBIN_U8("graphics/pokemon/icons/togepi_icon.4bpp"); -const u8 gMonFootprint_Togepi[] = INCBIN_U8("graphics/pokemon/footprints/togepi_footprint.1bpp"); - -const u32 gMonStillFrontPic_Togetic[] = INCBIN_U32("graphics/pokemon/front_pics/togetic_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Togetic[] = INCBIN_U32("graphics/pokemon/palettes/togetic_palette.gbapal.lz"); -const u32 gMonBackPic_Togetic[] = INCBIN_U32("graphics/pokemon/back_pics/togetic_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Togetic[] = INCBIN_U32("graphics/pokemon/palettes/togetic_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Togetic[] = INCBIN_U8("graphics/pokemon/icons/togetic_icon.4bpp"); -const u8 gMonFootprint_Togetic[] = INCBIN_U8("graphics/pokemon/footprints/togetic_footprint.1bpp"); - -const u32 gMonStillFrontPic_Natu[] = INCBIN_U32("graphics/pokemon/front_pics/natu_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Natu[] = INCBIN_U32("graphics/pokemon/palettes/natu_palette.gbapal.lz"); -const u32 gMonBackPic_Natu[] = INCBIN_U32("graphics/pokemon/back_pics/natu_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Natu[] = INCBIN_U32("graphics/pokemon/palettes/natu_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Natu[] = INCBIN_U8("graphics/pokemon/icons/natu_icon.4bpp"); -const u8 gMonFootprint_Natu[] = INCBIN_U8("graphics/pokemon/footprints/natu_footprint.1bpp"); - -const u32 gMonStillFrontPic_Xatu[] = INCBIN_U32("graphics/pokemon/front_pics/xatu_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Xatu[] = INCBIN_U32("graphics/pokemon/palettes/xatu_palette.gbapal.lz"); -const u32 gMonBackPic_Xatu[] = INCBIN_U32("graphics/pokemon/back_pics/xatu_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Xatu[] = INCBIN_U32("graphics/pokemon/palettes/xatu_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Xatu[] = INCBIN_U8("graphics/pokemon/icons/xatu_icon.4bpp"); -const u8 gMonFootprint_Xatu[] = INCBIN_U8("graphics/pokemon/footprints/xatu_footprint.1bpp"); - -const u32 gMonStillFrontPic_Mareep[] = INCBIN_U32("graphics/pokemon/front_pics/mareep_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Mareep[] = INCBIN_U32("graphics/pokemon/palettes/mareep_palette.gbapal.lz"); -const u32 gMonBackPic_Mareep[] = INCBIN_U32("graphics/pokemon/back_pics/mareep_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Mareep[] = INCBIN_U32("graphics/pokemon/palettes/mareep_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Mareep[] = INCBIN_U8("graphics/pokemon/icons/mareep_icon.4bpp"); -const u8 gMonFootprint_Mareep[] = INCBIN_U8("graphics/pokemon/footprints/mareep_footprint.1bpp"); - -const u32 gMonStillFrontPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/front_pics/flaaffy_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/palettes/flaaffy_palette.gbapal.lz"); -const u32 gMonBackPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/back_pics/flaaffy_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/palettes/flaaffy_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Flaaffy[] = INCBIN_U8("graphics/pokemon/icons/flaaffy_icon.4bpp"); -const u8 gMonFootprint_Flaaffy[] = INCBIN_U8("graphics/pokemon/footprints/flaaffy_footprint.1bpp"); - -const u32 gMonStillFrontPic_Ampharos[] = INCBIN_U32("graphics/pokemon/front_pics/ampharos_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/palettes/ampharos_palette.gbapal.lz"); -const u32 gMonBackPic_Ampharos[] = INCBIN_U32("graphics/pokemon/back_pics/ampharos_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/palettes/ampharos_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Ampharos[] = INCBIN_U8("graphics/pokemon/icons/ampharos_icon.4bpp"); -const u8 gMonFootprint_Ampharos[] = INCBIN_U8("graphics/pokemon/footprints/ampharos_footprint.1bpp"); - -const u32 gMonStillFrontPic_Bellossom[] = INCBIN_U32("graphics/pokemon/front_pics/bellossom_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/palettes/bellossom_palette.gbapal.lz"); -const u32 gMonBackPic_Bellossom[] = INCBIN_U32("graphics/pokemon/back_pics/bellossom_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/palettes/bellossom_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Bellossom[] = INCBIN_U8("graphics/pokemon/icons/bellossom_icon.4bpp"); -const u8 gMonFootprint_Bellossom[] = INCBIN_U8("graphics/pokemon/footprints/bellossom_footprint.1bpp"); - -const u32 gMonStillFrontPic_Marill[] = INCBIN_U32("graphics/pokemon/front_pics/marill_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Marill[] = INCBIN_U32("graphics/pokemon/palettes/marill_palette.gbapal.lz"); -const u32 gMonBackPic_Marill[] = INCBIN_U32("graphics/pokemon/back_pics/marill_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Marill[] = INCBIN_U32("graphics/pokemon/palettes/marill_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Marill[] = INCBIN_U8("graphics/pokemon/icons/marill_icon.4bpp"); -const u8 gMonFootprint_Marill[] = INCBIN_U8("graphics/pokemon/footprints/marill_footprint.1bpp"); - -const u32 gMonStillFrontPic_Azumarill[] = INCBIN_U32("graphics/pokemon/front_pics/azumarill_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/palettes/azumarill_palette.gbapal.lz"); -const u32 gMonBackPic_Azumarill[] = INCBIN_U32("graphics/pokemon/back_pics/azumarill_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/palettes/azumarill_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Azumarill[] = INCBIN_U8("graphics/pokemon/icons/azumarill_icon.4bpp"); -const u8 gMonFootprint_Azumarill[] = INCBIN_U8("graphics/pokemon/footprints/azumarill_footprint.1bpp"); - -const u32 gMonStillFrontPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/front_pics/sudowoodo_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/palettes/sudowoodo_palette.gbapal.lz"); -const u32 gMonBackPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/back_pics/sudowoodo_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/palettes/sudowoodo_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Sudowoodo[] = INCBIN_U8("graphics/pokemon/icons/sudowoodo_icon.4bpp"); -const u8 gMonFootprint_Sudowoodo[] = INCBIN_U8("graphics/pokemon/footprints/sudowoodo_footprint.1bpp"); - -const u32 gMonStillFrontPic_Politoed[] = INCBIN_U32("graphics/pokemon/front_pics/politoed_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Politoed[] = INCBIN_U32("graphics/pokemon/palettes/politoed_palette.gbapal.lz"); -const u32 gMonBackPic_Politoed[] = INCBIN_U32("graphics/pokemon/back_pics/politoed_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Politoed[] = INCBIN_U32("graphics/pokemon/palettes/politoed_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Politoed[] = INCBIN_U8("graphics/pokemon/icons/politoed_icon.4bpp"); -const u8 gMonFootprint_Politoed[] = INCBIN_U8("graphics/pokemon/footprints/politoed_footprint.1bpp"); - -const u32 gMonStillFrontPic_Hoppip[] = INCBIN_U32("graphics/pokemon/front_pics/hoppip_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/palettes/hoppip_palette.gbapal.lz"); -const u32 gMonBackPic_Hoppip[] = INCBIN_U32("graphics/pokemon/back_pics/hoppip_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/palettes/hoppip_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Hoppip[] = INCBIN_U8("graphics/pokemon/icons/hoppip_icon.4bpp"); -const u8 gMonFootprint_Hoppip[] = INCBIN_U8("graphics/pokemon/footprints/hoppip_footprint.1bpp"); - -const u32 gMonStillFrontPic_Skiploom[] = INCBIN_U32("graphics/pokemon/front_pics/skiploom_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/palettes/skiploom_palette.gbapal.lz"); -const u32 gMonBackPic_Skiploom[] = INCBIN_U32("graphics/pokemon/back_pics/skiploom_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/palettes/skiploom_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Skiploom[] = INCBIN_U8("graphics/pokemon/icons/skiploom_icon.4bpp"); -const u8 gMonFootprint_Skiploom[] = INCBIN_U8("graphics/pokemon/footprints/skiploom_footprint.1bpp"); - -const u32 gMonStillFrontPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/front_pics/jumpluff_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/palettes/jumpluff_palette.gbapal.lz"); -const u32 gMonBackPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/back_pics/jumpluff_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/palettes/jumpluff_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Jumpluff[] = INCBIN_U8("graphics/pokemon/icons/jumpluff_icon.4bpp"); -const u8 gMonFootprint_Jumpluff[] = INCBIN_U8("graphics/pokemon/footprints/jumpluff_footprint.1bpp"); - -const u32 gMonStillFrontPic_Aipom[] = INCBIN_U32("graphics/pokemon/front_pics/aipom_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Aipom[] = INCBIN_U32("graphics/pokemon/palettes/aipom_palette.gbapal.lz"); -const u32 gMonBackPic_Aipom[] = INCBIN_U32("graphics/pokemon/back_pics/aipom_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Aipom[] = INCBIN_U32("graphics/pokemon/palettes/aipom_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Aipom[] = INCBIN_U8("graphics/pokemon/icons/aipom_icon.4bpp"); -const u8 gMonFootprint_Aipom[] = INCBIN_U8("graphics/pokemon/footprints/aipom_footprint.1bpp"); - -const u32 gMonStillFrontPic_Sunkern[] = INCBIN_U32("graphics/pokemon/front_pics/sunkern_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/palettes/sunkern_palette.gbapal.lz"); -const u32 gMonBackPic_Sunkern[] = INCBIN_U32("graphics/pokemon/back_pics/sunkern_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/palettes/sunkern_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Sunkern[] = INCBIN_U8("graphics/pokemon/icons/sunkern_icon.4bpp"); -const u8 gMonFootprint_Sunkern[] = INCBIN_U8("graphics/pokemon/footprints/sunkern_footprint.1bpp"); - -const u32 gMonStillFrontPic_Sunflora[] = INCBIN_U32("graphics/pokemon/front_pics/sunflora_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/palettes/sunflora_palette.gbapal.lz"); -const u32 gMonBackPic_Sunflora[] = INCBIN_U32("graphics/pokemon/back_pics/sunflora_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/palettes/sunflora_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Sunflora[] = INCBIN_U8("graphics/pokemon/icons/sunflora_icon.4bpp"); -const u8 gMonFootprint_Sunflora[] = INCBIN_U8("graphics/pokemon/footprints/sunflora_footprint.1bpp"); - -const u32 gMonStillFrontPic_Yanma[] = INCBIN_U32("graphics/pokemon/front_pics/yanma_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Yanma[] = INCBIN_U32("graphics/pokemon/palettes/yanma_palette.gbapal.lz"); -const u32 gMonBackPic_Yanma[] = INCBIN_U32("graphics/pokemon/back_pics/yanma_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Yanma[] = INCBIN_U32("graphics/pokemon/palettes/yanma_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Yanma[] = INCBIN_U8("graphics/pokemon/icons/yanma_icon.4bpp"); -const u8 gMonFootprint_Yanma[] = INCBIN_U8("graphics/pokemon/footprints/yanma_footprint.1bpp"); - -const u32 gMonStillFrontPic_Wooper[] = INCBIN_U32("graphics/pokemon/front_pics/wooper_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Wooper[] = INCBIN_U32("graphics/pokemon/palettes/wooper_palette.gbapal.lz"); -const u32 gMonBackPic_Wooper[] = INCBIN_U32("graphics/pokemon/back_pics/wooper_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Wooper[] = INCBIN_U32("graphics/pokemon/palettes/wooper_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Wooper[] = INCBIN_U8("graphics/pokemon/icons/wooper_icon.4bpp"); -const u8 gMonFootprint_Wooper[] = INCBIN_U8("graphics/pokemon/footprints/wooper_footprint.1bpp"); - -const u32 gMonStillFrontPic_Quagsire[] = INCBIN_U32("graphics/pokemon/front_pics/quagsire_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/palettes/quagsire_palette.gbapal.lz"); -const u32 gMonBackPic_Quagsire[] = INCBIN_U32("graphics/pokemon/back_pics/quagsire_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/palettes/quagsire_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Quagsire[] = INCBIN_U8("graphics/pokemon/icons/quagsire_icon.4bpp"); -const u8 gMonFootprint_Quagsire[] = INCBIN_U8("graphics/pokemon/footprints/quagsire_footprint.1bpp"); - -const u32 gMonStillFrontPic_Espeon[] = INCBIN_U32("graphics/pokemon/front_pics/espeon_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Espeon[] = INCBIN_U32("graphics/pokemon/palettes/espeon_palette.gbapal.lz"); -const u32 gMonBackPic_Espeon[] = INCBIN_U32("graphics/pokemon/back_pics/espeon_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Espeon[] = INCBIN_U32("graphics/pokemon/palettes/espeon_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Espeon[] = INCBIN_U8("graphics/pokemon/icons/espeon_icon.4bpp"); -const u8 gMonFootprint_Espeon[] = INCBIN_U8("graphics/pokemon/footprints/espeon_footprint.1bpp"); - -const u32 gMonStillFrontPic_Umbreon[] = INCBIN_U32("graphics/pokemon/front_pics/umbreon_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/palettes/umbreon_palette.gbapal.lz"); -const u32 gMonBackPic_Umbreon[] = INCBIN_U32("graphics/pokemon/back_pics/umbreon_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/palettes/umbreon_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Umbreon[] = INCBIN_U8("graphics/pokemon/icons/umbreon_icon.4bpp"); -const u8 gMonFootprint_Umbreon[] = INCBIN_U8("graphics/pokemon/footprints/umbreon_footprint.1bpp"); - -const u32 gMonStillFrontPic_Murkrow[] = INCBIN_U32("graphics/pokemon/front_pics/murkrow_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/palettes/murkrow_palette.gbapal.lz"); -const u32 gMonBackPic_Murkrow[] = INCBIN_U32("graphics/pokemon/back_pics/murkrow_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/palettes/murkrow_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Murkrow[] = INCBIN_U8("graphics/pokemon/icons/murkrow_icon.4bpp"); -const u8 gMonFootprint_Murkrow[] = INCBIN_U8("graphics/pokemon/footprints/murkrow_footprint.1bpp"); - -const u32 gMonStillFrontPic_Slowking[] = INCBIN_U32("graphics/pokemon/front_pics/slowking_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Slowking[] = INCBIN_U32("graphics/pokemon/palettes/slowking_palette.gbapal.lz"); -const u32 gMonBackPic_Slowking[] = INCBIN_U32("graphics/pokemon/back_pics/slowking_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Slowking[] = INCBIN_U32("graphics/pokemon/palettes/slowking_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Slowking[] = INCBIN_U8("graphics/pokemon/icons/slowking_icon.4bpp"); -const u8 gMonFootprint_Slowking[] = INCBIN_U8("graphics/pokemon/footprints/slowking_footprint.1bpp"); - -const u32 gMonStillFrontPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/front_pics/misdreavus_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/palettes/misdreavus_palette.gbapal.lz"); -const u32 gMonBackPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/back_pics/misdreavus_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/palettes/misdreavus_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Misdreavus[] = INCBIN_U8("graphics/pokemon/icons/misdreavus_icon.4bpp"); -const u8 gMonFootprint_Misdreavus[] = INCBIN_U8("graphics/pokemon/footprints/misdreavus_footprint.1bpp"); - -const u32 gMonStillFrontPic_UnownA[] = INCBIN_U32("graphics/pokemon/front_pics/unown_a_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Unown[] = INCBIN_U32("graphics/pokemon/palettes/unown_palette.gbapal.lz"); -const u32 gMonBackPic_UnownA[] = INCBIN_U32("graphics/pokemon/back_pics/unown_a_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Unown[] = INCBIN_U32("graphics/pokemon/palettes/unown_shiny_palette.gbapal.lz"); -const u8 gMonIcon_UnownA[] = INCBIN_U8("graphics/pokemon/icons/unown_a_icon.4bpp"); -const u8 gMonFootprint_Unown[] = INCBIN_U8("graphics/pokemon/footprints/unown_footprint.1bpp"); - -const u32 gMonStillFrontPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/front_pics/wobbuffet_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/palettes/wobbuffet_palette.gbapal.lz"); -const u32 gMonBackPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/back_pics/wobbuffet_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/palettes/wobbuffet_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Wobbuffet[] = INCBIN_U8("graphics/pokemon/icons/wobbuffet_icon.4bpp"); -const u8 gMonFootprint_Wobbuffet[] = INCBIN_U8("graphics/pokemon/footprints/wobbuffet_footprint.1bpp"); - -const u32 gMonStillFrontPic_Girafarig[] = INCBIN_U32("graphics/pokemon/front_pics/girafarig_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/palettes/girafarig_palette.gbapal.lz"); -const u32 gMonBackPic_Girafarig[] = INCBIN_U32("graphics/pokemon/back_pics/girafarig_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/palettes/girafarig_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Girafarig[] = INCBIN_U8("graphics/pokemon/icons/girafarig_icon.4bpp"); -const u8 gMonFootprint_Girafarig[] = INCBIN_U8("graphics/pokemon/footprints/girafarig_footprint.1bpp"); - -const u32 gMonStillFrontPic_Pineco[] = INCBIN_U32("graphics/pokemon/front_pics/pineco_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Pineco[] = INCBIN_U32("graphics/pokemon/palettes/pineco_palette.gbapal.lz"); -const u32 gMonBackPic_Pineco[] = INCBIN_U32("graphics/pokemon/back_pics/pineco_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Pineco[] = INCBIN_U32("graphics/pokemon/palettes/pineco_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Pineco[] = INCBIN_U8("graphics/pokemon/icons/pineco_icon.4bpp"); -const u8 gMonFootprint_Pineco[] = INCBIN_U8("graphics/pokemon/footprints/pineco_footprint.1bpp"); - -const u32 gMonStillFrontPic_Forretress[] = INCBIN_U32("graphics/pokemon/front_pics/forretress_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Forretress[] = INCBIN_U32("graphics/pokemon/palettes/forretress_palette.gbapal.lz"); -const u32 gMonBackPic_Forretress[] = INCBIN_U32("graphics/pokemon/back_pics/forretress_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Forretress[] = INCBIN_U32("graphics/pokemon/palettes/forretress_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Forretress[] = INCBIN_U8("graphics/pokemon/icons/forretress_icon.4bpp"); -const u8 gMonFootprint_Forretress[] = INCBIN_U8("graphics/pokemon/footprints/forretress_footprint.1bpp"); - -const u32 gMonStillFrontPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/front_pics/dunsparce_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/palettes/dunsparce_palette.gbapal.lz"); -const u32 gMonBackPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/back_pics/dunsparce_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/palettes/dunsparce_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Dunsparce[] = INCBIN_U8("graphics/pokemon/icons/dunsparce_icon.4bpp"); -const u8 gMonFootprint_Dunsparce[] = INCBIN_U8("graphics/pokemon/footprints/dunsparce_footprint.1bpp"); - -const u32 gMonStillFrontPic_Gligar[] = INCBIN_U32("graphics/pokemon/front_pics/gligar_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Gligar[] = INCBIN_U32("graphics/pokemon/palettes/gligar_palette.gbapal.lz"); -const u32 gMonBackPic_Gligar[] = INCBIN_U32("graphics/pokemon/back_pics/gligar_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Gligar[] = INCBIN_U32("graphics/pokemon/palettes/gligar_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Gligar[] = INCBIN_U8("graphics/pokemon/icons/gligar_icon.4bpp"); -const u8 gMonFootprint_Gligar[] = INCBIN_U8("graphics/pokemon/footprints/gligar_footprint.1bpp"); - -const u32 gMonStillFrontPic_Steelix[] = INCBIN_U32("graphics/pokemon/front_pics/steelix_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Steelix[] = INCBIN_U32("graphics/pokemon/palettes/steelix_palette.gbapal.lz"); -const u32 gMonBackPic_Steelix[] = INCBIN_U32("graphics/pokemon/back_pics/steelix_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Steelix[] = INCBIN_U32("graphics/pokemon/palettes/steelix_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Steelix[] = INCBIN_U8("graphics/pokemon/icons/steelix_icon.4bpp"); -const u8 gMonFootprint_Steelix[] = INCBIN_U8("graphics/pokemon/footprints/steelix_footprint.1bpp"); - -const u32 gMonStillFrontPic_Snubbull[] = INCBIN_U32("graphics/pokemon/front_pics/snubbull_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/palettes/snubbull_palette.gbapal.lz"); -const u32 gMonBackPic_Snubbull[] = INCBIN_U32("graphics/pokemon/back_pics/snubbull_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/palettes/snubbull_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Snubbull[] = INCBIN_U8("graphics/pokemon/icons/snubbull_icon.4bpp"); -const u8 gMonFootprint_Snubbull[] = INCBIN_U8("graphics/pokemon/footprints/snubbull_footprint.1bpp"); - -const u32 gMonStillFrontPic_Granbull[] = INCBIN_U32("graphics/pokemon/front_pics/granbull_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Granbull[] = INCBIN_U32("graphics/pokemon/palettes/granbull_palette.gbapal.lz"); -const u32 gMonBackPic_Granbull[] = INCBIN_U32("graphics/pokemon/back_pics/granbull_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Granbull[] = INCBIN_U32("graphics/pokemon/palettes/granbull_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Granbull[] = INCBIN_U8("graphics/pokemon/icons/granbull_icon.4bpp"); -const u8 gMonFootprint_Granbull[] = INCBIN_U8("graphics/pokemon/footprints/granbull_footprint.1bpp"); - -const u32 gMonStillFrontPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/front_pics/qwilfish_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/palettes/qwilfish_palette.gbapal.lz"); -const u32 gMonBackPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/back_pics/qwilfish_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/palettes/qwilfish_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Qwilfish[] = INCBIN_U8("graphics/pokemon/icons/qwilfish_icon.4bpp"); -const u8 gMonFootprint_Qwilfish[] = INCBIN_U8("graphics/pokemon/footprints/qwilfish_footprint.1bpp"); - -const u32 gMonStillFrontPic_Scizor[] = INCBIN_U32("graphics/pokemon/front_pics/scizor_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Scizor[] = INCBIN_U32("graphics/pokemon/palettes/scizor_palette.gbapal.lz"); -const u32 gMonBackPic_Scizor[] = INCBIN_U32("graphics/pokemon/back_pics/scizor_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Scizor[] = INCBIN_U32("graphics/pokemon/palettes/scizor_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Scizor[] = INCBIN_U8("graphics/pokemon/icons/scizor_icon.4bpp"); -const u8 gMonFootprint_Scizor[] = INCBIN_U8("graphics/pokemon/footprints/scizor_footprint.1bpp"); - -const u32 gMonStillFrontPic_Shuckle[] = INCBIN_U32("graphics/pokemon/front_pics/shuckle_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/palettes/shuckle_palette.gbapal.lz"); -const u32 gMonBackPic_Shuckle[] = INCBIN_U32("graphics/pokemon/back_pics/shuckle_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/palettes/shuckle_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Shuckle[] = INCBIN_U8("graphics/pokemon/icons/shuckle_icon.4bpp"); -const u8 gMonFootprint_Shuckle[] = INCBIN_U8("graphics/pokemon/footprints/shuckle_footprint.1bpp"); - -const u32 gMonStillFrontPic_Heracross[] = INCBIN_U32("graphics/pokemon/front_pics/heracross_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Heracross[] = INCBIN_U32("graphics/pokemon/palettes/heracross_palette.gbapal.lz"); -const u32 gMonBackPic_Heracross[] = INCBIN_U32("graphics/pokemon/back_pics/heracross_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Heracross[] = INCBIN_U32("graphics/pokemon/palettes/heracross_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Heracross[] = INCBIN_U8("graphics/pokemon/icons/heracross_icon.4bpp"); -const u8 gMonFootprint_Heracross[] = INCBIN_U8("graphics/pokemon/footprints/heracross_footprint.1bpp"); - -const u32 gMonStillFrontPic_Sneasel[] = INCBIN_U32("graphics/pokemon/front_pics/sneasel_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/palettes/sneasel_palette.gbapal.lz"); -const u32 gMonBackPic_Sneasel[] = INCBIN_U32("graphics/pokemon/back_pics/sneasel_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/palettes/sneasel_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Sneasel[] = INCBIN_U8("graphics/pokemon/icons/sneasel_icon.4bpp"); -const u8 gMonFootprint_Sneasel[] = INCBIN_U8("graphics/pokemon/footprints/sneasel_footprint.1bpp"); - -const u32 gMonStillFrontPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/front_pics/teddiursa_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/palettes/teddiursa_palette.gbapal.lz"); -const u32 gMonBackPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/back_pics/teddiursa_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/palettes/teddiursa_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Teddiursa[] = INCBIN_U8("graphics/pokemon/icons/teddiursa_icon.4bpp"); -const u8 gMonFootprint_Teddiursa[] = INCBIN_U8("graphics/pokemon/footprints/teddiursa_footprint.1bpp"); -const u32 gMonStillFrontPic_Ursaring[] = INCBIN_U32("graphics/pokemon/front_pics/ursaring_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/palettes/ursaring_palette.gbapal.lz"); -const u32 gMonBackPic_Ursaring[] = INCBIN_U32("graphics/pokemon/back_pics/ursaring_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/palettes/ursaring_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Ursaring[] = INCBIN_U8("graphics/pokemon/icons/ursaring_icon.4bpp"); -const u8 gMonFootprint_Ursaring[] = INCBIN_U8("graphics/pokemon/footprints/ursaring_footprint.1bpp"); - -const u32 gMonStillFrontPic_Slugma[] = INCBIN_U32("graphics/pokemon/front_pics/slugma_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Slugma[] = INCBIN_U32("graphics/pokemon/palettes/slugma_palette.gbapal.lz"); -const u32 gMonBackPic_Slugma[] = INCBIN_U32("graphics/pokemon/back_pics/slugma_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Slugma[] = INCBIN_U32("graphics/pokemon/palettes/slugma_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Slugma[] = INCBIN_U8("graphics/pokemon/icons/slugma_icon.4bpp"); -const u8 gMonFootprint_Slugma[] = INCBIN_U8("graphics/pokemon/footprints/slugma_footprint.1bpp"); - -const u32 gMonStillFrontPic_Magcargo[] = INCBIN_U32("graphics/pokemon/front_pics/magcargo_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/palettes/magcargo_palette.gbapal.lz"); -const u32 gMonBackPic_Magcargo[] = INCBIN_U32("graphics/pokemon/back_pics/magcargo_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/palettes/magcargo_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Magcargo[] = INCBIN_U8("graphics/pokemon/icons/magcargo_icon.4bpp"); -const u8 gMonFootprint_Magcargo[] = INCBIN_U8("graphics/pokemon/footprints/magcargo_footprint.1bpp"); - -const u32 gMonStillFrontPic_Swinub[] = INCBIN_U32("graphics/pokemon/front_pics/swinub_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Swinub[] = INCBIN_U32("graphics/pokemon/palettes/swinub_palette.gbapal.lz"); -const u32 gMonBackPic_Swinub[] = INCBIN_U32("graphics/pokemon/back_pics/swinub_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Swinub[] = INCBIN_U32("graphics/pokemon/palettes/swinub_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Swinub[] = INCBIN_U8("graphics/pokemon/icons/swinub_icon.4bpp"); -const u8 gMonFootprint_Swinub[] = INCBIN_U8("graphics/pokemon/footprints/swinub_footprint.1bpp"); - -const u32 gMonStillFrontPic_Piloswine[] = INCBIN_U32("graphics/pokemon/front_pics/piloswine_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/palettes/piloswine_palette.gbapal.lz"); -const u32 gMonBackPic_Piloswine[] = INCBIN_U32("graphics/pokemon/back_pics/piloswine_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/palettes/piloswine_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Piloswine[] = INCBIN_U8("graphics/pokemon/icons/piloswine_icon.4bpp"); -const u8 gMonFootprint_Piloswine[] = INCBIN_U8("graphics/pokemon/footprints/piloswine_footprint.1bpp"); - -const u32 gMonStillFrontPic_Corsola[] = INCBIN_U32("graphics/pokemon/front_pics/corsola_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Corsola[] = INCBIN_U32("graphics/pokemon/palettes/corsola_palette.gbapal.lz"); -const u32 gMonBackPic_Corsola[] = INCBIN_U32("graphics/pokemon/back_pics/corsola_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Corsola[] = INCBIN_U32("graphics/pokemon/palettes/corsola_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Corsola[] = INCBIN_U8("graphics/pokemon/icons/corsola_icon.4bpp"); -const u8 gMonFootprint_Corsola[] = INCBIN_U8("graphics/pokemon/footprints/corsola_footprint.1bpp"); - -const u32 gMonStillFrontPic_Remoraid[] = INCBIN_U32("graphics/pokemon/front_pics/remoraid_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/palettes/remoraid_palette.gbapal.lz"); -const u32 gMonBackPic_Remoraid[] = INCBIN_U32("graphics/pokemon/back_pics/remoraid_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/palettes/remoraid_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Remoraid[] = INCBIN_U8("graphics/pokemon/icons/remoraid_icon.4bpp"); -const u8 gMonFootprint_Remoraid[] = INCBIN_U8("graphics/pokemon/footprints/remoraid_footprint.1bpp"); - -const u32 gMonStillFrontPic_Octillery[] = INCBIN_U32("graphics/pokemon/front_pics/octillery_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Octillery[] = INCBIN_U32("graphics/pokemon/palettes/octillery_palette.gbapal.lz"); -const u32 gMonBackPic_Octillery[] = INCBIN_U32("graphics/pokemon/back_pics/octillery_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Octillery[] = INCBIN_U32("graphics/pokemon/palettes/octillery_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Octillery[] = INCBIN_U8("graphics/pokemon/icons/octillery_icon.4bpp"); -const u8 gMonFootprint_Octillery[] = INCBIN_U8("graphics/pokemon/footprints/octillery_footprint.1bpp"); - -const u32 gMonStillFrontPic_Delibird[] = INCBIN_U32("graphics/pokemon/front_pics/delibird_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Delibird[] = INCBIN_U32("graphics/pokemon/palettes/delibird_palette.gbapal.lz"); -const u32 gMonBackPic_Delibird[] = INCBIN_U32("graphics/pokemon/back_pics/delibird_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Delibird[] = INCBIN_U32("graphics/pokemon/palettes/delibird_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Delibird[] = INCBIN_U8("graphics/pokemon/icons/delibird_icon.4bpp"); -const u8 gMonFootprint_Delibird[] = INCBIN_U8("graphics/pokemon/footprints/delibird_footprint.1bpp"); - -const u32 gMonStillFrontPic_Mantine[] = INCBIN_U32("graphics/pokemon/front_pics/mantine_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Mantine[] = INCBIN_U32("graphics/pokemon/palettes/mantine_palette.gbapal.lz"); -const u32 gMonBackPic_Mantine[] = INCBIN_U32("graphics/pokemon/back_pics/mantine_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Mantine[] = INCBIN_U32("graphics/pokemon/palettes/mantine_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Mantine[] = INCBIN_U8("graphics/pokemon/icons/mantine_icon.4bpp"); -const u8 gMonFootprint_Mantine[] = INCBIN_U8("graphics/pokemon/footprints/mantine_footprint.1bpp"); - -const u32 gMonStillFrontPic_Skarmory[] = INCBIN_U32("graphics/pokemon/front_pics/skarmory_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/palettes/skarmory_palette.gbapal.lz"); -const u32 gMonBackPic_Skarmory[] = INCBIN_U32("graphics/pokemon/back_pics/skarmory_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/palettes/skarmory_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Skarmory[] = INCBIN_U8("graphics/pokemon/icons/skarmory_icon.4bpp"); -const u8 gMonFootprint_Skarmory[] = INCBIN_U8("graphics/pokemon/footprints/skarmory_footprint.1bpp"); - -const u32 gMonStillFrontPic_Houndour[] = INCBIN_U32("graphics/pokemon/front_pics/houndour_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Houndour[] = INCBIN_U32("graphics/pokemon/palettes/houndour_palette.gbapal.lz"); -const u32 gMonBackPic_Houndour[] = INCBIN_U32("graphics/pokemon/back_pics/houndour_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Houndour[] = INCBIN_U32("graphics/pokemon/palettes/houndour_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Houndour[] = INCBIN_U8("graphics/pokemon/icons/houndour_icon.4bpp"); -const u8 gMonFootprint_Houndour[] = INCBIN_U8("graphics/pokemon/footprints/houndour_footprint.1bpp"); - -const u32 gMonStillFrontPic_Houndoom[] = INCBIN_U32("graphics/pokemon/front_pics/houndoom_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/palettes/houndoom_palette.gbapal.lz"); -const u32 gMonBackPic_Houndoom[] = INCBIN_U32("graphics/pokemon/back_pics/houndoom_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/palettes/houndoom_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Houndoom[] = INCBIN_U8("graphics/pokemon/icons/houndoom_icon.4bpp"); -const u8 gMonFootprint_Houndoom[] = INCBIN_U8("graphics/pokemon/footprints/houndoom_footprint.1bpp"); - -const u32 gMonStillFrontPic_Kingdra[] = INCBIN_U32("graphics/pokemon/front_pics/kingdra_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/palettes/kingdra_palette.gbapal.lz"); -const u32 gMonBackPic_Kingdra[] = INCBIN_U32("graphics/pokemon/back_pics/kingdra_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/palettes/kingdra_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Kingdra[] = INCBIN_U8("graphics/pokemon/icons/kingdra_icon.4bpp"); -const u8 gMonFootprint_Kingdra[] = INCBIN_U8("graphics/pokemon/footprints/kingdra_footprint.1bpp"); - -const u32 gMonStillFrontPic_Phanpy[] = INCBIN_U32("graphics/pokemon/front_pics/phanpy_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/palettes/phanpy_palette.gbapal.lz"); -const u32 gMonBackPic_Phanpy[] = INCBIN_U32("graphics/pokemon/back_pics/phanpy_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/palettes/phanpy_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Phanpy[] = INCBIN_U8("graphics/pokemon/icons/phanpy_icon.4bpp"); -const u8 gMonFootprint_Phanpy[] = INCBIN_U8("graphics/pokemon/footprints/phanpy_footprint.1bpp"); - -const u32 gMonStillFrontPic_Donphan[] = INCBIN_U32("graphics/pokemon/front_pics/donphan_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Donphan[] = INCBIN_U32("graphics/pokemon/palettes/donphan_palette.gbapal.lz"); -const u32 gMonBackPic_Donphan[] = INCBIN_U32("graphics/pokemon/back_pics/donphan_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Donphan[] = INCBIN_U32("graphics/pokemon/palettes/donphan_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Donphan[] = INCBIN_U8("graphics/pokemon/icons/donphan_icon.4bpp"); -const u8 gMonFootprint_Donphan[] = INCBIN_U8("graphics/pokemon/footprints/donphan_footprint.1bpp"); +const u32 gMonStillFrontPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/front.4bpp.lz"); +const u32 gMonPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/normal.gbapal.lz"); +const u32 gMonBackPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/back.4bpp.lz"); +const u32 gMonShinyPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/shiny.gbapal.lz"); +const u8 gMonIcon_Bulbasaur[] = INCBIN_U8("graphics/pokemon/bulbasaur/icon.4bpp"); +const u8 gMonFootprint_Bulbasaur[] = INCBIN_U8("graphics/pokemon/bulbasaur/footprint.1bpp"); + +const u32 gMonStillFrontPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/front.4bpp.lz"); +const u32 gMonPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/normal.gbapal.lz"); +const u32 gMonBackPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/back.4bpp.lz"); +const u32 gMonShinyPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/shiny.gbapal.lz"); +const u8 gMonIcon_Ivysaur[] = INCBIN_U8("graphics/pokemon/ivysaur/icon.4bpp"); +const u8 gMonFootprint_Ivysaur[] = INCBIN_U8("graphics/pokemon/ivysaur/footprint.1bpp"); + +const u32 gMonStillFrontPic_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/front.4bpp.lz"); +const u32 gMonPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/normal.gbapal.lz"); +const u32 gMonBackPic_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/back.4bpp.lz"); +const u32 gMonShinyPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/shiny.gbapal.lz"); +const u8 gMonIcon_Venusaur[] = INCBIN_U8("graphics/pokemon/venusaur/icon.4bpp"); +const u8 gMonFootprint_Venusaur[] = INCBIN_U8("graphics/pokemon/venusaur/footprint.1bpp"); + +const u32 gMonStillFrontPic_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/front.4bpp.lz"); +const u32 gMonPalette_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/normal.gbapal.lz"); +const u32 gMonBackPic_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/back.4bpp.lz"); +const u32 gMonShinyPalette_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/shiny.gbapal.lz"); +const u8 gMonIcon_Charmander[] = INCBIN_U8("graphics/pokemon/charmander/icon.4bpp"); +const u8 gMonFootprint_Charmander[] = INCBIN_U8("graphics/pokemon/charmander/footprint.1bpp"); + +const u32 gMonStillFrontPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/front.4bpp.lz"); +const u32 gMonPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/normal.gbapal.lz"); +const u32 gMonBackPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/back.4bpp.lz"); +const u32 gMonShinyPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/shiny.gbapal.lz"); +const u8 gMonIcon_Charmeleon[] = INCBIN_U8("graphics/pokemon/charmeleon/icon.4bpp"); +const u8 gMonFootprint_Charmeleon[] = INCBIN_U8("graphics/pokemon/charmeleon/footprint.1bpp"); + +const u32 gMonStillFrontPic_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/front.4bpp.lz"); +const u32 gMonPalette_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/normal.gbapal.lz"); +const u32 gMonBackPic_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/back.4bpp.lz"); +const u32 gMonShinyPalette_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/shiny.gbapal.lz"); +const u8 gMonIcon_Charizard[] = INCBIN_U8("graphics/pokemon/charizard/icon.4bpp"); +const u8 gMonFootprint_Charizard[] = INCBIN_U8("graphics/pokemon/charizard/footprint.1bpp"); + +const u32 gMonStillFrontPic_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/front.4bpp.lz"); +const u32 gMonPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/normal.gbapal.lz"); +const u32 gMonBackPic_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/back.4bpp.lz"); +const u32 gMonShinyPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/shiny.gbapal.lz"); +const u8 gMonIcon_Squirtle[] = INCBIN_U8("graphics/pokemon/squirtle/icon.4bpp"); +const u8 gMonFootprint_Squirtle[] = INCBIN_U8("graphics/pokemon/squirtle/footprint.1bpp"); + +const u32 gMonStillFrontPic_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/front.4bpp.lz"); +const u32 gMonPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/normal.gbapal.lz"); +const u32 gMonBackPic_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/back.4bpp.lz"); +const u32 gMonShinyPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/shiny.gbapal.lz"); +const u8 gMonIcon_Wartortle[] = INCBIN_U8("graphics/pokemon/wartortle/icon.4bpp"); +const u8 gMonFootprint_Wartortle[] = INCBIN_U8("graphics/pokemon/wartortle/footprint.1bpp"); + +const u32 gMonStillFrontPic_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/front.4bpp.lz"); +const u32 gMonPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/normal.gbapal.lz"); +const u32 gMonBackPic_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/back.4bpp.lz"); +const u32 gMonShinyPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/shiny.gbapal.lz"); +const u8 gMonIcon_Blastoise[] = INCBIN_U8("graphics/pokemon/blastoise/icon.4bpp"); +const u8 gMonFootprint_Blastoise[] = INCBIN_U8("graphics/pokemon/blastoise/footprint.1bpp"); + +const u32 gMonStillFrontPic_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/front.4bpp.lz"); +const u32 gMonPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/normal.gbapal.lz"); +const u32 gMonBackPic_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/back.4bpp.lz"); +const u32 gMonShinyPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/shiny.gbapal.lz"); +const u8 gMonIcon_Caterpie[] = INCBIN_U8("graphics/pokemon/caterpie/icon.4bpp"); +const u8 gMonFootprint_Caterpie[] = INCBIN_U8("graphics/pokemon/caterpie/footprint.1bpp"); + +const u32 gMonStillFrontPic_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/front.4bpp.lz"); +const u32 gMonPalette_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/normal.gbapal.lz"); +const u32 gMonBackPic_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/back.4bpp.lz"); +const u32 gMonShinyPalette_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/shiny.gbapal.lz"); +const u8 gMonIcon_Metapod[] = INCBIN_U8( "graphics/pokemon/metapod/icon.4bpp"); +const u8 gMonFootprint_Metapod[] = INCBIN_U8("graphics/pokemon/metapod/footprint.1bpp"); + +const u32 gMonStillFrontPic_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/front.4bpp.lz"); +const u32 gMonPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/normal.gbapal.lz"); +const u32 gMonBackPic_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/back.4bpp.lz"); +const u32 gMonShinyPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/shiny.gbapal.lz"); +const u8 gMonIcon_Butterfree[] = INCBIN_U8("graphics/pokemon/butterfree/icon.4bpp"); +const u8 gMonFootprint_Butterfree[] = INCBIN_U8("graphics/pokemon/butterfree/footprint.1bpp"); + +const u32 gMonStillFrontPic_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/front.4bpp.lz"); +const u32 gMonPalette_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/normal.gbapal.lz"); +const u32 gMonBackPic_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/back.4bpp.lz"); +const u32 gMonShinyPalette_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/shiny.gbapal.lz"); +const u8 gMonIcon_Weedle[] = INCBIN_U8("graphics/pokemon/weedle/icon.4bpp"); +const u8 gMonFootprint_Weedle[] = INCBIN_U8("graphics/pokemon/weedle/footprint.1bpp"); + +const u32 gMonStillFrontPic_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/front.4bpp.lz"); +const u32 gMonPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/normal.gbapal.lz"); +const u32 gMonBackPic_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/back.4bpp.lz"); +const u32 gMonShinyPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/shiny.gbapal.lz"); +const u8 gMonIcon_Kakuna[] = INCBIN_U8("graphics/pokemon/kakuna/icon.4bpp"); +const u8 gMonFootprint_Kakuna[] = INCBIN_U8("graphics/pokemon/kakuna/footprint.1bpp"); + +const u32 gMonStillFrontPic_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/front.4bpp.lz"); +const u32 gMonPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/normal.gbapal.lz"); +const u32 gMonBackPic_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/back.4bpp.lz"); +const u32 gMonShinyPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/shiny.gbapal.lz"); +const u8 gMonIcon_Beedrill[] = INCBIN_U8("graphics/pokemon/beedrill/icon.4bpp"); +const u8 gMonFootprint_Beedrill[] = INCBIN_U8("graphics/pokemon/beedrill/footprint.1bpp"); + +const u32 gMonStillFrontPic_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/front.4bpp.lz"); +const u32 gMonPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/normal.gbapal.lz"); +const u32 gMonBackPic_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/back.4bpp.lz"); +const u32 gMonShinyPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/shiny.gbapal.lz"); +const u8 gMonIcon_Pidgey[] = INCBIN_U8("graphics/pokemon/pidgey/icon.4bpp"); +const u8 gMonFootprint_Pidgey[] = INCBIN_U8("graphics/pokemon/pidgey/footprint.1bpp"); + +const u32 gMonStillFrontPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/front.4bpp.lz"); +const u32 gMonPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/normal.gbapal.lz"); +const u32 gMonBackPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/back.4bpp.lz"); +const u32 gMonShinyPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/shiny.gbapal.lz"); +const u8 gMonIcon_Pidgeotto[] = INCBIN_U8("graphics/pokemon/pidgeotto/icon.4bpp"); +const u8 gMonFootprint_Pidgeotto[] = INCBIN_U8("graphics/pokemon/pidgeotto/footprint.1bpp"); + +const u32 gMonStillFrontPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/front.4bpp.lz"); +const u32 gMonPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/normal.gbapal.lz"); +const u32 gMonBackPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/back.4bpp.lz"); +const u32 gMonShinyPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/shiny.gbapal.lz"); +const u8 gMonIcon_Pidgeot[] = INCBIN_U8("graphics/pokemon/pidgeot/icon.4bpp"); +const u8 gMonFootprint_Pidgeot[] = INCBIN_U8("graphics/pokemon/pidgeot/footprint.1bpp"); + +const u32 gMonStillFrontPic_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/front.4bpp.lz"); +const u32 gMonPalette_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/normal.gbapal.lz"); +const u32 gMonBackPic_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/back.4bpp.lz"); +const u32 gMonShinyPalette_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/shiny.gbapal.lz"); +const u8 gMonIcon_Rattata[] = INCBIN_U8("graphics/pokemon/rattata/icon.4bpp"); +const u8 gMonFootprint_Rattata[] = INCBIN_U8("graphics/pokemon/rattata/footprint.1bpp"); + +const u32 gMonStillFrontPic_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/front.4bpp.lz"); +const u32 gMonPalette_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/normal.gbapal.lz"); +const u32 gMonBackPic_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/back.4bpp.lz"); +const u32 gMonShinyPalette_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/shiny.gbapal.lz"); +const u8 gMonIcon_Raticate[] = INCBIN_U8("graphics/pokemon/raticate/icon.4bpp"); +const u8 gMonFootprint_Raticate[] = INCBIN_U8("graphics/pokemon/raticate/footprint.1bpp"); + +const u32 gMonStillFrontPic_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/front.4bpp.lz"); +const u32 gMonPalette_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/normal.gbapal.lz"); +const u32 gMonBackPic_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/back.4bpp.lz"); +const u32 gMonShinyPalette_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/shiny.gbapal.lz"); +const u8 gMonIcon_Spearow[] = INCBIN_U8("graphics/pokemon/spearow/icon.4bpp"); +const u8 gMonFootprint_Spearow[] = INCBIN_U8("graphics/pokemon/spearow/footprint.1bpp"); + +const u32 gMonStillFrontPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/front.4bpp.lz"); +const u32 gMonPalette_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/normal.gbapal.lz"); +const u32 gMonBackPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/back.4bpp.lz"); +const u32 gMonShinyPalette_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/shiny.gbapal.lz"); +const u8 gMonIcon_Fearow[] = INCBIN_U8("graphics/pokemon/fearow/icon.4bpp"); +const u8 gMonFootprint_Fearow[] = INCBIN_U8("graphics/pokemon/fearow/footprint.1bpp"); + +const u32 gMonStillFrontPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/front.4bpp.lz"); +const u32 gMonPalette_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/normal.gbapal.lz"); +const u32 gMonBackPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/back.4bpp.lz"); +const u32 gMonShinyPalette_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/shiny.gbapal.lz"); +const u8 gMonIcon_Ekans[] = INCBIN_U8("graphics/pokemon/ekans/icon.4bpp"); +const u8 gMonFootprint_Ekans[] = INCBIN_U8("graphics/pokemon/ekans/footprint.1bpp"); + +const u32 gMonStillFrontPic_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/front.4bpp.lz"); +const u32 gMonPalette_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/normal.gbapal.lz"); +const u32 gMonBackPic_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/back.4bpp.lz"); +const u32 gMonShinyPalette_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/shiny.gbapal.lz"); +const u8 gMonIcon_Arbok[] = INCBIN_U8("graphics/pokemon/arbok/icon.4bpp"); +const u8 gMonFootprint_Arbok[] = INCBIN_U8("graphics/pokemon/arbok/footprint.1bpp"); + +const u32 gMonStillFrontPic_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/front.4bpp.lz"); +const u32 gMonPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/normal.gbapal.lz"); +const u32 gMonBackPic_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/back.4bpp.lz"); +const u32 gMonShinyPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/shiny.gbapal.lz"); +const u8 gMonIcon_Pikachu[] = INCBIN_U8("graphics/pokemon/pikachu/icon.4bpp"); +const u8 gMonFootprint_Pikachu[] = INCBIN_U8("graphics/pokemon/pikachu/footprint.1bpp"); + +const u32 gMonStillFrontPic_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/front.4bpp.lz"); +const u32 gMonPalette_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/normal.gbapal.lz"); +const u32 gMonBackPic_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/back.4bpp.lz"); +const u32 gMonShinyPalette_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/shiny.gbapal.lz"); +const u8 gMonIcon_Raichu[] = INCBIN_U8("graphics/pokemon/raichu/icon.4bpp"); +const u8 gMonFootprint_Raichu[] = INCBIN_U8("graphics/pokemon/raichu/footprint.1bpp"); + +const u32 gMonStillFrontPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/front.4bpp.lz"); +const u32 gMonPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/normal.gbapal.lz"); +const u32 gMonBackPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/back.4bpp.lz"); +const u32 gMonShinyPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/shiny.gbapal.lz"); +const u8 gMonIcon_Sandshrew[] = INCBIN_U8("graphics/pokemon/sandshrew/icon.4bpp"); +const u8 gMonFootprint_Sandshrew[] = INCBIN_U8("graphics/pokemon/sandshrew/footprint.1bpp"); + +const u32 gMonStillFrontPic_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/front.4bpp.lz"); +const u32 gMonPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/normal.gbapal.lz"); +const u32 gMonBackPic_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/back.4bpp.lz"); +const u32 gMonShinyPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/shiny.gbapal.lz"); +const u8 gMonIcon_Sandslash[] = INCBIN_U8("graphics/pokemon/sandslash/icon.4bpp"); +const u8 gMonFootprint_Sandslash[] = INCBIN_U8("graphics/pokemon/sandslash/footprint.1bpp"); + +const u32 gMonStillFrontPic_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/front.4bpp.lz"); +const u32 gMonPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/normal.gbapal.lz"); +const u32 gMonBackPic_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/back.4bpp.lz"); +const u32 gMonShinyPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/shiny.gbapal.lz"); +const u8 gMonIcon_NidoranF[] = INCBIN_U8("graphics/pokemon/nidoran_f/icon.4bpp"); +const u8 gMonFootprint_NidoranF[] = INCBIN_U8("graphics/pokemon/nidoran_f/footprint.1bpp"); + +const u32 gMonStillFrontPic_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/front.4bpp.lz"); +const u32 gMonPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/normal.gbapal.lz"); +const u32 gMonBackPic_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/back.4bpp.lz"); +const u32 gMonShinyPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/shiny.gbapal.lz"); +const u8 gMonIcon_Nidorina[] = INCBIN_U8("graphics/pokemon/nidorina/icon.4bpp"); +const u8 gMonFootprint_Nidorina[] = INCBIN_U8("graphics/pokemon/nidorina/footprint.1bpp"); + +const u32 gMonStillFrontPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/front.4bpp.lz"); +const u32 gMonPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/normal.gbapal.lz"); +const u32 gMonBackPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/back.4bpp.lz"); +const u32 gMonShinyPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/shiny.gbapal.lz"); +const u8 gMonIcon_Nidoqueen[] = INCBIN_U8("graphics/pokemon/nidoqueen/icon.4bpp"); +const u8 gMonFootprint_Nidoqueen[] = INCBIN_U8("graphics/pokemon/nidoqueen/footprint.1bpp"); + +const u32 gMonStillFrontPic_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/front.4bpp.lz"); +const u32 gMonPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/normal.gbapal.lz"); +const u32 gMonBackPic_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/back.4bpp.lz"); +const u32 gMonShinyPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/shiny.gbapal.lz"); +const u8 gMonIcon_NidoranM[] = INCBIN_U8("graphics/pokemon/nidoran_m/icon.4bpp"); +const u8 gMonFootprint_NidoranM[] = INCBIN_U8("graphics/pokemon/nidoran_m/footprint.1bpp"); + +const u32 gMonStillFrontPic_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/front.4bpp.lz"); +const u32 gMonPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/normal.gbapal.lz"); +const u32 gMonBackPic_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/back.4bpp.lz"); +const u32 gMonShinyPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/shiny.gbapal.lz"); +const u8 gMonIcon_Nidorino[] = INCBIN_U8("graphics/pokemon/nidorino/icon.4bpp"); +const u8 gMonFootprint_Nidorino[] = INCBIN_U8("graphics/pokemon/nidorino/footprint.1bpp"); + +const u32 gMonStillFrontPic_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/front.4bpp.lz"); +const u32 gMonPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/normal.gbapal.lz"); +const u32 gMonBackPic_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/back.4bpp.lz"); +const u32 gMonShinyPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/shiny.gbapal.lz"); +const u8 gMonIcon_Nidoking[] = INCBIN_U8("graphics/pokemon/nidoking/icon.4bpp"); +const u8 gMonFootprint_Nidoking[] = INCBIN_U8("graphics/pokemon/nidoking/footprint.1bpp"); + +const u32 gMonStillFrontPic_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/front.4bpp.lz"); +const u32 gMonPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/normal.gbapal.lz"); +const u32 gMonBackPic_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/back.4bpp.lz"); +const u32 gMonShinyPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/shiny.gbapal.lz"); +const u8 gMonIcon_Clefairy[] = INCBIN_U8("graphics/pokemon/clefairy/icon.4bpp"); +const u8 gMonFootprint_Clefairy[] = INCBIN_U8("graphics/pokemon/clefairy/footprint.1bpp"); + +const u32 gMonStillFrontPic_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/front.4bpp.lz"); +const u32 gMonPalette_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/normal.gbapal.lz"); +const u32 gMonBackPic_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/back.4bpp.lz"); +const u32 gMonShinyPalette_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/shiny.gbapal.lz"); +const u8 gMonIcon_Clefable[] = INCBIN_U8("graphics/pokemon/clefable/icon.4bpp"); +const u8 gMonFootprint_Clefable[] = INCBIN_U8("graphics/pokemon/clefable/footprint.1bpp"); + +const u32 gMonStillFrontPic_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/front.4bpp.lz"); +const u32 gMonPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/normal.gbapal.lz"); +const u32 gMonBackPic_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/back.4bpp.lz"); +const u32 gMonShinyPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/shiny.gbapal.lz"); +const u8 gMonIcon_Vulpix[] = INCBIN_U8("graphics/pokemon/vulpix/icon.4bpp"); +const u8 gMonFootprint_Vulpix[] = INCBIN_U8("graphics/pokemon/vulpix/footprint.1bpp"); + +const u32 gMonStillFrontPic_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/front.4bpp.lz"); +const u32 gMonPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/normal.gbapal.lz"); +const u32 gMonBackPic_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/back.4bpp.lz"); +const u32 gMonShinyPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/shiny.gbapal.lz"); +const u8 gMonIcon_Ninetales[] = INCBIN_U8("graphics/pokemon/ninetales/icon.4bpp"); +const u8 gMonFootprint_Ninetales[] = INCBIN_U8("graphics/pokemon/ninetales/footprint.1bpp"); + +const u32 gMonStillFrontPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/front.4bpp.lz"); +const u32 gMonPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/normal.gbapal.lz"); +const u32 gMonBackPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/back.4bpp.lz"); +const u32 gMonShinyPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/shiny.gbapal.lz"); +const u8 gMonIcon_Jigglypuff[] = INCBIN_U8("graphics/pokemon/jigglypuff/icon.4bpp"); +const u8 gMonFootprint_Jigglypuff[] = INCBIN_U8("graphics/pokemon/jigglypuff/footprint.1bpp"); + +const u32 gMonStillFrontPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/front.4bpp.lz"); +const u32 gMonPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/normal.gbapal.lz"); +const u32 gMonBackPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/back.4bpp.lz"); +const u32 gMonShinyPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/shiny.gbapal.lz"); +const u8 gMonIcon_Wigglytuff[] = INCBIN_U8("graphics/pokemon/wigglytuff/icon.4bpp"); +const u8 gMonFootprint_Wigglytuff[] = INCBIN_U8("graphics/pokemon/wigglytuff/footprint.1bpp"); + +const u32 gMonStillFrontPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/front.4bpp.lz"); +const u32 gMonPalette_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/normal.gbapal.lz"); +const u32 gMonBackPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/back.4bpp.lz"); +const u32 gMonShinyPalette_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/shiny.gbapal.lz"); +const u8 gMonIcon_Zubat[] = INCBIN_U8("graphics/pokemon/zubat/icon.4bpp"); +const u8 gMonFootprint_Zubat[] = INCBIN_U8("graphics/pokemon/zubat/footprint.1bpp"); + +const u32 gMonStillFrontPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/front.4bpp.lz"); +const u32 gMonPalette_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/normal.gbapal.lz"); +const u32 gMonBackPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/back.4bpp.lz"); +const u32 gMonShinyPalette_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/shiny.gbapal.lz"); +const u8 gMonIcon_Golbat[] = INCBIN_U8("graphics/pokemon/golbat/icon.4bpp"); +const u8 gMonFootprint_Golbat[] = INCBIN_U8("graphics/pokemon/golbat/footprint.1bpp"); + +const u32 gMonStillFrontPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/front.4bpp.lz"); +const u32 gMonPalette_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/normal.gbapal.lz"); +const u32 gMonBackPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/back.4bpp.lz"); +const u32 gMonShinyPalette_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/shiny.gbapal.lz"); +const u8 gMonIcon_Oddish[] = INCBIN_U8("graphics/pokemon/oddish/icon.4bpp"); +const u8 gMonFootprint_Oddish[] = INCBIN_U8("graphics/pokemon/oddish/footprint.1bpp"); + +const u32 gMonStillFrontPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/front.4bpp.lz"); +const u32 gMonPalette_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/normal.gbapal.lz"); +const u32 gMonBackPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/back.4bpp.lz"); +const u32 gMonShinyPalette_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/shiny.gbapal.lz"); +const u8 gMonIcon_Gloom[] = INCBIN_U8("graphics/pokemon/gloom/icon.4bpp"); +const u8 gMonFootprint_Gloom[] = INCBIN_U8("graphics/pokemon/gloom/footprint.1bpp"); + +const u32 gMonStillFrontPic_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/front.4bpp.lz"); +const u32 gMonPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/normal.gbapal.lz"); +const u32 gMonBackPic_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/back.4bpp.lz"); +const u32 gMonShinyPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/shiny.gbapal.lz"); +const u8 gMonIcon_Vileplume[] = INCBIN_U8("graphics/pokemon/vileplume/icon.4bpp"); +const u8 gMonFootprint_Vileplume[] = INCBIN_U8("graphics/pokemon/vileplume/footprint.1bpp"); + +const u32 gMonStillFrontPic_Paras[] = INCBIN_U32("graphics/pokemon/paras/front.4bpp.lz"); +const u32 gMonPalette_Paras[] = INCBIN_U32("graphics/pokemon/paras/normal.gbapal.lz"); +const u32 gMonBackPic_Paras[] = INCBIN_U32("graphics/pokemon/paras/back.4bpp.lz"); +const u32 gMonShinyPalette_Paras[] = INCBIN_U32("graphics/pokemon/paras/shiny.gbapal.lz"); +const u8 gMonIcon_Paras[] = INCBIN_U8("graphics/pokemon/paras/icon.4bpp"); +const u8 gMonFootprint_Paras[] = INCBIN_U8("graphics/pokemon/paras/footprint.1bpp"); + +const u32 gMonStillFrontPic_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/front.4bpp.lz"); +const u32 gMonPalette_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/normal.gbapal.lz"); +const u32 gMonBackPic_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/back.4bpp.lz"); +const u32 gMonShinyPalette_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/shiny.gbapal.lz"); +const u8 gMonIcon_Parasect[] = INCBIN_U8("graphics/pokemon/parasect/icon.4bpp"); +const u8 gMonFootprint_Parasect[] = INCBIN_U8("graphics/pokemon/parasect/footprint.1bpp"); + +const u32 gMonStillFrontPic_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/front.4bpp.lz"); +const u32 gMonPalette_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/normal.gbapal.lz"); +const u32 gMonBackPic_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/back.4bpp.lz"); +const u32 gMonShinyPalette_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/shiny.gbapal.lz"); +const u8 gMonIcon_Venonat[] = INCBIN_U8("graphics/pokemon/venonat/icon.4bpp"); +const u8 gMonFootprint_Venonat[] = INCBIN_U8("graphics/pokemon/venonat/footprint.1bpp"); + +const u32 gMonStillFrontPic_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/front.4bpp.lz"); +const u32 gMonPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/normal.gbapal.lz"); +const u32 gMonBackPic_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/back.4bpp.lz"); +const u32 gMonShinyPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/shiny.gbapal.lz"); +const u8 gMonIcon_Venomoth[] = INCBIN_U8("graphics/pokemon/venomoth/icon.4bpp"); +const u8 gMonFootprint_Venomoth[] = INCBIN_U8("graphics/pokemon/venomoth/footprint.1bpp"); + +const u32 gMonStillFrontPic_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/front.4bpp.lz"); +const u32 gMonPalette_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/normal.gbapal.lz"); +const u32 gMonBackPic_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/back.4bpp.lz"); +const u32 gMonShinyPalette_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/shiny.gbapal.lz"); +const u8 gMonIcon_Diglett[] = INCBIN_U8("graphics/pokemon/diglett/icon.4bpp"); +const u8 gMonFootprint_Diglett[] = INCBIN_U8("graphics/pokemon/diglett/footprint.1bpp"); + +const u32 gMonStillFrontPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/front.4bpp.lz"); +const u32 gMonPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/normal.gbapal.lz"); +const u32 gMonBackPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/back.4bpp.lz"); +const u32 gMonShinyPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/shiny.gbapal.lz"); +const u8 gMonIcon_Dugtrio[] = INCBIN_U8("graphics/pokemon/dugtrio/icon.4bpp"); +const u8 gMonFootprint_Dugtrio[] = INCBIN_U8("graphics/pokemon/dugtrio/footprint.1bpp"); + +const u32 gMonStillFrontPic_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/front.4bpp.lz"); +const u32 gMonPalette_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/normal.gbapal.lz"); +const u32 gMonBackPic_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/back.4bpp.lz"); +const u32 gMonShinyPalette_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/shiny.gbapal.lz"); +const u8 gMonIcon_Meowth[] = INCBIN_U8("graphics/pokemon/meowth/icon.4bpp"); +const u8 gMonFootprint_Meowth[] = INCBIN_U8("graphics/pokemon/meowth/footprint.1bpp"); + +const u32 gMonStillFrontPic_Persian[] = INCBIN_U32("graphics/pokemon/persian/front.4bpp.lz"); +const u32 gMonPalette_Persian[] = INCBIN_U32("graphics/pokemon/persian/normal.gbapal.lz"); +const u32 gMonBackPic_Persian[] = INCBIN_U32("graphics/pokemon/persian/back.4bpp.lz"); +const u32 gMonShinyPalette_Persian[] = INCBIN_U32("graphics/pokemon/persian/shiny.gbapal.lz"); +const u8 gMonIcon_Persian[] = INCBIN_U8("graphics/pokemon/persian/icon.4bpp"); +const u8 gMonFootprint_Persian[] = INCBIN_U8("graphics/pokemon/persian/footprint.1bpp"); + +const u32 gMonStillFrontPic_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/front.4bpp.lz"); +const u32 gMonPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/normal.gbapal.lz"); +const u32 gMonBackPic_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/back.4bpp.lz"); +const u32 gMonShinyPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/shiny.gbapal.lz"); +const u8 gMonIcon_Psyduck[] = INCBIN_U8("graphics/pokemon/psyduck/icon.4bpp"); +const u8 gMonFootprint_Psyduck[] = INCBIN_U8("graphics/pokemon/psyduck/footprint.1bpp"); + +const u32 gMonStillFrontPic_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/front.4bpp.lz"); +const u32 gMonPalette_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/normal.gbapal.lz"); +const u32 gMonBackPic_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/back.4bpp.lz"); +const u32 gMonShinyPalette_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/shiny.gbapal.lz"); +const u8 gMonIcon_Golduck[] = INCBIN_U8("graphics/pokemon/golduck/icon.4bpp"); +const u8 gMonFootprint_Golduck[] = INCBIN_U8("graphics/pokemon/golduck/footprint.1bpp"); + +const u32 gMonStillFrontPic_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/front.4bpp.lz"); +const u32 gMonPalette_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/normal.gbapal.lz"); +const u32 gMonBackPic_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/back.4bpp.lz"); +const u32 gMonShinyPalette_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/shiny.gbapal.lz"); +const u8 gMonIcon_Mankey[] = INCBIN_U8("graphics/pokemon/mankey/icon.4bpp"); +const u8 gMonFootprint_Mankey[] = INCBIN_U8("graphics/pokemon/mankey/footprint.1bpp"); + +const u32 gMonStillFrontPic_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/front.4bpp.lz"); +const u32 gMonPalette_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/normal.gbapal.lz"); +const u32 gMonBackPic_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/back.4bpp.lz"); +const u32 gMonShinyPalette_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/shiny.gbapal.lz"); +const u8 gMonIcon_Primeape[] = INCBIN_U8("graphics/pokemon/primeape/icon.4bpp"); +const u8 gMonFootprint_Primeape[] = INCBIN_U8("graphics/pokemon/primeape/footprint.1bpp"); + +const u32 gMonStillFrontPic_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/front.4bpp.lz"); +const u32 gMonPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/normal.gbapal.lz"); +const u32 gMonBackPic_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/back.4bpp.lz"); +const u32 gMonShinyPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/shiny.gbapal.lz"); +const u8 gMonIcon_Growlithe[] = INCBIN_U8("graphics/pokemon/growlithe/icon.4bpp"); +const u8 gMonFootprint_Growlithe[] = INCBIN_U8("graphics/pokemon/growlithe/footprint.1bpp"); + +const u32 gMonStillFrontPic_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/front.4bpp.lz"); +const u32 gMonPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/normal.gbapal.lz"); +const u32 gMonBackPic_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/back.4bpp.lz"); +const u32 gMonShinyPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/shiny.gbapal.lz"); +const u8 gMonIcon_Arcanine[] = INCBIN_U8("graphics/pokemon/arcanine/icon.4bpp"); +const u8 gMonFootprint_Arcanine[] = INCBIN_U8("graphics/pokemon/arcanine/footprint.1bpp"); + +const u32 gMonStillFrontPic_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/front.4bpp.lz"); +const u32 gMonPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/normal.gbapal.lz"); +const u32 gMonBackPic_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/back.4bpp.lz"); +const u32 gMonShinyPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/shiny.gbapal.lz"); +const u8 gMonIcon_Poliwag[] = INCBIN_U8("graphics/pokemon/poliwag/icon.4bpp"); +const u8 gMonFootprint_Poliwag[] = INCBIN_U8("graphics/pokemon/poliwag/footprint.1bpp"); + +const u32 gMonStillFrontPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/front.4bpp.lz"); +const u32 gMonPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/normal.gbapal.lz"); +const u32 gMonBackPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/back.4bpp.lz"); +const u32 gMonShinyPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/shiny.gbapal.lz"); +const u8 gMonIcon_Poliwhirl[] = INCBIN_U8("graphics/pokemon/poliwhirl/icon.4bpp"); +const u8 gMonFootprint_Poliwhirl[] = INCBIN_U8("graphics/pokemon/poliwhirl/footprint.1bpp"); + +const u32 gMonStillFrontPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/front.4bpp.lz"); +const u32 gMonPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/normal.gbapal.lz"); +const u32 gMonBackPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/back.4bpp.lz"); +const u32 gMonShinyPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/shiny.gbapal.lz"); +const u8 gMonIcon_Poliwrath[] = INCBIN_U8("graphics/pokemon/poliwrath/icon.4bpp"); +const u8 gMonFootprint_Poliwrath[] = INCBIN_U8("graphics/pokemon/poliwrath/footprint.1bpp"); + +const u32 gMonStillFrontPic_Abra[] = INCBIN_U32("graphics/pokemon/abra/front.4bpp.lz"); +const u32 gMonPalette_Abra[] = INCBIN_U32("graphics/pokemon/abra/normal.gbapal.lz"); +const u32 gMonBackPic_Abra[] = INCBIN_U32("graphics/pokemon/abra/back.4bpp.lz"); +const u32 gMonShinyPalette_Abra[] = INCBIN_U32("graphics/pokemon/abra/shiny.gbapal.lz"); +const u8 gMonIcon_Abra[] = INCBIN_U8("graphics/pokemon/abra/icon.4bpp"); +const u8 gMonFootprint_Abra[] = INCBIN_U8("graphics/pokemon/abra/footprint.1bpp"); + +const u32 gMonStillFrontPic_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/front.4bpp.lz"); +const u32 gMonPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/normal.gbapal.lz"); +const u32 gMonBackPic_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/back.4bpp.lz"); +const u32 gMonShinyPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/shiny.gbapal.lz"); +const u8 gMonIcon_Kadabra[] = INCBIN_U8("graphics/pokemon/kadabra/icon.4bpp"); +const u8 gMonFootprint_Kadabra[] = INCBIN_U8("graphics/pokemon/kadabra/footprint.1bpp"); + +const u32 gMonStillFrontPic_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/front.4bpp.lz"); +const u32 gMonPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/normal.gbapal.lz"); +const u32 gMonBackPic_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/back.4bpp.lz"); +const u32 gMonShinyPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/shiny.gbapal.lz"); +const u8 gMonIcon_Alakazam[] = INCBIN_U8("graphics/pokemon/alakazam/icon.4bpp"); +const u8 gMonFootprint_Alakazam[] = INCBIN_U8("graphics/pokemon/alakazam/footprint.1bpp"); + +const u32 gMonStillFrontPic_Machop[] = INCBIN_U32("graphics/pokemon/machop/front.4bpp.lz"); +const u32 gMonPalette_Machop[] = INCBIN_U32("graphics/pokemon/machop/normal.gbapal.lz"); +const u32 gMonBackPic_Machop[] = INCBIN_U32("graphics/pokemon/machop/back.4bpp.lz"); +const u32 gMonShinyPalette_Machop[] = INCBIN_U32("graphics/pokemon/machop/shiny.gbapal.lz"); +const u8 gMonIcon_Machop[] = INCBIN_U8("graphics/pokemon/machop/icon.4bpp"); +const u8 gMonFootprint_Machop[] = INCBIN_U8("graphics/pokemon/machop/footprint.1bpp"); + +const u32 gMonStillFrontPic_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/front.4bpp.lz"); +const u32 gMonPalette_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/normal.gbapal.lz"); +const u32 gMonBackPic_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/back.4bpp.lz"); +const u32 gMonShinyPalette_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/shiny.gbapal.lz"); +const u8 gMonIcon_Machoke[] = INCBIN_U8("graphics/pokemon/machoke/icon.4bpp"); +const u8 gMonFootprint_Machoke[] = INCBIN_U8("graphics/pokemon/machoke/footprint.1bpp"); + +const u32 gMonStillFrontPic_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/front.4bpp.lz"); +const u32 gMonPalette_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/normal.gbapal.lz"); +const u32 gMonBackPic_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/back.4bpp.lz"); +const u32 gMonShinyPalette_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/shiny.gbapal.lz"); +const u8 gMonIcon_Machamp[] = INCBIN_U8("graphics/pokemon/machamp/icon.4bpp"); +const u8 gMonFootprint_Machamp[] = INCBIN_U8("graphics/pokemon/machamp/footprint.1bpp"); + +const u32 gMonStillFrontPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/front.4bpp.lz"); +const u32 gMonPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/normal.gbapal.lz"); +const u32 gMonBackPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/back.4bpp.lz"); +const u32 gMonShinyPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/shiny.gbapal.lz"); +const u8 gMonIcon_Bellsprout[] = INCBIN_U8("graphics/pokemon/bellsprout/icon.4bpp"); +const u8 gMonFootprint_Bellsprout[] = INCBIN_U8("graphics/pokemon/bellsprout/footprint.1bpp"); + +const u32 gMonStillFrontPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/front.4bpp.lz"); +const u32 gMonPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/normal.gbapal.lz"); +const u32 gMonBackPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/back.4bpp.lz"); +const u32 gMonShinyPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/shiny.gbapal.lz"); +const u8 gMonIcon_Weepinbell[] = INCBIN_U8("graphics/pokemon/weepinbell/icon.4bpp"); +const u8 gMonFootprint_Weepinbell[] = INCBIN_U8("graphics/pokemon/weepinbell/footprint.1bpp"); + +const u32 gMonStillFrontPic_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/front.4bpp.lz"); +const u32 gMonPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/normal.gbapal.lz"); +const u32 gMonBackPic_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/back.4bpp.lz"); +const u32 gMonShinyPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/shiny.gbapal.lz"); +const u8 gMonIcon_Victreebel[] = INCBIN_U8("graphics/pokemon/victreebel/icon.4bpp"); +const u8 gMonFootprint_Victreebel[] = INCBIN_U8("graphics/pokemon/victreebel/footprint.1bpp"); + +const u32 gMonStillFrontPic_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/front.4bpp.lz"); +const u32 gMonPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/normal.gbapal.lz"); +const u32 gMonBackPic_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/back.4bpp.lz"); +const u32 gMonShinyPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/shiny.gbapal.lz"); +const u8 gMonIcon_Tentacool[] = INCBIN_U8("graphics/pokemon/tentacool/icon.4bpp"); +const u8 gMonFootprint_Tentacool[] = INCBIN_U8("graphics/pokemon/tentacool/footprint.1bpp"); + +const u32 gMonStillFrontPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/front.4bpp.lz"); +const u32 gMonPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/normal.gbapal.lz"); +const u32 gMonBackPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/back.4bpp.lz"); +const u32 gMonShinyPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/shiny.gbapal.lz"); +const u8 gMonIcon_Tentacruel[] = INCBIN_U8("graphics/pokemon/tentacruel/icon.4bpp"); +const u8 gMonFootprint_Tentacruel[] = INCBIN_U8("graphics/pokemon/tentacruel/footprint.1bpp"); + +const u32 gMonStillFrontPic_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/front.4bpp.lz"); +const u32 gMonPalette_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/normal.gbapal.lz"); +const u32 gMonBackPic_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/back.4bpp.lz"); +const u32 gMonShinyPalette_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/shiny.gbapal.lz"); +const u8 gMonIcon_Geodude[] = INCBIN_U8("graphics/pokemon/geodude/icon.4bpp"); +const u8 gMonFootprint_Geodude[] = INCBIN_U8("graphics/pokemon/geodude/footprint.1bpp"); + +const u32 gMonStillFrontPic_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/front.4bpp.lz"); +const u32 gMonPalette_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/normal.gbapal.lz"); +const u32 gMonBackPic_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/back.4bpp.lz"); +const u32 gMonShinyPalette_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/shiny.gbapal.lz"); +const u8 gMonIcon_Graveler[] = INCBIN_U8("graphics/pokemon/graveler/icon.4bpp"); +const u8 gMonFootprint_Graveler[] = INCBIN_U8("graphics/pokemon/graveler/footprint.1bpp"); + +const u32 gMonStillFrontPic_Golem[] = INCBIN_U32("graphics/pokemon/golem/front.4bpp.lz"); +const u32 gMonPalette_Golem[] = INCBIN_U32("graphics/pokemon/golem/normal.gbapal.lz"); +const u32 gMonBackPic_Golem[] = INCBIN_U32("graphics/pokemon/golem/back.4bpp.lz"); +const u32 gMonShinyPalette_Golem[] = INCBIN_U32("graphics/pokemon/golem/shiny.gbapal.lz"); +const u8 gMonIcon_Golem[] = INCBIN_U8("graphics/pokemon/golem/icon.4bpp"); +const u8 gMonFootprint_Golem[] = INCBIN_U8("graphics/pokemon/golem/footprint.1bpp"); + +const u32 gMonStillFrontPic_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/front.4bpp.lz"); +const u32 gMonPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/normal.gbapal.lz"); +const u32 gMonBackPic_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/back.4bpp.lz"); +const u32 gMonShinyPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/shiny.gbapal.lz"); +const u8 gMonIcon_Ponyta[] = INCBIN_U8("graphics/pokemon/ponyta/icon.4bpp"); +const u8 gMonFootprint_Ponyta[] = INCBIN_U8("graphics/pokemon/ponyta/footprint.1bpp"); + +const u32 gMonStillFrontPic_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/front.4bpp.lz"); +const u32 gMonPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/normal.gbapal.lz"); +const u32 gMonBackPic_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/back.4bpp.lz"); +const u32 gMonShinyPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/shiny.gbapal.lz"); +const u8 gMonIcon_Rapidash[] = INCBIN_U8("graphics/pokemon/rapidash/icon.4bpp"); +const u8 gMonFootprint_Rapidash[] = INCBIN_U8("graphics/pokemon/rapidash/footprint.1bpp"); + +const u32 gMonStillFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/front.4bpp.lz"); +const u32 gMonPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/normal.gbapal.lz"); +const u32 gMonBackPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/back.4bpp.lz"); +const u32 gMonShinyPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/shiny.gbapal.lz"); +const u8 gMonIcon_Slowpoke[] = INCBIN_U8("graphics/pokemon/slowpoke/icon.4bpp"); +const u8 gMonFootprint_Slowpoke[] = INCBIN_U8("graphics/pokemon/slowpoke/footprint.1bpp"); + +const u32 gMonStillFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/front.4bpp.lz"); +const u32 gMonPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/normal.gbapal.lz"); +const u32 gMonBackPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/back.4bpp.lz"); +const u32 gMonShinyPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/shiny.gbapal.lz"); +const u8 gMonIcon_Slowbro[] = INCBIN_U8("graphics/pokemon/slowbro/icon.4bpp"); +const u8 gMonFootprint_Slowbro[] = INCBIN_U8("graphics/pokemon/slowbro/footprint.1bpp"); + +const u32 gMonStillFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/front.4bpp.lz"); +const u32 gMonPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/normal.gbapal.lz"); +const u32 gMonBackPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/back.4bpp.lz"); +const u32 gMonShinyPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/shiny.gbapal.lz"); +const u8 gMonIcon_Magnemite[] = INCBIN_U8("graphics/pokemon/magnemite/icon.4bpp"); +const u8 gMonFootprint_Magnemite[] = INCBIN_U8("graphics/pokemon/magnemite/footprint.1bpp"); + +const u32 gMonStillFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/front.4bpp.lz"); +const u32 gMonPalette_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/normal.gbapal.lz"); +const u32 gMonBackPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/back.4bpp.lz"); +const u32 gMonShinyPalette_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/shiny.gbapal.lz"); +const u8 gMonIcon_Magneton[] = INCBIN_U8("graphics/pokemon/magneton/icon.4bpp"); +const u8 gMonFootprint_Magneton[] = INCBIN_U8("graphics/pokemon/magneton/footprint.1bpp"); + +const u32 gMonStillFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/front.4bpp.lz"); +const u32 gMonPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/normal.gbapal.lz"); +const u32 gMonBackPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/back.4bpp.lz"); +const u32 gMonShinyPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/shiny.gbapal.lz"); +const u8 gMonIcon_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetch_d/icon.4bpp"); +const u8 gMonFootprint_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetch_d/footprint.1bpp"); + +const u32 gMonStillFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/front.4bpp.lz"); +const u32 gMonPalette_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/normal.gbapal.lz"); +const u32 gMonBackPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/back.4bpp.lz"); +const u32 gMonShinyPalette_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/shiny.gbapal.lz"); +const u8 gMonIcon_Doduo[] = INCBIN_U8("graphics/pokemon/doduo/icon.4bpp"); +const u8 gMonFootprint_Doduo[] = INCBIN_U8("graphics/pokemon/doduo/footprint.1bpp"); + +const u32 gMonStillFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/front.4bpp.lz"); +const u32 gMonPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/normal.gbapal.lz"); +const u32 gMonBackPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/back.4bpp.lz"); +const u32 gMonShinyPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/shiny.gbapal.lz"); +const u8 gMonIcon_Dodrio[] = INCBIN_U8("graphics/pokemon/dodrio/icon.4bpp"); +const u8 gMonFootprint_Dodrio[] = INCBIN_U8("graphics/pokemon/dodrio/footprint.1bpp"); + +const u32 gMonStillFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/front.4bpp.lz"); +const u32 gMonPalette_Seel[] = INCBIN_U32("graphics/pokemon/seel/normal.gbapal.lz"); +const u32 gMonBackPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/back.4bpp.lz"); +const u32 gMonShinyPalette_Seel[] = INCBIN_U32("graphics/pokemon/seel/shiny.gbapal.lz"); +const u8 gMonIcon_Seel[] = INCBIN_U8("graphics/pokemon/seel/icon.4bpp"); +const u8 gMonFootprint_Seel[] = INCBIN_U8("graphics/pokemon/seel/footprint.1bpp"); + +const u32 gMonStillFrontPic_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/front.4bpp.lz"); +const u32 gMonPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/normal.gbapal.lz"); +const u32 gMonBackPic_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/back.4bpp.lz"); +const u32 gMonShinyPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/shiny.gbapal.lz"); +const u8 gMonIcon_Dewgong[] = INCBIN_U8("graphics/pokemon/dewgong/icon.4bpp"); +const u8 gMonFootprint_Dewgong[] = INCBIN_U8("graphics/pokemon/dewgong/footprint.1bpp"); + +const u32 gMonStillFrontPic_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/front.4bpp.lz"); +const u32 gMonPalette_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/normal.gbapal.lz"); +const u32 gMonBackPic_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/back.4bpp.lz"); +const u32 gMonShinyPalette_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/shiny.gbapal.lz"); +const u8 gMonIcon_Grimer[] = INCBIN_U8("graphics/pokemon/grimer/icon.4bpp"); +const u8 gMonFootprint_Grimer[] = INCBIN_U8("graphics/pokemon/grimer/footprint.1bpp"); + +const u32 gMonStillFrontPic_Muk[] = INCBIN_U32("graphics/pokemon/muk/front.4bpp.lz"); +const u32 gMonPalette_Muk[] = INCBIN_U32("graphics/pokemon/muk/normal.gbapal.lz"); +const u32 gMonBackPic_Muk[] = INCBIN_U32("graphics/pokemon/muk/back.4bpp.lz"); +const u32 gMonShinyPalette_Muk[] = INCBIN_U32("graphics/pokemon/muk/shiny.gbapal.lz"); +const u8 gMonIcon_Muk[] = INCBIN_U8("graphics/pokemon/muk/icon.4bpp"); +const u8 gMonFootprint_Muk[] = INCBIN_U8("graphics/pokemon/muk/footprint.1bpp"); + +const u32 gMonStillFrontPic_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/front.4bpp.lz"); +const u32 gMonPalette_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/normal.gbapal.lz"); +const u32 gMonBackPic_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/back.4bpp.lz"); +const u32 gMonShinyPalette_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/shiny.gbapal.lz"); +const u8 gMonIcon_Shellder[] = INCBIN_U8("graphics/pokemon/shellder/icon.4bpp"); +const u8 gMonFootprint_Shellder[] = INCBIN_U8("graphics/pokemon/shellder/footprint.1bpp"); + +const u32 gMonStillFrontPic_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/front.4bpp.lz"); +const u32 gMonPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/normal.gbapal.lz"); +const u32 gMonBackPic_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/back.4bpp.lz"); +const u32 gMonShinyPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/shiny.gbapal.lz"); +const u8 gMonIcon_Cloyster[] = INCBIN_U8("graphics/pokemon/cloyster/icon.4bpp"); +const u8 gMonFootprint_Cloyster[] = INCBIN_U8("graphics/pokemon/cloyster/footprint.1bpp"); + +const u32 gMonStillFrontPic_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/front.4bpp.lz"); +const u32 gMonPalette_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/normal.gbapal.lz"); +const u32 gMonBackPic_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/back.4bpp.lz"); +const u32 gMonShinyPalette_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/shiny.gbapal.lz"); +const u8 gMonIcon_Gastly[] = INCBIN_U8("graphics/pokemon/gastly/icon.4bpp"); +const u8 gMonFootprint_Gastly[] = INCBIN_U8("graphics/pokemon/gastly/footprint.1bpp"); + +const u32 gMonStillFrontPic_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/front.4bpp.lz"); +const u32 gMonPalette_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/normal.gbapal.lz"); +const u32 gMonBackPic_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/back.4bpp.lz"); +const u32 gMonShinyPalette_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/shiny.gbapal.lz"); +const u8 gMonIcon_Haunter[] = INCBIN_U8("graphics/pokemon/haunter/icon.4bpp"); +const u8 gMonFootprint_Haunter[] = INCBIN_U8("graphics/pokemon/haunter/footprint.1bpp"); + +const u32 gMonStillFrontPic_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/front.4bpp.lz"); +const u32 gMonPalette_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/normal.gbapal.lz"); +const u32 gMonBackPic_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/back.4bpp.lz"); +const u32 gMonShinyPalette_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/shiny.gbapal.lz"); +const u8 gMonIcon_Gengar[] = INCBIN_U8("graphics/pokemon/gengar/icon.4bpp"); +const u8 gMonFootprint_Gengar[] = INCBIN_U8("graphics/pokemon/gengar/footprint.1bpp"); + +const u32 gMonStillFrontPic_Onix[] = INCBIN_U32("graphics/pokemon/onix/front.4bpp.lz"); +const u32 gMonPalette_Onix[] = INCBIN_U32("graphics/pokemon/onix/normal.gbapal.lz"); +const u32 gMonBackPic_Onix[] = INCBIN_U32("graphics/pokemon/onix/back.4bpp.lz"); +const u32 gMonShinyPalette_Onix[] = INCBIN_U32("graphics/pokemon/onix/shiny.gbapal.lz"); +const u8 gMonIcon_Onix[] = INCBIN_U8("graphics/pokemon/onix/icon.4bpp"); +const u8 gMonFootprint_Onix[] = INCBIN_U8("graphics/pokemon/onix/footprint.1bpp"); + +const u32 gMonStillFrontPic_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/front.4bpp.lz"); +const u32 gMonPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/normal.gbapal.lz"); +const u32 gMonBackPic_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/back.4bpp.lz"); +const u32 gMonShinyPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/shiny.gbapal.lz"); +const u8 gMonIcon_Drowzee[] = INCBIN_U8("graphics/pokemon/drowzee/icon.4bpp"); +const u8 gMonFootprint_Drowzee[] = INCBIN_U8("graphics/pokemon/drowzee/footprint.1bpp"); + +const u32 gMonStillFrontPic_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/front.4bpp.lz"); +const u32 gMonPalette_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/normal.gbapal.lz"); +const u32 gMonBackPic_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/back.4bpp.lz"); +const u32 gMonShinyPalette_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/shiny.gbapal.lz"); +const u8 gMonIcon_Hypno[] = INCBIN_U8("graphics/pokemon/hypno/icon.4bpp"); +const u8 gMonFootprint_Hypno[] = INCBIN_U8("graphics/pokemon/hypno/footprint.1bpp"); + +const u32 gMonStillFrontPic_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/front.4bpp.lz"); +const u32 gMonPalette_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/normal.gbapal.lz"); +const u32 gMonBackPic_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/back.4bpp.lz"); +const u32 gMonShinyPalette_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/shiny.gbapal.lz"); +const u8 gMonIcon_Krabby[] = INCBIN_U8("graphics/pokemon/krabby/icon.4bpp"); +const u8 gMonFootprint_Krabby[] = INCBIN_U8("graphics/pokemon/krabby/footprint.1bpp"); + +const u32 gMonStillFrontPic_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/front.4bpp.lz"); +const u32 gMonPalette_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/normal.gbapal.lz"); +const u32 gMonBackPic_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/back.4bpp.lz"); +const u32 gMonShinyPalette_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/shiny.gbapal.lz"); +const u8 gMonIcon_Kingler[] = INCBIN_U8("graphics/pokemon/kingler/icon.4bpp"); +const u8 gMonFootprint_Kingler[] = INCBIN_U8("graphics/pokemon/kingler/footprint.1bpp"); + +const u32 gMonStillFrontPic_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/front.4bpp.lz"); +const u32 gMonPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/normal.gbapal.lz"); +const u32 gMonBackPic_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/back.4bpp.lz"); +const u32 gMonShinyPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/shiny.gbapal.lz"); +const u8 gMonIcon_Voltorb[] = INCBIN_U8("graphics/pokemon/voltorb/icon.4bpp"); +const u8 gMonFootprint_Voltorb[] = INCBIN_U8("graphics/pokemon/voltorb/footprint.1bpp"); + +const u32 gMonStillFrontPic_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/front.4bpp.lz"); +const u32 gMonPalette_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/normal.gbapal.lz"); +const u32 gMonBackPic_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/back.4bpp.lz"); +const u32 gMonShinyPalette_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/shiny.gbapal.lz"); +const u8 gMonIcon_Electrode[] = INCBIN_U8("graphics/pokemon/electrode/icon.4bpp"); +const u8 gMonFootprint_Electrode[] = INCBIN_U8("graphics/pokemon/electrode/footprint.1bpp"); + +const u32 gMonStillFrontPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/front.4bpp.lz"); +const u32 gMonPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/normal.gbapal.lz"); +const u32 gMonBackPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/back.4bpp.lz"); +const u32 gMonShinyPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/shiny.gbapal.lz"); +const u8 gMonIcon_Exeggcute[] = INCBIN_U8("graphics/pokemon/exeggcute/icon.4bpp"); +const u8 gMonFootprint_Exeggcute[] = INCBIN_U8("graphics/pokemon/exeggcute/footprint.1bpp"); + +const u32 gMonStillFrontPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/front.4bpp.lz"); +const u32 gMonPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/normal.gbapal.lz"); +const u32 gMonBackPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/back.4bpp.lz"); +const u32 gMonShinyPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/shiny.gbapal.lz"); +const u8 gMonIcon_Exeggutor[] = INCBIN_U8("graphics/pokemon/exeggutor/icon.4bpp"); +const u8 gMonFootprint_Exeggutor[] = INCBIN_U8("graphics/pokemon/exeggutor/footprint.1bpp"); + +const u32 gMonStillFrontPic_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/front.4bpp.lz"); +const u32 gMonPalette_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/normal.gbapal.lz"); +const u32 gMonBackPic_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/back.4bpp.lz"); +const u32 gMonShinyPalette_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/shiny.gbapal.lz"); +const u8 gMonIcon_Cubone[] = INCBIN_U8("graphics/pokemon/cubone/icon.4bpp"); +const u8 gMonFootprint_Cubone[] = INCBIN_U8("graphics/pokemon/cubone/footprint.1bpp"); + +const u32 gMonStillFrontPic_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/front.4bpp.lz"); +const u32 gMonPalette_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/normal.gbapal.lz"); +const u32 gMonBackPic_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/back.4bpp.lz"); +const u32 gMonShinyPalette_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/shiny.gbapal.lz"); +const u8 gMonIcon_Marowak[] = INCBIN_U8("graphics/pokemon/marowak/icon.4bpp"); +const u8 gMonFootprint_Marowak[] = INCBIN_U8("graphics/pokemon/marowak/footprint.1bpp"); + +const u32 gMonStillFrontPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/front.4bpp.lz"); +const u32 gMonPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/normal.gbapal.lz"); +const u32 gMonBackPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/back.4bpp.lz"); +const u32 gMonShinyPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/shiny.gbapal.lz"); +const u8 gMonIcon_Hitmonlee[] = INCBIN_U8("graphics/pokemon/hitmonlee/icon.4bpp"); +const u8 gMonFootprint_Hitmonlee[] = INCBIN_U8("graphics/pokemon/hitmonlee/footprint.1bpp"); + +const u32 gMonStillFrontPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/front.4bpp.lz"); +const u32 gMonPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/normal.gbapal.lz"); +const u32 gMonBackPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/back.4bpp.lz"); +const u32 gMonShinyPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/shiny.gbapal.lz"); +const u8 gMonIcon_Hitmonchan[] = INCBIN_U8("graphics/pokemon/hitmonchan/icon.4bpp"); +const u8 gMonFootprint_Hitmonchan[] = INCBIN_U8("graphics/pokemon/hitmonchan/footprint.1bpp"); + +const u32 gMonStillFrontPic_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/front.4bpp.lz"); +const u32 gMonPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/normal.gbapal.lz"); +const u32 gMonBackPic_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/back.4bpp.lz"); +const u32 gMonShinyPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/shiny.gbapal.lz"); +const u8 gMonIcon_Lickitung[] = INCBIN_U8("graphics/pokemon/lickitung/icon.4bpp"); +const u8 gMonFootprint_Lickitung[] = INCBIN_U8("graphics/pokemon/lickitung/footprint.1bpp"); + +const u32 gMonStillFrontPic_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/front.4bpp.lz"); +const u32 gMonPalette_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/normal.gbapal.lz"); +const u32 gMonBackPic_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/back.4bpp.lz"); +const u32 gMonShinyPalette_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/shiny.gbapal.lz"); +const u8 gMonIcon_Koffing[] = INCBIN_U8("graphics/pokemon/koffing/icon.4bpp"); +const u8 gMonFootprint_Koffing[] = INCBIN_U8("graphics/pokemon/koffing/footprint.1bpp"); + +const u32 gMonStillFrontPic_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/front.4bpp.lz"); +const u32 gMonPalette_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/normal.gbapal.lz"); +const u32 gMonBackPic_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/back.4bpp.lz"); +const u32 gMonShinyPalette_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/shiny.gbapal.lz"); +const u8 gMonIcon_Weezing[] = INCBIN_U8("graphics/pokemon/weezing/icon.4bpp"); +const u8 gMonFootprint_Weezing[] = INCBIN_U8("graphics/pokemon/weezing/footprint.1bpp"); + +const u32 gMonStillFrontPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/front.4bpp.lz"); +const u32 gMonPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/normal.gbapal.lz"); +const u32 gMonBackPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/back.4bpp.lz"); +const u32 gMonShinyPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/shiny.gbapal.lz"); +const u8 gMonIcon_Rhyhorn[] = INCBIN_U8("graphics/pokemon/rhyhorn/icon.4bpp"); +const u8 gMonFootprint_Rhyhorn[] = INCBIN_U8("graphics/pokemon/rhyhorn/footprint.1bpp"); + +const u32 gMonStillFrontPic_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/front.4bpp.lz"); +const u32 gMonPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/normal.gbapal.lz"); +const u32 gMonBackPic_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/back.4bpp.lz"); +const u32 gMonShinyPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/shiny.gbapal.lz"); +const u8 gMonIcon_Rhydon[] = INCBIN_U8("graphics/pokemon/rhydon/icon.4bpp"); +const u8 gMonFootprint_Rhydon[] = INCBIN_U8("graphics/pokemon/rhydon/footprint.1bpp"); + +const u32 gMonStillFrontPic_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/front.4bpp.lz"); +const u32 gMonPalette_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/normal.gbapal.lz"); +const u32 gMonBackPic_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/back.4bpp.lz"); +const u32 gMonShinyPalette_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/shiny.gbapal.lz"); +const u8 gMonIcon_Chansey[] = INCBIN_U8("graphics/pokemon/chansey/icon.4bpp"); +const u8 gMonFootprint_Chansey[] = INCBIN_U8("graphics/pokemon/chansey/footprint.1bpp"); + +const u32 gMonStillFrontPic_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/front.4bpp.lz"); +const u32 gMonPalette_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/normal.gbapal.lz"); +const u32 gMonBackPic_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/back.4bpp.lz"); +const u32 gMonShinyPalette_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/shiny.gbapal.lz"); +const u8 gMonIcon_Tangela[] = INCBIN_U8("graphics/pokemon/tangela/icon.4bpp"); +const u8 gMonFootprint_Tangela[] = INCBIN_U8("graphics/pokemon/tangela/footprint.1bpp"); + +const u32 gMonStillFrontPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/front.4bpp.lz"); +const u32 gMonPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/normal.gbapal.lz"); +const u32 gMonBackPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/back.4bpp.lz"); +const u32 gMonShinyPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/shiny.gbapal.lz"); +const u8 gMonIcon_Kangaskhan[] = INCBIN_U8("graphics/pokemon/kangaskhan/icon.4bpp"); +const u8 gMonFootprint_Kangaskhan[] = INCBIN_U8("graphics/pokemon/kangaskhan/footprint.1bpp"); + +const u32 gMonStillFrontPic_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/front.4bpp.lz"); +const u32 gMonPalette_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/normal.gbapal.lz"); +const u32 gMonBackPic_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/back.4bpp.lz"); +const u32 gMonShinyPalette_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/shiny.gbapal.lz"); +const u8 gMonIcon_Horsea[] = INCBIN_U8("graphics/pokemon/horsea/icon.4bpp"); +const u8 gMonFootprint_Horsea[] = INCBIN_U8("graphics/pokemon/horsea/footprint.1bpp"); + +const u32 gMonStillFrontPic_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/front.4bpp.lz"); +const u32 gMonPalette_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/normal.gbapal.lz"); +const u32 gMonBackPic_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/back.4bpp.lz"); +const u32 gMonShinyPalette_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/shiny.gbapal.lz"); +const u8 gMonIcon_Seadra[] = INCBIN_U8("graphics/pokemon/seadra/icon.4bpp"); +const u8 gMonFootprint_Seadra[] = INCBIN_U8("graphics/pokemon/seadra/footprint.1bpp"); + +const u32 gMonStillFrontPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/front.4bpp.lz"); +const u32 gMonPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/normal.gbapal.lz"); +const u32 gMonBackPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/back.4bpp.lz"); +const u32 gMonShinyPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/shiny.gbapal.lz"); +const u8 gMonIcon_Goldeen[] = INCBIN_U8("graphics/pokemon/goldeen/icon.4bpp"); +const u8 gMonFootprint_Goldeen[] = INCBIN_U8("graphics/pokemon/goldeen/footprint.1bpp"); + +const u32 gMonStillFrontPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/front.4bpp.lz"); +const u32 gMonPalette_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/normal.gbapal.lz"); +const u32 gMonBackPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/back.4bpp.lz"); +const u32 gMonShinyPalette_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/shiny.gbapal.lz"); +const u8 gMonIcon_Seaking[] = INCBIN_U8("graphics/pokemon/seaking/icon.4bpp"); +const u8 gMonFootprint_Seaking[] = INCBIN_U8("graphics/pokemon/seaking/footprint.1bpp"); + +const u32 gMonStillFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/front.4bpp.lz"); +const u32 gMonPalette_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/normal.gbapal.lz"); +const u32 gMonBackPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/back.4bpp.lz"); +const u32 gMonShinyPalette_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/shiny.gbapal.lz"); +const u8 gMonIcon_Staryu[] = INCBIN_U8("graphics/pokemon/staryu/icon.4bpp"); +const u8 gMonFootprint_Staryu[] = INCBIN_U8("graphics/pokemon/staryu/footprint.1bpp"); + +const u32 gMonStillFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/front.4bpp.lz"); +const u32 gMonPalette_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/normal.gbapal.lz"); +const u32 gMonBackPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/back.4bpp.lz"); +const u32 gMonShinyPalette_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/shiny.gbapal.lz"); +const u8 gMonIcon_Starmie[] = INCBIN_U8("graphics/pokemon/starmie/icon.4bpp"); +const u8 gMonFootprint_Starmie[] = INCBIN_U8("graphics/pokemon/starmie/footprint.1bpp"); + +const u32 gMonStillFrontPic_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/front.4bpp.lz"); +const u32 gMonPalette_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/normal.gbapal.lz"); +const u32 gMonBackPic_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/back.4bpp.lz"); +const u32 gMonShinyPalette_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/shiny.gbapal.lz"); +const u8 gMonIcon_Mrmime[] = INCBIN_U8("graphics/pokemon/mr_mime/icon.4bpp"); +const u8 gMonFootprint_Mrmime[] = INCBIN_U8("graphics/pokemon/mr_mime/footprint.1bpp"); + +const u32 gMonStillFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/front.4bpp.lz"); +const u32 gMonPalette_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/normal.gbapal.lz"); +const u32 gMonBackPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/back.4bpp.lz"); +const u32 gMonShinyPalette_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/shiny.gbapal.lz"); +const u8 gMonIcon_Scyther[] = INCBIN_U8("graphics/pokemon/scyther/icon.4bpp"); +const u8 gMonFootprint_Scyther[] = INCBIN_U8("graphics/pokemon/scyther/footprint.1bpp"); + +const u32 gMonStillFrontPic_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/front.4bpp.lz"); +const u32 gMonPalette_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/normal.gbapal.lz"); +const u32 gMonBackPic_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/back.4bpp.lz"); +const u32 gMonShinyPalette_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/shiny.gbapal.lz"); +const u8 gMonIcon_Jynx[] = INCBIN_U8("graphics/pokemon/jynx/icon.4bpp"); +const u8 gMonFootprint_Jynx[] = INCBIN_U8("graphics/pokemon/jynx/footprint.1bpp"); + +const u32 gMonStillFrontPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/front.4bpp.lz"); +const u32 gMonPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/normal.gbapal.lz"); +const u32 gMonBackPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/back.4bpp.lz"); +const u32 gMonShinyPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/shiny.gbapal.lz"); +const u8 gMonIcon_Electabuzz[] = INCBIN_U8("graphics/pokemon/electabuzz/icon.4bpp"); +const u8 gMonFootprint_Electabuzz[] = INCBIN_U8("graphics/pokemon/electabuzz/footprint.1bpp"); + +const u32 gMonStillFrontPic_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/front.4bpp.lz"); +const u32 gMonPalette_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/normal.gbapal.lz"); +const u32 gMonBackPic_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/back.4bpp.lz"); +const u32 gMonShinyPalette_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/shiny.gbapal.lz"); +const u8 gMonIcon_Magmar[] = INCBIN_U8("graphics/pokemon/magmar/icon.4bpp"); +const u8 gMonFootprint_Magmar[] = INCBIN_U8("graphics/pokemon/magmar/footprint.1bpp"); + +const u32 gMonStillFrontPic_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/front.4bpp.lz"); +const u32 gMonPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/normal.gbapal.lz"); +const u32 gMonBackPic_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/back.4bpp.lz"); +const u32 gMonShinyPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/shiny.gbapal.lz"); +const u8 gMonIcon_Pinsir[] = INCBIN_U8("graphics/pokemon/pinsir/icon.4bpp"); +const u8 gMonFootprint_Pinsir[] = INCBIN_U8("graphics/pokemon/pinsir/footprint.1bpp"); + +const u32 gMonStillFrontPic_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/front.4bpp.lz"); +const u32 gMonPalette_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/normal.gbapal.lz"); +const u32 gMonBackPic_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/back.4bpp.lz"); +const u32 gMonShinyPalette_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/shiny.gbapal.lz"); +const u8 gMonIcon_Tauros[] = INCBIN_U8("graphics/pokemon/tauros/icon.4bpp"); +const u8 gMonFootprint_Tauros[] = INCBIN_U8("graphics/pokemon/tauros/footprint.1bpp"); + +const u32 gMonStillFrontPic_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/front.4bpp.lz"); +const u32 gMonPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/normal.gbapal.lz"); +const u32 gMonBackPic_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/back.4bpp.lz"); +const u32 gMonShinyPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/shiny.gbapal.lz"); +const u8 gMonIcon_Magikarp[] = INCBIN_U8("graphics/pokemon/magikarp/icon.4bpp"); +const u8 gMonFootprint_Magikarp[] = INCBIN_U8("graphics/pokemon/magikarp/footprint.1bpp"); + +const u32 gMonStillFrontPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/front.4bpp.lz"); +const u32 gMonPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/normal.gbapal.lz"); +const u32 gMonBackPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/back.4bpp.lz"); +const u32 gMonShinyPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/shiny.gbapal.lz"); +const u8 gMonIcon_Gyarados[] = INCBIN_U8("graphics/pokemon/gyarados/icon.4bpp"); +const u8 gMonFootprint_Gyarados[] = INCBIN_U8("graphics/pokemon/gyarados/footprint.1bpp"); + +const u32 gMonStillFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/front.4bpp.lz"); +const u32 gMonPalette_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/normal.gbapal.lz"); +const u32 gMonBackPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/back.4bpp.lz"); +const u32 gMonShinyPalette_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/shiny.gbapal.lz"); +const u8 gMonIcon_Lapras[] = INCBIN_U8("graphics/pokemon/lapras/icon.4bpp"); +const u8 gMonFootprint_Lapras[] = INCBIN_U8("graphics/pokemon/lapras/footprint.1bpp"); + +const u32 gMonStillFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/front.4bpp.lz"); +const u32 gMonPalette_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/normal.gbapal.lz"); +const u32 gMonBackPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/back.4bpp.lz"); +const u32 gMonShinyPalette_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/shiny.gbapal.lz"); +const u8 gMonIcon_Ditto[] = INCBIN_U8("graphics/pokemon/ditto/icon.4bpp"); +const u8 gMonFootprint_Ditto[] = INCBIN_U8("graphics/pokemon/ditto/footprint.1bpp"); + +const u32 gMonStillFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/front.4bpp.lz"); +const u32 gMonPalette_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/normal.gbapal.lz"); +const u32 gMonBackPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/back.4bpp.lz"); +const u32 gMonShinyPalette_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/shiny.gbapal.lz"); +const u8 gMonIcon_Eevee[] = INCBIN_U8("graphics/pokemon/eevee/icon.4bpp"); +const u8 gMonFootprint_Eevee[] = INCBIN_U8("graphics/pokemon/eevee/footprint.1bpp"); + +const u32 gMonStillFrontPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/front.4bpp.lz"); +const u32 gMonPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/normal.gbapal.lz"); +const u32 gMonBackPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/back.4bpp.lz"); +const u32 gMonShinyPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/shiny.gbapal.lz"); +const u8 gMonIcon_Vaporeon[] = INCBIN_U8("graphics/pokemon/vaporeon/icon.4bpp"); +const u8 gMonFootprint_Vaporeon[] = INCBIN_U8("graphics/pokemon/vaporeon/footprint.1bpp"); + +const u32 gMonStillFrontPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/front.4bpp.lz"); +const u32 gMonPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/normal.gbapal.lz"); +const u32 gMonBackPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/back.4bpp.lz"); +const u32 gMonShinyPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/shiny.gbapal.lz"); +const u8 gMonIcon_Jolteon[] = INCBIN_U8("graphics/pokemon/jolteon/icon.4bpp"); +const u8 gMonFootprint_Jolteon[] = INCBIN_U8("graphics/pokemon/jolteon/footprint.1bpp"); + +const u32 gMonStillFrontPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/front.4bpp.lz"); +const u32 gMonPalette_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/normal.gbapal.lz"); +const u32 gMonBackPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/back.4bpp.lz"); +const u32 gMonShinyPalette_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/shiny.gbapal.lz"); +const u8 gMonIcon_Flareon[] = INCBIN_U8("graphics/pokemon/flareon/icon.4bpp"); +const u8 gMonFootprint_Flareon[] = INCBIN_U8("graphics/pokemon/flareon/footprint.1bpp"); + +const u32 gMonStillFrontPic_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/front.4bpp.lz"); +const u32 gMonPalette_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/normal.gbapal.lz"); +const u32 gMonBackPic_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/back.4bpp.lz"); +const u32 gMonShinyPalette_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/shiny.gbapal.lz"); +const u8 gMonIcon_Porygon[] = INCBIN_U8("graphics/pokemon/porygon/icon.4bpp"); +const u8 gMonFootprint_Porygon[] = INCBIN_U8("graphics/pokemon/porygon/footprint.1bpp"); + +const u32 gMonStillFrontPic_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/front.4bpp.lz"); +const u32 gMonPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/normal.gbapal.lz"); +const u32 gMonBackPic_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/back.4bpp.lz"); +const u32 gMonShinyPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/shiny.gbapal.lz"); +const u8 gMonIcon_Omanyte[] = INCBIN_U8("graphics/pokemon/omanyte/icon.4bpp"); +const u8 gMonFootprint_Omanyte[] = INCBIN_U8("graphics/pokemon/omanyte/footprint.1bpp"); + +const u32 gMonStillFrontPic_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/front.4bpp.lz"); +const u32 gMonPalette_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/normal.gbapal.lz"); +const u32 gMonBackPic_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/back.4bpp.lz"); +const u32 gMonShinyPalette_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/shiny.gbapal.lz"); +const u8 gMonIcon_Omastar[] = INCBIN_U8("graphics/pokemon/omastar/icon.4bpp"); +const u8 gMonFootprint_Omastar[] = INCBIN_U8("graphics/pokemon/omastar/footprint.1bpp"); + +const u32 gMonStillFrontPic_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/front.4bpp.lz"); +const u32 gMonPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/normal.gbapal.lz"); +const u32 gMonBackPic_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/back.4bpp.lz"); +const u32 gMonShinyPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/shiny.gbapal.lz"); +const u8 gMonIcon_Kabuto[] = INCBIN_U8("graphics/pokemon/kabuto/icon.4bpp"); +const u8 gMonFootprint_Kabuto[] = INCBIN_U8("graphics/pokemon/kabuto/footprint.1bpp"); + +const u32 gMonStillFrontPic_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/front.4bpp.lz"); +const u32 gMonPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/normal.gbapal.lz"); +const u32 gMonBackPic_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/back.4bpp.lz"); +const u32 gMonShinyPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/shiny.gbapal.lz"); +const u8 gMonIcon_Kabutops[] = INCBIN_U8("graphics/pokemon/kabutops/icon.4bpp"); +const u8 gMonFootprint_Kabutops[] = INCBIN_U8("graphics/pokemon/kabutops/footprint.1bpp"); + +const u32 gMonStillFrontPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/front.4bpp.lz"); +const u32 gMonPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/normal.gbapal.lz"); +const u32 gMonBackPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/back.4bpp.lz"); +const u32 gMonShinyPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/shiny.gbapal.lz"); +const u8 gMonIcon_Aerodactyl[] = INCBIN_U8("graphics/pokemon/aerodactyl/icon.4bpp"); +const u8 gMonFootprint_Aerodactyl[] = INCBIN_U8("graphics/pokemon/aerodactyl/footprint.1bpp"); + +const u32 gMonStillFrontPic_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/front.4bpp.lz"); +const u32 gMonPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/normal.gbapal.lz"); +const u32 gMonBackPic_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/back.4bpp.lz"); +const u32 gMonShinyPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/shiny.gbapal.lz"); +const u8 gMonIcon_Snorlax[] = INCBIN_U8("graphics/pokemon/snorlax/icon.4bpp"); +const u8 gMonFootprint_Snorlax[] = INCBIN_U8("graphics/pokemon/snorlax/footprint.1bpp"); + +const u32 gMonStillFrontPic_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/front.4bpp.lz"); +const u32 gMonPalette_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/normal.gbapal.lz"); +const u32 gMonBackPic_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/back.4bpp.lz"); +const u32 gMonShinyPalette_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/shiny.gbapal.lz"); +const u8 gMonIcon_Articuno[] = INCBIN_U8("graphics/pokemon/articuno/icon.4bpp"); +const u8 gMonFootprint_Articuno[] = INCBIN_U8("graphics/pokemon/articuno/footprint.1bpp"); + +const u32 gMonStillFrontPic_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/front.4bpp.lz"); +const u32 gMonPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/normal.gbapal.lz"); +const u32 gMonBackPic_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/back.4bpp.lz"); +const u32 gMonShinyPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/shiny.gbapal.lz"); +const u8 gMonIcon_Zapdos[] = INCBIN_U8("graphics/pokemon/zapdos/icon.4bpp"); +const u8 gMonFootprint_Zapdos[] = INCBIN_U8("graphics/pokemon/zapdos/footprint.1bpp"); + +const u32 gMonStillFrontPic_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/front.4bpp.lz"); +const u32 gMonPalette_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/normal.gbapal.lz"); +const u32 gMonBackPic_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/back.4bpp.lz"); +const u32 gMonShinyPalette_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/shiny.gbapal.lz"); +const u8 gMonIcon_Moltres[] = INCBIN_U8("graphics/pokemon/moltres/icon.4bpp"); +const u8 gMonFootprint_Moltres[] = INCBIN_U8("graphics/pokemon/moltres/footprint.1bpp"); + +const u32 gMonStillFrontPic_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/front.4bpp.lz"); +const u32 gMonPalette_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/normal.gbapal.lz"); +const u32 gMonBackPic_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/back.4bpp.lz"); +const u32 gMonShinyPalette_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/shiny.gbapal.lz"); +const u8 gMonIcon_Dratini[] = INCBIN_U8("graphics/pokemon/dratini/icon.4bpp"); +const u8 gMonFootprint_Dratini[] = INCBIN_U8("graphics/pokemon/dratini/footprint.1bpp"); + +const u32 gMonStillFrontPic_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/front.4bpp.lz"); +const u32 gMonPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/normal.gbapal.lz"); +const u32 gMonBackPic_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/back.4bpp.lz"); +const u32 gMonShinyPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/shiny.gbapal.lz"); +const u8 gMonIcon_Dragonair[] = INCBIN_U8("graphics/pokemon/dragonair/icon.4bpp"); +const u8 gMonFootprint_Dragonair[] = INCBIN_U8("graphics/pokemon/dragonair/footprint.1bpp"); + +const u32 gMonStillFrontPic_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/front.4bpp.lz"); +const u32 gMonPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/normal.gbapal.lz"); +const u32 gMonBackPic_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/back.4bpp.lz"); +const u32 gMonShinyPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/shiny.gbapal.lz"); +const u8 gMonIcon_Dragonite[] = INCBIN_U8("graphics/pokemon/dragonite/icon.4bpp"); +const u8 gMonFootprint_Dragonite[] = INCBIN_U8("graphics/pokemon/dragonite/footprint.1bpp"); + +const u32 gMonStillFrontPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/front.4bpp.lz"); +const u32 gMonPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/normal.gbapal.lz"); +const u32 gMonBackPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/back.4bpp.lz"); +const u32 gMonShinyPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/shiny.gbapal.lz"); +const u8 gMonIcon_Mewtwo[] = INCBIN_U8("graphics/pokemon/mewtwo/icon.4bpp"); +const u8 gMonFootprint_Mewtwo[] = INCBIN_U8("graphics/pokemon/mewtwo/footprint.1bpp"); + +const u32 gMonStillFrontPic_Mew[] = INCBIN_U32("graphics/pokemon/mew/front.4bpp.lz"); +const u32 gMonPalette_Mew[] = INCBIN_U32("graphics/pokemon/mew/normal.gbapal.lz"); +const u32 gMonBackPic_Mew[] = INCBIN_U32("graphics/pokemon/mew/back.4bpp.lz"); +const u32 gMonShinyPalette_Mew[] = INCBIN_U32("graphics/pokemon/mew/shiny.gbapal.lz"); +const u8 gMonIcon_Mew[] = INCBIN_U8("graphics/pokemon/mew/icon.4bpp"); +const u8 gMonFootprint_Mew[] = INCBIN_U8("graphics/pokemon/mew/footprint.1bpp"); + +const u32 gMonStillFrontPic_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/front.4bpp.lz"); +const u32 gMonPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/normal.gbapal.lz"); +const u32 gMonBackPic_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/back.4bpp.lz"); +const u32 gMonShinyPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/shiny.gbapal.lz"); +const u8 gMonIcon_Chikorita[] = INCBIN_U8("graphics/pokemon/chikorita/icon.4bpp"); +const u8 gMonFootprint_Chikorita[] = INCBIN_U8("graphics/pokemon/chikorita/footprint.1bpp"); + +const u32 gMonStillFrontPic_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/front.4bpp.lz"); +const u32 gMonPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/normal.gbapal.lz"); +const u32 gMonBackPic_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/back.4bpp.lz"); +const u32 gMonShinyPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/shiny.gbapal.lz"); +const u8 gMonIcon_Bayleef[] = INCBIN_U8("graphics/pokemon/bayleef/icon.4bpp"); +const u8 gMonFootprint_Bayleef[] = INCBIN_U8("graphics/pokemon/bayleef/footprint.1bpp"); + +const u32 gMonStillFrontPic_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/front.4bpp.lz"); +const u32 gMonPalette_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/normal.gbapal.lz"); +const u32 gMonBackPic_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/back.4bpp.lz"); +const u32 gMonShinyPalette_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/shiny.gbapal.lz"); +const u8 gMonIcon_Meganium[] = INCBIN_U8("graphics/pokemon/meganium/icon.4bpp"); +const u8 gMonFootprint_Meganium[] = INCBIN_U8("graphics/pokemon/meganium/footprint.1bpp"); + +const u32 gMonStillFrontPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/front.4bpp.lz"); +const u32 gMonPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/normal.gbapal.lz"); +const u32 gMonBackPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/back.4bpp.lz"); +const u32 gMonShinyPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/shiny.gbapal.lz"); +const u8 gMonIcon_Cyndaquil[] = INCBIN_U8("graphics/pokemon/cyndaquil/icon.4bpp"); +const u8 gMonFootprint_Cyndaquil[] = INCBIN_U8("graphics/pokemon/cyndaquil/footprint.1bpp"); + +const u32 gMonStillFrontPic_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/front.4bpp.lz"); +const u32 gMonPalette_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/normal.gbapal.lz"); +const u32 gMonBackPic_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/back.4bpp.lz"); +const u32 gMonShinyPalette_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/shiny.gbapal.lz"); +const u8 gMonIcon_Quilava[] = INCBIN_U8("graphics/pokemon/quilava/icon.4bpp"); +const u8 gMonFootprint_Quilava[] = INCBIN_U8("graphics/pokemon/quilava/footprint.1bpp"); + +const u32 gMonStillFrontPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/front.4bpp.lz"); +const u32 gMonPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/normal.gbapal.lz"); +const u32 gMonBackPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/back.4bpp.lz"); +const u32 gMonShinyPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/shiny.gbapal.lz"); +const u8 gMonIcon_Typhlosion[] = INCBIN_U8("graphics/pokemon/typhlosion/icon.4bpp"); +const u8 gMonFootprint_Typhlosion[] = INCBIN_U8("graphics/pokemon/typhlosion/footprint.1bpp"); + +const u32 gMonStillFrontPic_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/front.4bpp.lz"); +const u32 gMonPalette_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/normal.gbapal.lz"); +const u32 gMonBackPic_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/back.4bpp.lz"); +const u32 gMonShinyPalette_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/shiny.gbapal.lz"); +const u8 gMonIcon_Totodile[] = INCBIN_U8("graphics/pokemon/totodile/icon.4bpp"); +const u8 gMonFootprint_Totodile[] = INCBIN_U8("graphics/pokemon/totodile/footprint.1bpp"); + +const u32 gMonStillFrontPic_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/front.4bpp.lz"); +const u32 gMonPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/normal.gbapal.lz"); +const u32 gMonBackPic_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/back.4bpp.lz"); +const u32 gMonShinyPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/shiny.gbapal.lz"); +const u8 gMonIcon_Croconaw[] = INCBIN_U8("graphics/pokemon/croconaw/icon.4bpp"); +const u8 gMonFootprint_Croconaw[] = INCBIN_U8("graphics/pokemon/croconaw/footprint.1bpp"); + +const u32 gMonStillFrontPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/front.4bpp.lz"); +const u32 gMonPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/normal.gbapal.lz"); +const u32 gMonBackPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/back.4bpp.lz"); +const u32 gMonShinyPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/shiny.gbapal.lz"); +const u8 gMonIcon_Feraligatr[] = INCBIN_U8("graphics/pokemon/feraligatr/icon.4bpp"); +const u8 gMonFootprint_Feraligatr[] = INCBIN_U8("graphics/pokemon/feraligatr/footprint.1bpp"); + +const u32 gMonStillFrontPic_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/front.4bpp.lz"); +const u32 gMonPalette_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/normal.gbapal.lz"); +const u32 gMonBackPic_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/back.4bpp.lz"); +const u32 gMonShinyPalette_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/shiny.gbapal.lz"); +const u8 gMonIcon_Sentret[] = INCBIN_U8("graphics/pokemon/sentret/icon.4bpp"); +const u8 gMonFootprint_Sentret[] = INCBIN_U8("graphics/pokemon/sentret/footprint.1bpp"); + +const u32 gMonStillFrontPic_Furret[] = INCBIN_U32("graphics/pokemon/furret/front.4bpp.lz"); +const u32 gMonPalette_Furret[] = INCBIN_U32("graphics/pokemon/furret/normal.gbapal.lz"); +const u32 gMonBackPic_Furret[] = INCBIN_U32("graphics/pokemon/furret/back.4bpp.lz"); +const u32 gMonShinyPalette_Furret[] = INCBIN_U32("graphics/pokemon/furret/shiny.gbapal.lz"); +const u8 gMonIcon_Furret[] = INCBIN_U8("graphics/pokemon/furret/icon.4bpp"); +const u8 gMonFootprint_Furret[] = INCBIN_U8("graphics/pokemon/furret/footprint.1bpp"); + +const u32 gMonStillFrontPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/front.4bpp.lz"); +const u32 gMonPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/normal.gbapal.lz"); +const u32 gMonBackPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/back.4bpp.lz"); +const u32 gMonShinyPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/shiny.gbapal.lz"); +const u8 gMonIcon_Hoothoot[] = INCBIN_U8("graphics/pokemon/hoothoot/icon.4bpp"); +const u8 gMonFootprint_Hoothoot[] = INCBIN_U8("graphics/pokemon/hoothoot/footprint.1bpp"); + +const u32 gMonStillFrontPic_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/front.4bpp.lz"); +const u32 gMonPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/normal.gbapal.lz"); +const u32 gMonBackPic_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/back.4bpp.lz"); +const u32 gMonShinyPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/shiny.gbapal.lz"); +const u8 gMonIcon_Noctowl[] = INCBIN_U8("graphics/pokemon/noctowl/icon.4bpp"); +const u8 gMonFootprint_Noctowl[] = INCBIN_U8("graphics/pokemon/noctowl/footprint.1bpp"); + +const u32 gMonStillFrontPic_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/front.4bpp.lz"); +const u32 gMonPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/normal.gbapal.lz"); +const u32 gMonBackPic_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/back.4bpp.lz"); +const u32 gMonShinyPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/shiny.gbapal.lz"); +const u8 gMonIcon_Ledyba[] = INCBIN_U8("graphics/pokemon/ledyba/icon.4bpp"); +const u8 gMonFootprint_Ledyba[] = INCBIN_U8("graphics/pokemon/ledyba/footprint.1bpp"); + +const u32 gMonStillFrontPic_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/front.4bpp.lz"); +const u32 gMonPalette_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/normal.gbapal.lz"); +const u32 gMonBackPic_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/back.4bpp.lz"); +const u32 gMonShinyPalette_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/shiny.gbapal.lz"); +const u8 gMonIcon_Ledian[] = INCBIN_U8("graphics/pokemon/ledian/icon.4bpp"); +const u8 gMonFootprint_Ledian[] = INCBIN_U8("graphics/pokemon/ledian/footprint.1bpp"); + +const u32 gMonStillFrontPic_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/front.4bpp.lz"); +const u32 gMonPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/normal.gbapal.lz"); +const u32 gMonBackPic_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/back.4bpp.lz"); +const u32 gMonShinyPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/shiny.gbapal.lz"); +const u8 gMonIcon_Spinarak[] = INCBIN_U8("graphics/pokemon/spinarak/icon.4bpp"); +const u8 gMonFootprint_Spinarak[] = INCBIN_U8("graphics/pokemon/spinarak/footprint.1bpp"); + +const u32 gMonStillFrontPic_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/front.4bpp.lz"); +const u32 gMonPalette_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/normal.gbapal.lz"); +const u32 gMonBackPic_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/back.4bpp.lz"); +const u32 gMonShinyPalette_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/shiny.gbapal.lz"); +const u8 gMonIcon_Ariados[] = INCBIN_U8("graphics/pokemon/ariados/icon.4bpp"); +const u8 gMonFootprint_Ariados[] = INCBIN_U8("graphics/pokemon/ariados/footprint.1bpp"); + +const u32 gMonStillFrontPic_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/front.4bpp.lz"); +const u32 gMonPalette_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/normal.gbapal.lz"); +const u32 gMonBackPic_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/back.4bpp.lz"); +const u32 gMonShinyPalette_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/shiny.gbapal.lz"); +const u8 gMonIcon_Crobat[] = INCBIN_U8("graphics/pokemon/crobat/icon.4bpp"); +const u8 gMonFootprint_Crobat[] = INCBIN_U8("graphics/pokemon/crobat/footprint.1bpp"); + +const u32 gMonStillFrontPic_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/front.4bpp.lz"); +const u32 gMonPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/normal.gbapal.lz"); +const u32 gMonBackPic_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/back.4bpp.lz"); +const u32 gMonShinyPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/shiny.gbapal.lz"); +const u8 gMonIcon_Chinchou[] = INCBIN_U8("graphics/pokemon/chinchou/icon.4bpp"); +const u8 gMonFootprint_Chinchou[] = INCBIN_U8("graphics/pokemon/chinchou/footprint.1bpp"); + +const u32 gMonStillFrontPic_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/front.4bpp.lz"); +const u32 gMonPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/normal.gbapal.lz"); +const u32 gMonBackPic_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/back.4bpp.lz"); +const u32 gMonShinyPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/shiny.gbapal.lz"); +const u8 gMonIcon_Lanturn[] = INCBIN_U8("graphics/pokemon/lanturn/icon.4bpp"); +const u8 gMonFootprint_Lanturn[] = INCBIN_U8("graphics/pokemon/lanturn/footprint.1bpp"); + +const u32 gMonStillFrontPic_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/front.4bpp.lz"); +const u32 gMonPalette_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/normal.gbapal.lz"); +const u32 gMonBackPic_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/back.4bpp.lz"); +const u32 gMonShinyPalette_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/shiny.gbapal.lz"); +const u8 gMonIcon_Pichu[] = INCBIN_U8("graphics/pokemon/pichu/icon.4bpp"); +const u8 gMonFootprint_Pichu[] = INCBIN_U8("graphics/pokemon/pichu/footprint.1bpp"); + +const u32 gMonStillFrontPic_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/front.4bpp.lz"); +const u32 gMonPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/normal.gbapal.lz"); +const u32 gMonBackPic_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/back.4bpp.lz"); +const u32 gMonShinyPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/shiny.gbapal.lz"); +const u8 gMonIcon_Cleffa[] = INCBIN_U8("graphics/pokemon/cleffa/icon.4bpp"); +const u8 gMonFootprint_Cleffa[] = INCBIN_U8("graphics/pokemon/cleffa/footprint.1bpp"); + +const u32 gMonStillFrontPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/front.4bpp.lz"); +const u32 gMonPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/normal.gbapal.lz"); +const u32 gMonBackPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/back.4bpp.lz"); +const u32 gMonShinyPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/shiny.gbapal.lz"); +const u8 gMonIcon_Igglybuff[] = INCBIN_U8("graphics/pokemon/igglybuff/icon.4bpp"); +const u8 gMonFootprint_Igglybuff[] = INCBIN_U8("graphics/pokemon/igglybuff/footprint.1bpp"); + +const u32 gMonStillFrontPic_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/front.4bpp.lz"); +const u32 gMonPalette_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/normal.gbapal.lz"); +const u32 gMonBackPic_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/back.4bpp.lz"); +const u32 gMonShinyPalette_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/shiny.gbapal.lz"); +const u8 gMonIcon_Togepi[] = INCBIN_U8("graphics/pokemon/togepi/icon.4bpp"); +const u8 gMonFootprint_Togepi[] = INCBIN_U8("graphics/pokemon/togepi/footprint.1bpp"); + +const u32 gMonStillFrontPic_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/front.4bpp.lz"); +const u32 gMonPalette_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/normal.gbapal.lz"); +const u32 gMonBackPic_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/back.4bpp.lz"); +const u32 gMonShinyPalette_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/shiny.gbapal.lz"); +const u8 gMonIcon_Togetic[] = INCBIN_U8("graphics/pokemon/togetic/icon.4bpp"); +const u8 gMonFootprint_Togetic[] = INCBIN_U8("graphics/pokemon/togetic/footprint.1bpp"); + +const u32 gMonStillFrontPic_Natu[] = INCBIN_U32("graphics/pokemon/natu/front.4bpp.lz"); +const u32 gMonPalette_Natu[] = INCBIN_U32("graphics/pokemon/natu/normal.gbapal.lz"); +const u32 gMonBackPic_Natu[] = INCBIN_U32("graphics/pokemon/natu/back.4bpp.lz"); +const u32 gMonShinyPalette_Natu[] = INCBIN_U32("graphics/pokemon/natu/shiny.gbapal.lz"); +const u8 gMonIcon_Natu[] = INCBIN_U8("graphics/pokemon/natu/icon.4bpp"); +const u8 gMonFootprint_Natu[] = INCBIN_U8("graphics/pokemon/natu/footprint.1bpp"); + +const u32 gMonStillFrontPic_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/front.4bpp.lz"); +const u32 gMonPalette_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/normal.gbapal.lz"); +const u32 gMonBackPic_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/back.4bpp.lz"); +const u32 gMonShinyPalette_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/shiny.gbapal.lz"); +const u8 gMonIcon_Xatu[] = INCBIN_U8("graphics/pokemon/xatu/icon.4bpp"); +const u8 gMonFootprint_Xatu[] = INCBIN_U8("graphics/pokemon/xatu/footprint.1bpp"); + +const u32 gMonStillFrontPic_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/front.4bpp.lz"); +const u32 gMonPalette_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/normal.gbapal.lz"); +const u32 gMonBackPic_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/back.4bpp.lz"); +const u32 gMonShinyPalette_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/shiny.gbapal.lz"); +const u8 gMonIcon_Mareep[] = INCBIN_U8("graphics/pokemon/mareep/icon.4bpp"); +const u8 gMonFootprint_Mareep[] = INCBIN_U8("graphics/pokemon/mareep/footprint.1bpp"); + +const u32 gMonStillFrontPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/front.4bpp.lz"); +const u32 gMonPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/normal.gbapal.lz"); +const u32 gMonBackPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/back.4bpp.lz"); +const u32 gMonShinyPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/shiny.gbapal.lz"); +const u8 gMonIcon_Flaaffy[] = INCBIN_U8("graphics/pokemon/flaaffy/icon.4bpp"); +const u8 gMonFootprint_Flaaffy[] = INCBIN_U8("graphics/pokemon/flaaffy/footprint.1bpp"); + +const u32 gMonStillFrontPic_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/front.4bpp.lz"); +const u32 gMonPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/normal.gbapal.lz"); +const u32 gMonBackPic_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/back.4bpp.lz"); +const u32 gMonShinyPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/shiny.gbapal.lz"); +const u8 gMonIcon_Ampharos[] = INCBIN_U8("graphics/pokemon/ampharos/icon.4bpp"); +const u8 gMonFootprint_Ampharos[] = INCBIN_U8("graphics/pokemon/ampharos/footprint.1bpp"); + +const u32 gMonStillFrontPic_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/front.4bpp.lz"); +const u32 gMonPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/normal.gbapal.lz"); +const u32 gMonBackPic_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/back.4bpp.lz"); +const u32 gMonShinyPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/shiny.gbapal.lz"); +const u8 gMonIcon_Bellossom[] = INCBIN_U8("graphics/pokemon/bellossom/icon.4bpp"); +const u8 gMonFootprint_Bellossom[] = INCBIN_U8("graphics/pokemon/bellossom/footprint.1bpp"); + +const u32 gMonStillFrontPic_Marill[] = INCBIN_U32("graphics/pokemon/marill/front.4bpp.lz"); +const u32 gMonPalette_Marill[] = INCBIN_U32("graphics/pokemon/marill/normal.gbapal.lz"); +const u32 gMonBackPic_Marill[] = INCBIN_U32("graphics/pokemon/marill/back.4bpp.lz"); +const u32 gMonShinyPalette_Marill[] = INCBIN_U32("graphics/pokemon/marill/shiny.gbapal.lz"); +const u8 gMonIcon_Marill[] = INCBIN_U8("graphics/pokemon/marill/icon.4bpp"); +const u8 gMonFootprint_Marill[] = INCBIN_U8("graphics/pokemon/marill/footprint.1bpp"); + +const u32 gMonStillFrontPic_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/front.4bpp.lz"); +const u32 gMonPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/normal.gbapal.lz"); +const u32 gMonBackPic_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/back.4bpp.lz"); +const u32 gMonShinyPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/shiny.gbapal.lz"); +const u8 gMonIcon_Azumarill[] = INCBIN_U8("graphics/pokemon/azumarill/icon.4bpp"); +const u8 gMonFootprint_Azumarill[] = INCBIN_U8("graphics/pokemon/azumarill/footprint.1bpp"); + +const u32 gMonStillFrontPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/front.4bpp.lz"); +const u32 gMonPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/normal.gbapal.lz"); +const u32 gMonBackPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/back.4bpp.lz"); +const u32 gMonShinyPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/shiny.gbapal.lz"); +const u8 gMonIcon_Sudowoodo[] = INCBIN_U8("graphics/pokemon/sudowoodo/icon.4bpp"); +const u8 gMonFootprint_Sudowoodo[] = INCBIN_U8("graphics/pokemon/sudowoodo/footprint.1bpp"); + +const u32 gMonStillFrontPic_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/front.4bpp.lz"); +const u32 gMonPalette_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/normal.gbapal.lz"); +const u32 gMonBackPic_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/back.4bpp.lz"); +const u32 gMonShinyPalette_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/shiny.gbapal.lz"); +const u8 gMonIcon_Politoed[] = INCBIN_U8("graphics/pokemon/politoed/icon.4bpp"); +const u8 gMonFootprint_Politoed[] = INCBIN_U8("graphics/pokemon/politoed/footprint.1bpp"); + +const u32 gMonStillFrontPic_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/front.4bpp.lz"); +const u32 gMonPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/normal.gbapal.lz"); +const u32 gMonBackPic_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/back.4bpp.lz"); +const u32 gMonShinyPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/shiny.gbapal.lz"); +const u8 gMonIcon_Hoppip[] = INCBIN_U8("graphics/pokemon/hoppip/icon.4bpp"); +const u8 gMonFootprint_Hoppip[] = INCBIN_U8("graphics/pokemon/hoppip/footprint.1bpp"); + +const u32 gMonStillFrontPic_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/front.4bpp.lz"); +const u32 gMonPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/normal.gbapal.lz"); +const u32 gMonBackPic_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/back.4bpp.lz"); +const u32 gMonShinyPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/shiny.gbapal.lz"); +const u8 gMonIcon_Skiploom[] = INCBIN_U8("graphics/pokemon/skiploom/icon.4bpp"); +const u8 gMonFootprint_Skiploom[] = INCBIN_U8("graphics/pokemon/skiploom/footprint.1bpp"); + +const u32 gMonStillFrontPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/front.4bpp.lz"); +const u32 gMonPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/normal.gbapal.lz"); +const u32 gMonBackPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/back.4bpp.lz"); +const u32 gMonShinyPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/shiny.gbapal.lz"); +const u8 gMonIcon_Jumpluff[] = INCBIN_U8("graphics/pokemon/jumpluff/icon.4bpp"); +const u8 gMonFootprint_Jumpluff[] = INCBIN_U8("graphics/pokemon/jumpluff/footprint.1bpp"); + +const u32 gMonStillFrontPic_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/front.4bpp.lz"); +const u32 gMonPalette_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/normal.gbapal.lz"); +const u32 gMonBackPic_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/back.4bpp.lz"); +const u32 gMonShinyPalette_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/shiny.gbapal.lz"); +const u8 gMonIcon_Aipom[] = INCBIN_U8("graphics/pokemon/aipom/icon.4bpp"); +const u8 gMonFootprint_Aipom[] = INCBIN_U8("graphics/pokemon/aipom/footprint.1bpp"); + +const u32 gMonStillFrontPic_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/front.4bpp.lz"); +const u32 gMonPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/normal.gbapal.lz"); +const u32 gMonBackPic_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/back.4bpp.lz"); +const u32 gMonShinyPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/shiny.gbapal.lz"); +const u8 gMonIcon_Sunkern[] = INCBIN_U8("graphics/pokemon/sunkern/icon.4bpp"); +const u8 gMonFootprint_Sunkern[] = INCBIN_U8("graphics/pokemon/sunkern/footprint.1bpp"); + +const u32 gMonStillFrontPic_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/front.4bpp.lz"); +const u32 gMonPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/normal.gbapal.lz"); +const u32 gMonBackPic_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/back.4bpp.lz"); +const u32 gMonShinyPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/shiny.gbapal.lz"); +const u8 gMonIcon_Sunflora[] = INCBIN_U8("graphics/pokemon/sunflora/icon.4bpp"); +const u8 gMonFootprint_Sunflora[] = INCBIN_U8("graphics/pokemon/sunflora/footprint.1bpp"); + +const u32 gMonStillFrontPic_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/front.4bpp.lz"); +const u32 gMonPalette_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/normal.gbapal.lz"); +const u32 gMonBackPic_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/back.4bpp.lz"); +const u32 gMonShinyPalette_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/shiny.gbapal.lz"); +const u8 gMonIcon_Yanma[] = INCBIN_U8("graphics/pokemon/yanma/icon.4bpp"); +const u8 gMonFootprint_Yanma[] = INCBIN_U8("graphics/pokemon/yanma/footprint.1bpp"); + +const u32 gMonStillFrontPic_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/front.4bpp.lz"); +const u32 gMonPalette_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/normal.gbapal.lz"); +const u32 gMonBackPic_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/back.4bpp.lz"); +const u32 gMonShinyPalette_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/shiny.gbapal.lz"); +const u8 gMonIcon_Wooper[] = INCBIN_U8("graphics/pokemon/wooper/icon.4bpp"); +const u8 gMonFootprint_Wooper[] = INCBIN_U8("graphics/pokemon/wooper/footprint.1bpp"); + +const u32 gMonStillFrontPic_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/front.4bpp.lz"); +const u32 gMonPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/normal.gbapal.lz"); +const u32 gMonBackPic_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/back.4bpp.lz"); +const u32 gMonShinyPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/shiny.gbapal.lz"); +const u8 gMonIcon_Quagsire[] = INCBIN_U8("graphics/pokemon/quagsire/icon.4bpp"); +const u8 gMonFootprint_Quagsire[] = INCBIN_U8("graphics/pokemon/quagsire/footprint.1bpp"); + +const u32 gMonStillFrontPic_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/front.4bpp.lz"); +const u32 gMonPalette_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/normal.gbapal.lz"); +const u32 gMonBackPic_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/back.4bpp.lz"); +const u32 gMonShinyPalette_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/shiny.gbapal.lz"); +const u8 gMonIcon_Espeon[] = INCBIN_U8("graphics/pokemon/espeon/icon.4bpp"); +const u8 gMonFootprint_Espeon[] = INCBIN_U8("graphics/pokemon/espeon/footprint.1bpp"); + +const u32 gMonStillFrontPic_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/front.4bpp.lz"); +const u32 gMonPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/normal.gbapal.lz"); +const u32 gMonBackPic_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/back.4bpp.lz"); +const u32 gMonShinyPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/shiny.gbapal.lz"); +const u8 gMonIcon_Umbreon[] = INCBIN_U8("graphics/pokemon/umbreon/icon.4bpp"); +const u8 gMonFootprint_Umbreon[] = INCBIN_U8("graphics/pokemon/umbreon/footprint.1bpp"); + +const u32 gMonStillFrontPic_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/front.4bpp.lz"); +const u32 gMonPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/normal.gbapal.lz"); +const u32 gMonBackPic_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/back.4bpp.lz"); +const u32 gMonShinyPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/shiny.gbapal.lz"); +const u8 gMonIcon_Murkrow[] = INCBIN_U8("graphics/pokemon/murkrow/icon.4bpp"); +const u8 gMonFootprint_Murkrow[] = INCBIN_U8("graphics/pokemon/murkrow/footprint.1bpp"); + +const u32 gMonStillFrontPic_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/front.4bpp.lz"); +const u32 gMonPalette_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/normal.gbapal.lz"); +const u32 gMonBackPic_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/back.4bpp.lz"); +const u32 gMonShinyPalette_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/shiny.gbapal.lz"); +const u8 gMonIcon_Slowking[] = INCBIN_U8("graphics/pokemon/slowking/icon.4bpp"); +const u8 gMonFootprint_Slowking[] = INCBIN_U8("graphics/pokemon/slowking/footprint.1bpp"); + +const u32 gMonStillFrontPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/front.4bpp.lz"); +const u32 gMonPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/normal.gbapal.lz"); +const u32 gMonBackPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/back.4bpp.lz"); +const u32 gMonShinyPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/shiny.gbapal.lz"); +const u8 gMonIcon_Misdreavus[] = INCBIN_U8("graphics/pokemon/misdreavus/icon.4bpp"); +const u8 gMonFootprint_Misdreavus[] = INCBIN_U8("graphics/pokemon/misdreavus/footprint.1bpp"); + +const u32 gMonStillFrontPic_UnownA[] = INCBIN_U32("graphics/pokemon/unown/front_a.4bpp.lz"); +const u32 gMonPalette_Unown[] = INCBIN_U32("graphics/pokemon/unown/normal.gbapal.lz"); +const u32 gMonBackPic_UnownA[] = INCBIN_U32("graphics/pokemon/unown/back_a.4bpp.lz"); +const u32 gMonShinyPalette_Unown[] = INCBIN_U32("graphics/pokemon/unown/shiny.gbapal.lz"); +const u8 gMonIcon_UnownA[] = INCBIN_U8("graphics/pokemon/unown/icon_a.4bpp"); +const u8 gMonFootprint_Unown[] = INCBIN_U8("graphics/pokemon/unown/footprint.1bpp"); + +const u32 gMonStillFrontPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/front.4bpp.lz"); +const u32 gMonPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/normal.gbapal.lz"); +const u32 gMonBackPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/back.4bpp.lz"); +const u32 gMonShinyPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/shiny.gbapal.lz"); +const u8 gMonIcon_Wobbuffet[] = INCBIN_U8("graphics/pokemon/wobbuffet/icon.4bpp"); +const u8 gMonFootprint_Wobbuffet[] = INCBIN_U8("graphics/pokemon/wobbuffet/footprint.1bpp"); + +const u32 gMonStillFrontPic_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/front.4bpp.lz"); +const u32 gMonPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/normal.gbapal.lz"); +const u32 gMonBackPic_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/back.4bpp.lz"); +const u32 gMonShinyPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/shiny.gbapal.lz"); +const u8 gMonIcon_Girafarig[] = INCBIN_U8("graphics/pokemon/girafarig/icon.4bpp"); +const u8 gMonFootprint_Girafarig[] = INCBIN_U8("graphics/pokemon/girafarig/footprint.1bpp"); + +const u32 gMonStillFrontPic_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/front.4bpp.lz"); +const u32 gMonPalette_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/normal.gbapal.lz"); +const u32 gMonBackPic_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/back.4bpp.lz"); +const u32 gMonShinyPalette_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/shiny.gbapal.lz"); +const u8 gMonIcon_Pineco[] = INCBIN_U8("graphics/pokemon/pineco/icon.4bpp"); +const u8 gMonFootprint_Pineco[] = INCBIN_U8("graphics/pokemon/pineco/footprint.1bpp"); + +const u32 gMonStillFrontPic_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/front.4bpp.lz"); +const u32 gMonPalette_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/normal.gbapal.lz"); +const u32 gMonBackPic_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/back.4bpp.lz"); +const u32 gMonShinyPalette_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/shiny.gbapal.lz"); +const u8 gMonIcon_Forretress[] = INCBIN_U8("graphics/pokemon/forretress/icon.4bpp"); +const u8 gMonFootprint_Forretress[] = INCBIN_U8("graphics/pokemon/forretress/footprint.1bpp"); + +const u32 gMonStillFrontPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/front.4bpp.lz"); +const u32 gMonPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/normal.gbapal.lz"); +const u32 gMonBackPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/back.4bpp.lz"); +const u32 gMonShinyPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/shiny.gbapal.lz"); +const u8 gMonIcon_Dunsparce[] = INCBIN_U8("graphics/pokemon/dunsparce/icon.4bpp"); +const u8 gMonFootprint_Dunsparce[] = INCBIN_U8("graphics/pokemon/dunsparce/footprint.1bpp"); + +const u32 gMonStillFrontPic_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/front.4bpp.lz"); +const u32 gMonPalette_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/normal.gbapal.lz"); +const u32 gMonBackPic_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/back.4bpp.lz"); +const u32 gMonShinyPalette_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/shiny.gbapal.lz"); +const u8 gMonIcon_Gligar[] = INCBIN_U8("graphics/pokemon/gligar/icon.4bpp"); +const u8 gMonFootprint_Gligar[] = INCBIN_U8("graphics/pokemon/gligar/footprint.1bpp"); + +const u32 gMonStillFrontPic_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/front.4bpp.lz"); +const u32 gMonPalette_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/normal.gbapal.lz"); +const u32 gMonBackPic_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/back.4bpp.lz"); +const u32 gMonShinyPalette_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/shiny.gbapal.lz"); +const u8 gMonIcon_Steelix[] = INCBIN_U8("graphics/pokemon/steelix/icon.4bpp"); +const u8 gMonFootprint_Steelix[] = INCBIN_U8("graphics/pokemon/steelix/footprint.1bpp"); + +const u32 gMonStillFrontPic_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/front.4bpp.lz"); +const u32 gMonPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/normal.gbapal.lz"); +const u32 gMonBackPic_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/back.4bpp.lz"); +const u32 gMonShinyPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/shiny.gbapal.lz"); +const u8 gMonIcon_Snubbull[] = INCBIN_U8("graphics/pokemon/snubbull/icon.4bpp"); +const u8 gMonFootprint_Snubbull[] = INCBIN_U8("graphics/pokemon/snubbull/footprint.1bpp"); + +const u32 gMonStillFrontPic_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/front.4bpp.lz"); +const u32 gMonPalette_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/normal.gbapal.lz"); +const u32 gMonBackPic_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/back.4bpp.lz"); +const u32 gMonShinyPalette_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/shiny.gbapal.lz"); +const u8 gMonIcon_Granbull[] = INCBIN_U8("graphics/pokemon/granbull/icon.4bpp"); +const u8 gMonFootprint_Granbull[] = INCBIN_U8("graphics/pokemon/granbull/footprint.1bpp"); + +const u32 gMonStillFrontPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/front.4bpp.lz"); +const u32 gMonPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/normal.gbapal.lz"); +const u32 gMonBackPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/back.4bpp.lz"); +const u32 gMonShinyPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/shiny.gbapal.lz"); +const u8 gMonIcon_Qwilfish[] = INCBIN_U8("graphics/pokemon/qwilfish/icon.4bpp"); +const u8 gMonFootprint_Qwilfish[] = INCBIN_U8("graphics/pokemon/qwilfish/footprint.1bpp"); + +const u32 gMonStillFrontPic_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/front.4bpp.lz"); +const u32 gMonPalette_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/normal.gbapal.lz"); +const u32 gMonBackPic_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/back.4bpp.lz"); +const u32 gMonShinyPalette_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/shiny.gbapal.lz"); +const u8 gMonIcon_Scizor[] = INCBIN_U8("graphics/pokemon/scizor/icon.4bpp"); +const u8 gMonFootprint_Scizor[] = INCBIN_U8("graphics/pokemon/scizor/footprint.1bpp"); + +const u32 gMonStillFrontPic_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/front.4bpp.lz"); +const u32 gMonPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/normal.gbapal.lz"); +const u32 gMonBackPic_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/back.4bpp.lz"); +const u32 gMonShinyPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/shiny.gbapal.lz"); +const u8 gMonIcon_Shuckle[] = INCBIN_U8("graphics/pokemon/shuckle/icon.4bpp"); +const u8 gMonFootprint_Shuckle[] = INCBIN_U8("graphics/pokemon/shuckle/footprint.1bpp"); + +const u32 gMonStillFrontPic_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/front.4bpp.lz"); +const u32 gMonPalette_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/normal.gbapal.lz"); +const u32 gMonBackPic_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/back.4bpp.lz"); +const u32 gMonShinyPalette_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/shiny.gbapal.lz"); +const u8 gMonIcon_Heracross[] = INCBIN_U8("graphics/pokemon/heracross/icon.4bpp"); +const u8 gMonFootprint_Heracross[] = INCBIN_U8("graphics/pokemon/heracross/footprint.1bpp"); + +const u32 gMonStillFrontPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/front.4bpp.lz"); +const u32 gMonPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/normal.gbapal.lz"); +const u32 gMonBackPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/back.4bpp.lz"); +const u32 gMonShinyPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/shiny.gbapal.lz"); +const u8 gMonIcon_Sneasel[] = INCBIN_U8("graphics/pokemon/sneasel/icon.4bpp"); +const u8 gMonFootprint_Sneasel[] = INCBIN_U8("graphics/pokemon/sneasel/footprint.1bpp"); + +const u32 gMonStillFrontPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/front.4bpp.lz"); +const u32 gMonPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/normal.gbapal.lz"); +const u32 gMonBackPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/back.4bpp.lz"); +const u32 gMonShinyPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/shiny.gbapal.lz"); +const u8 gMonIcon_Teddiursa[] = INCBIN_U8("graphics/pokemon/teddiursa/icon.4bpp"); +const u8 gMonFootprint_Teddiursa[] = INCBIN_U8("graphics/pokemon/teddiursa/footprint.1bpp"); +const u32 gMonStillFrontPic_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/front.4bpp.lz"); +const u32 gMonPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/normal.gbapal.lz"); +const u32 gMonBackPic_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/back.4bpp.lz"); +const u32 gMonShinyPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/shiny.gbapal.lz"); +const u8 gMonIcon_Ursaring[] = INCBIN_U8("graphics/pokemon/ursaring/icon.4bpp"); +const u8 gMonFootprint_Ursaring[] = INCBIN_U8("graphics/pokemon/ursaring/footprint.1bpp"); + +const u32 gMonStillFrontPic_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/front.4bpp.lz"); +const u32 gMonPalette_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/normal.gbapal.lz"); +const u32 gMonBackPic_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/back.4bpp.lz"); +const u32 gMonShinyPalette_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/shiny.gbapal.lz"); +const u8 gMonIcon_Slugma[] = INCBIN_U8("graphics/pokemon/slugma/icon.4bpp"); +const u8 gMonFootprint_Slugma[] = INCBIN_U8("graphics/pokemon/slugma/footprint.1bpp"); + +const u32 gMonStillFrontPic_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/front.4bpp.lz"); +const u32 gMonPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/normal.gbapal.lz"); +const u32 gMonBackPic_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/back.4bpp.lz"); +const u32 gMonShinyPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/shiny.gbapal.lz"); +const u8 gMonIcon_Magcargo[] = INCBIN_U8("graphics/pokemon/magcargo/icon.4bpp"); +const u8 gMonFootprint_Magcargo[] = INCBIN_U8("graphics/pokemon/magcargo/footprint.1bpp"); + +const u32 gMonStillFrontPic_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/front.4bpp.lz"); +const u32 gMonPalette_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/normal.gbapal.lz"); +const u32 gMonBackPic_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/back.4bpp.lz"); +const u32 gMonShinyPalette_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/shiny.gbapal.lz"); +const u8 gMonIcon_Swinub[] = INCBIN_U8("graphics/pokemon/swinub/icon.4bpp"); +const u8 gMonFootprint_Swinub[] = INCBIN_U8("graphics/pokemon/swinub/footprint.1bpp"); + +const u32 gMonStillFrontPic_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/front.4bpp.lz"); +const u32 gMonPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/normal.gbapal.lz"); +const u32 gMonBackPic_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/back.4bpp.lz"); +const u32 gMonShinyPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/shiny.gbapal.lz"); +const u8 gMonIcon_Piloswine[] = INCBIN_U8("graphics/pokemon/piloswine/icon.4bpp"); +const u8 gMonFootprint_Piloswine[] = INCBIN_U8("graphics/pokemon/piloswine/footprint.1bpp"); + +const u32 gMonStillFrontPic_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/front.4bpp.lz"); +const u32 gMonPalette_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/normal.gbapal.lz"); +const u32 gMonBackPic_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/back.4bpp.lz"); +const u32 gMonShinyPalette_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/shiny.gbapal.lz"); +const u8 gMonIcon_Corsola[] = INCBIN_U8("graphics/pokemon/corsola/icon.4bpp"); +const u8 gMonFootprint_Corsola[] = INCBIN_U8("graphics/pokemon/corsola/footprint.1bpp"); + +const u32 gMonStillFrontPic_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/front.4bpp.lz"); +const u32 gMonPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/normal.gbapal.lz"); +const u32 gMonBackPic_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/back.4bpp.lz"); +const u32 gMonShinyPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/shiny.gbapal.lz"); +const u8 gMonIcon_Remoraid[] = INCBIN_U8("graphics/pokemon/remoraid/icon.4bpp"); +const u8 gMonFootprint_Remoraid[] = INCBIN_U8("graphics/pokemon/remoraid/footprint.1bpp"); + +const u32 gMonStillFrontPic_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/front.4bpp.lz"); +const u32 gMonPalette_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/normal.gbapal.lz"); +const u32 gMonBackPic_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/back.4bpp.lz"); +const u32 gMonShinyPalette_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/shiny.gbapal.lz"); +const u8 gMonIcon_Octillery[] = INCBIN_U8("graphics/pokemon/octillery/icon.4bpp"); +const u8 gMonFootprint_Octillery[] = INCBIN_U8("graphics/pokemon/octillery/footprint.1bpp"); + +const u32 gMonStillFrontPic_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/front.4bpp.lz"); +const u32 gMonPalette_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/normal.gbapal.lz"); +const u32 gMonBackPic_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/back.4bpp.lz"); +const u32 gMonShinyPalette_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/shiny.gbapal.lz"); +const u8 gMonIcon_Delibird[] = INCBIN_U8("graphics/pokemon/delibird/icon.4bpp"); +const u8 gMonFootprint_Delibird[] = INCBIN_U8("graphics/pokemon/delibird/footprint.1bpp"); + +const u32 gMonStillFrontPic_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/front.4bpp.lz"); +const u32 gMonPalette_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/normal.gbapal.lz"); +const u32 gMonBackPic_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/back.4bpp.lz"); +const u32 gMonShinyPalette_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/shiny.gbapal.lz"); +const u8 gMonIcon_Mantine[] = INCBIN_U8("graphics/pokemon/mantine/icon.4bpp"); +const u8 gMonFootprint_Mantine[] = INCBIN_U8("graphics/pokemon/mantine/footprint.1bpp"); + +const u32 gMonStillFrontPic_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/front.4bpp.lz"); +const u32 gMonPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/normal.gbapal.lz"); +const u32 gMonBackPic_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/back.4bpp.lz"); +const u32 gMonShinyPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/shiny.gbapal.lz"); +const u8 gMonIcon_Skarmory[] = INCBIN_U8("graphics/pokemon/skarmory/icon.4bpp"); +const u8 gMonFootprint_Skarmory[] = INCBIN_U8("graphics/pokemon/skarmory/footprint.1bpp"); + +const u32 gMonStillFrontPic_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/front.4bpp.lz"); +const u32 gMonPalette_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/normal.gbapal.lz"); +const u32 gMonBackPic_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/back.4bpp.lz"); +const u32 gMonShinyPalette_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/shiny.gbapal.lz"); +const u8 gMonIcon_Houndour[] = INCBIN_U8("graphics/pokemon/houndour/icon.4bpp"); +const u8 gMonFootprint_Houndour[] = INCBIN_U8("graphics/pokemon/houndour/footprint.1bpp"); + +const u32 gMonStillFrontPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/front.4bpp.lz"); +const u32 gMonPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/normal.gbapal.lz"); +const u32 gMonBackPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/back.4bpp.lz"); +const u32 gMonShinyPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/shiny.gbapal.lz"); +const u8 gMonIcon_Houndoom[] = INCBIN_U8("graphics/pokemon/houndoom/icon.4bpp"); +const u8 gMonFootprint_Houndoom[] = INCBIN_U8("graphics/pokemon/houndoom/footprint.1bpp"); + +const u32 gMonStillFrontPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/front.4bpp.lz"); +const u32 gMonPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/normal.gbapal.lz"); +const u32 gMonBackPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/back.4bpp.lz"); +const u32 gMonShinyPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/shiny.gbapal.lz"); +const u8 gMonIcon_Kingdra[] = INCBIN_U8("graphics/pokemon/kingdra/icon.4bpp"); +const u8 gMonFootprint_Kingdra[] = INCBIN_U8("graphics/pokemon/kingdra/footprint.1bpp"); + +const u32 gMonStillFrontPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/front.4bpp.lz"); +const u32 gMonPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/normal.gbapal.lz"); +const u32 gMonBackPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/back.4bpp.lz"); +const u32 gMonShinyPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/shiny.gbapal.lz"); +const u8 gMonIcon_Phanpy[] = INCBIN_U8("graphics/pokemon/phanpy/icon.4bpp"); +const u8 gMonFootprint_Phanpy[] = INCBIN_U8("graphics/pokemon/phanpy/footprint.1bpp"); + +const u32 gMonStillFrontPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/front.4bpp.lz"); +const u32 gMonPalette_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/normal.gbapal.lz"); +const u32 gMonBackPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/back.4bpp.lz"); +const u32 gMonShinyPalette_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/shiny.gbapal.lz"); +const u8 gMonIcon_Donphan[] = INCBIN_U8("graphics/pokemon/donphan/icon.4bpp"); +const u8 gMonFootprint_Donphan[] = INCBIN_U8("graphics/pokemon/donphan/footprint.1bpp"); const u32 gMonStillFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/front_pics/porygon2_still_front_pic.4bpp.lz"); const u32 gMonPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/palettes/porygon2_palette.gbapal.lz"); @@ -1628,1196 +1628,1196 @@ const u32 gMonShinyPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/palettes/po const u8 gMonIcon_Porygon2[] = INCBIN_U8("graphics/pokemon/icons/porygon2_icon.4bpp"); const u8 gMonFootprint_Porygon2[] = INCBIN_U8("graphics/pokemon/footprints/porygon2_footprint.1bpp"); -const u32 gMonStillFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/front_pics/stantler_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Stantler[] = INCBIN_U32("graphics/pokemon/palettes/stantler_palette.gbapal.lz"); -const u32 gMonBackPic_Stantler[] = INCBIN_U32("graphics/pokemon/back_pics/stantler_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Stantler[] = INCBIN_U32("graphics/pokemon/palettes/stantler_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Stantler[] = INCBIN_U8("graphics/pokemon/icons/stantler_icon.4bpp"); -const u8 gMonFootprint_Stantler[] = INCBIN_U8("graphics/pokemon/footprints/stantler_footprint.1bpp"); - -const u32 gMonStillFrontPic_Smeargle[] = INCBIN_U32("graphics/pokemon/front_pics/smeargle_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/palettes/smeargle_palette.gbapal.lz"); -const u32 gMonBackPic_Smeargle[] = INCBIN_U32("graphics/pokemon/back_pics/smeargle_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/palettes/smeargle_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Smeargle[] = INCBIN_U8("graphics/pokemon/icons/smeargle_icon.4bpp"); -const u8 gMonFootprint_Smeargle[] = INCBIN_U8("graphics/pokemon/footprints/smeargle_footprint.1bpp"); - -const u32 gMonStillFrontPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/front_pics/tyrogue_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/palettes/tyrogue_palette.gbapal.lz"); -const u32 gMonBackPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/back_pics/tyrogue_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/palettes/tyrogue_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Tyrogue[] = INCBIN_U8("graphics/pokemon/icons/tyrogue_icon.4bpp"); -const u8 gMonFootprint_Tyrogue[] = INCBIN_U8("graphics/pokemon/footprints/tyrogue_footprint.1bpp"); - -const u32 gMonStillFrontPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/front_pics/hitmontop_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/palettes/hitmontop_palette.gbapal.lz"); -const u32 gMonBackPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/back_pics/hitmontop_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/palettes/hitmontop_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Hitmontop[] = INCBIN_U8("graphics/pokemon/icons/hitmontop_icon.4bpp"); -const u8 gMonFootprint_Hitmontop[] = INCBIN_U8("graphics/pokemon/footprints/hitmontop_footprint.1bpp"); - -const u32 gMonStillFrontPic_Smoochum[] = INCBIN_U32("graphics/pokemon/front_pics/smoochum_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/palettes/smoochum_palette.gbapal.lz"); -const u32 gMonBackPic_Smoochum[] = INCBIN_U32("graphics/pokemon/back_pics/smoochum_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/palettes/smoochum_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Smoochum[] = INCBIN_U8("graphics/pokemon/icons/smoochum_icon.4bpp"); -const u8 gMonFootprint_Smoochum[] = INCBIN_U8("graphics/pokemon/footprints/smoochum_footprint.1bpp"); - -const u32 gMonStillFrontPic_Elekid[] = INCBIN_U32("graphics/pokemon/front_pics/elekid_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Elekid[] = INCBIN_U32("graphics/pokemon/palettes/elekid_palette.gbapal.lz"); -const u32 gMonBackPic_Elekid[] = INCBIN_U32("graphics/pokemon/back_pics/elekid_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Elekid[] = INCBIN_U32("graphics/pokemon/palettes/elekid_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Elekid[] = INCBIN_U8("graphics/pokemon/icons/elekid_icon.4bpp"); -const u8 gMonFootprint_Elekid[] = INCBIN_U8("graphics/pokemon/footprints/elekid_footprint.1bpp"); - -const u32 gMonStillFrontPic_Magby[] = INCBIN_U32("graphics/pokemon/front_pics/magby_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Magby[] = INCBIN_U32("graphics/pokemon/palettes/magby_palette.gbapal.lz"); -const u32 gMonBackPic_Magby[] = INCBIN_U32("graphics/pokemon/back_pics/magby_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Magby[] = INCBIN_U32("graphics/pokemon/palettes/magby_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Magby[] = INCBIN_U8("graphics/pokemon/icons/magby_icon.4bpp"); -const u8 gMonFootprint_Magby[] = INCBIN_U8("graphics/pokemon/footprints/magby_footprint.1bpp"); - -const u32 gMonStillFrontPic_Miltank[] = INCBIN_U32("graphics/pokemon/front_pics/miltank_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Miltank[] = INCBIN_U32("graphics/pokemon/palettes/miltank_palette.gbapal.lz"); -const u32 gMonBackPic_Miltank[] = INCBIN_U32("graphics/pokemon/back_pics/miltank_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Miltank[] = INCBIN_U32("graphics/pokemon/palettes/miltank_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Miltank[] = INCBIN_U8("graphics/pokemon/icons/miltank_icon.4bpp"); -const u8 gMonFootprint_Miltank[] = INCBIN_U8("graphics/pokemon/footprints/miltank_footprint.1bpp"); - -const u32 gMonStillFrontPic_Blissey[] = INCBIN_U32("graphics/pokemon/front_pics/blissey_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Blissey[] = INCBIN_U32("graphics/pokemon/palettes/blissey_palette.gbapal.lz"); -const u32 gMonBackPic_Blissey[] = INCBIN_U32("graphics/pokemon/back_pics/blissey_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Blissey[] = INCBIN_U32("graphics/pokemon/palettes/blissey_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Blissey[] = INCBIN_U8("graphics/pokemon/icons/blissey_icon.4bpp"); -const u8 gMonFootprint_Blissey[] = INCBIN_U8("graphics/pokemon/footprints/blissey_footprint.1bpp"); - -const u32 gMonStillFrontPic_Raikou[] = INCBIN_U32("graphics/pokemon/front_pics/raikou_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Raikou[] = INCBIN_U32("graphics/pokemon/palettes/raikou_palette.gbapal.lz"); -const u32 gMonBackPic_Raikou[] = INCBIN_U32("graphics/pokemon/back_pics/raikou_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Raikou[] = INCBIN_U32("graphics/pokemon/palettes/raikou_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Raikou[] = INCBIN_U8("graphics/pokemon/icons/raikou_icon.4bpp"); -const u8 gMonFootprint_Raikou[] = INCBIN_U8("graphics/pokemon/footprints/raikou_footprint.1bpp"); - -const u32 gMonStillFrontPic_Entei[] = INCBIN_U32("graphics/pokemon/front_pics/entei_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Entei[] = INCBIN_U32("graphics/pokemon/palettes/entei_palette.gbapal.lz"); -const u32 gMonBackPic_Entei[] = INCBIN_U32("graphics/pokemon/back_pics/entei_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Entei[] = INCBIN_U32("graphics/pokemon/palettes/entei_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Entei[] = INCBIN_U8("graphics/pokemon/icons/entei_icon.4bpp"); -const u8 gMonFootprint_Entei[] = INCBIN_U8("graphics/pokemon/footprints/entei_footprint.1bpp"); - -const u32 gMonStillFrontPic_Suicune[] = INCBIN_U32("graphics/pokemon/front_pics/suicune_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Suicune[] = INCBIN_U32("graphics/pokemon/palettes/suicune_palette.gbapal.lz"); -const u32 gMonBackPic_Suicune[] = INCBIN_U32("graphics/pokemon/back_pics/suicune_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Suicune[] = INCBIN_U32("graphics/pokemon/palettes/suicune_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Suicune[] = INCBIN_U8("graphics/pokemon/icons/suicune_icon.4bpp"); -const u8 gMonFootprint_Suicune[] = INCBIN_U8("graphics/pokemon/footprints/suicune_footprint.1bpp"); - -const u32 gMonStillFrontPic_Larvitar[] = INCBIN_U32("graphics/pokemon/front_pics/larvitar_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/palettes/larvitar_palette.gbapal.lz"); -const u32 gMonBackPic_Larvitar[] = INCBIN_U32("graphics/pokemon/back_pics/larvitar_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/palettes/larvitar_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Larvitar[] = INCBIN_U8("graphics/pokemon/icons/larvitar_icon.4bpp"); -const u8 gMonFootprint_Larvitar[] = INCBIN_U8("graphics/pokemon/footprints/larvitar_footprint.1bpp"); - -const u32 gMonStillFrontPic_Pupitar[] = INCBIN_U32("graphics/pokemon/front_pics/pupitar_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/palettes/pupitar_palette.gbapal.lz"); -const u32 gMonBackPic_Pupitar[] = INCBIN_U32("graphics/pokemon/back_pics/pupitar_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/palettes/pupitar_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Pupitar[] = INCBIN_U8("graphics/pokemon/icons/pupitar_icon.4bpp"); -const u8 gMonFootprint_Pupitar[] = INCBIN_U8("graphics/pokemon/footprints/pupitar_footprint.1bpp"); - -const u32 gMonStillFrontPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/front_pics/tyranitar_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/palettes/tyranitar_palette.gbapal.lz"); -const u32 gMonBackPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/back_pics/tyranitar_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/palettes/tyranitar_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Tyranitar[] = INCBIN_U8("graphics/pokemon/icons/tyranitar_icon.4bpp"); -const u8 gMonFootprint_Tyranitar[] = INCBIN_U8("graphics/pokemon/footprints/tyranitar_footprint.1bpp"); - -const u32 gMonStillFrontPic_Lugia[] = INCBIN_U32("graphics/pokemon/front_pics/lugia_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Lugia[] = INCBIN_U32("graphics/pokemon/palettes/lugia_palette.gbapal.lz"); -const u32 gMonBackPic_Lugia[] = INCBIN_U32("graphics/pokemon/back_pics/lugia_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Lugia[] = INCBIN_U32("graphics/pokemon/palettes/lugia_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Lugia[] = INCBIN_U8("graphics/pokemon/icons/lugia_icon.4bpp"); -const u8 gMonFootprint_Lugia[] = INCBIN_U8("graphics/pokemon/footprints/lugia_footprint.1bpp"); - -const u32 gMonStillFrontPic_HoOh[] = INCBIN_U32("graphics/pokemon/front_pics/ho_oh_still_front_pic.4bpp.lz"); -const u32 gMonPalette_HoOh[] = INCBIN_U32("graphics/pokemon/palettes/ho_oh_palette.gbapal.lz"); -const u32 gMonBackPic_HoOh[] = INCBIN_U32("graphics/pokemon/back_pics/ho_oh_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_HoOh[] = INCBIN_U32("graphics/pokemon/palettes/ho_oh_shiny_palette.gbapal.lz"); -const u8 gMonIcon_HoOh[] = INCBIN_U8("graphics/pokemon/icons/ho_oh_icon.4bpp"); -const u8 gMonFootprint_HoOh[] = INCBIN_U8("graphics/pokemon/footprints/ho_oh_footprint.1bpp"); - -const u32 gMonStillFrontPic_Celebi[] = INCBIN_U32("graphics/pokemon/front_pics/celebi_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Celebi[] = INCBIN_U32("graphics/pokemon/palettes/celebi_palette.gbapal.lz"); -const u32 gMonBackPic_Celebi[] = INCBIN_U32("graphics/pokemon/back_pics/celebi_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Celebi[] = INCBIN_U32("graphics/pokemon/palettes/celebi_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Celebi[] = INCBIN_U8("graphics/pokemon/icons/celebi_icon.4bpp"); -const u8 gMonFootprint_Celebi[] = INCBIN_U8("graphics/pokemon/footprints/celebi_footprint.1bpp"); - -const u32 gMonStillFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/front_pics/double_question_mark_still_front_pic.4bpp.lz"); -const u32 gMonPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/palettes/double_question_mark_palette.gbapal.lz"); -const u32 gMonBackPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/back_pics/double_question_mark_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/palettes/double_question_mark_shiny_palette.gbapal.lz"); - -const u32 gMonStillFrontPic_Treecko[] = INCBIN_U32("graphics/pokemon/front_pics/treecko_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Treecko[] = INCBIN_U32("graphics/pokemon/palettes/treecko_palette.gbapal.lz"); -const u32 gMonBackPic_Treecko[] = INCBIN_U32("graphics/pokemon/back_pics/treecko_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Treecko[] = INCBIN_U32("graphics/pokemon/palettes/treecko_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Treecko[] = INCBIN_U8("graphics/pokemon/icons/treecko_icon.4bpp"); -const u8 gMonFootprint_Treecko[] = INCBIN_U8("graphics/pokemon/footprints/treecko_footprint.1bpp"); - -const u32 gMonStillFrontPic_Grovyle[] = INCBIN_U32("graphics/pokemon/front_pics/grovyle_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/palettes/grovyle_palette.gbapal.lz"); -const u32 gMonBackPic_Grovyle[] = INCBIN_U32("graphics/pokemon/back_pics/grovyle_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/palettes/grovyle_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Grovyle[] = INCBIN_U8("graphics/pokemon/icons/grovyle_icon.4bpp"); -const u8 gMonFootprint_Grovyle[] = INCBIN_U8("graphics/pokemon/footprints/grovyle_footprint.1bpp"); - -const u32 gMonStillFrontPic_Sceptile[] = INCBIN_U32("graphics/pokemon/front_pics/sceptile_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/palettes/sceptile_palette.gbapal.lz"); -const u32 gMonBackPic_Sceptile[] = INCBIN_U32("graphics/pokemon/back_pics/sceptile_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/palettes/sceptile_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Sceptile[] = INCBIN_U8("graphics/pokemon/icons/sceptile_icon.4bpp"); -const u8 gMonFootprint_Sceptile[] = INCBIN_U8("graphics/pokemon/footprints/sceptile_footprint.1bpp"); - -const u32 gMonStillFrontPic_Torchic[] = INCBIN_U32("graphics/pokemon/front_pics/torchic_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Torchic[] = INCBIN_U32("graphics/pokemon/palettes/torchic_palette.gbapal.lz"); -const u32 gMonBackPic_Torchic[] = INCBIN_U32("graphics/pokemon/back_pics/torchic_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Torchic[] = INCBIN_U32("graphics/pokemon/palettes/torchic_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Torchic[] = INCBIN_U8("graphics/pokemon/icons/torchic_icon.4bpp"); -const u8 gMonFootprint_Torchic[] = INCBIN_U8("graphics/pokemon/footprints/torchic_footprint.1bpp"); - -const u32 gMonStillFrontPic_Combusken[] = INCBIN_U32("graphics/pokemon/front_pics/combusken_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Combusken[] = INCBIN_U32("graphics/pokemon/palettes/combusken_palette.gbapal.lz"); -const u32 gMonBackPic_Combusken[] = INCBIN_U32("graphics/pokemon/back_pics/combusken_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Combusken[] = INCBIN_U32("graphics/pokemon/palettes/combusken_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Combusken[] = INCBIN_U8("graphics/pokemon/icons/combusken_icon.4bpp"); -const u8 gMonFootprint_Combusken[] = INCBIN_U8("graphics/pokemon/footprints/combusken_footprint.1bpp"); - -const u32 gMonStillFrontPic_Blaziken[] = INCBIN_U32("graphics/pokemon/front_pics/blaziken_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/palettes/blaziken_palette.gbapal.lz"); -const u32 gMonBackPic_Blaziken[] = INCBIN_U32("graphics/pokemon/back_pics/blaziken_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/palettes/blaziken_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Blaziken[] = INCBIN_U8("graphics/pokemon/icons/blaziken_icon.4bpp"); -const u8 gMonFootprint_Blaziken[] = INCBIN_U8("graphics/pokemon/footprints/blaziken_footprint.1bpp"); - -const u32 gMonStillFrontPic_Mudkip[] = INCBIN_U32("graphics/pokemon/front_pics/mudkip_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/palettes/mudkip_palette.gbapal.lz"); -const u32 gMonBackPic_Mudkip[] = INCBIN_U32("graphics/pokemon/back_pics/mudkip_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/palettes/mudkip_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Mudkip[] = INCBIN_U8("graphics/pokemon/icons/mudkip_icon.4bpp"); -const u8 gMonFootprint_Mudkip[] = INCBIN_U8("graphics/pokemon/footprints/mudkip_footprint.1bpp"); - -const u32 gMonStillFrontPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/front_pics/marshtomp_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/palettes/marshtomp_palette.gbapal.lz"); -const u32 gMonBackPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/back_pics/marshtomp_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/palettes/marshtomp_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Marshtomp[] = INCBIN_U8("graphics/pokemon/icons/marshtomp_icon.4bpp"); -const u8 gMonFootprint_Marshtomp[] = INCBIN_U8("graphics/pokemon/footprints/marshtomp_footprint.1bpp"); - -const u32 gMonStillFrontPic_Swampert[] = INCBIN_U32("graphics/pokemon/front_pics/swampert_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Swampert[] = INCBIN_U32("graphics/pokemon/palettes/swampert_palette.gbapal.lz"); -const u32 gMonBackPic_Swampert[] = INCBIN_U32("graphics/pokemon/back_pics/swampert_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Swampert[] = INCBIN_U32("graphics/pokemon/palettes/swampert_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Swampert[] = INCBIN_U8("graphics/pokemon/icons/swampert_icon.4bpp"); -const u8 gMonFootprint_Swampert[] = INCBIN_U8("graphics/pokemon/footprints/swampert_footprint.1bpp"); - -const u32 gMonStillFrontPic_Poochyena[] = INCBIN_U32("graphics/pokemon/front_pics/poochyena_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/palettes/poochyena_palette.gbapal.lz"); -const u32 gMonBackPic_Poochyena[] = INCBIN_U32("graphics/pokemon/back_pics/poochyena_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/palettes/poochyena_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Poochyena[] = INCBIN_U8("graphics/pokemon/icons/poochyena_icon.4bpp"); -const u8 gMonFootprint_Poochyena[] = INCBIN_U8("graphics/pokemon/footprints/poochyena_footprint.1bpp"); - -const u32 gMonStillFrontPic_Mightyena[] = INCBIN_U32("graphics/pokemon/front_pics/mightyena_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/palettes/mightyena_palette.gbapal.lz"); -const u32 gMonBackPic_Mightyena[] = INCBIN_U32("graphics/pokemon/back_pics/mightyena_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/palettes/mightyena_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Mightyena[] = INCBIN_U8("graphics/pokemon/icons/mightyena_icon.4bpp"); -const u8 gMonFootprint_Mightyena[] = INCBIN_U8("graphics/pokemon/footprints/mightyena_footprint.1bpp"); - -const u32 gMonStillFrontPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/front_pics/zigzagoon_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/palettes/zigzagoon_palette.gbapal.lz"); -const u32 gMonBackPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/back_pics/zigzagoon_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/palettes/zigzagoon_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Zigzagoon[] = INCBIN_U8("graphics/pokemon/icons/zigzagoon_icon.4bpp"); -const u8 gMonFootprint_Zigzagoon[] = INCBIN_U8("graphics/pokemon/footprints/zigzagoon_footprint.1bpp"); - -const u32 gMonStillFrontPic_Linoone[] = INCBIN_U32("graphics/pokemon/front_pics/linoone_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Linoone[] = INCBIN_U32("graphics/pokemon/palettes/linoone_palette.gbapal.lz"); -const u32 gMonBackPic_Linoone[] = INCBIN_U32("graphics/pokemon/back_pics/linoone_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Linoone[] = INCBIN_U32("graphics/pokemon/palettes/linoone_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Linoone[] = INCBIN_U8("graphics/pokemon/icons/linoone_icon.4bpp"); -const u8 gMonFootprint_Linoone[] = INCBIN_U8("graphics/pokemon/footprints/linoone_footprint.1bpp"); - -const u32 gMonStillFrontPic_Wurmple[] = INCBIN_U32("graphics/pokemon/front_pics/wurmple_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/palettes/wurmple_palette.gbapal.lz"); -const u32 gMonBackPic_Wurmple[] = INCBIN_U32("graphics/pokemon/back_pics/wurmple_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/palettes/wurmple_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Wurmple[] = INCBIN_U8("graphics/pokemon/icons/wurmple_icon.4bpp"); -const u8 gMonFootprint_Wurmple[] = INCBIN_U8("graphics/pokemon/footprints/wurmple_footprint.1bpp"); - -const u32 gMonStillFrontPic_Silcoon[] = INCBIN_U32("graphics/pokemon/front_pics/silcoon_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/palettes/silcoon_palette.gbapal.lz"); -const u32 gMonBackPic_Silcoon[] = INCBIN_U32("graphics/pokemon/back_pics/silcoon_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/palettes/silcoon_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Silcoon[] = INCBIN_U8("graphics/pokemon/icons/silcoon_icon.4bpp"); -const u8 gMonFootprint_Silcoon[] = INCBIN_U8("graphics/pokemon/footprints/silcoon_footprint.1bpp"); - -const u32 gMonStillFrontPic_Beautifly[] = INCBIN_U32("graphics/pokemon/front_pics/beautifly_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/palettes/beautifly_palette.gbapal.lz"); -const u32 gMonBackPic_Beautifly[] = INCBIN_U32("graphics/pokemon/back_pics/beautifly_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/palettes/beautifly_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Beautifly[] = INCBIN_U8("graphics/pokemon/icons/beautifly_icon.4bpp"); -const u8 gMonFootprint_Beautifly[] = INCBIN_U8("graphics/pokemon/footprints/beautifly_footprint.1bpp"); - -const u32 gMonStillFrontPic_Cascoon[] = INCBIN_U32("graphics/pokemon/front_pics/cascoon_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/palettes/cascoon_palette.gbapal.lz"); -const u32 gMonBackPic_Cascoon[] = INCBIN_U32("graphics/pokemon/back_pics/cascoon_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/palettes/cascoon_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Cascoon[] = INCBIN_U8("graphics/pokemon/icons/cascoon_icon.4bpp"); -const u8 gMonFootprint_Cascoon[] = INCBIN_U8("graphics/pokemon/footprints/cascoon_footprint.1bpp"); - -const u32 gMonStillFrontPic_Dustox[] = INCBIN_U32("graphics/pokemon/front_pics/dustox_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Dustox[] = INCBIN_U32("graphics/pokemon/palettes/dustox_palette.gbapal.lz"); -const u32 gMonBackPic_Dustox[] = INCBIN_U32("graphics/pokemon/back_pics/dustox_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Dustox[] = INCBIN_U32("graphics/pokemon/palettes/dustox_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Dustox[] = INCBIN_U8("graphics/pokemon/icons/dustox_icon.4bpp"); -const u8 gMonFootprint_Dustox[] = INCBIN_U8("graphics/pokemon/footprints/dustox_footprint.1bpp"); - -const u32 gMonStillFrontPic_Lotad[] = INCBIN_U32("graphics/pokemon/front_pics/lotad_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Lotad[] = INCBIN_U32("graphics/pokemon/palettes/lotad_palette.gbapal.lz"); -const u32 gMonBackPic_Lotad[] = INCBIN_U32("graphics/pokemon/back_pics/lotad_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Lotad[] = INCBIN_U32("graphics/pokemon/palettes/lotad_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Lotad[] = INCBIN_U8("graphics/pokemon/icons/lotad_icon.4bpp"); -const u8 gMonFootprint_Lotad[] = INCBIN_U8("graphics/pokemon/footprints/lotad_footprint.1bpp"); - -const u32 gMonStillFrontPic_Lombre[] = INCBIN_U32("graphics/pokemon/front_pics/lombre_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Lombre[] = INCBIN_U32("graphics/pokemon/palettes/lombre_palette.gbapal.lz"); -const u32 gMonBackPic_Lombre[] = INCBIN_U32("graphics/pokemon/back_pics/lombre_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Lombre[] = INCBIN_U32("graphics/pokemon/palettes/lombre_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Lombre[] = INCBIN_U8("graphics/pokemon/icons/lombre_icon.4bpp"); -const u8 gMonFootprint_Lombre[] = INCBIN_U8("graphics/pokemon/footprints/lombre_footprint.1bpp"); - -const u32 gMonStillFrontPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/front_pics/ludicolo_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/palettes/ludicolo_palette.gbapal.lz"); -const u32 gMonBackPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/back_pics/ludicolo_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/palettes/ludicolo_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Ludicolo[] = INCBIN_U8("graphics/pokemon/icons/ludicolo_icon.4bpp"); -const u8 gMonFootprint_Ludicolo[] = INCBIN_U8("graphics/pokemon/footprints/ludicolo_footprint.1bpp"); - -const u32 gMonStillFrontPic_Seedot[] = INCBIN_U32("graphics/pokemon/front_pics/seedot_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Seedot[] = INCBIN_U32("graphics/pokemon/palettes/seedot_palette.gbapal.lz"); -const u32 gMonBackPic_Seedot[] = INCBIN_U32("graphics/pokemon/back_pics/seedot_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Seedot[] = INCBIN_U32("graphics/pokemon/palettes/seedot_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Seedot[] = INCBIN_U8("graphics/pokemon/icons/seedot_icon.4bpp"); -const u8 gMonFootprint_Seedot[] = INCBIN_U8("graphics/pokemon/footprints/seedot_footprint.1bpp"); - -const u32 gMonStillFrontPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/front_pics/nuzleaf_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/palettes/nuzleaf_palette.gbapal.lz"); -const u32 gMonBackPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/back_pics/nuzleaf_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/palettes/nuzleaf_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Nuzleaf[] = INCBIN_U8("graphics/pokemon/icons/nuzleaf_icon.4bpp"); -const u8 gMonFootprint_Nuzleaf[] = INCBIN_U8("graphics/pokemon/footprints/nuzleaf_footprint.1bpp"); - -const u32 gMonStillFrontPic_Shiftry[] = INCBIN_U32("graphics/pokemon/front_pics/shiftry_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/palettes/shiftry_palette.gbapal.lz"); -const u32 gMonBackPic_Shiftry[] = INCBIN_U32("graphics/pokemon/back_pics/shiftry_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/palettes/shiftry_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Shiftry[] = INCBIN_U8("graphics/pokemon/icons/shiftry_icon.4bpp"); -const u8 gMonFootprint_Shiftry[] = INCBIN_U8("graphics/pokemon/footprints/shiftry_footprint.1bpp"); - -const u32 gMonStillFrontPic_Nincada[] = INCBIN_U32("graphics/pokemon/front_pics/nincada_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Nincada[] = INCBIN_U32("graphics/pokemon/palettes/nincada_palette.gbapal.lz"); -const u32 gMonBackPic_Nincada[] = INCBIN_U32("graphics/pokemon/back_pics/nincada_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Nincada[] = INCBIN_U32("graphics/pokemon/palettes/nincada_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Nincada[] = INCBIN_U8("graphics/pokemon/icons/nincada_icon.4bpp"); -const u8 gMonFootprint_Nincada[] = INCBIN_U8("graphics/pokemon/footprints/nincada_footprint.1bpp"); - -const u32 gMonStillFrontPic_Ninjask[] = INCBIN_U32("graphics/pokemon/front_pics/ninjask_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/palettes/ninjask_palette.gbapal.lz"); -const u32 gMonBackPic_Ninjask[] = INCBIN_U32("graphics/pokemon/back_pics/ninjask_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/palettes/ninjask_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Ninjask[] = INCBIN_U8("graphics/pokemon/icons/ninjask_icon.4bpp"); -const u8 gMonFootprint_Ninjask[] = INCBIN_U8("graphics/pokemon/footprints/ninjask_footprint.1bpp"); - -const u32 gMonStillFrontPic_Shedinja[] = INCBIN_U32("graphics/pokemon/front_pics/shedinja_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/palettes/shedinja_palette.gbapal.lz"); -const u32 gMonBackPic_Shedinja[] = INCBIN_U32("graphics/pokemon/back_pics/shedinja_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/palettes/shedinja_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Shedinja[] = INCBIN_U8("graphics/pokemon/icons/shedinja_icon.4bpp"); -const u8 gMonFootprint_Shedinja[] = INCBIN_U8("graphics/pokemon/footprints/shedinja_footprint.1bpp"); - -const u32 gMonStillFrontPic_Taillow[] = INCBIN_U32("graphics/pokemon/front_pics/taillow_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Taillow[] = INCBIN_U32("graphics/pokemon/palettes/taillow_palette.gbapal.lz"); -const u32 gMonBackPic_Taillow[] = INCBIN_U32("graphics/pokemon/back_pics/taillow_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Taillow[] = INCBIN_U32("graphics/pokemon/palettes/taillow_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Taillow[] = INCBIN_U8("graphics/pokemon/icons/taillow_icon.4bpp"); -const u8 gMonFootprint_Taillow[] = INCBIN_U8("graphics/pokemon/footprints/taillow_footprint.1bpp"); - -const u32 gMonStillFrontPic_Swellow[] = INCBIN_U32("graphics/pokemon/front_pics/swellow_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Swellow[] = INCBIN_U32("graphics/pokemon/palettes/swellow_palette.gbapal.lz"); -const u32 gMonBackPic_Swellow[] = INCBIN_U32("graphics/pokemon/back_pics/swellow_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Swellow[] = INCBIN_U32("graphics/pokemon/palettes/swellow_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Swellow[] = INCBIN_U8("graphics/pokemon/icons/swellow_icon.4bpp"); -const u8 gMonFootprint_Swellow[] = INCBIN_U8("graphics/pokemon/footprints/swellow_footprint.1bpp"); - -const u32 gMonStillFrontPic_Shroomish[] = INCBIN_U32("graphics/pokemon/front_pics/shroomish_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/palettes/shroomish_palette.gbapal.lz"); -const u32 gMonBackPic_Shroomish[] = INCBIN_U32("graphics/pokemon/back_pics/shroomish_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/palettes/shroomish_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Shroomish[] = INCBIN_U8("graphics/pokemon/icons/shroomish_icon.4bpp"); -const u8 gMonFootprint_Shroomish[] = INCBIN_U8("graphics/pokemon/footprints/shroomish_footprint.1bpp"); - -const u32 gMonStillFrontPic_Breloom[] = INCBIN_U32("graphics/pokemon/front_pics/breloom_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Breloom[] = INCBIN_U32("graphics/pokemon/palettes/breloom_palette.gbapal.lz"); -const u32 gMonBackPic_Breloom[] = INCBIN_U32("graphics/pokemon/back_pics/breloom_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Breloom[] = INCBIN_U32("graphics/pokemon/palettes/breloom_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Breloom[] = INCBIN_U8("graphics/pokemon/icons/breloom_icon.4bpp"); -const u8 gMonFootprint_Breloom[] = INCBIN_U8("graphics/pokemon/footprints/breloom_footprint.1bpp"); - -const u32 gMonStillFrontPic_Spinda[] = INCBIN_U32("graphics/pokemon/front_pics/spinda_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Spinda[] = INCBIN_U32("graphics/pokemon/palettes/spinda_palette.gbapal.lz"); -const u32 gMonBackPic_Spinda[] = INCBIN_U32("graphics/pokemon/back_pics/spinda_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Spinda[] = INCBIN_U32("graphics/pokemon/palettes/spinda_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Spinda[] = INCBIN_U8("graphics/pokemon/icons/spinda_icon.4bpp"); -const u8 gMonFootprint_Spinda[] = INCBIN_U8("graphics/pokemon/footprints/spinda_footprint.1bpp"); - -const u32 gMonStillFrontPic_Wingull[] = INCBIN_U32("graphics/pokemon/front_pics/wingull_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Wingull[] = INCBIN_U32("graphics/pokemon/palettes/wingull_palette.gbapal.lz"); -const u32 gMonBackPic_Wingull[] = INCBIN_U32("graphics/pokemon/back_pics/wingull_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Wingull[] = INCBIN_U32("graphics/pokemon/palettes/wingull_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Wingull[] = INCBIN_U8("graphics/pokemon/icons/wingull_icon.4bpp"); -const u8 gMonFootprint_Wingull[] = INCBIN_U8("graphics/pokemon/footprints/wingull_footprint.1bpp"); - -const u32 gMonStillFrontPic_Pelipper[] = INCBIN_U32("graphics/pokemon/front_pics/pelipper_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/palettes/pelipper_palette.gbapal.lz"); -const u32 gMonBackPic_Pelipper[] = INCBIN_U32("graphics/pokemon/back_pics/pelipper_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/palettes/pelipper_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Pelipper[] = INCBIN_U8("graphics/pokemon/icons/pelipper_icon.4bpp"); -const u8 gMonFootprint_Pelipper[] = INCBIN_U8("graphics/pokemon/footprints/pelipper_footprint.1bpp"); - -const u32 gMonStillFrontPic_Surskit[] = INCBIN_U32("graphics/pokemon/front_pics/surskit_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Surskit[] = INCBIN_U32("graphics/pokemon/palettes/surskit_palette.gbapal.lz"); -const u32 gMonBackPic_Surskit[] = INCBIN_U32("graphics/pokemon/back_pics/surskit_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Surskit[] = INCBIN_U32("graphics/pokemon/palettes/surskit_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Surskit[] = INCBIN_U8("graphics/pokemon/icons/surskit_icon.4bpp"); -const u8 gMonFootprint_Surskit[] = INCBIN_U8("graphics/pokemon/footprints/surskit_footprint.1bpp"); - -const u32 gMonStillFrontPic_Masquerain[] = INCBIN_U32("graphics/pokemon/front_pics/masquerain_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/palettes/masquerain_palette.gbapal.lz"); -const u32 gMonBackPic_Masquerain[] = INCBIN_U32("graphics/pokemon/back_pics/masquerain_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/palettes/masquerain_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Masquerain[] = INCBIN_U8("graphics/pokemon/icons/masquerain_icon.4bpp"); -const u8 gMonFootprint_Masquerain[] = INCBIN_U8("graphics/pokemon/footprints/masquerain_footprint.1bpp"); - -const u32 gMonStillFrontPic_Wailmer[] = INCBIN_U32("graphics/pokemon/front_pics/wailmer_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/palettes/wailmer_palette.gbapal.lz"); -const u32 gMonBackPic_Wailmer[] = INCBIN_U32("graphics/pokemon/back_pics/wailmer_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/palettes/wailmer_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Wailmer[] = INCBIN_U8("graphics/pokemon/icons/wailmer_icon.4bpp"); -const u8 gMonFootprint_Wailmer[] = INCBIN_U8("graphics/pokemon/footprints/wailmer_footprint.1bpp"); - -const u32 gMonStillFrontPic_Wailord[] = INCBIN_U32("graphics/pokemon/front_pics/wailord_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Wailord[] = INCBIN_U32("graphics/pokemon/palettes/wailord_palette.gbapal.lz"); -const u32 gMonBackPic_Wailord[] = INCBIN_U32("graphics/pokemon/back_pics/wailord_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Wailord[] = INCBIN_U32("graphics/pokemon/palettes/wailord_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Wailord[] = INCBIN_U8("graphics/pokemon/icons/wailord_icon.4bpp"); -const u8 gMonFootprint_Wailord[] = INCBIN_U8("graphics/pokemon/footprints/wailord_footprint.1bpp"); - -const u32 gMonStillFrontPic_Skitty[] = INCBIN_U32("graphics/pokemon/front_pics/skitty_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Skitty[] = INCBIN_U32("graphics/pokemon/palettes/skitty_palette.gbapal.lz"); -const u32 gMonBackPic_Skitty[] = INCBIN_U32("graphics/pokemon/back_pics/skitty_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Skitty[] = INCBIN_U32("graphics/pokemon/palettes/skitty_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Skitty[] = INCBIN_U8("graphics/pokemon/icons/skitty_icon.4bpp"); -const u8 gMonFootprint_Skitty[] = INCBIN_U8("graphics/pokemon/footprints/skitty_footprint.1bpp"); - -const u32 gMonStillFrontPic_Delcatty[] = INCBIN_U32("graphics/pokemon/front_pics/delcatty_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/palettes/delcatty_palette.gbapal.lz"); -const u32 gMonBackPic_Delcatty[] = INCBIN_U32("graphics/pokemon/back_pics/delcatty_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/palettes/delcatty_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Delcatty[] = INCBIN_U8("graphics/pokemon/icons/delcatty_icon.4bpp"); -const u8 gMonFootprint_Delcatty[] = INCBIN_U8("graphics/pokemon/footprints/delcatty_footprint.1bpp"); - -const u32 gMonStillFrontPic_Kecleon[] = INCBIN_U32("graphics/pokemon/front_pics/kecleon_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/palettes/kecleon_palette.gbapal.lz"); -const u32 gMonBackPic_Kecleon[] = INCBIN_U32("graphics/pokemon/back_pics/kecleon_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/palettes/kecleon_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Kecleon[] = INCBIN_U8("graphics/pokemon/icons/kecleon_icon.4bpp"); -const u8 gMonFootprint_Kecleon[] = INCBIN_U8("graphics/pokemon/footprints/kecleon_footprint.1bpp"); - -const u32 gMonStillFrontPic_Baltoy[] = INCBIN_U32("graphics/pokemon/front_pics/baltoy_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/palettes/baltoy_palette.gbapal.lz"); -const u32 gMonBackPic_Baltoy[] = INCBIN_U32("graphics/pokemon/back_pics/baltoy_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/palettes/baltoy_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Baltoy[] = INCBIN_U8("graphics/pokemon/icons/baltoy_icon.4bpp"); -const u8 gMonFootprint_Baltoy[] = INCBIN_U8("graphics/pokemon/footprints/baltoy_footprint.1bpp"); - -const u32 gMonStillFrontPic_Claydol[] = INCBIN_U32("graphics/pokemon/front_pics/claydol_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Claydol[] = INCBIN_U32("graphics/pokemon/palettes/claydol_palette.gbapal.lz"); -const u32 gMonBackPic_Claydol[] = INCBIN_U32("graphics/pokemon/back_pics/claydol_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Claydol[] = INCBIN_U32("graphics/pokemon/palettes/claydol_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Claydol[] = INCBIN_U8("graphics/pokemon/icons/claydol_icon.4bpp"); -const u8 gMonFootprint_Claydol[] = INCBIN_U8("graphics/pokemon/footprints/claydol_footprint.1bpp"); - -const u32 gMonStillFrontPic_Nosepass[] = INCBIN_U32("graphics/pokemon/front_pics/nosepass_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/palettes/nosepass_palette.gbapal.lz"); -const u32 gMonBackPic_Nosepass[] = INCBIN_U32("graphics/pokemon/back_pics/nosepass_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/palettes/nosepass_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Nosepass[] = INCBIN_U8("graphics/pokemon/icons/nosepass_icon.4bpp"); -const u8 gMonFootprint_Nosepass[] = INCBIN_U8("graphics/pokemon/footprints/nosepass_footprint.1bpp"); - -const u32 gMonStillFrontPic_Torkoal[] = INCBIN_U32("graphics/pokemon/front_pics/torkoal_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/palettes/torkoal_palette.gbapal.lz"); -const u32 gMonBackPic_Torkoal[] = INCBIN_U32("graphics/pokemon/back_pics/torkoal_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/palettes/torkoal_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Torkoal[] = INCBIN_U8("graphics/pokemon/icons/torkoal_icon.4bpp"); -const u8 gMonFootprint_Torkoal[] = INCBIN_U8("graphics/pokemon/footprints/torkoal_footprint.1bpp"); - -const u32 gMonStillFrontPic_Sableye[] = INCBIN_U32("graphics/pokemon/front_pics/sableye_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Sableye[] = INCBIN_U32("graphics/pokemon/palettes/sableye_palette.gbapal.lz"); -const u32 gMonBackPic_Sableye[] = INCBIN_U32("graphics/pokemon/back_pics/sableye_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Sableye[] = INCBIN_U32("graphics/pokemon/palettes/sableye_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Sableye[] = INCBIN_U8("graphics/pokemon/icons/sableye_icon.4bpp"); -const u8 gMonFootprint_Sableye[] = INCBIN_U8("graphics/pokemon/footprints/sableye_footprint.1bpp"); - -const u32 gMonStillFrontPic_Barboach[] = INCBIN_U32("graphics/pokemon/front_pics/barboach_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Barboach[] = INCBIN_U32("graphics/pokemon/palettes/barboach_palette.gbapal.lz"); -const u32 gMonBackPic_Barboach[] = INCBIN_U32("graphics/pokemon/back_pics/barboach_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Barboach[] = INCBIN_U32("graphics/pokemon/palettes/barboach_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Barboach[] = INCBIN_U8("graphics/pokemon/icons/barboach_icon.4bpp"); -const u8 gMonFootprint_Barboach[] = INCBIN_U8("graphics/pokemon/footprints/barboach_footprint.1bpp"); - -const u32 gMonStillFrontPic_Whiscash[] = INCBIN_U32("graphics/pokemon/front_pics/whiscash_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/palettes/whiscash_palette.gbapal.lz"); -const u32 gMonBackPic_Whiscash[] = INCBIN_U32("graphics/pokemon/back_pics/whiscash_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/palettes/whiscash_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Whiscash[] = INCBIN_U8("graphics/pokemon/icons/whiscash_icon.4bpp"); -const u8 gMonFootprint_Whiscash[] = INCBIN_U8("graphics/pokemon/footprints/whiscash_footprint.1bpp"); - -const u32 gMonStillFrontPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/front_pics/luvdisc_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/palettes/luvdisc_palette.gbapal.lz"); -const u32 gMonBackPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/back_pics/luvdisc_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/palettes/luvdisc_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Luvdisc[] = INCBIN_U8("graphics/pokemon/icons/luvdisc_icon.4bpp"); -const u8 gMonFootprint_Luvdisc[] = INCBIN_U8("graphics/pokemon/footprints/luvdisc_footprint.1bpp"); - -const u32 gMonStillFrontPic_Corphish[] = INCBIN_U32("graphics/pokemon/front_pics/corphish_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Corphish[] = INCBIN_U32("graphics/pokemon/palettes/corphish_palette.gbapal.lz"); -const u32 gMonBackPic_Corphish[] = INCBIN_U32("graphics/pokemon/back_pics/corphish_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Corphish[] = INCBIN_U32("graphics/pokemon/palettes/corphish_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Corphish[] = INCBIN_U8("graphics/pokemon/icons/corphish_icon.4bpp"); -const u8 gMonFootprint_Corphish[] = INCBIN_U8("graphics/pokemon/footprints/corphish_footprint.1bpp"); - -const u32 gMonStillFrontPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/front_pics/crawdaunt_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/palettes/crawdaunt_palette.gbapal.lz"); -const u32 gMonBackPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/back_pics/crawdaunt_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/palettes/crawdaunt_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Crawdaunt[] = INCBIN_U8("graphics/pokemon/icons/crawdaunt_icon.4bpp"); -const u8 gMonFootprint_Crawdaunt[] = INCBIN_U8("graphics/pokemon/footprints/crawdaunt_footprint.1bpp"); - -const u32 gMonStillFrontPic_Feebas[] = INCBIN_U32("graphics/pokemon/front_pics/feebas_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Feebas[] = INCBIN_U32("graphics/pokemon/palettes/feebas_palette.gbapal.lz"); -const u32 gMonBackPic_Feebas[] = INCBIN_U32("graphics/pokemon/back_pics/feebas_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Feebas[] = INCBIN_U32("graphics/pokemon/palettes/feebas_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Feebas[] = INCBIN_U8("graphics/pokemon/icons/feebas_icon.4bpp"); -const u8 gMonFootprint_Feebas[] = INCBIN_U8("graphics/pokemon/footprints/feebas_footprint.1bpp"); - -const u32 gMonStillFrontPic_Milotic[] = INCBIN_U32("graphics/pokemon/front_pics/milotic_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Milotic[] = INCBIN_U32("graphics/pokemon/palettes/milotic_palette.gbapal.lz"); -const u32 gMonBackPic_Milotic[] = INCBIN_U32("graphics/pokemon/back_pics/milotic_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Milotic[] = INCBIN_U32("graphics/pokemon/palettes/milotic_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Milotic[] = INCBIN_U8("graphics/pokemon/icons/milotic_icon.4bpp"); -const u8 gMonFootprint_Milotic[] = INCBIN_U8("graphics/pokemon/footprints/milotic_footprint.1bpp"); - -const u32 gMonStillFrontPic_Carvanha[] = INCBIN_U32("graphics/pokemon/front_pics/carvanha_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/palettes/carvanha_palette.gbapal.lz"); -const u32 gMonBackPic_Carvanha[] = INCBIN_U32("graphics/pokemon/back_pics/carvanha_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/palettes/carvanha_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Carvanha[] = INCBIN_U8("graphics/pokemon/icons/carvanha_icon.4bpp"); -const u8 gMonFootprint_Carvanha[] = INCBIN_U8("graphics/pokemon/footprints/carvanha_footprint.1bpp"); - -const u32 gMonStillFrontPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/front_pics/sharpedo_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/palettes/sharpedo_palette.gbapal.lz"); -const u32 gMonBackPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/back_pics/sharpedo_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/palettes/sharpedo_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Sharpedo[] = INCBIN_U8("graphics/pokemon/icons/sharpedo_icon.4bpp"); -const u8 gMonFootprint_Sharpedo[] = INCBIN_U8("graphics/pokemon/footprints/sharpedo_footprint.1bpp"); - -const u32 gMonStillFrontPic_Trapinch[] = INCBIN_U32("graphics/pokemon/front_pics/trapinch_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/palettes/trapinch_palette.gbapal.lz"); -const u32 gMonBackPic_Trapinch[] = INCBIN_U32("graphics/pokemon/back_pics/trapinch_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/palettes/trapinch_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Trapinch[] = INCBIN_U8("graphics/pokemon/icons/trapinch_icon.4bpp"); -const u8 gMonFootprint_Trapinch[] = INCBIN_U8("graphics/pokemon/footprints/trapinch_footprint.1bpp"); - -const u32 gMonStillFrontPic_Vibrava[] = INCBIN_U32("graphics/pokemon/front_pics/vibrava_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/palettes/vibrava_palette.gbapal.lz"); -const u32 gMonBackPic_Vibrava[] = INCBIN_U32("graphics/pokemon/back_pics/vibrava_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/palettes/vibrava_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Vibrava[] = INCBIN_U8("graphics/pokemon/icons/vibrava_icon.4bpp"); -const u8 gMonFootprint_Vibrava[] = INCBIN_U8("graphics/pokemon/footprints/vibrava_footprint.1bpp"); - -const u32 gMonStillFrontPic_Flygon[] = INCBIN_U32("graphics/pokemon/front_pics/flygon_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Flygon[] = INCBIN_U32("graphics/pokemon/palettes/flygon_palette.gbapal.lz"); -const u32 gMonBackPic_Flygon[] = INCBIN_U32("graphics/pokemon/back_pics/flygon_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Flygon[] = INCBIN_U32("graphics/pokemon/palettes/flygon_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Flygon[] = INCBIN_U8("graphics/pokemon/icons/flygon_icon.4bpp"); -const u8 gMonFootprint_Flygon[] = INCBIN_U8("graphics/pokemon/footprints/flygon_footprint.1bpp"); - -const u32 gMonStillFrontPic_Makuhita[] = INCBIN_U32("graphics/pokemon/front_pics/makuhita_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/palettes/makuhita_palette.gbapal.lz"); -const u32 gMonBackPic_Makuhita[] = INCBIN_U32("graphics/pokemon/back_pics/makuhita_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/palettes/makuhita_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Makuhita[] = INCBIN_U8("graphics/pokemon/icons/makuhita_icon.4bpp"); -const u8 gMonFootprint_Makuhita[] = INCBIN_U8("graphics/pokemon/footprints/makuhita_footprint.1bpp"); - -const u32 gMonStillFrontPic_Hariyama[] = INCBIN_U32("graphics/pokemon/front_pics/hariyama_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/palettes/hariyama_palette.gbapal.lz"); -const u32 gMonBackPic_Hariyama[] = INCBIN_U32("graphics/pokemon/back_pics/hariyama_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/palettes/hariyama_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Hariyama[] = INCBIN_U8("graphics/pokemon/icons/hariyama_icon.4bpp"); -const u8 gMonFootprint_Hariyama[] = INCBIN_U8("graphics/pokemon/footprints/hariyama_footprint.1bpp"); - -const u32 gMonStillFrontPic_Electrike[] = INCBIN_U32("graphics/pokemon/front_pics/electrike_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Electrike[] = INCBIN_U32("graphics/pokemon/palettes/electrike_palette.gbapal.lz"); -const u32 gMonBackPic_Electrike[] = INCBIN_U32("graphics/pokemon/back_pics/electrike_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Electrike[] = INCBIN_U32("graphics/pokemon/palettes/electrike_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Electrike[] = INCBIN_U8("graphics/pokemon/icons/electrike_icon.4bpp"); -const u8 gMonFootprint_Electrike[] = INCBIN_U8("graphics/pokemon/footprints/electrike_footprint.1bpp"); - -const u32 gMonStillFrontPic_Manectric[] = INCBIN_U32("graphics/pokemon/front_pics/manectric_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Manectric[] = INCBIN_U32("graphics/pokemon/palettes/manectric_palette.gbapal.lz"); -const u32 gMonBackPic_Manectric[] = INCBIN_U32("graphics/pokemon/back_pics/manectric_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Manectric[] = INCBIN_U32("graphics/pokemon/palettes/manectric_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Manectric[] = INCBIN_U8("graphics/pokemon/icons/manectric_icon.4bpp"); -const u8 gMonFootprint_Manectric[] = INCBIN_U8("graphics/pokemon/footprints/manectric_footprint.1bpp"); - -const u32 gMonStillFrontPic_Numel[] = INCBIN_U32("graphics/pokemon/front_pics/numel_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Numel[] = INCBIN_U32("graphics/pokemon/palettes/numel_palette.gbapal.lz"); -const u32 gMonBackPic_Numel[] = INCBIN_U32("graphics/pokemon/back_pics/numel_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Numel[] = INCBIN_U32("graphics/pokemon/palettes/numel_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Numel[] = INCBIN_U8("graphics/pokemon/icons/numel_icon.4bpp"); -const u8 gMonFootprint_Numel[] = INCBIN_U8("graphics/pokemon/footprints/numel_footprint.1bpp"); - -const u32 gMonStillFrontPic_Camerupt[] = INCBIN_U32("graphics/pokemon/front_pics/camerupt_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/palettes/camerupt_palette.gbapal.lz"); -const u32 gMonBackPic_Camerupt[] = INCBIN_U32("graphics/pokemon/back_pics/camerupt_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/palettes/camerupt_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Camerupt[] = INCBIN_U8("graphics/pokemon/icons/camerupt_icon.4bpp"); -const u8 gMonFootprint_Camerupt[] = INCBIN_U8("graphics/pokemon/footprints/camerupt_footprint.1bpp"); - -const u32 gMonStillFrontPic_Spheal[] = INCBIN_U32("graphics/pokemon/front_pics/spheal_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Spheal[] = INCBIN_U32("graphics/pokemon/palettes/spheal_palette.gbapal.lz"); -const u32 gMonBackPic_Spheal[] = INCBIN_U32("graphics/pokemon/back_pics/spheal_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Spheal[] = INCBIN_U32("graphics/pokemon/palettes/spheal_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Spheal[] = INCBIN_U8("graphics/pokemon/icons/spheal_icon.4bpp"); -const u8 gMonFootprint_Spheal[] = INCBIN_U8("graphics/pokemon/footprints/spheal_footprint.1bpp"); - -const u32 gMonStillFrontPic_Sealeo[] = INCBIN_U32("graphics/pokemon/front_pics/sealeo_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/palettes/sealeo_palette.gbapal.lz"); -const u32 gMonBackPic_Sealeo[] = INCBIN_U32("graphics/pokemon/back_pics/sealeo_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/palettes/sealeo_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Sealeo[] = INCBIN_U8("graphics/pokemon/icons/sealeo_icon.4bpp"); -const u8 gMonFootprint_Sealeo[] = INCBIN_U8("graphics/pokemon/footprints/sealeo_footprint.1bpp"); - -const u32 gMonStillFrontPic_Walrein[] = INCBIN_U32("graphics/pokemon/front_pics/walrein_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Walrein[] = INCBIN_U32("graphics/pokemon/palettes/walrein_palette.gbapal.lz"); -const u32 gMonBackPic_Walrein[] = INCBIN_U32("graphics/pokemon/back_pics/walrein_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Walrein[] = INCBIN_U32("graphics/pokemon/palettes/walrein_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Walrein[] = INCBIN_U8("graphics/pokemon/icons/walrein_icon.4bpp"); -const u8 gMonFootprint_Walrein[] = INCBIN_U8("graphics/pokemon/footprints/walrein_footprint.1bpp"); - -const u32 gMonStillFrontPic_Cacnea[] = INCBIN_U32("graphics/pokemon/front_pics/cacnea_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/palettes/cacnea_palette.gbapal.lz"); -const u32 gMonBackPic_Cacnea[] = INCBIN_U32("graphics/pokemon/back_pics/cacnea_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/palettes/cacnea_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Cacnea[] = INCBIN_U8("graphics/pokemon/icons/cacnea_icon.4bpp"); -const u8 gMonFootprint_Cacnea[] = INCBIN_U8("graphics/pokemon/footprints/cacnea_footprint.1bpp"); - -const u32 gMonStillFrontPic_Cacturne[] = INCBIN_U32("graphics/pokemon/front_pics/cacturne_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/palettes/cacturne_palette.gbapal.lz"); -const u32 gMonBackPic_Cacturne[] = INCBIN_U32("graphics/pokemon/back_pics/cacturne_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/palettes/cacturne_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Cacturne[] = INCBIN_U8("graphics/pokemon/icons/cacturne_icon.4bpp"); -const u8 gMonFootprint_Cacturne[] = INCBIN_U8("graphics/pokemon/footprints/cacturne_footprint.1bpp"); - -const u32 gMonStillFrontPic_Snorunt[] = INCBIN_U32("graphics/pokemon/front_pics/snorunt_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/palettes/snorunt_palette.gbapal.lz"); -const u32 gMonBackPic_Snorunt[] = INCBIN_U32("graphics/pokemon/back_pics/snorunt_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/palettes/snorunt_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Snorunt[] = INCBIN_U8("graphics/pokemon/icons/snorunt_icon.4bpp"); -const u8 gMonFootprint_Snorunt[] = INCBIN_U8("graphics/pokemon/footprints/snorunt_footprint.1bpp"); - -const u32 gMonStillFrontPic_Glalie[] = INCBIN_U32("graphics/pokemon/front_pics/glalie_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Glalie[] = INCBIN_U32("graphics/pokemon/palettes/glalie_palette.gbapal.lz"); -const u32 gMonBackPic_Glalie[] = INCBIN_U32("graphics/pokemon/back_pics/glalie_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Glalie[] = INCBIN_U32("graphics/pokemon/palettes/glalie_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Glalie[] = INCBIN_U8("graphics/pokemon/icons/glalie_icon.4bpp"); -const u8 gMonFootprint_Glalie[] = INCBIN_U8("graphics/pokemon/footprints/glalie_footprint.1bpp"); - -const u32 gMonStillFrontPic_Lunatone[] = INCBIN_U32("graphics/pokemon/front_pics/lunatone_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/palettes/lunatone_palette.gbapal.lz"); -const u32 gMonBackPic_Lunatone[] = INCBIN_U32("graphics/pokemon/back_pics/lunatone_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/palettes/lunatone_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Lunatone[] = INCBIN_U8("graphics/pokemon/icons/lunatone_icon.4bpp"); -const u8 gMonFootprint_Lunatone[] = INCBIN_U8("graphics/pokemon/footprints/lunatone_footprint.1bpp"); - -const u32 gMonStillFrontPic_Solrock[] = INCBIN_U32("graphics/pokemon/front_pics/solrock_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Solrock[] = INCBIN_U32("graphics/pokemon/palettes/solrock_palette.gbapal.lz"); -const u32 gMonBackPic_Solrock[] = INCBIN_U32("graphics/pokemon/back_pics/solrock_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Solrock[] = INCBIN_U32("graphics/pokemon/palettes/solrock_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Solrock[] = INCBIN_U8("graphics/pokemon/icons/solrock_icon.4bpp"); -const u8 gMonFootprint_Solrock[] = INCBIN_U8("graphics/pokemon/footprints/solrock_footprint.1bpp"); - -const u32 gMonStillFrontPic_Azurill[] = INCBIN_U32("graphics/pokemon/front_pics/azurill_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Azurill[] = INCBIN_U32("graphics/pokemon/palettes/azurill_palette.gbapal.lz"); -const u32 gMonBackPic_Azurill[] = INCBIN_U32("graphics/pokemon/back_pics/azurill_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Azurill[] = INCBIN_U32("graphics/pokemon/palettes/azurill_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Azurill[] = INCBIN_U8("graphics/pokemon/icons/azurill_icon.4bpp"); -const u8 gMonFootprint_Azurill[] = INCBIN_U8("graphics/pokemon/footprints/azurill_footprint.1bpp"); - -const u32 gMonStillFrontPic_Spoink[] = INCBIN_U32("graphics/pokemon/front_pics/spoink_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Spoink[] = INCBIN_U32("graphics/pokemon/palettes/spoink_palette.gbapal.lz"); -const u32 gMonBackPic_Spoink[] = INCBIN_U32("graphics/pokemon/back_pics/spoink_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Spoink[] = INCBIN_U32("graphics/pokemon/palettes/spoink_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Spoink[] = INCBIN_U8("graphics/pokemon/icons/spoink_icon.4bpp"); -const u8 gMonFootprint_Spoink[] = INCBIN_U8("graphics/pokemon/footprints/spoink_footprint.1bpp"); - -const u32 gMonStillFrontPic_Grumpig[] = INCBIN_U32("graphics/pokemon/front_pics/grumpig_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/palettes/grumpig_palette.gbapal.lz"); -const u32 gMonBackPic_Grumpig[] = INCBIN_U32("graphics/pokemon/back_pics/grumpig_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/palettes/grumpig_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Grumpig[] = INCBIN_U8("graphics/pokemon/icons/grumpig_icon.4bpp"); -const u8 gMonFootprint_Grumpig[] = INCBIN_U8("graphics/pokemon/footprints/grumpig_footprint.1bpp"); - -const u32 gMonStillFrontPic_Plusle[] = INCBIN_U32("graphics/pokemon/front_pics/plusle_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Plusle[] = INCBIN_U32("graphics/pokemon/palettes/plusle_palette.gbapal.lz"); -const u32 gMonBackPic_Plusle[] = INCBIN_U32("graphics/pokemon/back_pics/plusle_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Plusle[] = INCBIN_U32("graphics/pokemon/palettes/plusle_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Plusle[] = INCBIN_U8("graphics/pokemon/icons/plusle_icon.4bpp"); -const u8 gMonFootprint_Plusle[] = INCBIN_U8("graphics/pokemon/footprints/plusle_footprint.1bpp"); - -const u32 gMonStillFrontPic_Minun[] = INCBIN_U32("graphics/pokemon/front_pics/minun_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Minun[] = INCBIN_U32("graphics/pokemon/palettes/minun_palette.gbapal.lz"); -const u32 gMonBackPic_Minun[] = INCBIN_U32("graphics/pokemon/back_pics/minun_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Minun[] = INCBIN_U32("graphics/pokemon/palettes/minun_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Minun[] = INCBIN_U8("graphics/pokemon/icons/minun_icon.4bpp"); -const u8 gMonFootprint_Minun[] = INCBIN_U8("graphics/pokemon/footprints/minun_footprint.1bpp"); - -const u32 gMonStillFrontPic_Mawile[] = INCBIN_U32("graphics/pokemon/front_pics/mawile_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Mawile[] = INCBIN_U32("graphics/pokemon/palettes/mawile_palette.gbapal.lz"); -const u32 gMonBackPic_Mawile[] = INCBIN_U32("graphics/pokemon/back_pics/mawile_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Mawile[] = INCBIN_U32("graphics/pokemon/palettes/mawile_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Mawile[] = INCBIN_U8("graphics/pokemon/icons/mawile_icon.4bpp"); -const u8 gMonFootprint_Mawile[] = INCBIN_U8("graphics/pokemon/footprints/mawile_footprint.1bpp"); - -const u32 gMonStillFrontPic_Meditite[] = INCBIN_U32("graphics/pokemon/front_pics/meditite_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Meditite[] = INCBIN_U32("graphics/pokemon/palettes/meditite_palette.gbapal.lz"); -const u32 gMonBackPic_Meditite[] = INCBIN_U32("graphics/pokemon/back_pics/meditite_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Meditite[] = INCBIN_U32("graphics/pokemon/palettes/meditite_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Meditite[] = INCBIN_U8("graphics/pokemon/icons/meditite_icon.4bpp"); -const u8 gMonFootprint_Meditite[] = INCBIN_U8("graphics/pokemon/footprints/meditite_footprint.1bpp"); - -const u32 gMonStillFrontPic_Medicham[] = INCBIN_U32("graphics/pokemon/front_pics/medicham_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Medicham[] = INCBIN_U32("graphics/pokemon/palettes/medicham_palette.gbapal.lz"); -const u32 gMonBackPic_Medicham[] = INCBIN_U32("graphics/pokemon/back_pics/medicham_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Medicham[] = INCBIN_U32("graphics/pokemon/palettes/medicham_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Medicham[] = INCBIN_U8("graphics/pokemon/icons/medicham_icon.4bpp"); -const u8 gMonFootprint_Medicham[] = INCBIN_U8("graphics/pokemon/footprints/medicham_footprint.1bpp"); - -const u32 gMonStillFrontPic_Swablu[] = INCBIN_U32("graphics/pokemon/front_pics/swablu_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Swablu[] = INCBIN_U32("graphics/pokemon/palettes/swablu_palette.gbapal.lz"); -const u32 gMonBackPic_Swablu[] = INCBIN_U32("graphics/pokemon/back_pics/swablu_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Swablu[] = INCBIN_U32("graphics/pokemon/palettes/swablu_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Swablu[] = INCBIN_U8("graphics/pokemon/icons/swablu_icon.4bpp"); -const u8 gMonFootprint_Swablu[] = INCBIN_U8("graphics/pokemon/footprints/swablu_footprint.1bpp"); - -const u32 gMonStillFrontPic_Altaria[] = INCBIN_U32("graphics/pokemon/front_pics/altaria_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Altaria[] = INCBIN_U32("graphics/pokemon/palettes/altaria_palette.gbapal.lz"); -const u32 gMonBackPic_Altaria[] = INCBIN_U32("graphics/pokemon/back_pics/altaria_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Altaria[] = INCBIN_U32("graphics/pokemon/palettes/altaria_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Altaria[] = INCBIN_U8("graphics/pokemon/icons/altaria_icon.4bpp"); -const u8 gMonFootprint_Altaria[] = INCBIN_U8("graphics/pokemon/footprints/altaria_footprint.1bpp"); - -const u32 gMonStillFrontPic_Wynaut[] = INCBIN_U32("graphics/pokemon/front_pics/wynaut_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/palettes/wynaut_palette.gbapal.lz"); -const u32 gMonBackPic_Wynaut[] = INCBIN_U32("graphics/pokemon/back_pics/wynaut_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/palettes/wynaut_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Wynaut[] = INCBIN_U8("graphics/pokemon/icons/wynaut_icon.4bpp"); -const u8 gMonFootprint_Wynaut[] = INCBIN_U8("graphics/pokemon/footprints/wynaut_footprint.1bpp"); - -const u32 gMonStillFrontPic_Duskull[] = INCBIN_U32("graphics/pokemon/front_pics/duskull_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Duskull[] = INCBIN_U32("graphics/pokemon/palettes/duskull_palette.gbapal.lz"); -const u32 gMonBackPic_Duskull[] = INCBIN_U32("graphics/pokemon/back_pics/duskull_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Duskull[] = INCBIN_U32("graphics/pokemon/palettes/duskull_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Duskull[] = INCBIN_U8("graphics/pokemon/icons/duskull_icon.4bpp"); -const u8 gMonFootprint_Duskull[] = INCBIN_U8("graphics/pokemon/footprints/duskull_footprint.1bpp"); - -const u32 gMonStillFrontPic_Dusclops[] = INCBIN_U32("graphics/pokemon/front_pics/dusclops_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/palettes/dusclops_palette.gbapal.lz"); -const u32 gMonBackPic_Dusclops[] = INCBIN_U32("graphics/pokemon/back_pics/dusclops_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/palettes/dusclops_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Dusclops[] = INCBIN_U8("graphics/pokemon/icons/dusclops_icon.4bpp"); -const u8 gMonFootprint_Dusclops[] = INCBIN_U8("graphics/pokemon/footprints/dusclops_footprint.1bpp"); - -const u32 gMonStillFrontPic_Roselia[] = INCBIN_U32("graphics/pokemon/front_pics/roselia_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Roselia[] = INCBIN_U32("graphics/pokemon/palettes/roselia_palette.gbapal.lz"); -const u32 gMonBackPic_Roselia[] = INCBIN_U32("graphics/pokemon/back_pics/roselia_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Roselia[] = INCBIN_U32("graphics/pokemon/palettes/roselia_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Roselia[] = INCBIN_U8("graphics/pokemon/icons/roselia_icon.4bpp"); -const u8 gMonFootprint_Roselia[] = INCBIN_U8("graphics/pokemon/footprints/roselia_footprint.1bpp"); - -const u32 gMonStillFrontPic_Slakoth[] = INCBIN_U32("graphics/pokemon/front_pics/slakoth_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/palettes/slakoth_palette.gbapal.lz"); -const u32 gMonBackPic_Slakoth[] = INCBIN_U32("graphics/pokemon/back_pics/slakoth_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/palettes/slakoth_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Slakoth[] = INCBIN_U8("graphics/pokemon/icons/slakoth_icon.4bpp"); -const u8 gMonFootprint_Slakoth[] = INCBIN_U8("graphics/pokemon/footprints/slakoth_footprint.1bpp"); - -const u32 gMonStillFrontPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/front_pics/vigoroth_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/palettes/vigoroth_palette.gbapal.lz"); -const u32 gMonBackPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/back_pics/vigoroth_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/palettes/vigoroth_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Vigoroth[] = INCBIN_U8("graphics/pokemon/icons/vigoroth_icon.4bpp"); -const u8 gMonFootprint_Vigoroth[] = INCBIN_U8("graphics/pokemon/footprints/vigoroth_footprint.1bpp"); - -const u32 gMonStillFrontPic_Slaking[] = INCBIN_U32("graphics/pokemon/front_pics/slaking_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Slaking[] = INCBIN_U32("graphics/pokemon/palettes/slaking_palette.gbapal.lz"); -const u32 gMonBackPic_Slaking[] = INCBIN_U32("graphics/pokemon/back_pics/slaking_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Slaking[] = INCBIN_U32("graphics/pokemon/palettes/slaking_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Slaking[] = INCBIN_U8("graphics/pokemon/icons/slaking_icon.4bpp"); -const u8 gMonFootprint_Slaking[] = INCBIN_U8("graphics/pokemon/footprints/slaking_footprint.1bpp"); - -const u32 gMonStillFrontPic_Gulpin[] = INCBIN_U32("graphics/pokemon/front_pics/gulpin_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/palettes/gulpin_palette.gbapal.lz"); -const u32 gMonBackPic_Gulpin[] = INCBIN_U32("graphics/pokemon/back_pics/gulpin_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/palettes/gulpin_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Gulpin[] = INCBIN_U8("graphics/pokemon/icons/gulpin_icon.4bpp"); -const u8 gMonFootprint_Gulpin[] = INCBIN_U8("graphics/pokemon/footprints/gulpin_footprint.1bpp"); - -const u32 gMonStillFrontPic_Swalot[] = INCBIN_U32("graphics/pokemon/front_pics/swalot_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Swalot[] = INCBIN_U32("graphics/pokemon/palettes/swalot_palette.gbapal.lz"); -const u32 gMonBackPic_Swalot[] = INCBIN_U32("graphics/pokemon/back_pics/swalot_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Swalot[] = INCBIN_U32("graphics/pokemon/palettes/swalot_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Swalot[] = INCBIN_U8("graphics/pokemon/icons/swalot_icon.4bpp"); -const u8 gMonFootprint_Swalot[] = INCBIN_U8("graphics/pokemon/footprints/swalot_footprint.1bpp"); - -const u32 gMonStillFrontPic_Tropius[] = INCBIN_U32("graphics/pokemon/front_pics/tropius_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Tropius[] = INCBIN_U32("graphics/pokemon/palettes/tropius_palette.gbapal.lz"); -const u32 gMonBackPic_Tropius[] = INCBIN_U32("graphics/pokemon/back_pics/tropius_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Tropius[] = INCBIN_U32("graphics/pokemon/palettes/tropius_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Tropius[] = INCBIN_U8("graphics/pokemon/icons/tropius_icon.4bpp"); -const u8 gMonFootprint_Tropius[] = INCBIN_U8("graphics/pokemon/footprints/tropius_footprint.1bpp"); - -const u32 gMonStillFrontPic_Whismur[] = INCBIN_U32("graphics/pokemon/front_pics/whismur_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Whismur[] = INCBIN_U32("graphics/pokemon/palettes/whismur_palette.gbapal.lz"); -const u32 gMonBackPic_Whismur[] = INCBIN_U32("graphics/pokemon/back_pics/whismur_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Whismur[] = INCBIN_U32("graphics/pokemon/palettes/whismur_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Whismur[] = INCBIN_U8("graphics/pokemon/icons/whismur_icon.4bpp"); -const u8 gMonFootprint_Whismur[] = INCBIN_U8("graphics/pokemon/footprints/whismur_footprint.1bpp"); - -const u32 gMonStillFrontPic_Loudred[] = INCBIN_U32("graphics/pokemon/front_pics/loudred_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Loudred[] = INCBIN_U32("graphics/pokemon/palettes/loudred_palette.gbapal.lz"); -const u32 gMonBackPic_Loudred[] = INCBIN_U32("graphics/pokemon/back_pics/loudred_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Loudred[] = INCBIN_U32("graphics/pokemon/palettes/loudred_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Loudred[] = INCBIN_U8("graphics/pokemon/icons/loudred_icon.4bpp"); -const u8 gMonFootprint_Loudred[] = INCBIN_U8("graphics/pokemon/footprints/loudred_footprint.1bpp"); - -const u32 gMonStillFrontPic_Exploud[] = INCBIN_U32("graphics/pokemon/front_pics/exploud_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Exploud[] = INCBIN_U32("graphics/pokemon/palettes/exploud_palette.gbapal.lz"); -const u32 gMonBackPic_Exploud[] = INCBIN_U32("graphics/pokemon/back_pics/exploud_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Exploud[] = INCBIN_U32("graphics/pokemon/palettes/exploud_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Exploud[] = INCBIN_U8("graphics/pokemon/icons/exploud_icon.4bpp"); -const u8 gMonFootprint_Exploud[] = INCBIN_U8("graphics/pokemon/footprints/exploud_footprint.1bpp"); - -const u32 gMonStillFrontPic_Clamperl[] = INCBIN_U32("graphics/pokemon/front_pics/clamperl_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/palettes/clamperl_palette.gbapal.lz"); -const u32 gMonBackPic_Clamperl[] = INCBIN_U32("graphics/pokemon/back_pics/clamperl_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/palettes/clamperl_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Clamperl[] = INCBIN_U8("graphics/pokemon/icons/clamperl_icon.4bpp"); -const u8 gMonFootprint_Clamperl[] = INCBIN_U8("graphics/pokemon/footprints/clamperl_footprint.1bpp"); - -const u32 gMonStillFrontPic_Huntail[] = INCBIN_U32("graphics/pokemon/front_pics/huntail_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Huntail[] = INCBIN_U32("graphics/pokemon/palettes/huntail_palette.gbapal.lz"); -const u32 gMonBackPic_Huntail[] = INCBIN_U32("graphics/pokemon/back_pics/huntail_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Huntail[] = INCBIN_U32("graphics/pokemon/palettes/huntail_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Huntail[] = INCBIN_U8("graphics/pokemon/icons/huntail_icon.4bpp"); -const u8 gMonFootprint_Huntail[] = INCBIN_U8("graphics/pokemon/footprints/huntail_footprint.1bpp"); - -const u32 gMonStillFrontPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/front_pics/gorebyss_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/palettes/gorebyss_palette.gbapal.lz"); -const u32 gMonBackPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/back_pics/gorebyss_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/palettes/gorebyss_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Gorebyss[] = INCBIN_U8("graphics/pokemon/icons/gorebyss_icon.4bpp"); -const u8 gMonFootprint_Gorebyss[] = INCBIN_U8("graphics/pokemon/footprints/gorebyss_footprint.1bpp"); - -const u32 gMonStillFrontPic_Absol[] = INCBIN_U32("graphics/pokemon/front_pics/absol_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Absol[] = INCBIN_U32("graphics/pokemon/palettes/absol_palette.gbapal.lz"); -const u32 gMonBackPic_Absol[] = INCBIN_U32("graphics/pokemon/back_pics/absol_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Absol[] = INCBIN_U32("graphics/pokemon/palettes/absol_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Absol[] = INCBIN_U8("graphics/pokemon/icons/absol_icon.4bpp"); -const u8 gMonFootprint_Absol[] = INCBIN_U8("graphics/pokemon/footprints/absol_footprint.1bpp"); - -const u32 gMonStillFrontPic_Shuppet[] = INCBIN_U32("graphics/pokemon/front_pics/shuppet_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/palettes/shuppet_palette.gbapal.lz"); -const u32 gMonBackPic_Shuppet[] = INCBIN_U32("graphics/pokemon/back_pics/shuppet_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/palettes/shuppet_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Shuppet[] = INCBIN_U8("graphics/pokemon/icons/shuppet_icon.4bpp"); -const u8 gMonFootprint_Shuppet[] = INCBIN_U8("graphics/pokemon/footprints/shuppet_footprint.1bpp"); - -const u32 gMonStillFrontPic_Banette[] = INCBIN_U32("graphics/pokemon/front_pics/banette_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Banette[] = INCBIN_U32("graphics/pokemon/palettes/banette_palette.gbapal.lz"); -const u32 gMonBackPic_Banette[] = INCBIN_U32("graphics/pokemon/back_pics/banette_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Banette[] = INCBIN_U32("graphics/pokemon/palettes/banette_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Banette[] = INCBIN_U8("graphics/pokemon/icons/banette_icon.4bpp"); -const u8 gMonFootprint_Banette[] = INCBIN_U8("graphics/pokemon/footprints/banette_footprint.1bpp"); - -const u32 gMonStillFrontPic_Seviper[] = INCBIN_U32("graphics/pokemon/front_pics/seviper_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Seviper[] = INCBIN_U32("graphics/pokemon/palettes/seviper_palette.gbapal.lz"); -const u32 gMonBackPic_Seviper[] = INCBIN_U32("graphics/pokemon/back_pics/seviper_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Seviper[] = INCBIN_U32("graphics/pokemon/palettes/seviper_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Seviper[] = INCBIN_U8("graphics/pokemon/icons/seviper_icon.4bpp"); -const u8 gMonFootprint_Seviper[] = INCBIN_U8("graphics/pokemon/footprints/seviper_footprint.1bpp"); - -const u32 gMonStillFrontPic_Zangoose[] = INCBIN_U32("graphics/pokemon/front_pics/zangoose_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/palettes/zangoose_palette.gbapal.lz"); -const u32 gMonBackPic_Zangoose[] = INCBIN_U32("graphics/pokemon/back_pics/zangoose_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/palettes/zangoose_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Zangoose[] = INCBIN_U8("graphics/pokemon/icons/zangoose_icon.4bpp"); -const u8 gMonFootprint_Zangoose[] = INCBIN_U8("graphics/pokemon/footprints/zangoose_footprint.1bpp"); - -const u32 gMonStillFrontPic_Relicanth[] = INCBIN_U32("graphics/pokemon/front_pics/relicanth_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/palettes/relicanth_palette.gbapal.lz"); -const u32 gMonBackPic_Relicanth[] = INCBIN_U32("graphics/pokemon/back_pics/relicanth_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/palettes/relicanth_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Relicanth[] = INCBIN_U8("graphics/pokemon/icons/relicanth_icon.4bpp"); -const u8 gMonFootprint_Relicanth[] = INCBIN_U8("graphics/pokemon/footprints/relicanth_footprint.1bpp"); - -const u32 gMonStillFrontPic_Aron[] = INCBIN_U32("graphics/pokemon/front_pics/aron_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Aron[] = INCBIN_U32("graphics/pokemon/palettes/aron_palette.gbapal.lz"); -const u32 gMonBackPic_Aron[] = INCBIN_U32("graphics/pokemon/back_pics/aron_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Aron[] = INCBIN_U32("graphics/pokemon/palettes/aron_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Aron[] = INCBIN_U8("graphics/pokemon/icons/aron_icon.4bpp"); -const u8 gMonFootprint_Aron[] = INCBIN_U8("graphics/pokemon/footprints/aron_footprint.1bpp"); - -const u32 gMonStillFrontPic_Lairon[] = INCBIN_U32("graphics/pokemon/front_pics/lairon_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Lairon[] = INCBIN_U32("graphics/pokemon/palettes/lairon_palette.gbapal.lz"); -const u32 gMonBackPic_Lairon[] = INCBIN_U32("graphics/pokemon/back_pics/lairon_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Lairon[] = INCBIN_U32("graphics/pokemon/palettes/lairon_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Lairon[] = INCBIN_U8("graphics/pokemon/icons/lairon_icon.4bpp"); -const u8 gMonFootprint_Lairon[] = INCBIN_U8("graphics/pokemon/footprints/lairon_footprint.1bpp"); - -const u32 gMonStillFrontPic_Aggron[] = INCBIN_U32("graphics/pokemon/front_pics/aggron_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Aggron[] = INCBIN_U32("graphics/pokemon/palettes/aggron_palette.gbapal.lz"); -const u32 gMonBackPic_Aggron[] = INCBIN_U32("graphics/pokemon/back_pics/aggron_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Aggron[] = INCBIN_U32("graphics/pokemon/palettes/aggron_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Aggron[] = INCBIN_U8("graphics/pokemon/icons/aggron_icon.4bpp"); -const u8 gMonFootprint_Aggron[] = INCBIN_U8("graphics/pokemon/footprints/aggron_footprint.1bpp"); - -const u32 gMonStillFrontPic_Castform[] = INCBIN_U32("graphics/pokemon/front_pics/castform_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Castform[] = INCBIN_U32("graphics/pokemon/palettes/castform_palette.gbapal.lz"); -const u32 gMonBackPic_Castform[] = INCBIN_U32("graphics/pokemon/back_pics/castform_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Castform[] = INCBIN_U32("graphics/pokemon/palettes/castform_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Castform[] = INCBIN_U8("graphics/pokemon/icons/castform_icon.4bpp"); -const u8 gMonFootprint_Castform[] = INCBIN_U8("graphics/pokemon/footprints/castform_footprint.1bpp"); - -const u32 gMonStillFrontPic_Volbeat[] = INCBIN_U32("graphics/pokemon/front_pics/volbeat_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/palettes/volbeat_palette.gbapal.lz"); -const u32 gMonBackPic_Volbeat[] = INCBIN_U32("graphics/pokemon/back_pics/volbeat_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/palettes/volbeat_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Volbeat[] = INCBIN_U8("graphics/pokemon/icons/volbeat_icon.4bpp"); -const u8 gMonFootprint_Volbeat[] = INCBIN_U8("graphics/pokemon/footprints/volbeat_footprint.1bpp"); - -const u32 gMonStillFrontPic_Illumise[] = INCBIN_U32("graphics/pokemon/front_pics/illumise_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Illumise[] = INCBIN_U32("graphics/pokemon/palettes/illumise_palette.gbapal.lz"); -const u32 gMonBackPic_Illumise[] = INCBIN_U32("graphics/pokemon/back_pics/illumise_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Illumise[] = INCBIN_U32("graphics/pokemon/palettes/illumise_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Illumise[] = INCBIN_U8("graphics/pokemon/icons/illumise_icon.4bpp"); -const u8 gMonFootprint_Illumise[] = INCBIN_U8("graphics/pokemon/footprints/illumise_footprint.1bpp"); - -const u32 gMonStillFrontPic_Lileep[] = INCBIN_U32("graphics/pokemon/front_pics/lileep_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Lileep[] = INCBIN_U32("graphics/pokemon/palettes/lileep_palette.gbapal.lz"); -const u32 gMonBackPic_Lileep[] = INCBIN_U32("graphics/pokemon/back_pics/lileep_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Lileep[] = INCBIN_U32("graphics/pokemon/palettes/lileep_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Lileep[] = INCBIN_U8("graphics/pokemon/icons/lileep_icon.4bpp"); -const u8 gMonFootprint_Lileep[] = INCBIN_U8("graphics/pokemon/footprints/lileep_footprint.1bpp"); - -const u32 gMonStillFrontPic_Cradily[] = INCBIN_U32("graphics/pokemon/front_pics/cradily_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Cradily[] = INCBIN_U32("graphics/pokemon/palettes/cradily_palette.gbapal.lz"); -const u32 gMonBackPic_Cradily[] = INCBIN_U32("graphics/pokemon/back_pics/cradily_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Cradily[] = INCBIN_U32("graphics/pokemon/palettes/cradily_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Cradily[] = INCBIN_U8("graphics/pokemon/icons/cradily_icon.4bpp"); -const u8 gMonFootprint_Cradily[] = INCBIN_U8("graphics/pokemon/footprints/cradily_footprint.1bpp"); - -const u32 gMonStillFrontPic_Anorith[] = INCBIN_U32("graphics/pokemon/front_pics/anorith_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Anorith[] = INCBIN_U32("graphics/pokemon/palettes/anorith_palette.gbapal.lz"); -const u32 gMonBackPic_Anorith[] = INCBIN_U32("graphics/pokemon/back_pics/anorith_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Anorith[] = INCBIN_U32("graphics/pokemon/palettes/anorith_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Anorith[] = INCBIN_U8("graphics/pokemon/icons/anorith_icon.4bpp"); -const u8 gMonFootprint_Anorith[] = INCBIN_U8("graphics/pokemon/footprints/anorith_footprint.1bpp"); - -const u32 gMonStillFrontPic_Armaldo[] = INCBIN_U32("graphics/pokemon/front_pics/armaldo_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/palettes/armaldo_palette.gbapal.lz"); -const u32 gMonBackPic_Armaldo[] = INCBIN_U32("graphics/pokemon/back_pics/armaldo_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/palettes/armaldo_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Armaldo[] = INCBIN_U8("graphics/pokemon/icons/armaldo_icon.4bpp"); -const u8 gMonFootprint_Armaldo[] = INCBIN_U8("graphics/pokemon/footprints/armaldo_footprint.1bpp"); - -const u32 gMonStillFrontPic_Ralts[] = INCBIN_U32("graphics/pokemon/front_pics/ralts_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Ralts[] = INCBIN_U32("graphics/pokemon/palettes/ralts_palette.gbapal.lz"); -const u32 gMonBackPic_Ralts[] = INCBIN_U32("graphics/pokemon/back_pics/ralts_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Ralts[] = INCBIN_U32("graphics/pokemon/palettes/ralts_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Ralts[] = INCBIN_U8("graphics/pokemon/icons/ralts_icon.4bpp"); -const u8 gMonFootprint_Ralts[] = INCBIN_U8("graphics/pokemon/footprints/ralts_footprint.1bpp"); - -const u32 gMonStillFrontPic_Kirlia[] = INCBIN_U32("graphics/pokemon/front_pics/kirlia_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/palettes/kirlia_palette.gbapal.lz"); -const u32 gMonBackPic_Kirlia[] = INCBIN_U32("graphics/pokemon/back_pics/kirlia_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/palettes/kirlia_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Kirlia[] = INCBIN_U8("graphics/pokemon/icons/kirlia_icon.4bpp"); -const u8 gMonFootprint_Kirlia[] = INCBIN_U8("graphics/pokemon/footprints/kirlia_footprint.1bpp"); - -const u32 gMonStillFrontPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/front_pics/gardevoir_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/palettes/gardevoir_palette.gbapal.lz"); -const u32 gMonBackPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/back_pics/gardevoir_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/palettes/gardevoir_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Gardevoir[] = INCBIN_U8("graphics/pokemon/icons/gardevoir_icon.4bpp"); -const u8 gMonFootprint_Gardevoir[] = INCBIN_U8("graphics/pokemon/footprints/gardevoir_footprint.1bpp"); - -const u32 gMonStillFrontPic_Bagon[] = INCBIN_U32("graphics/pokemon/front_pics/bagon_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Bagon[] = INCBIN_U32("graphics/pokemon/palettes/bagon_palette.gbapal.lz"); -const u32 gMonBackPic_Bagon[] = INCBIN_U32("graphics/pokemon/back_pics/bagon_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Bagon[] = INCBIN_U32("graphics/pokemon/palettes/bagon_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Bagon[] = INCBIN_U8("graphics/pokemon/icons/bagon_icon.4bpp"); -const u8 gMonFootprint_Bagon[] = INCBIN_U8("graphics/pokemon/footprints/bagon_footprint.1bpp"); - -const u32 gMonStillFrontPic_Shelgon[] = INCBIN_U32("graphics/pokemon/front_pics/shelgon_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/palettes/shelgon_palette.gbapal.lz"); -const u32 gMonBackPic_Shelgon[] = INCBIN_U32("graphics/pokemon/back_pics/shelgon_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/palettes/shelgon_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Shelgon[] = INCBIN_U8("graphics/pokemon/icons/shelgon_icon.4bpp"); -const u8 gMonFootprint_Shelgon[] = INCBIN_U8("graphics/pokemon/footprints/shelgon_footprint.1bpp"); - -const u32 gMonStillFrontPic_Salamence[] = INCBIN_U32("graphics/pokemon/front_pics/salamence_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Salamence[] = INCBIN_U32("graphics/pokemon/palettes/salamence_palette.gbapal.lz"); -const u32 gMonBackPic_Salamence[] = INCBIN_U32("graphics/pokemon/back_pics/salamence_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Salamence[] = INCBIN_U32("graphics/pokemon/palettes/salamence_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Salamence[] = INCBIN_U8("graphics/pokemon/icons/salamence_icon.4bpp"); -const u8 gMonFootprint_Salamence[] = INCBIN_U8("graphics/pokemon/footprints/salamence_footprint.1bpp"); - -const u32 gMonStillFrontPic_Beldum[] = INCBIN_U32("graphics/pokemon/front_pics/beldum_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Beldum[] = INCBIN_U32("graphics/pokemon/palettes/beldum_palette.gbapal.lz"); -const u32 gMonBackPic_Beldum[] = INCBIN_U32("graphics/pokemon/back_pics/beldum_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Beldum[] = INCBIN_U32("graphics/pokemon/palettes/beldum_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Beldum[] = INCBIN_U8("graphics/pokemon/icons/beldum_icon.4bpp"); -const u8 gMonFootprint_Beldum[] = INCBIN_U8("graphics/pokemon/footprints/beldum_footprint.1bpp"); - -const u32 gMonStillFrontPic_Metang[] = INCBIN_U32("graphics/pokemon/front_pics/metang_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Metang[] = INCBIN_U32("graphics/pokemon/palettes/metang_palette.gbapal.lz"); -const u32 gMonBackPic_Metang[] = INCBIN_U32("graphics/pokemon/back_pics/metang_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Metang[] = INCBIN_U32("graphics/pokemon/palettes/metang_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Metang[] = INCBIN_U8("graphics/pokemon/icons/metang_icon.4bpp"); -const u8 gMonFootprint_Metang[] = INCBIN_U8("graphics/pokemon/footprints/metang_footprint.1bpp"); - -const u32 gMonStillFrontPic_Metagross[] = INCBIN_U32("graphics/pokemon/front_pics/metagross_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Metagross[] = INCBIN_U32("graphics/pokemon/palettes/metagross_palette.gbapal.lz"); -const u32 gMonBackPic_Metagross[] = INCBIN_U32("graphics/pokemon/back_pics/metagross_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Metagross[] = INCBIN_U32("graphics/pokemon/palettes/metagross_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Metagross[] = INCBIN_U8("graphics/pokemon/icons/metagross_icon.4bpp"); -const u8 gMonFootprint_Metagross[] = INCBIN_U8("graphics/pokemon/footprints/metagross_footprint.1bpp"); - -const u32 gMonStillFrontPic_Regirock[] = INCBIN_U32("graphics/pokemon/front_pics/regirock_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Regirock[] = INCBIN_U32("graphics/pokemon/palettes/regirock_palette.gbapal.lz"); -const u32 gMonBackPic_Regirock[] = INCBIN_U32("graphics/pokemon/back_pics/regirock_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Regirock[] = INCBIN_U32("graphics/pokemon/palettes/regirock_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Regirock[] = INCBIN_U8("graphics/pokemon/icons/regirock_icon.4bpp"); -const u8 gMonFootprint_Regirock[] = INCBIN_U8("graphics/pokemon/footprints/regirock_footprint.1bpp"); - -const u32 gMonStillFrontPic_Regice[] = INCBIN_U32("graphics/pokemon/front_pics/regice_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Regice[] = INCBIN_U32("graphics/pokemon/palettes/regice_palette.gbapal.lz"); -const u32 gMonBackPic_Regice[] = INCBIN_U32("graphics/pokemon/back_pics/regice_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Regice[] = INCBIN_U32("graphics/pokemon/palettes/regice_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Regice[] = INCBIN_U8("graphics/pokemon/icons/regice_icon.4bpp"); -const u8 gMonFootprint_Regice[] = INCBIN_U8("graphics/pokemon/footprints/regice_footprint.1bpp"); - -const u32 gMonStillFrontPic_Registeel[] = INCBIN_U32("graphics/pokemon/front_pics/registeel_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Registeel[] = INCBIN_U32("graphics/pokemon/palettes/registeel_palette.gbapal.lz"); -const u32 gMonBackPic_Registeel[] = INCBIN_U32("graphics/pokemon/back_pics/registeel_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Registeel[] = INCBIN_U32("graphics/pokemon/palettes/registeel_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Registeel[] = INCBIN_U8("graphics/pokemon/icons/registeel_icon.4bpp"); -const u8 gMonFootprint_Registeel[] = INCBIN_U8("graphics/pokemon/footprints/registeel_footprint.1bpp"); - -const u32 gMonStillFrontPic_Kyogre[] = INCBIN_U32("graphics/pokemon/front_pics/kyogre_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/palettes/kyogre_palette.gbapal.lz"); -const u32 gMonBackPic_Kyogre[] = INCBIN_U32("graphics/pokemon/back_pics/kyogre_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/palettes/kyogre_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Kyogre[] = INCBIN_U8("graphics/pokemon/icons/kyogre_icon.4bpp"); -const u8 gMonFootprint_Kyogre[] = INCBIN_U8("graphics/pokemon/footprints/kyogre_footprint.1bpp"); - -const u32 gMonStillFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/front_pics/groudon_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Groudon[] = INCBIN_U32("graphics/pokemon/palettes/groudon_palette.gbapal.lz"); -const u32 gMonBackPic_Groudon[] = INCBIN_U32("graphics/pokemon/back_pics/groudon_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Groudon[] = INCBIN_U32("graphics/pokemon/palettes/groudon_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Groudon[] = INCBIN_U8("graphics/pokemon/icons/groudon_icon.4bpp"); -const u8 gMonFootprint_Groudon[] = INCBIN_U8("graphics/pokemon/footprints/groudon_footprint.1bpp"); - -const u32 gMonStillFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/front_pics/rayquaza_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/palettes/rayquaza_palette.gbapal.lz"); -const u32 gMonBackPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/back_pics/rayquaza_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/palettes/rayquaza_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Rayquaza[] = INCBIN_U8("graphics/pokemon/icons/rayquaza_icon.4bpp"); -const u8 gMonFootprint_Rayquaza[] = INCBIN_U8("graphics/pokemon/footprints/rayquaza_footprint.1bpp"); - -const u32 gMonStillFrontPic_Latias[] = INCBIN_U32("graphics/pokemon/front_pics/latias_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Latias[] = INCBIN_U32("graphics/pokemon/palettes/latias_palette.gbapal.lz"); -const u32 gMonBackPic_Latias[] = INCBIN_U32("graphics/pokemon/back_pics/latias_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Latias[] = INCBIN_U32("graphics/pokemon/palettes/latias_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Latias[] = INCBIN_U8("graphics/pokemon/icons/latias_icon.4bpp"); -const u8 gMonFootprint_Latias[] = INCBIN_U8("graphics/pokemon/footprints/latias_footprint.1bpp"); - -const u32 gMonStillFrontPic_Latios[] = INCBIN_U32("graphics/pokemon/front_pics/latios_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Latios[] = INCBIN_U32("graphics/pokemon/palettes/latios_palette.gbapal.lz"); -const u32 gMonBackPic_Latios[] = INCBIN_U32("graphics/pokemon/back_pics/latios_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Latios[] = INCBIN_U32("graphics/pokemon/palettes/latios_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Latios[] = INCBIN_U8("graphics/pokemon/icons/latios_icon.4bpp"); -const u8 gMonFootprint_Latios[] = INCBIN_U8("graphics/pokemon/footprints/latios_footprint.1bpp"); - -const u32 gMonStillFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/front_pics/jirachi_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/palettes/jirachi_palette.gbapal.lz"); -const u32 gMonBackPic_Jirachi[] = INCBIN_U32("graphics/pokemon/back_pics/jirachi_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/palettes/jirachi_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Jirachi[] = INCBIN_U8("graphics/pokemon/icons/jirachi_icon.4bpp"); -const u8 gMonFootprint_Jirachi[] = INCBIN_U8("graphics/pokemon/footprints/jirachi_footprint.1bpp"); - -const u32 gMonStillFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/front_pics/deoxys_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/palettes/deoxys_palette.gbapal.lz"); -const u32 gMonBackPic_Deoxys[] = INCBIN_U32("graphics/pokemon/back_pics/deoxys_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/palettes/deoxys_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Deoxys[] = INCBIN_U8("graphics/pokemon/icons/deoxys_icon.4bpp"); -const u8 gMonIcon_DeoxysSpeed[] = INCBIN_U8("graphics/pokemon/icons/deoxys_speed_icon.4bpp"); +const u32 gMonStillFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/front.4bpp.lz"); +const u32 gMonPalette_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/normal.gbapal.lz"); +const u32 gMonBackPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/back.4bpp.lz"); +const u32 gMonShinyPalette_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/shiny.gbapal.lz"); +const u8 gMonIcon_Stantler[] = INCBIN_U8("graphics/pokemon/stantler/icon.4bpp"); +const u8 gMonFootprint_Stantler[] = INCBIN_U8("graphics/pokemon/stantler/footprint.1bpp"); + +const u32 gMonStillFrontPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/front.4bpp.lz"); +const u32 gMonPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/normal.gbapal.lz"); +const u32 gMonBackPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/back.4bpp.lz"); +const u32 gMonShinyPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/shiny.gbapal.lz"); +const u8 gMonIcon_Smeargle[] = INCBIN_U8("graphics/pokemon/smeargle/icon.4bpp"); +const u8 gMonFootprint_Smeargle[] = INCBIN_U8("graphics/pokemon/smeargle/footprint.1bpp"); + +const u32 gMonStillFrontPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/front.4bpp.lz"); +const u32 gMonPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/normal.gbapal.lz"); +const u32 gMonBackPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/back.4bpp.lz"); +const u32 gMonShinyPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/shiny.gbapal.lz"); +const u8 gMonIcon_Tyrogue[] = INCBIN_U8("graphics/pokemon/tyrogue/icon.4bpp"); +const u8 gMonFootprint_Tyrogue[] = INCBIN_U8("graphics/pokemon/tyrogue/footprint.1bpp"); + +const u32 gMonStillFrontPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/front.4bpp.lz"); +const u32 gMonPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/normal.gbapal.lz"); +const u32 gMonBackPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/back.4bpp.lz"); +const u32 gMonShinyPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/shiny.gbapal.lz"); +const u8 gMonIcon_Hitmontop[] = INCBIN_U8("graphics/pokemon/hitmontop/icon.4bpp"); +const u8 gMonFootprint_Hitmontop[] = INCBIN_U8("graphics/pokemon/hitmontop/footprint.1bpp"); + +const u32 gMonStillFrontPic_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/front.4bpp.lz"); +const u32 gMonPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/normal.gbapal.lz"); +const u32 gMonBackPic_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/back.4bpp.lz"); +const u32 gMonShinyPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/shiny.gbapal.lz"); +const u8 gMonIcon_Smoochum[] = INCBIN_U8("graphics/pokemon/smoochum/icon.4bpp"); +const u8 gMonFootprint_Smoochum[] = INCBIN_U8("graphics/pokemon/smoochum/footprint.1bpp"); + +const u32 gMonStillFrontPic_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/front.4bpp.lz"); +const u32 gMonPalette_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/normal.gbapal.lz"); +const u32 gMonBackPic_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/back.4bpp.lz"); +const u32 gMonShinyPalette_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/shiny.gbapal.lz"); +const u8 gMonIcon_Elekid[] = INCBIN_U8("graphics/pokemon/elekid/icon.4bpp"); +const u8 gMonFootprint_Elekid[] = INCBIN_U8("graphics/pokemon/elekid/footprint.1bpp"); + +const u32 gMonStillFrontPic_Magby[] = INCBIN_U32("graphics/pokemon/magby/front.4bpp.lz"); +const u32 gMonPalette_Magby[] = INCBIN_U32("graphics/pokemon/magby/normal.gbapal.lz"); +const u32 gMonBackPic_Magby[] = INCBIN_U32("graphics/pokemon/magby/back.4bpp.lz"); +const u32 gMonShinyPalette_Magby[] = INCBIN_U32("graphics/pokemon/magby/shiny.gbapal.lz"); +const u8 gMonIcon_Magby[] = INCBIN_U8("graphics/pokemon/magby/icon.4bpp"); +const u8 gMonFootprint_Magby[] = INCBIN_U8("graphics/pokemon/magby/footprint.1bpp"); + +const u32 gMonStillFrontPic_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/front.4bpp.lz"); +const u32 gMonPalette_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/normal.gbapal.lz"); +const u32 gMonBackPic_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/back.4bpp.lz"); +const u32 gMonShinyPalette_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/shiny.gbapal.lz"); +const u8 gMonIcon_Miltank[] = INCBIN_U8("graphics/pokemon/miltank/icon.4bpp"); +const u8 gMonFootprint_Miltank[] = INCBIN_U8("graphics/pokemon/miltank/footprint.1bpp"); + +const u32 gMonStillFrontPic_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/front.4bpp.lz"); +const u32 gMonPalette_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/normal.gbapal.lz"); +const u32 gMonBackPic_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/back.4bpp.lz"); +const u32 gMonShinyPalette_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/shiny.gbapal.lz"); +const u8 gMonIcon_Blissey[] = INCBIN_U8("graphics/pokemon/blissey/icon.4bpp"); +const u8 gMonFootprint_Blissey[] = INCBIN_U8("graphics/pokemon/blissey/footprint.1bpp"); + +const u32 gMonStillFrontPic_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/front.4bpp.lz"); +const u32 gMonPalette_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/normal.gbapal.lz"); +const u32 gMonBackPic_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/back.4bpp.lz"); +const u32 gMonShinyPalette_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/shiny.gbapal.lz"); +const u8 gMonIcon_Raikou[] = INCBIN_U8("graphics/pokemon/raikou/icon.4bpp"); +const u8 gMonFootprint_Raikou[] = INCBIN_U8("graphics/pokemon/raikou/footprint.1bpp"); + +const u32 gMonStillFrontPic_Entei[] = INCBIN_U32("graphics/pokemon/entei/front.4bpp.lz"); +const u32 gMonPalette_Entei[] = INCBIN_U32("graphics/pokemon/entei/normal.gbapal.lz"); +const u32 gMonBackPic_Entei[] = INCBIN_U32("graphics/pokemon/entei/back.4bpp.lz"); +const u32 gMonShinyPalette_Entei[] = INCBIN_U32("graphics/pokemon/entei/shiny.gbapal.lz"); +const u8 gMonIcon_Entei[] = INCBIN_U8("graphics/pokemon/entei/icon.4bpp"); +const u8 gMonFootprint_Entei[] = INCBIN_U8("graphics/pokemon/entei/footprint.1bpp"); + +const u32 gMonStillFrontPic_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/front.4bpp.lz"); +const u32 gMonPalette_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/normal.gbapal.lz"); +const u32 gMonBackPic_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/back.4bpp.lz"); +const u32 gMonShinyPalette_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/shiny.gbapal.lz"); +const u8 gMonIcon_Suicune[] = INCBIN_U8("graphics/pokemon/suicune/icon.4bpp"); +const u8 gMonFootprint_Suicune[] = INCBIN_U8("graphics/pokemon/suicune/footprint.1bpp"); + +const u32 gMonStillFrontPic_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/front.4bpp.lz"); +const u32 gMonPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/normal.gbapal.lz"); +const u32 gMonBackPic_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/back.4bpp.lz"); +const u32 gMonShinyPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/shiny.gbapal.lz"); +const u8 gMonIcon_Larvitar[] = INCBIN_U8("graphics/pokemon/larvitar/icon.4bpp"); +const u8 gMonFootprint_Larvitar[] = INCBIN_U8("graphics/pokemon/larvitar/footprint.1bpp"); + +const u32 gMonStillFrontPic_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/front.4bpp.lz"); +const u32 gMonPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/normal.gbapal.lz"); +const u32 gMonBackPic_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/back.4bpp.lz"); +const u32 gMonShinyPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/shiny.gbapal.lz"); +const u8 gMonIcon_Pupitar[] = INCBIN_U8("graphics/pokemon/pupitar/icon.4bpp"); +const u8 gMonFootprint_Pupitar[] = INCBIN_U8("graphics/pokemon/pupitar/footprint.1bpp"); + +const u32 gMonStillFrontPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/front.4bpp.lz"); +const u32 gMonPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/normal.gbapal.lz"); +const u32 gMonBackPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/back.4bpp.lz"); +const u32 gMonShinyPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/shiny.gbapal.lz"); +const u8 gMonIcon_Tyranitar[] = INCBIN_U8("graphics/pokemon/tyranitar/icon.4bpp"); +const u8 gMonFootprint_Tyranitar[] = INCBIN_U8("graphics/pokemon/tyranitar/footprint.1bpp"); + +const u32 gMonStillFrontPic_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/front.4bpp.lz"); +const u32 gMonPalette_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/normal.gbapal.lz"); +const u32 gMonBackPic_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/back.4bpp.lz"); +const u32 gMonShinyPalette_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/shiny.gbapal.lz"); +const u8 gMonIcon_Lugia[] = INCBIN_U8("graphics/pokemon/lugia/icon.4bpp"); +const u8 gMonFootprint_Lugia[] = INCBIN_U8("graphics/pokemon/lugia/footprint.1bpp"); + +const u32 gMonStillFrontPic_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/front.4bpp.lz"); +const u32 gMonPalette_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/normal.gbapal.lz"); +const u32 gMonBackPic_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/back.4bpp.lz"); +const u32 gMonShinyPalette_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/shiny.gbapal.lz"); +const u8 gMonIcon_HoOh[] = INCBIN_U8("graphics/pokemon/ho_oh/icon.4bpp"); +const u8 gMonFootprint_HoOh[] = INCBIN_U8("graphics/pokemon/ho_oh/footprint.1bpp"); + +const u32 gMonStillFrontPic_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/front.4bpp.lz"); +const u32 gMonPalette_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/normal.gbapal.lz"); +const u32 gMonBackPic_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/back.4bpp.lz"); +const u32 gMonShinyPalette_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/shiny.gbapal.lz"); +const u8 gMonIcon_Celebi[] = INCBIN_U8("graphics/pokemon/celebi/icon.4bpp"); +const u8 gMonFootprint_Celebi[] = INCBIN_U8("graphics/pokemon/celebi/footprint.1bpp"); + +const u32 gMonStillFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/double_question_mark/front.4bpp.lz"); +const u32 gMonPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/double_question_mark/normal.gbapal.lz"); +const u32 gMonBackPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/double_question_mark/back.4bpp.lz"); +const u32 gMonShinyPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/double_question_mark/shiny.gbapal.lz"); + +const u32 gMonStillFrontPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/front.4bpp.lz"); +const u32 gMonPalette_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/normal.gbapal.lz"); +const u32 gMonBackPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/back.4bpp.lz"); +const u32 gMonShinyPalette_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/shiny.gbapal.lz"); +const u8 gMonIcon_Treecko[] = INCBIN_U8("graphics/pokemon/treecko/icon.4bpp"); +const u8 gMonFootprint_Treecko[] = INCBIN_U8("graphics/pokemon/treecko/footprint.1bpp"); + +const u32 gMonStillFrontPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/front.4bpp.lz"); +const u32 gMonPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/normal.gbapal.lz"); +const u32 gMonBackPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/back.4bpp.lz"); +const u32 gMonShinyPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/shiny.gbapal.lz"); +const u8 gMonIcon_Grovyle[] = INCBIN_U8("graphics/pokemon/grovyle/icon.4bpp"); +const u8 gMonFootprint_Grovyle[] = INCBIN_U8("graphics/pokemon/grovyle/footprint.1bpp"); + +const u32 gMonStillFrontPic_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/front.4bpp.lz"); +const u32 gMonPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/normal.gbapal.lz"); +const u32 gMonBackPic_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/back.4bpp.lz"); +const u32 gMonShinyPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/shiny.gbapal.lz"); +const u8 gMonIcon_Sceptile[] = INCBIN_U8("graphics/pokemon/sceptile/icon.4bpp"); +const u8 gMonFootprint_Sceptile[] = INCBIN_U8("graphics/pokemon/sceptile/footprint.1bpp"); + +const u32 gMonStillFrontPic_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/front.4bpp.lz"); +const u32 gMonPalette_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/normal.gbapal.lz"); +const u32 gMonBackPic_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/back.4bpp.lz"); +const u32 gMonShinyPalette_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/shiny.gbapal.lz"); +const u8 gMonIcon_Torchic[] = INCBIN_U8("graphics/pokemon/torchic/icon.4bpp"); +const u8 gMonFootprint_Torchic[] = INCBIN_U8("graphics/pokemon/torchic/footprint.1bpp"); + +const u32 gMonStillFrontPic_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/front.4bpp.lz"); +const u32 gMonPalette_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/normal.gbapal.lz"); +const u32 gMonBackPic_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/back.4bpp.lz"); +const u32 gMonShinyPalette_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/shiny.gbapal.lz"); +const u8 gMonIcon_Combusken[] = INCBIN_U8("graphics/pokemon/combusken/icon.4bpp"); +const u8 gMonFootprint_Combusken[] = INCBIN_U8("graphics/pokemon/combusken/footprint.1bpp"); + +const u32 gMonStillFrontPic_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/front.4bpp.lz"); +const u32 gMonPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/normal.gbapal.lz"); +const u32 gMonBackPic_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/back.4bpp.lz"); +const u32 gMonShinyPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/shiny.gbapal.lz"); +const u8 gMonIcon_Blaziken[] = INCBIN_U8("graphics/pokemon/blaziken/icon.4bpp"); +const u8 gMonFootprint_Blaziken[] = INCBIN_U8("graphics/pokemon/blaziken/footprint.1bpp"); + +const u32 gMonStillFrontPic_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/front.4bpp.lz"); +const u32 gMonPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/normal.gbapal.lz"); +const u32 gMonBackPic_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/back.4bpp.lz"); +const u32 gMonShinyPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/shiny.gbapal.lz"); +const u8 gMonIcon_Mudkip[] = INCBIN_U8("graphics/pokemon/mudkip/icon.4bpp"); +const u8 gMonFootprint_Mudkip[] = INCBIN_U8("graphics/pokemon/mudkip/footprint.1bpp"); + +const u32 gMonStillFrontPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/front.4bpp.lz"); +const u32 gMonPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/normal.gbapal.lz"); +const u32 gMonBackPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/back.4bpp.lz"); +const u32 gMonShinyPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/shiny.gbapal.lz"); +const u8 gMonIcon_Marshtomp[] = INCBIN_U8("graphics/pokemon/marshtomp/icon.4bpp"); +const u8 gMonFootprint_Marshtomp[] = INCBIN_U8("graphics/pokemon/marshtomp/footprint.1bpp"); + +const u32 gMonStillFrontPic_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/front.4bpp.lz"); +const u32 gMonPalette_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/normal.gbapal.lz"); +const u32 gMonBackPic_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/back.4bpp.lz"); +const u32 gMonShinyPalette_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/shiny.gbapal.lz"); +const u8 gMonIcon_Swampert[] = INCBIN_U8("graphics/pokemon/swampert/icon.4bpp"); +const u8 gMonFootprint_Swampert[] = INCBIN_U8("graphics/pokemon/swampert/footprint.1bpp"); + +const u32 gMonStillFrontPic_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/front.4bpp.lz"); +const u32 gMonPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/normal.gbapal.lz"); +const u32 gMonBackPic_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/back.4bpp.lz"); +const u32 gMonShinyPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/shiny.gbapal.lz"); +const u8 gMonIcon_Poochyena[] = INCBIN_U8("graphics/pokemon/poochyena/icon.4bpp"); +const u8 gMonFootprint_Poochyena[] = INCBIN_U8("graphics/pokemon/poochyena/footprint.1bpp"); + +const u32 gMonStillFrontPic_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/front.4bpp.lz"); +const u32 gMonPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/normal.gbapal.lz"); +const u32 gMonBackPic_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/back.4bpp.lz"); +const u32 gMonShinyPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/shiny.gbapal.lz"); +const u8 gMonIcon_Mightyena[] = INCBIN_U8("graphics/pokemon/mightyena/icon.4bpp"); +const u8 gMonFootprint_Mightyena[] = INCBIN_U8("graphics/pokemon/mightyena/footprint.1bpp"); + +const u32 gMonStillFrontPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/front.4bpp.lz"); +const u32 gMonPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/normal.gbapal.lz"); +const u32 gMonBackPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/back.4bpp.lz"); +const u32 gMonShinyPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/shiny.gbapal.lz"); +const u8 gMonIcon_Zigzagoon[] = INCBIN_U8("graphics/pokemon/zigzagoon/icon.4bpp"); +const u8 gMonFootprint_Zigzagoon[] = INCBIN_U8("graphics/pokemon/zigzagoon/footprint.1bpp"); + +const u32 gMonStillFrontPic_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/front.4bpp.lz"); +const u32 gMonPalette_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/normal.gbapal.lz"); +const u32 gMonBackPic_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/back.4bpp.lz"); +const u32 gMonShinyPalette_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/shiny.gbapal.lz"); +const u8 gMonIcon_Linoone[] = INCBIN_U8("graphics/pokemon/linoone/icon.4bpp"); +const u8 gMonFootprint_Linoone[] = INCBIN_U8("graphics/pokemon/linoone/footprint.1bpp"); + +const u32 gMonStillFrontPic_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/front.4bpp.lz"); +const u32 gMonPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/normal.gbapal.lz"); +const u32 gMonBackPic_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/back.4bpp.lz"); +const u32 gMonShinyPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/shiny.gbapal.lz"); +const u8 gMonIcon_Wurmple[] = INCBIN_U8("graphics/pokemon/wurmple/icon.4bpp"); +const u8 gMonFootprint_Wurmple[] = INCBIN_U8("graphics/pokemon/wurmple/footprint.1bpp"); + +const u32 gMonStillFrontPic_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/front.4bpp.lz"); +const u32 gMonPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/normal.gbapal.lz"); +const u32 gMonBackPic_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/back.4bpp.lz"); +const u32 gMonShinyPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/shiny.gbapal.lz"); +const u8 gMonIcon_Silcoon[] = INCBIN_U8("graphics/pokemon/silcoon/icon.4bpp"); +const u8 gMonFootprint_Silcoon[] = INCBIN_U8("graphics/pokemon/silcoon/footprint.1bpp"); + +const u32 gMonStillFrontPic_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/front.4bpp.lz"); +const u32 gMonPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/normal.gbapal.lz"); +const u32 gMonBackPic_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/back.4bpp.lz"); +const u32 gMonShinyPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/shiny.gbapal.lz"); +const u8 gMonIcon_Beautifly[] = INCBIN_U8("graphics/pokemon/beautifly/icon.4bpp"); +const u8 gMonFootprint_Beautifly[] = INCBIN_U8("graphics/pokemon/beautifly/footprint.1bpp"); + +const u32 gMonStillFrontPic_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/front.4bpp.lz"); +const u32 gMonPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/normal.gbapal.lz"); +const u32 gMonBackPic_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/back.4bpp.lz"); +const u32 gMonShinyPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/shiny.gbapal.lz"); +const u8 gMonIcon_Cascoon[] = INCBIN_U8("graphics/pokemon/cascoon/icon.4bpp"); +const u8 gMonFootprint_Cascoon[] = INCBIN_U8("graphics/pokemon/cascoon/footprint.1bpp"); + +const u32 gMonStillFrontPic_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/front.4bpp.lz"); +const u32 gMonPalette_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/normal.gbapal.lz"); +const u32 gMonBackPic_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/back.4bpp.lz"); +const u32 gMonShinyPalette_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/shiny.gbapal.lz"); +const u8 gMonIcon_Dustox[] = INCBIN_U8("graphics/pokemon/dustox/icon.4bpp"); +const u8 gMonFootprint_Dustox[] = INCBIN_U8("graphics/pokemon/dustox/footprint.1bpp"); + +const u32 gMonStillFrontPic_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/front.4bpp.lz"); +const u32 gMonPalette_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/normal.gbapal.lz"); +const u32 gMonBackPic_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/back.4bpp.lz"); +const u32 gMonShinyPalette_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/shiny.gbapal.lz"); +const u8 gMonIcon_Lotad[] = INCBIN_U8("graphics/pokemon/lotad/icon.4bpp"); +const u8 gMonFootprint_Lotad[] = INCBIN_U8("graphics/pokemon/lotad/footprint.1bpp"); + +const u32 gMonStillFrontPic_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/front.4bpp.lz"); +const u32 gMonPalette_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/normal.gbapal.lz"); +const u32 gMonBackPic_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/back.4bpp.lz"); +const u32 gMonShinyPalette_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/shiny.gbapal.lz"); +const u8 gMonIcon_Lombre[] = INCBIN_U8("graphics/pokemon/lombre/icon.4bpp"); +const u8 gMonFootprint_Lombre[] = INCBIN_U8("graphics/pokemon/lombre/footprint.1bpp"); + +const u32 gMonStillFrontPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/front.4bpp.lz"); +const u32 gMonPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/normal.gbapal.lz"); +const u32 gMonBackPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/back.4bpp.lz"); +const u32 gMonShinyPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/shiny.gbapal.lz"); +const u8 gMonIcon_Ludicolo[] = INCBIN_U8("graphics/pokemon/ludicolo/icon.4bpp"); +const u8 gMonFootprint_Ludicolo[] = INCBIN_U8("graphics/pokemon/ludicolo/footprint.1bpp"); + +const u32 gMonStillFrontPic_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/front.4bpp.lz"); +const u32 gMonPalette_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/normal.gbapal.lz"); +const u32 gMonBackPic_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/back.4bpp.lz"); +const u32 gMonShinyPalette_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/shiny.gbapal.lz"); +const u8 gMonIcon_Seedot[] = INCBIN_U8("graphics/pokemon/seedot/icon.4bpp"); +const u8 gMonFootprint_Seedot[] = INCBIN_U8("graphics/pokemon/seedot/footprint.1bpp"); + +const u32 gMonStillFrontPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/front.4bpp.lz"); +const u32 gMonPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/normal.gbapal.lz"); +const u32 gMonBackPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/back.4bpp.lz"); +const u32 gMonShinyPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/shiny.gbapal.lz"); +const u8 gMonIcon_Nuzleaf[] = INCBIN_U8("graphics/pokemon/nuzleaf/icon.4bpp"); +const u8 gMonFootprint_Nuzleaf[] = INCBIN_U8("graphics/pokemon/nuzleaf/footprint.1bpp"); + +const u32 gMonStillFrontPic_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/front.4bpp.lz"); +const u32 gMonPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/normal.gbapal.lz"); +const u32 gMonBackPic_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/back.4bpp.lz"); +const u32 gMonShinyPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/shiny.gbapal.lz"); +const u8 gMonIcon_Shiftry[] = INCBIN_U8("graphics/pokemon/shiftry/icon.4bpp"); +const u8 gMonFootprint_Shiftry[] = INCBIN_U8("graphics/pokemon/shiftry/footprint.1bpp"); + +const u32 gMonStillFrontPic_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/front.4bpp.lz"); +const u32 gMonPalette_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/normal.gbapal.lz"); +const u32 gMonBackPic_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/back.4bpp.lz"); +const u32 gMonShinyPalette_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/shiny.gbapal.lz"); +const u8 gMonIcon_Nincada[] = INCBIN_U8("graphics/pokemon/nincada/icon.4bpp"); +const u8 gMonFootprint_Nincada[] = INCBIN_U8("graphics/pokemon/nincada/footprint.1bpp"); + +const u32 gMonStillFrontPic_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/front.4bpp.lz"); +const u32 gMonPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/normal.gbapal.lz"); +const u32 gMonBackPic_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/back.4bpp.lz"); +const u32 gMonShinyPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/shiny.gbapal.lz"); +const u8 gMonIcon_Ninjask[] = INCBIN_U8("graphics/pokemon/ninjask/icon.4bpp"); +const u8 gMonFootprint_Ninjask[] = INCBIN_U8("graphics/pokemon/ninjask/footprint.1bpp"); + +const u32 gMonStillFrontPic_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/front.4bpp.lz"); +const u32 gMonPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/normal.gbapal.lz"); +const u32 gMonBackPic_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/back.4bpp.lz"); +const u32 gMonShinyPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/shiny.gbapal.lz"); +const u8 gMonIcon_Shedinja[] = INCBIN_U8("graphics/pokemon/shedinja/icon.4bpp"); +const u8 gMonFootprint_Shedinja[] = INCBIN_U8("graphics/pokemon/shedinja/footprint.1bpp"); + +const u32 gMonStillFrontPic_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/front.4bpp.lz"); +const u32 gMonPalette_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/normal.gbapal.lz"); +const u32 gMonBackPic_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/back.4bpp.lz"); +const u32 gMonShinyPalette_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/shiny.gbapal.lz"); +const u8 gMonIcon_Taillow[] = INCBIN_U8("graphics/pokemon/taillow/icon.4bpp"); +const u8 gMonFootprint_Taillow[] = INCBIN_U8("graphics/pokemon/taillow/footprint.1bpp"); + +const u32 gMonStillFrontPic_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/front.4bpp.lz"); +const u32 gMonPalette_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/normal.gbapal.lz"); +const u32 gMonBackPic_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/back.4bpp.lz"); +const u32 gMonShinyPalette_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/shiny.gbapal.lz"); +const u8 gMonIcon_Swellow[] = INCBIN_U8("graphics/pokemon/swellow/icon.4bpp"); +const u8 gMonFootprint_Swellow[] = INCBIN_U8("graphics/pokemon/swellow/footprint.1bpp"); + +const u32 gMonStillFrontPic_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/front.4bpp.lz"); +const u32 gMonPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/normal.gbapal.lz"); +const u32 gMonBackPic_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/back.4bpp.lz"); +const u32 gMonShinyPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/shiny.gbapal.lz"); +const u8 gMonIcon_Shroomish[] = INCBIN_U8("graphics/pokemon/shroomish/icon.4bpp"); +const u8 gMonFootprint_Shroomish[] = INCBIN_U8("graphics/pokemon/shroomish/footprint.1bpp"); + +const u32 gMonStillFrontPic_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/front.4bpp.lz"); +const u32 gMonPalette_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/normal.gbapal.lz"); +const u32 gMonBackPic_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/back.4bpp.lz"); +const u32 gMonShinyPalette_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/shiny.gbapal.lz"); +const u8 gMonIcon_Breloom[] = INCBIN_U8("graphics/pokemon/breloom/icon.4bpp"); +const u8 gMonFootprint_Breloom[] = INCBIN_U8("graphics/pokemon/breloom/footprint.1bpp"); + +const u32 gMonStillFrontPic_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/front.4bpp.lz"); +const u32 gMonPalette_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/normal.gbapal.lz"); +const u32 gMonBackPic_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/back.4bpp.lz"); +const u32 gMonShinyPalette_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/shiny.gbapal.lz"); +const u8 gMonIcon_Spinda[] = INCBIN_U8("graphics/pokemon/spinda/icon.4bpp"); +const u8 gMonFootprint_Spinda[] = INCBIN_U8("graphics/pokemon/spinda/footprint.1bpp"); + +const u32 gMonStillFrontPic_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/front.4bpp.lz"); +const u32 gMonPalette_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/normal.gbapal.lz"); +const u32 gMonBackPic_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/back.4bpp.lz"); +const u32 gMonShinyPalette_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/shiny.gbapal.lz"); +const u8 gMonIcon_Wingull[] = INCBIN_U8("graphics/pokemon/wingull/icon.4bpp"); +const u8 gMonFootprint_Wingull[] = INCBIN_U8("graphics/pokemon/wingull/footprint.1bpp"); + +const u32 gMonStillFrontPic_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/front.4bpp.lz"); +const u32 gMonPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/normal.gbapal.lz"); +const u32 gMonBackPic_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/back.4bpp.lz"); +const u32 gMonShinyPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/shiny.gbapal.lz"); +const u8 gMonIcon_Pelipper[] = INCBIN_U8("graphics/pokemon/pelipper/icon.4bpp"); +const u8 gMonFootprint_Pelipper[] = INCBIN_U8("graphics/pokemon/pelipper/footprint.1bpp"); + +const u32 gMonStillFrontPic_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/front.4bpp.lz"); +const u32 gMonPalette_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/normal.gbapal.lz"); +const u32 gMonBackPic_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/back.4bpp.lz"); +const u32 gMonShinyPalette_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/shiny.gbapal.lz"); +const u8 gMonIcon_Surskit[] = INCBIN_U8("graphics/pokemon/surskit/icon.4bpp"); +const u8 gMonFootprint_Surskit[] = INCBIN_U8("graphics/pokemon/surskit/footprint.1bpp"); + +const u32 gMonStillFrontPic_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/front.4bpp.lz"); +const u32 gMonPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/normal.gbapal.lz"); +const u32 gMonBackPic_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/back.4bpp.lz"); +const u32 gMonShinyPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/shiny.gbapal.lz"); +const u8 gMonIcon_Masquerain[] = INCBIN_U8("graphics/pokemon/masquerain/icon.4bpp"); +const u8 gMonFootprint_Masquerain[] = INCBIN_U8("graphics/pokemon/masquerain/footprint.1bpp"); + +const u32 gMonStillFrontPic_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/front.4bpp.lz"); +const u32 gMonPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/normal.gbapal.lz"); +const u32 gMonBackPic_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/back.4bpp.lz"); +const u32 gMonShinyPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/shiny.gbapal.lz"); +const u8 gMonIcon_Wailmer[] = INCBIN_U8("graphics/pokemon/wailmer/icon.4bpp"); +const u8 gMonFootprint_Wailmer[] = INCBIN_U8("graphics/pokemon/wailmer/footprint.1bpp"); + +const u32 gMonStillFrontPic_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/front.4bpp.lz"); +const u32 gMonPalette_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/normal.gbapal.lz"); +const u32 gMonBackPic_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/back.4bpp.lz"); +const u32 gMonShinyPalette_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/shiny.gbapal.lz"); +const u8 gMonIcon_Wailord[] = INCBIN_U8("graphics/pokemon/wailord/icon.4bpp"); +const u8 gMonFootprint_Wailord[] = INCBIN_U8("graphics/pokemon/wailord/footprint.1bpp"); + +const u32 gMonStillFrontPic_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/front.4bpp.lz"); +const u32 gMonPalette_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/normal.gbapal.lz"); +const u32 gMonBackPic_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/back.4bpp.lz"); +const u32 gMonShinyPalette_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/shiny.gbapal.lz"); +const u8 gMonIcon_Skitty[] = INCBIN_U8("graphics/pokemon/skitty/icon.4bpp"); +const u8 gMonFootprint_Skitty[] = INCBIN_U8("graphics/pokemon/skitty/footprint.1bpp"); + +const u32 gMonStillFrontPic_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/front.4bpp.lz"); +const u32 gMonPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/normal.gbapal.lz"); +const u32 gMonBackPic_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/back.4bpp.lz"); +const u32 gMonShinyPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/shiny.gbapal.lz"); +const u8 gMonIcon_Delcatty[] = INCBIN_U8("graphics/pokemon/delcatty/icon.4bpp"); +const u8 gMonFootprint_Delcatty[] = INCBIN_U8("graphics/pokemon/delcatty/footprint.1bpp"); + +const u32 gMonStillFrontPic_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/front.4bpp.lz"); +const u32 gMonPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/normal.gbapal.lz"); +const u32 gMonBackPic_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/back.4bpp.lz"); +const u32 gMonShinyPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/shiny.gbapal.lz"); +const u8 gMonIcon_Kecleon[] = INCBIN_U8("graphics/pokemon/kecleon/icon.4bpp"); +const u8 gMonFootprint_Kecleon[] = INCBIN_U8("graphics/pokemon/kecleon/footprint.1bpp"); + +const u32 gMonStillFrontPic_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/front.4bpp.lz"); +const u32 gMonPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/normal.gbapal.lz"); +const u32 gMonBackPic_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/back.4bpp.lz"); +const u32 gMonShinyPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/shiny.gbapal.lz"); +const u8 gMonIcon_Baltoy[] = INCBIN_U8("graphics/pokemon/baltoy/icon.4bpp"); +const u8 gMonFootprint_Baltoy[] = INCBIN_U8("graphics/pokemon/baltoy/footprint.1bpp"); + +const u32 gMonStillFrontPic_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/front.4bpp.lz"); +const u32 gMonPalette_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/normal.gbapal.lz"); +const u32 gMonBackPic_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/back.4bpp.lz"); +const u32 gMonShinyPalette_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/shiny.gbapal.lz"); +const u8 gMonIcon_Claydol[] = INCBIN_U8("graphics/pokemon/claydol/icon.4bpp"); +const u8 gMonFootprint_Claydol[] = INCBIN_U8("graphics/pokemon/claydol/footprint.1bpp"); + +const u32 gMonStillFrontPic_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/front.4bpp.lz"); +const u32 gMonPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/normal.gbapal.lz"); +const u32 gMonBackPic_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/back.4bpp.lz"); +const u32 gMonShinyPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/shiny.gbapal.lz"); +const u8 gMonIcon_Nosepass[] = INCBIN_U8("graphics/pokemon/nosepass/icon.4bpp"); +const u8 gMonFootprint_Nosepass[] = INCBIN_U8("graphics/pokemon/nosepass/footprint.1bpp"); + +const u32 gMonStillFrontPic_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/front.4bpp.lz"); +const u32 gMonPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/normal.gbapal.lz"); +const u32 gMonBackPic_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/back.4bpp.lz"); +const u32 gMonShinyPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/shiny.gbapal.lz"); +const u8 gMonIcon_Torkoal[] = INCBIN_U8("graphics/pokemon/torkoal/icon.4bpp"); +const u8 gMonFootprint_Torkoal[] = INCBIN_U8("graphics/pokemon/torkoal/footprint.1bpp"); + +const u32 gMonStillFrontPic_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/front.4bpp.lz"); +const u32 gMonPalette_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/normal.gbapal.lz"); +const u32 gMonBackPic_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/back.4bpp.lz"); +const u32 gMonShinyPalette_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/shiny.gbapal.lz"); +const u8 gMonIcon_Sableye[] = INCBIN_U8("graphics/pokemon/sableye/icon.4bpp"); +const u8 gMonFootprint_Sableye[] = INCBIN_U8("graphics/pokemon/sableye/footprint.1bpp"); + +const u32 gMonStillFrontPic_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/front.4bpp.lz"); +const u32 gMonPalette_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/normal.gbapal.lz"); +const u32 gMonBackPic_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/back.4bpp.lz"); +const u32 gMonShinyPalette_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/shiny.gbapal.lz"); +const u8 gMonIcon_Barboach[] = INCBIN_U8("graphics/pokemon/barboach/icon.4bpp"); +const u8 gMonFootprint_Barboach[] = INCBIN_U8("graphics/pokemon/barboach/footprint.1bpp"); + +const u32 gMonStillFrontPic_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/front.4bpp.lz"); +const u32 gMonPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/normal.gbapal.lz"); +const u32 gMonBackPic_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/back.4bpp.lz"); +const u32 gMonShinyPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/shiny.gbapal.lz"); +const u8 gMonIcon_Whiscash[] = INCBIN_U8("graphics/pokemon/whiscash/icon.4bpp"); +const u8 gMonFootprint_Whiscash[] = INCBIN_U8("graphics/pokemon/whiscash/footprint.1bpp"); + +const u32 gMonStillFrontPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/front.4bpp.lz"); +const u32 gMonPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/normal.gbapal.lz"); +const u32 gMonBackPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/back.4bpp.lz"); +const u32 gMonShinyPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/shiny.gbapal.lz"); +const u8 gMonIcon_Luvdisc[] = INCBIN_U8("graphics/pokemon/luvdisc/icon.4bpp"); +const u8 gMonFootprint_Luvdisc[] = INCBIN_U8("graphics/pokemon/luvdisc/footprint.1bpp"); + +const u32 gMonStillFrontPic_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/front.4bpp.lz"); +const u32 gMonPalette_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/normal.gbapal.lz"); +const u32 gMonBackPic_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/back.4bpp.lz"); +const u32 gMonShinyPalette_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/shiny.gbapal.lz"); +const u8 gMonIcon_Corphish[] = INCBIN_U8("graphics/pokemon/corphish/icon.4bpp"); +const u8 gMonFootprint_Corphish[] = INCBIN_U8("graphics/pokemon/corphish/footprint.1bpp"); + +const u32 gMonStillFrontPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/front.4bpp.lz"); +const u32 gMonPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/normal.gbapal.lz"); +const u32 gMonBackPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/back.4bpp.lz"); +const u32 gMonShinyPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/shiny.gbapal.lz"); +const u8 gMonIcon_Crawdaunt[] = INCBIN_U8("graphics/pokemon/crawdaunt/icon.4bpp"); +const u8 gMonFootprint_Crawdaunt[] = INCBIN_U8("graphics/pokemon/crawdaunt/footprint.1bpp"); + +const u32 gMonStillFrontPic_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/front.4bpp.lz"); +const u32 gMonPalette_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/normal.gbapal.lz"); +const u32 gMonBackPic_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/back.4bpp.lz"); +const u32 gMonShinyPalette_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/shiny.gbapal.lz"); +const u8 gMonIcon_Feebas[] = INCBIN_U8("graphics/pokemon/feebas/icon.4bpp"); +const u8 gMonFootprint_Feebas[] = INCBIN_U8("graphics/pokemon/feebas/footprint.1bpp"); + +const u32 gMonStillFrontPic_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/front.4bpp.lz"); +const u32 gMonPalette_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/normal.gbapal.lz"); +const u32 gMonBackPic_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/back.4bpp.lz"); +const u32 gMonShinyPalette_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/shiny.gbapal.lz"); +const u8 gMonIcon_Milotic[] = INCBIN_U8("graphics/pokemon/milotic/icon.4bpp"); +const u8 gMonFootprint_Milotic[] = INCBIN_U8("graphics/pokemon/milotic/footprint.1bpp"); + +const u32 gMonStillFrontPic_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/front.4bpp.lz"); +const u32 gMonPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/normal.gbapal.lz"); +const u32 gMonBackPic_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/back.4bpp.lz"); +const u32 gMonShinyPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/shiny.gbapal.lz"); +const u8 gMonIcon_Carvanha[] = INCBIN_U8("graphics/pokemon/carvanha/icon.4bpp"); +const u8 gMonFootprint_Carvanha[] = INCBIN_U8("graphics/pokemon/carvanha/footprint.1bpp"); + +const u32 gMonStillFrontPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/front.4bpp.lz"); +const u32 gMonPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/normal.gbapal.lz"); +const u32 gMonBackPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/back.4bpp.lz"); +const u32 gMonShinyPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/shiny.gbapal.lz"); +const u8 gMonIcon_Sharpedo[] = INCBIN_U8("graphics/pokemon/sharpedo/icon.4bpp"); +const u8 gMonFootprint_Sharpedo[] = INCBIN_U8("graphics/pokemon/sharpedo/footprint.1bpp"); + +const u32 gMonStillFrontPic_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/front.4bpp.lz"); +const u32 gMonPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/normal.gbapal.lz"); +const u32 gMonBackPic_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/back.4bpp.lz"); +const u32 gMonShinyPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/shiny.gbapal.lz"); +const u8 gMonIcon_Trapinch[] = INCBIN_U8("graphics/pokemon/trapinch/icon.4bpp"); +const u8 gMonFootprint_Trapinch[] = INCBIN_U8("graphics/pokemon/trapinch/footprint.1bpp"); + +const u32 gMonStillFrontPic_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/front.4bpp.lz"); +const u32 gMonPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/normal.gbapal.lz"); +const u32 gMonBackPic_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/back.4bpp.lz"); +const u32 gMonShinyPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/shiny.gbapal.lz"); +const u8 gMonIcon_Vibrava[] = INCBIN_U8("graphics/pokemon/vibrava/icon.4bpp"); +const u8 gMonFootprint_Vibrava[] = INCBIN_U8("graphics/pokemon/vibrava/footprint.1bpp"); + +const u32 gMonStillFrontPic_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/front.4bpp.lz"); +const u32 gMonPalette_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/normal.gbapal.lz"); +const u32 gMonBackPic_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/back.4bpp.lz"); +const u32 gMonShinyPalette_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/shiny.gbapal.lz"); +const u8 gMonIcon_Flygon[] = INCBIN_U8("graphics/pokemon/flygon/icon.4bpp"); +const u8 gMonFootprint_Flygon[] = INCBIN_U8("graphics/pokemon/flygon/footprint.1bpp"); + +const u32 gMonStillFrontPic_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/front.4bpp.lz"); +const u32 gMonPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/normal.gbapal.lz"); +const u32 gMonBackPic_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/back.4bpp.lz"); +const u32 gMonShinyPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/shiny.gbapal.lz"); +const u8 gMonIcon_Makuhita[] = INCBIN_U8("graphics/pokemon/makuhita/icon.4bpp"); +const u8 gMonFootprint_Makuhita[] = INCBIN_U8("graphics/pokemon/makuhita/footprint.1bpp"); + +const u32 gMonStillFrontPic_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/front.4bpp.lz"); +const u32 gMonPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/normal.gbapal.lz"); +const u32 gMonBackPic_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/back.4bpp.lz"); +const u32 gMonShinyPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/shiny.gbapal.lz"); +const u8 gMonIcon_Hariyama[] = INCBIN_U8("graphics/pokemon/hariyama/icon.4bpp"); +const u8 gMonFootprint_Hariyama[] = INCBIN_U8("graphics/pokemon/hariyama/footprint.1bpp"); + +const u32 gMonStillFrontPic_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/front.4bpp.lz"); +const u32 gMonPalette_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/normal.gbapal.lz"); +const u32 gMonBackPic_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/back.4bpp.lz"); +const u32 gMonShinyPalette_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/shiny.gbapal.lz"); +const u8 gMonIcon_Electrike[] = INCBIN_U8("graphics/pokemon/electrike/icon.4bpp"); +const u8 gMonFootprint_Electrike[] = INCBIN_U8("graphics/pokemon/electrike/footprint.1bpp"); + +const u32 gMonStillFrontPic_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/front.4bpp.lz"); +const u32 gMonPalette_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/normal.gbapal.lz"); +const u32 gMonBackPic_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/back.4bpp.lz"); +const u32 gMonShinyPalette_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/shiny.gbapal.lz"); +const u8 gMonIcon_Manectric[] = INCBIN_U8("graphics/pokemon/manectric/icon.4bpp"); +const u8 gMonFootprint_Manectric[] = INCBIN_U8("graphics/pokemon/manectric/footprint.1bpp"); + +const u32 gMonStillFrontPic_Numel[] = INCBIN_U32("graphics/pokemon/numel/front.4bpp.lz"); +const u32 gMonPalette_Numel[] = INCBIN_U32("graphics/pokemon/numel/normal.gbapal.lz"); +const u32 gMonBackPic_Numel[] = INCBIN_U32("graphics/pokemon/numel/back.4bpp.lz"); +const u32 gMonShinyPalette_Numel[] = INCBIN_U32("graphics/pokemon/numel/shiny.gbapal.lz"); +const u8 gMonIcon_Numel[] = INCBIN_U8("graphics/pokemon/numel/icon.4bpp"); +const u8 gMonFootprint_Numel[] = INCBIN_U8("graphics/pokemon/numel/footprint.1bpp"); + +const u32 gMonStillFrontPic_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/front.4bpp.lz"); +const u32 gMonPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/normal.gbapal.lz"); +const u32 gMonBackPic_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/back.4bpp.lz"); +const u32 gMonShinyPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/shiny.gbapal.lz"); +const u8 gMonIcon_Camerupt[] = INCBIN_U8("graphics/pokemon/camerupt/icon.4bpp"); +const u8 gMonFootprint_Camerupt[] = INCBIN_U8("graphics/pokemon/camerupt/footprint.1bpp"); + +const u32 gMonStillFrontPic_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/front.4bpp.lz"); +const u32 gMonPalette_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/normal.gbapal.lz"); +const u32 gMonBackPic_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/back.4bpp.lz"); +const u32 gMonShinyPalette_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/shiny.gbapal.lz"); +const u8 gMonIcon_Spheal[] = INCBIN_U8("graphics/pokemon/spheal/icon.4bpp"); +const u8 gMonFootprint_Spheal[] = INCBIN_U8("graphics/pokemon/spheal/footprint.1bpp"); + +const u32 gMonStillFrontPic_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/front.4bpp.lz"); +const u32 gMonPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/normal.gbapal.lz"); +const u32 gMonBackPic_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/back.4bpp.lz"); +const u32 gMonShinyPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/shiny.gbapal.lz"); +const u8 gMonIcon_Sealeo[] = INCBIN_U8("graphics/pokemon/sealeo/icon.4bpp"); +const u8 gMonFootprint_Sealeo[] = INCBIN_U8("graphics/pokemon/sealeo/footprint.1bpp"); + +const u32 gMonStillFrontPic_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/front.4bpp.lz"); +const u32 gMonPalette_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/normal.gbapal.lz"); +const u32 gMonBackPic_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/back.4bpp.lz"); +const u32 gMonShinyPalette_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/shiny.gbapal.lz"); +const u8 gMonIcon_Walrein[] = INCBIN_U8("graphics/pokemon/walrein/icon.4bpp"); +const u8 gMonFootprint_Walrein[] = INCBIN_U8("graphics/pokemon/walrein/footprint.1bpp"); + +const u32 gMonStillFrontPic_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/front.4bpp.lz"); +const u32 gMonPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/normal.gbapal.lz"); +const u32 gMonBackPic_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/back.4bpp.lz"); +const u32 gMonShinyPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/shiny.gbapal.lz"); +const u8 gMonIcon_Cacnea[] = INCBIN_U8("graphics/pokemon/cacnea/icon.4bpp"); +const u8 gMonFootprint_Cacnea[] = INCBIN_U8("graphics/pokemon/cacnea/footprint.1bpp"); + +const u32 gMonStillFrontPic_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/front.4bpp.lz"); +const u32 gMonPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/normal.gbapal.lz"); +const u32 gMonBackPic_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/back.4bpp.lz"); +const u32 gMonShinyPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/shiny.gbapal.lz"); +const u8 gMonIcon_Cacturne[] = INCBIN_U8("graphics/pokemon/cacturne/icon.4bpp"); +const u8 gMonFootprint_Cacturne[] = INCBIN_U8("graphics/pokemon/cacturne/footprint.1bpp"); + +const u32 gMonStillFrontPic_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/front.4bpp.lz"); +const u32 gMonPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/normal.gbapal.lz"); +const u32 gMonBackPic_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/back.4bpp.lz"); +const u32 gMonShinyPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/shiny.gbapal.lz"); +const u8 gMonIcon_Snorunt[] = INCBIN_U8("graphics/pokemon/snorunt/icon.4bpp"); +const u8 gMonFootprint_Snorunt[] = INCBIN_U8("graphics/pokemon/snorunt/footprint.1bpp"); + +const u32 gMonStillFrontPic_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/front.4bpp.lz"); +const u32 gMonPalette_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/normal.gbapal.lz"); +const u32 gMonBackPic_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/back.4bpp.lz"); +const u32 gMonShinyPalette_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/shiny.gbapal.lz"); +const u8 gMonIcon_Glalie[] = INCBIN_U8("graphics/pokemon/glalie/icon.4bpp"); +const u8 gMonFootprint_Glalie[] = INCBIN_U8("graphics/pokemon/glalie/footprint.1bpp"); + +const u32 gMonStillFrontPic_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/front.4bpp.lz"); +const u32 gMonPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/normal.gbapal.lz"); +const u32 gMonBackPic_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/back.4bpp.lz"); +const u32 gMonShinyPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/shiny.gbapal.lz"); +const u8 gMonIcon_Lunatone[] = INCBIN_U8("graphics/pokemon/lunatone/icon.4bpp"); +const u8 gMonFootprint_Lunatone[] = INCBIN_U8("graphics/pokemon/lunatone/footprint.1bpp"); + +const u32 gMonStillFrontPic_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/front.4bpp.lz"); +const u32 gMonPalette_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/normal.gbapal.lz"); +const u32 gMonBackPic_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/back.4bpp.lz"); +const u32 gMonShinyPalette_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/shiny.gbapal.lz"); +const u8 gMonIcon_Solrock[] = INCBIN_U8("graphics/pokemon/solrock/icon.4bpp"); +const u8 gMonFootprint_Solrock[] = INCBIN_U8("graphics/pokemon/solrock/footprint.1bpp"); + +const u32 gMonStillFrontPic_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/front.4bpp.lz"); +const u32 gMonPalette_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/normal.gbapal.lz"); +const u32 gMonBackPic_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/back.4bpp.lz"); +const u32 gMonShinyPalette_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/shiny.gbapal.lz"); +const u8 gMonIcon_Azurill[] = INCBIN_U8("graphics/pokemon/azurill/icon.4bpp"); +const u8 gMonFootprint_Azurill[] = INCBIN_U8("graphics/pokemon/azurill/footprint.1bpp"); + +const u32 gMonStillFrontPic_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/front.4bpp.lz"); +const u32 gMonPalette_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/normal.gbapal.lz"); +const u32 gMonBackPic_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/back.4bpp.lz"); +const u32 gMonShinyPalette_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/shiny.gbapal.lz"); +const u8 gMonIcon_Spoink[] = INCBIN_U8("graphics/pokemon/spoink/icon.4bpp"); +const u8 gMonFootprint_Spoink[] = INCBIN_U8("graphics/pokemon/spoink/footprint.1bpp"); + +const u32 gMonStillFrontPic_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/front.4bpp.lz"); +const u32 gMonPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/normal.gbapal.lz"); +const u32 gMonBackPic_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/back.4bpp.lz"); +const u32 gMonShinyPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/shiny.gbapal.lz"); +const u8 gMonIcon_Grumpig[] = INCBIN_U8("graphics/pokemon/grumpig/icon.4bpp"); +const u8 gMonFootprint_Grumpig[] = INCBIN_U8("graphics/pokemon/grumpig/footprint.1bpp"); + +const u32 gMonStillFrontPic_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/front.4bpp.lz"); +const u32 gMonPalette_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/normal.gbapal.lz"); +const u32 gMonBackPic_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/back.4bpp.lz"); +const u32 gMonShinyPalette_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/shiny.gbapal.lz"); +const u8 gMonIcon_Plusle[] = INCBIN_U8("graphics/pokemon/plusle/icon.4bpp"); +const u8 gMonFootprint_Plusle[] = INCBIN_U8("graphics/pokemon/plusle/footprint.1bpp"); + +const u32 gMonStillFrontPic_Minun[] = INCBIN_U32("graphics/pokemon/minun/front.4bpp.lz"); +const u32 gMonPalette_Minun[] = INCBIN_U32("graphics/pokemon/minun/normal.gbapal.lz"); +const u32 gMonBackPic_Minun[] = INCBIN_U32("graphics/pokemon/minun/back.4bpp.lz"); +const u32 gMonShinyPalette_Minun[] = INCBIN_U32("graphics/pokemon/minun/shiny.gbapal.lz"); +const u8 gMonIcon_Minun[] = INCBIN_U8("graphics/pokemon/minun/icon.4bpp"); +const u8 gMonFootprint_Minun[] = INCBIN_U8("graphics/pokemon/minun/footprint.1bpp"); + +const u32 gMonStillFrontPic_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/front.4bpp.lz"); +const u32 gMonPalette_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/normal.gbapal.lz"); +const u32 gMonBackPic_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/back.4bpp.lz"); +const u32 gMonShinyPalette_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/shiny.gbapal.lz"); +const u8 gMonIcon_Mawile[] = INCBIN_U8("graphics/pokemon/mawile/icon.4bpp"); +const u8 gMonFootprint_Mawile[] = INCBIN_U8("graphics/pokemon/mawile/footprint.1bpp"); + +const u32 gMonStillFrontPic_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/front.4bpp.lz"); +const u32 gMonPalette_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/normal.gbapal.lz"); +const u32 gMonBackPic_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/back.4bpp.lz"); +const u32 gMonShinyPalette_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/shiny.gbapal.lz"); +const u8 gMonIcon_Meditite[] = INCBIN_U8("graphics/pokemon/meditite/icon.4bpp"); +const u8 gMonFootprint_Meditite[] = INCBIN_U8("graphics/pokemon/meditite/footprint.1bpp"); + +const u32 gMonStillFrontPic_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/front.4bpp.lz"); +const u32 gMonPalette_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/normal.gbapal.lz"); +const u32 gMonBackPic_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/back.4bpp.lz"); +const u32 gMonShinyPalette_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/shiny.gbapal.lz"); +const u8 gMonIcon_Medicham[] = INCBIN_U8("graphics/pokemon/medicham/icon.4bpp"); +const u8 gMonFootprint_Medicham[] = INCBIN_U8("graphics/pokemon/medicham/footprint.1bpp"); + +const u32 gMonStillFrontPic_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/front.4bpp.lz"); +const u32 gMonPalette_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/normal.gbapal.lz"); +const u32 gMonBackPic_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/back.4bpp.lz"); +const u32 gMonShinyPalette_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/shiny.gbapal.lz"); +const u8 gMonIcon_Swablu[] = INCBIN_U8("graphics/pokemon/swablu/icon.4bpp"); +const u8 gMonFootprint_Swablu[] = INCBIN_U8("graphics/pokemon/swablu/footprint.1bpp"); + +const u32 gMonStillFrontPic_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/front.4bpp.lz"); +const u32 gMonPalette_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/normal.gbapal.lz"); +const u32 gMonBackPic_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/back.4bpp.lz"); +const u32 gMonShinyPalette_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/shiny.gbapal.lz"); +const u8 gMonIcon_Altaria[] = INCBIN_U8("graphics/pokemon/altaria/icon.4bpp"); +const u8 gMonFootprint_Altaria[] = INCBIN_U8("graphics/pokemon/altaria/footprint.1bpp"); + +const u32 gMonStillFrontPic_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/front.4bpp.lz"); +const u32 gMonPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/normal.gbapal.lz"); +const u32 gMonBackPic_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/back.4bpp.lz"); +const u32 gMonShinyPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/shiny.gbapal.lz"); +const u8 gMonIcon_Wynaut[] = INCBIN_U8("graphics/pokemon/wynaut/icon.4bpp"); +const u8 gMonFootprint_Wynaut[] = INCBIN_U8("graphics/pokemon/wynaut/footprint.1bpp"); + +const u32 gMonStillFrontPic_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/front.4bpp.lz"); +const u32 gMonPalette_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/normal.gbapal.lz"); +const u32 gMonBackPic_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/back.4bpp.lz"); +const u32 gMonShinyPalette_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/shiny.gbapal.lz"); +const u8 gMonIcon_Duskull[] = INCBIN_U8("graphics/pokemon/duskull/icon.4bpp"); +const u8 gMonFootprint_Duskull[] = INCBIN_U8("graphics/pokemon/duskull/footprint.1bpp"); + +const u32 gMonStillFrontPic_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/front.4bpp.lz"); +const u32 gMonPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/normal.gbapal.lz"); +const u32 gMonBackPic_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/back.4bpp.lz"); +const u32 gMonShinyPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/shiny.gbapal.lz"); +const u8 gMonIcon_Dusclops[] = INCBIN_U8("graphics/pokemon/dusclops/icon.4bpp"); +const u8 gMonFootprint_Dusclops[] = INCBIN_U8("graphics/pokemon/dusclops/footprint.1bpp"); + +const u32 gMonStillFrontPic_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/front.4bpp.lz"); +const u32 gMonPalette_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/normal.gbapal.lz"); +const u32 gMonBackPic_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/back.4bpp.lz"); +const u32 gMonShinyPalette_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/shiny.gbapal.lz"); +const u8 gMonIcon_Roselia[] = INCBIN_U8("graphics/pokemon/roselia/icon.4bpp"); +const u8 gMonFootprint_Roselia[] = INCBIN_U8("graphics/pokemon/roselia/footprint.1bpp"); + +const u32 gMonStillFrontPic_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/front.4bpp.lz"); +const u32 gMonPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/normal.gbapal.lz"); +const u32 gMonBackPic_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/back.4bpp.lz"); +const u32 gMonShinyPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/shiny.gbapal.lz"); +const u8 gMonIcon_Slakoth[] = INCBIN_U8("graphics/pokemon/slakoth/icon.4bpp"); +const u8 gMonFootprint_Slakoth[] = INCBIN_U8("graphics/pokemon/slakoth/footprint.1bpp"); + +const u32 gMonStillFrontPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/front.4bpp.lz"); +const u32 gMonPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/normal.gbapal.lz"); +const u32 gMonBackPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/back.4bpp.lz"); +const u32 gMonShinyPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/shiny.gbapal.lz"); +const u8 gMonIcon_Vigoroth[] = INCBIN_U8("graphics/pokemon/vigoroth/icon.4bpp"); +const u8 gMonFootprint_Vigoroth[] = INCBIN_U8("graphics/pokemon/vigoroth/footprint.1bpp"); + +const u32 gMonStillFrontPic_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/front.4bpp.lz"); +const u32 gMonPalette_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/normal.gbapal.lz"); +const u32 gMonBackPic_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/back.4bpp.lz"); +const u32 gMonShinyPalette_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/shiny.gbapal.lz"); +const u8 gMonIcon_Slaking[] = INCBIN_U8("graphics/pokemon/slaking/icon.4bpp"); +const u8 gMonFootprint_Slaking[] = INCBIN_U8("graphics/pokemon/slaking/footprint.1bpp"); + +const u32 gMonStillFrontPic_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/front.4bpp.lz"); +const u32 gMonPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/normal.gbapal.lz"); +const u32 gMonBackPic_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/back.4bpp.lz"); +const u32 gMonShinyPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/shiny.gbapal.lz"); +const u8 gMonIcon_Gulpin[] = INCBIN_U8("graphics/pokemon/gulpin/icon.4bpp"); +const u8 gMonFootprint_Gulpin[] = INCBIN_U8("graphics/pokemon/gulpin/footprint.1bpp"); + +const u32 gMonStillFrontPic_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/front.4bpp.lz"); +const u32 gMonPalette_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/normal.gbapal.lz"); +const u32 gMonBackPic_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/back.4bpp.lz"); +const u32 gMonShinyPalette_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/shiny.gbapal.lz"); +const u8 gMonIcon_Swalot[] = INCBIN_U8("graphics/pokemon/swalot/icon.4bpp"); +const u8 gMonFootprint_Swalot[] = INCBIN_U8("graphics/pokemon/swalot/footprint.1bpp"); + +const u32 gMonStillFrontPic_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/front.4bpp.lz"); +const u32 gMonPalette_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/normal.gbapal.lz"); +const u32 gMonBackPic_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/back.4bpp.lz"); +const u32 gMonShinyPalette_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/shiny.gbapal.lz"); +const u8 gMonIcon_Tropius[] = INCBIN_U8("graphics/pokemon/tropius/icon.4bpp"); +const u8 gMonFootprint_Tropius[] = INCBIN_U8("graphics/pokemon/tropius/footprint.1bpp"); + +const u32 gMonStillFrontPic_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/front.4bpp.lz"); +const u32 gMonPalette_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/normal.gbapal.lz"); +const u32 gMonBackPic_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/back.4bpp.lz"); +const u32 gMonShinyPalette_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/shiny.gbapal.lz"); +const u8 gMonIcon_Whismur[] = INCBIN_U8("graphics/pokemon/whismur/icon.4bpp"); +const u8 gMonFootprint_Whismur[] = INCBIN_U8("graphics/pokemon/whismur/footprint.1bpp"); + +const u32 gMonStillFrontPic_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/front.4bpp.lz"); +const u32 gMonPalette_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/normal.gbapal.lz"); +const u32 gMonBackPic_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/back.4bpp.lz"); +const u32 gMonShinyPalette_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/shiny.gbapal.lz"); +const u8 gMonIcon_Loudred[] = INCBIN_U8("graphics/pokemon/loudred/icon.4bpp"); +const u8 gMonFootprint_Loudred[] = INCBIN_U8("graphics/pokemon/loudred/footprint.1bpp"); + +const u32 gMonStillFrontPic_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/front.4bpp.lz"); +const u32 gMonPalette_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/normal.gbapal.lz"); +const u32 gMonBackPic_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/back.4bpp.lz"); +const u32 gMonShinyPalette_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/shiny.gbapal.lz"); +const u8 gMonIcon_Exploud[] = INCBIN_U8("graphics/pokemon/exploud/icon.4bpp"); +const u8 gMonFootprint_Exploud[] = INCBIN_U8("graphics/pokemon/exploud/footprint.1bpp"); + +const u32 gMonStillFrontPic_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/front.4bpp.lz"); +const u32 gMonPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/normal.gbapal.lz"); +const u32 gMonBackPic_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/back.4bpp.lz"); +const u32 gMonShinyPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/shiny.gbapal.lz"); +const u8 gMonIcon_Clamperl[] = INCBIN_U8("graphics/pokemon/clamperl/icon.4bpp"); +const u8 gMonFootprint_Clamperl[] = INCBIN_U8("graphics/pokemon/clamperl/footprint.1bpp"); + +const u32 gMonStillFrontPic_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/front.4bpp.lz"); +const u32 gMonPalette_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/normal.gbapal.lz"); +const u32 gMonBackPic_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/back.4bpp.lz"); +const u32 gMonShinyPalette_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/shiny.gbapal.lz"); +const u8 gMonIcon_Huntail[] = INCBIN_U8("graphics/pokemon/huntail/icon.4bpp"); +const u8 gMonFootprint_Huntail[] = INCBIN_U8("graphics/pokemon/huntail/footprint.1bpp"); + +const u32 gMonStillFrontPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/front.4bpp.lz"); +const u32 gMonPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/normal.gbapal.lz"); +const u32 gMonBackPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/back.4bpp.lz"); +const u32 gMonShinyPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/shiny.gbapal.lz"); +const u8 gMonIcon_Gorebyss[] = INCBIN_U8("graphics/pokemon/gorebyss/icon.4bpp"); +const u8 gMonFootprint_Gorebyss[] = INCBIN_U8("graphics/pokemon/gorebyss/footprint.1bpp"); + +const u32 gMonStillFrontPic_Absol[] = INCBIN_U32("graphics/pokemon/absol/front.4bpp.lz"); +const u32 gMonPalette_Absol[] = INCBIN_U32("graphics/pokemon/absol/normal.gbapal.lz"); +const u32 gMonBackPic_Absol[] = INCBIN_U32("graphics/pokemon/absol/back.4bpp.lz"); +const u32 gMonShinyPalette_Absol[] = INCBIN_U32("graphics/pokemon/absol/shiny.gbapal.lz"); +const u8 gMonIcon_Absol[] = INCBIN_U8("graphics/pokemon/absol/icon.4bpp"); +const u8 gMonFootprint_Absol[] = INCBIN_U8("graphics/pokemon/absol/footprint.1bpp"); + +const u32 gMonStillFrontPic_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/front.4bpp.lz"); +const u32 gMonPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/normal.gbapal.lz"); +const u32 gMonBackPic_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/back.4bpp.lz"); +const u32 gMonShinyPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/shiny.gbapal.lz"); +const u8 gMonIcon_Shuppet[] = INCBIN_U8("graphics/pokemon/shuppet/icon.4bpp"); +const u8 gMonFootprint_Shuppet[] = INCBIN_U8("graphics/pokemon/shuppet/footprint.1bpp"); + +const u32 gMonStillFrontPic_Banette[] = INCBIN_U32("graphics/pokemon/banette/front.4bpp.lz"); +const u32 gMonPalette_Banette[] = INCBIN_U32("graphics/pokemon/banette/normal.gbapal.lz"); +const u32 gMonBackPic_Banette[] = INCBIN_U32("graphics/pokemon/banette/back.4bpp.lz"); +const u32 gMonShinyPalette_Banette[] = INCBIN_U32("graphics/pokemon/banette/shiny.gbapal.lz"); +const u8 gMonIcon_Banette[] = INCBIN_U8("graphics/pokemon/banette/icon.4bpp"); +const u8 gMonFootprint_Banette[] = INCBIN_U8("graphics/pokemon/banette/footprint.1bpp"); + +const u32 gMonStillFrontPic_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/front.4bpp.lz"); +const u32 gMonPalette_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/normal.gbapal.lz"); +const u32 gMonBackPic_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/back.4bpp.lz"); +const u32 gMonShinyPalette_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/shiny.gbapal.lz"); +const u8 gMonIcon_Seviper[] = INCBIN_U8("graphics/pokemon/seviper/icon.4bpp"); +const u8 gMonFootprint_Seviper[] = INCBIN_U8("graphics/pokemon/seviper/footprint.1bpp"); + +const u32 gMonStillFrontPic_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/front.4bpp.lz"); +const u32 gMonPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/normal.gbapal.lz"); +const u32 gMonBackPic_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/back.4bpp.lz"); +const u32 gMonShinyPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/shiny.gbapal.lz"); +const u8 gMonIcon_Zangoose[] = INCBIN_U8("graphics/pokemon/zangoose/icon.4bpp"); +const u8 gMonFootprint_Zangoose[] = INCBIN_U8("graphics/pokemon/zangoose/footprint.1bpp"); + +const u32 gMonStillFrontPic_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/front.4bpp.lz"); +const u32 gMonPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/normal.gbapal.lz"); +const u32 gMonBackPic_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/back.4bpp.lz"); +const u32 gMonShinyPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/shiny.gbapal.lz"); +const u8 gMonIcon_Relicanth[] = INCBIN_U8("graphics/pokemon/relicanth/icon.4bpp"); +const u8 gMonFootprint_Relicanth[] = INCBIN_U8("graphics/pokemon/relicanth/footprint.1bpp"); + +const u32 gMonStillFrontPic_Aron[] = INCBIN_U32("graphics/pokemon/aron/front.4bpp.lz"); +const u32 gMonPalette_Aron[] = INCBIN_U32("graphics/pokemon/aron/normal.gbapal.lz"); +const u32 gMonBackPic_Aron[] = INCBIN_U32("graphics/pokemon/aron/back.4bpp.lz"); +const u32 gMonShinyPalette_Aron[] = INCBIN_U32("graphics/pokemon/aron/shiny.gbapal.lz"); +const u8 gMonIcon_Aron[] = INCBIN_U8("graphics/pokemon/aron/icon.4bpp"); +const u8 gMonFootprint_Aron[] = INCBIN_U8("graphics/pokemon/aron/footprint.1bpp"); + +const u32 gMonStillFrontPic_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/front.4bpp.lz"); +const u32 gMonPalette_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/normal.gbapal.lz"); +const u32 gMonBackPic_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/back.4bpp.lz"); +const u32 gMonShinyPalette_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/shiny.gbapal.lz"); +const u8 gMonIcon_Lairon[] = INCBIN_U8("graphics/pokemon/lairon/icon.4bpp"); +const u8 gMonFootprint_Lairon[] = INCBIN_U8("graphics/pokemon/lairon/footprint.1bpp"); + +const u32 gMonStillFrontPic_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/front.4bpp.lz"); +const u32 gMonPalette_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/normal.gbapal.lz"); +const u32 gMonBackPic_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/back.4bpp.lz"); +const u32 gMonShinyPalette_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/shiny.gbapal.lz"); +const u8 gMonIcon_Aggron[] = INCBIN_U8("graphics/pokemon/aggron/icon.4bpp"); +const u8 gMonFootprint_Aggron[] = INCBIN_U8("graphics/pokemon/aggron/footprint.1bpp"); + +const u32 gMonStillFrontPic_Castform[] = INCBIN_U32("graphics/pokemon/castform/front.4bpp.lz"); +const u32 gMonPalette_Castform[] = INCBIN_U32("graphics/pokemon/castform/normal.gbapal.lz"); +const u32 gMonBackPic_Castform[] = INCBIN_U32("graphics/pokemon/castform/back.4bpp.lz"); +const u32 gMonShinyPalette_Castform[] = INCBIN_U32("graphics/pokemon/castform/shiny.gbapal.lz"); +const u8 gMonIcon_Castform[] = INCBIN_U8("graphics/pokemon/castform/icon.4bpp"); +const u8 gMonFootprint_Castform[] = INCBIN_U8("graphics/pokemon/castform/footprint.1bpp"); + +const u32 gMonStillFrontPic_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/front.4bpp.lz"); +const u32 gMonPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/normal.gbapal.lz"); +const u32 gMonBackPic_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/back.4bpp.lz"); +const u32 gMonShinyPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/shiny.gbapal.lz"); +const u8 gMonIcon_Volbeat[] = INCBIN_U8("graphics/pokemon/volbeat/icon.4bpp"); +const u8 gMonFootprint_Volbeat[] = INCBIN_U8("graphics/pokemon/volbeat/footprint.1bpp"); + +const u32 gMonStillFrontPic_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/front.4bpp.lz"); +const u32 gMonPalette_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/normal.gbapal.lz"); +const u32 gMonBackPic_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/back.4bpp.lz"); +const u32 gMonShinyPalette_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/shiny.gbapal.lz"); +const u8 gMonIcon_Illumise[] = INCBIN_U8("graphics/pokemon/illumise/icon.4bpp"); +const u8 gMonFootprint_Illumise[] = INCBIN_U8("graphics/pokemon/illumise/footprint.1bpp"); + +const u32 gMonStillFrontPic_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/front.4bpp.lz"); +const u32 gMonPalette_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/normal.gbapal.lz"); +const u32 gMonBackPic_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/back.4bpp.lz"); +const u32 gMonShinyPalette_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/shiny.gbapal.lz"); +const u8 gMonIcon_Lileep[] = INCBIN_U8("graphics/pokemon/lileep/icon.4bpp"); +const u8 gMonFootprint_Lileep[] = INCBIN_U8("graphics/pokemon/lileep/footprint.1bpp"); + +const u32 gMonStillFrontPic_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/front.4bpp.lz"); +const u32 gMonPalette_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/normal.gbapal.lz"); +const u32 gMonBackPic_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/back.4bpp.lz"); +const u32 gMonShinyPalette_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/shiny.gbapal.lz"); +const u8 gMonIcon_Cradily[] = INCBIN_U8("graphics/pokemon/cradily/icon.4bpp"); +const u8 gMonFootprint_Cradily[] = INCBIN_U8("graphics/pokemon/cradily/footprint.1bpp"); + +const u32 gMonStillFrontPic_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/front.4bpp.lz"); +const u32 gMonPalette_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/normal.gbapal.lz"); +const u32 gMonBackPic_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/back.4bpp.lz"); +const u32 gMonShinyPalette_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/shiny.gbapal.lz"); +const u8 gMonIcon_Anorith[] = INCBIN_U8("graphics/pokemon/anorith/icon.4bpp"); +const u8 gMonFootprint_Anorith[] = INCBIN_U8("graphics/pokemon/anorith/footprint.1bpp"); + +const u32 gMonStillFrontPic_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/front.4bpp.lz"); +const u32 gMonPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/normal.gbapal.lz"); +const u32 gMonBackPic_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/back.4bpp.lz"); +const u32 gMonShinyPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/shiny.gbapal.lz"); +const u8 gMonIcon_Armaldo[] = INCBIN_U8("graphics/pokemon/armaldo/icon.4bpp"); +const u8 gMonFootprint_Armaldo[] = INCBIN_U8("graphics/pokemon/armaldo/footprint.1bpp"); + +const u32 gMonStillFrontPic_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/front.4bpp.lz"); +const u32 gMonPalette_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/normal.gbapal.lz"); +const u32 gMonBackPic_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/back.4bpp.lz"); +const u32 gMonShinyPalette_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/shiny.gbapal.lz"); +const u8 gMonIcon_Ralts[] = INCBIN_U8("graphics/pokemon/ralts/icon.4bpp"); +const u8 gMonFootprint_Ralts[] = INCBIN_U8("graphics/pokemon/ralts/footprint.1bpp"); + +const u32 gMonStillFrontPic_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/front.4bpp.lz"); +const u32 gMonPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/normal.gbapal.lz"); +const u32 gMonBackPic_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/back.4bpp.lz"); +const u32 gMonShinyPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/shiny.gbapal.lz"); +const u8 gMonIcon_Kirlia[] = INCBIN_U8("graphics/pokemon/kirlia/icon.4bpp"); +const u8 gMonFootprint_Kirlia[] = INCBIN_U8("graphics/pokemon/kirlia/footprint.1bpp"); + +const u32 gMonStillFrontPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/front.4bpp.lz"); +const u32 gMonPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/normal.gbapal.lz"); +const u32 gMonBackPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/back.4bpp.lz"); +const u32 gMonShinyPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/shiny.gbapal.lz"); +const u8 gMonIcon_Gardevoir[] = INCBIN_U8("graphics/pokemon/gardevoir/icon.4bpp"); +const u8 gMonFootprint_Gardevoir[] = INCBIN_U8("graphics/pokemon/gardevoir/footprint.1bpp"); + +const u32 gMonStillFrontPic_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/front.4bpp.lz"); +const u32 gMonPalette_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/normal.gbapal.lz"); +const u32 gMonBackPic_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/back.4bpp.lz"); +const u32 gMonShinyPalette_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/shiny.gbapal.lz"); +const u8 gMonIcon_Bagon[] = INCBIN_U8("graphics/pokemon/bagon/icon.4bpp"); +const u8 gMonFootprint_Bagon[] = INCBIN_U8("graphics/pokemon/bagon/footprint.1bpp"); + +const u32 gMonStillFrontPic_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/front.4bpp.lz"); +const u32 gMonPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/normal.gbapal.lz"); +const u32 gMonBackPic_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/back.4bpp.lz"); +const u32 gMonShinyPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/shiny.gbapal.lz"); +const u8 gMonIcon_Shelgon[] = INCBIN_U8("graphics/pokemon/shelgon/icon.4bpp"); +const u8 gMonFootprint_Shelgon[] = INCBIN_U8("graphics/pokemon/shelgon/footprint.1bpp"); + +const u32 gMonStillFrontPic_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/front.4bpp.lz"); +const u32 gMonPalette_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/normal.gbapal.lz"); +const u32 gMonBackPic_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/back.4bpp.lz"); +const u32 gMonShinyPalette_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/shiny.gbapal.lz"); +const u8 gMonIcon_Salamence[] = INCBIN_U8("graphics/pokemon/salamence/icon.4bpp"); +const u8 gMonFootprint_Salamence[] = INCBIN_U8("graphics/pokemon/salamence/footprint.1bpp"); + +const u32 gMonStillFrontPic_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/front.4bpp.lz"); +const u32 gMonPalette_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/normal.gbapal.lz"); +const u32 gMonBackPic_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/back.4bpp.lz"); +const u32 gMonShinyPalette_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/shiny.gbapal.lz"); +const u8 gMonIcon_Beldum[] = INCBIN_U8("graphics/pokemon/beldum/icon.4bpp"); +const u8 gMonFootprint_Beldum[] = INCBIN_U8("graphics/pokemon/beldum/footprint.1bpp"); + +const u32 gMonStillFrontPic_Metang[] = INCBIN_U32("graphics/pokemon/metang/front.4bpp.lz"); +const u32 gMonPalette_Metang[] = INCBIN_U32("graphics/pokemon/metang/normal.gbapal.lz"); +const u32 gMonBackPic_Metang[] = INCBIN_U32("graphics/pokemon/metang/back.4bpp.lz"); +const u32 gMonShinyPalette_Metang[] = INCBIN_U32("graphics/pokemon/metang/shiny.gbapal.lz"); +const u8 gMonIcon_Metang[] = INCBIN_U8("graphics/pokemon/metang/icon.4bpp"); +const u8 gMonFootprint_Metang[] = INCBIN_U8("graphics/pokemon/metang/footprint.1bpp"); + +const u32 gMonStillFrontPic_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/front.4bpp.lz"); +const u32 gMonPalette_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/normal.gbapal.lz"); +const u32 gMonBackPic_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/back.4bpp.lz"); +const u32 gMonShinyPalette_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/shiny.gbapal.lz"); +const u8 gMonIcon_Metagross[] = INCBIN_U8("graphics/pokemon/metagross/icon.4bpp"); +const u8 gMonFootprint_Metagross[] = INCBIN_U8("graphics/pokemon/metagross/footprint.1bpp"); + +const u32 gMonStillFrontPic_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/front.4bpp.lz"); +const u32 gMonPalette_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/normal.gbapal.lz"); +const u32 gMonBackPic_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/back.4bpp.lz"); +const u32 gMonShinyPalette_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/shiny.gbapal.lz"); +const u8 gMonIcon_Regirock[] = INCBIN_U8("graphics/pokemon/regirock/icon.4bpp"); +const u8 gMonFootprint_Regirock[] = INCBIN_U8("graphics/pokemon/regirock/footprint.1bpp"); + +const u32 gMonStillFrontPic_Regice[] = INCBIN_U32("graphics/pokemon/regice/front.4bpp.lz"); +const u32 gMonPalette_Regice[] = INCBIN_U32("graphics/pokemon/regice/normal.gbapal.lz"); +const u32 gMonBackPic_Regice[] = INCBIN_U32("graphics/pokemon/regice/back.4bpp.lz"); +const u32 gMonShinyPalette_Regice[] = INCBIN_U32("graphics/pokemon/regice/shiny.gbapal.lz"); +const u8 gMonIcon_Regice[] = INCBIN_U8("graphics/pokemon/regice/icon.4bpp"); +const u8 gMonFootprint_Regice[] = INCBIN_U8("graphics/pokemon/regice/footprint.1bpp"); + +const u32 gMonStillFrontPic_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/front.4bpp.lz"); +const u32 gMonPalette_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/normal.gbapal.lz"); +const u32 gMonBackPic_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/back.4bpp.lz"); +const u32 gMonShinyPalette_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/shiny.gbapal.lz"); +const u8 gMonIcon_Registeel[] = INCBIN_U8("graphics/pokemon/registeel/icon.4bpp"); +const u8 gMonFootprint_Registeel[] = INCBIN_U8("graphics/pokemon/registeel/footprint.1bpp"); + +const u32 gMonStillFrontPic_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/front.4bpp.lz"); +const u32 gMonPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/normal.gbapal.lz"); +const u32 gMonBackPic_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/back.4bpp.lz"); +const u32 gMonShinyPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/shiny.gbapal.lz"); +const u8 gMonIcon_Kyogre[] = INCBIN_U8("graphics/pokemon/kyogre/icon.4bpp"); +const u8 gMonFootprint_Kyogre[] = INCBIN_U8("graphics/pokemon/kyogre/footprint.1bpp"); + +const u32 gMonStillFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/front.4bpp.lz"); +const u32 gMonPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/normal.gbapal.lz"); +const u32 gMonBackPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/back.4bpp.lz"); +const u32 gMonShinyPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/shiny.gbapal.lz"); +const u8 gMonIcon_Groudon[] = INCBIN_U8("graphics/pokemon/groudon/icon.4bpp"); +const u8 gMonFootprint_Groudon[] = INCBIN_U8("graphics/pokemon/groudon/footprint.1bpp"); + +const u32 gMonStillFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/front.4bpp.lz"); +const u32 gMonPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/normal.gbapal.lz"); +const u32 gMonBackPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/back.4bpp.lz"); +const u32 gMonShinyPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/shiny.gbapal.lz"); +const u8 gMonIcon_Rayquaza[] = INCBIN_U8("graphics/pokemon/rayquaza/icon.4bpp"); +const u8 gMonFootprint_Rayquaza[] = INCBIN_U8("graphics/pokemon/rayquaza/footprint.1bpp"); + +const u32 gMonStillFrontPic_Latias[] = INCBIN_U32("graphics/pokemon/latias/front.4bpp.lz"); +const u32 gMonPalette_Latias[] = INCBIN_U32("graphics/pokemon/latias/normal.gbapal.lz"); +const u32 gMonBackPic_Latias[] = INCBIN_U32("graphics/pokemon/latias/back.4bpp.lz"); +const u32 gMonShinyPalette_Latias[] = INCBIN_U32("graphics/pokemon/latias/shiny.gbapal.lz"); +const u8 gMonIcon_Latias[] = INCBIN_U8("graphics/pokemon/latias/icon.4bpp"); +const u8 gMonFootprint_Latias[] = INCBIN_U8("graphics/pokemon/latias/footprint.1bpp"); + +const u32 gMonStillFrontPic_Latios[] = INCBIN_U32("graphics/pokemon/latios/front.4bpp.lz"); +const u32 gMonPalette_Latios[] = INCBIN_U32("graphics/pokemon/latios/normal.gbapal.lz"); +const u32 gMonBackPic_Latios[] = INCBIN_U32("graphics/pokemon/latios/back.4bpp.lz"); +const u32 gMonShinyPalette_Latios[] = INCBIN_U32("graphics/pokemon/latios/shiny.gbapal.lz"); +const u8 gMonIcon_Latios[] = INCBIN_U8("graphics/pokemon/latios/icon.4bpp"); +const u8 gMonFootprint_Latios[] = INCBIN_U8("graphics/pokemon/latios/footprint.1bpp"); + +const u32 gMonStillFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/front.4bpp.lz"); +const u32 gMonPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/normal.gbapal.lz"); +const u32 gMonBackPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/back.4bpp.lz"); +const u32 gMonShinyPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/shiny.gbapal.lz"); +const u8 gMonIcon_Jirachi[] = INCBIN_U8("graphics/pokemon/jirachi/icon.4bpp"); +const u8 gMonFootprint_Jirachi[] = INCBIN_U8("graphics/pokemon/jirachi/footprint.1bpp"); + +const u32 gMonStillFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/front.4bpp.lz"); +const u32 gMonPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/normal.gbapal.lz"); +const u32 gMonBackPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/back.4bpp.lz"); +const u32 gMonShinyPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/shiny.gbapal.lz"); +const u8 gMonIcon_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/icon.4bpp"); +const u8 gMonIcon_DeoxysSpeed[] = INCBIN_U8("graphics/pokemon/deoxys_speed/icon.4bpp"); const u8 gMonIcon_DeoxysSpeedWide[] = INCBIN_U8("graphics/unused/deoxys_speed_icon_wide.4bpp"); asm(".space 0x6800"); const u16 gUnknown_D437F8[] = INCBIN_U16("graphics/unknown/unknown_D437F8.bin"); -const u8 gMonFootprint_Deoxys[] = INCBIN_U8("graphics/pokemon/footprints/deoxys_footprint.1bpp"); +const u8 gMonFootprint_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/footprint.1bpp"); -const u32 gMonStillFrontPic_Chimecho[] = INCBIN_U32("graphics/pokemon/front_pics/chimecho_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/palettes/chimecho_palette.gbapal.lz"); -const u32 gMonBackPic_Chimecho[] = INCBIN_U32("graphics/pokemon/back_pics/chimecho_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/palettes/chimecho_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Chimecho[] = INCBIN_U8("graphics/pokemon/icons/chimecho_icon.4bpp"); -const u8 gMonFootprint_Chimecho[] = INCBIN_U8("graphics/pokemon/footprints/chimecho_footprint.1bpp"); +const u32 gMonStillFrontPic_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/front.4bpp.lz"); +const u32 gMonPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/normal.gbapal.lz"); +const u32 gMonBackPic_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/back.4bpp.lz"); +const u32 gMonShinyPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/shiny.gbapal.lz"); +const u8 gMonIcon_Chimecho[] = INCBIN_U8("graphics/pokemon/chimecho/icon.4bpp"); +const u8 gMonFootprint_Chimecho[] = INCBIN_U8("graphics/pokemon/chimecho/footprint.1bpp"); -const u32 gMonStillFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/front_pics/egg_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Egg[] = INCBIN_U32("graphics/pokemon/palettes/egg_palette.gbapal.lz"); +const u32 gMonStillFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/egg/front.4bpp.lz"); +const u32 gMonPalette_Egg[] = INCBIN_U32("graphics/pokemon/egg/normal.gbapal.lz"); -const u32 gMonStillFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/front_pics/unown_b_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownB[] = INCBIN_U32("graphics/pokemon/back_pics/unown_b_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownB[] = INCBIN_U8("graphics/pokemon/icons/unown_B_icon.4bpp"); +const u32 gMonStillFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/front_b.4bpp.lz"); +const u32 gMonBackPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/back_b.4bpp.lz"); +const u8 gMonIcon_UnownB[] = INCBIN_U8("graphics/pokemon/unown/icon_b.4bpp"); -const u32 gMonStillFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/front_pics/unown_c_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownC[] = INCBIN_U32("graphics/pokemon/back_pics/unown_c_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownC[] = INCBIN_U8("graphics/pokemon/icons/unown_C_icon.4bpp"); +const u32 gMonStillFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/front_c.4bpp.lz"); +const u32 gMonBackPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/back_c.4bpp.lz"); +const u8 gMonIcon_UnownC[] = INCBIN_U8("graphics/pokemon/unown/icon_c.4bpp"); -const u32 gMonStillFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/front_pics/unown_d_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownD[] = INCBIN_U32("graphics/pokemon/back_pics/unown_d_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownD[] = INCBIN_U8("graphics/pokemon/icons/unown_D_icon.4bpp"); +const u32 gMonStillFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/front_d.4bpp.lz"); +const u32 gMonBackPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/back_d.4bpp.lz"); +const u8 gMonIcon_UnownD[] = INCBIN_U8("graphics/pokemon/unown/icon_d.4bpp"); -const u32 gMonStillFrontPic_UnownE[] = INCBIN_U32("graphics/pokemon/front_pics/unown_e_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownE[] = INCBIN_U32("graphics/pokemon/back_pics/unown_e_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownE[] = INCBIN_U8("graphics/pokemon/icons/unown_E_icon.4bpp"); +const u32 gMonStillFrontPic_UnownE[] = INCBIN_U32("graphics/pokemon/unown/front_e.4bpp.lz"); +const u32 gMonBackPic_UnownE[] = INCBIN_U32("graphics/pokemon/unown/back_e.4bpp.lz"); +const u8 gMonIcon_UnownE[] = INCBIN_U8("graphics/pokemon/unown/icon_e.4bpp"); -const u32 gMonStillFrontPic_UnownF[] = INCBIN_U32("graphics/pokemon/front_pics/unown_f_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownF[] = INCBIN_U32("graphics/pokemon/back_pics/unown_f_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownF[] = INCBIN_U8("graphics/pokemon/icons/unown_F_icon.4bpp"); +const u32 gMonStillFrontPic_UnownF[] = INCBIN_U32("graphics/pokemon/unown/front_f.4bpp.lz"); +const u32 gMonBackPic_UnownF[] = INCBIN_U32("graphics/pokemon/unown/back_f.4bpp.lz"); +const u8 gMonIcon_UnownF[] = INCBIN_U8("graphics/pokemon/unown/icon_f.4bpp"); -const u32 gMonStillFrontPic_UnownG[] = INCBIN_U32("graphics/pokemon/front_pics/unown_g_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownG[] = INCBIN_U32("graphics/pokemon/back_pics/unown_g_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownG[] = INCBIN_U8("graphics/pokemon/icons/unown_G_icon.4bpp"); +const u32 gMonStillFrontPic_UnownG[] = INCBIN_U32("graphics/pokemon/unown/front_g.4bpp.lz"); +const u32 gMonBackPic_UnownG[] = INCBIN_U32("graphics/pokemon/unown/back_g.4bpp.lz"); +const u8 gMonIcon_UnownG[] = INCBIN_U8("graphics/pokemon/unown/icon_g.4bpp"); -const u32 gMonStillFrontPic_UnownH[] = INCBIN_U32("graphics/pokemon/front_pics/unown_h_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownH[] = INCBIN_U32("graphics/pokemon/back_pics/unown_h_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownH[] = INCBIN_U8("graphics/pokemon/icons/unown_H_icon.4bpp"); +const u32 gMonStillFrontPic_UnownH[] = INCBIN_U32("graphics/pokemon/unown/front_h.4bpp.lz"); +const u32 gMonBackPic_UnownH[] = INCBIN_U32("graphics/pokemon/unown/back_h.4bpp.lz"); +const u8 gMonIcon_UnownH[] = INCBIN_U8("graphics/pokemon/unown/icon_h.4bpp"); -const u32 gMonStillFrontPic_UnownI[] = INCBIN_U32("graphics/pokemon/front_pics/unown_i_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownI[] = INCBIN_U32("graphics/pokemon/back_pics/unown_i_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownI[] = INCBIN_U8("graphics/pokemon/icons/unown_I_icon.4bpp"); +const u32 gMonStillFrontPic_UnownI[] = INCBIN_U32("graphics/pokemon/unown/front_i.4bpp.lz"); +const u32 gMonBackPic_UnownI[] = INCBIN_U32("graphics/pokemon/unown/back_i.4bpp.lz"); +const u8 gMonIcon_UnownI[] = INCBIN_U8("graphics/pokemon/unown/icon_i.4bpp"); -const u32 gMonStillFrontPic_UnownJ[] = INCBIN_U32("graphics/pokemon/front_pics/unown_j_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownJ[] = INCBIN_U32("graphics/pokemon/back_pics/unown_j_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownJ[] = INCBIN_U8("graphics/pokemon/icons/unown_J_icon.4bpp"); +const u32 gMonStillFrontPic_UnownJ[] = INCBIN_U32("graphics/pokemon/unown/front_j.4bpp.lz"); +const u32 gMonBackPic_UnownJ[] = INCBIN_U32("graphics/pokemon/unown/back_j.4bpp.lz"); +const u8 gMonIcon_UnownJ[] = INCBIN_U8("graphics/pokemon/unown/icon_j.4bpp"); -const u32 gMonStillFrontPic_UnownK[] = INCBIN_U32("graphics/pokemon/front_pics/unown_k_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownK[] = INCBIN_U32("graphics/pokemon/back_pics/unown_k_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownK[] = INCBIN_U8("graphics/pokemon/icons/unown_K_icon.4bpp"); +const u32 gMonStillFrontPic_UnownK[] = INCBIN_U32("graphics/pokemon/unown/front_k.4bpp.lz"); +const u32 gMonBackPic_UnownK[] = INCBIN_U32("graphics/pokemon/unown/back_k.4bpp.lz"); +const u8 gMonIcon_UnownK[] = INCBIN_U8("graphics/pokemon/unown/icon_k.4bpp"); -const u32 gMonStillFrontPic_UnownL[] = INCBIN_U32("graphics/pokemon/front_pics/unown_l_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownL[] = INCBIN_U32("graphics/pokemon/back_pics/unown_l_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownL[] = INCBIN_U8("graphics/pokemon/icons/unown_L_icon.4bpp"); +const u32 gMonStillFrontPic_UnownL[] = INCBIN_U32("graphics/pokemon/unown/front_l.4bpp.lz"); +const u32 gMonBackPic_UnownL[] = INCBIN_U32("graphics/pokemon/unown/back_l.4bpp.lz"); +const u8 gMonIcon_UnownL[] = INCBIN_U8("graphics/pokemon/unown/icon_l.4bpp"); -const u32 gMonStillFrontPic_UnownM[] = INCBIN_U32("graphics/pokemon/front_pics/unown_m_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownM[] = INCBIN_U32("graphics/pokemon/back_pics/unown_m_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownM[] = INCBIN_U8("graphics/pokemon/icons/unown_M_icon.4bpp"); +const u32 gMonStillFrontPic_UnownM[] = INCBIN_U32("graphics/pokemon/unown/front_m.4bpp.lz"); +const u32 gMonBackPic_UnownM[] = INCBIN_U32("graphics/pokemon/unown/back_m.4bpp.lz"); +const u8 gMonIcon_UnownM[] = INCBIN_U8("graphics/pokemon/unown/icon_m.4bpp"); -const u32 gMonStillFrontPic_UnownN[] = INCBIN_U32("graphics/pokemon/front_pics/unown_n_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownN[] = INCBIN_U32("graphics/pokemon/back_pics/unown_n_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownN[] = INCBIN_U8("graphics/pokemon/icons/unown_N_icon.4bpp"); +const u32 gMonStillFrontPic_UnownN[] = INCBIN_U32("graphics/pokemon/unown/front_n.4bpp.lz"); +const u32 gMonBackPic_UnownN[] = INCBIN_U32("graphics/pokemon/unown/back_n.4bpp.lz"); +const u8 gMonIcon_UnownN[] = INCBIN_U8("graphics/pokemon/unown/icon_n.4bpp"); -const u32 gMonStillFrontPic_UnownO[] = INCBIN_U32("graphics/pokemon/front_pics/unown_o_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownO[] = INCBIN_U32("graphics/pokemon/back_pics/unown_o_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownO[] = INCBIN_U8("graphics/pokemon/icons/unown_O_icon.4bpp"); +const u32 gMonStillFrontPic_UnownO[] = INCBIN_U32("graphics/pokemon/unown/front_o.4bpp.lz"); +const u32 gMonBackPic_UnownO[] = INCBIN_U32("graphics/pokemon/unown/back_o.4bpp.lz"); +const u8 gMonIcon_UnownO[] = INCBIN_U8("graphics/pokemon/unown/icon_o.4bpp"); -const u32 gMonStillFrontPic_UnownP[] = INCBIN_U32("graphics/pokemon/front_pics/unown_p_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownP[] = INCBIN_U32("graphics/pokemon/back_pics/unown_p_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownP[] = INCBIN_U8("graphics/pokemon/icons/unown_P_icon.4bpp"); +const u32 gMonStillFrontPic_UnownP[] = INCBIN_U32("graphics/pokemon/unown/front_p.4bpp.lz"); +const u32 gMonBackPic_UnownP[] = INCBIN_U32("graphics/pokemon/unown/back_p.4bpp.lz"); +const u8 gMonIcon_UnownP[] = INCBIN_U8("graphics/pokemon/unown/icon_p.4bpp"); -const u32 gMonStillFrontPic_UnownQ[] = INCBIN_U32("graphics/pokemon/front_pics/unown_q_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownQ[] = INCBIN_U32("graphics/pokemon/back_pics/unown_q_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownQ[] = INCBIN_U8("graphics/pokemon/icons/unown_Q_icon.4bpp"); +const u32 gMonStillFrontPic_UnownQ[] = INCBIN_U32("graphics/pokemon/unown/front_q.4bpp.lz"); +const u32 gMonBackPic_UnownQ[] = INCBIN_U32("graphics/pokemon/unown/back_q.4bpp.lz"); +const u8 gMonIcon_UnownQ[] = INCBIN_U8("graphics/pokemon/unown/icon_q.4bpp"); -const u32 gMonStillFrontPic_UnownR[] = INCBIN_U32("graphics/pokemon/front_pics/unown_r_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownR[] = INCBIN_U32("graphics/pokemon/back_pics/unown_r_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownR[] = INCBIN_U8("graphics/pokemon/icons/unown_R_icon.4bpp"); +const u32 gMonStillFrontPic_UnownR[] = INCBIN_U32("graphics/pokemon/unown/front_r.4bpp.lz"); +const u32 gMonBackPic_UnownR[] = INCBIN_U32("graphics/pokemon/unown/back_r.4bpp.lz"); +const u8 gMonIcon_UnownR[] = INCBIN_U8("graphics/pokemon/unown/icon_r.4bpp"); -const u32 gMonStillFrontPic_UnownS[] = INCBIN_U32("graphics/pokemon/front_pics/unown_s_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownS[] = INCBIN_U32("graphics/pokemon/back_pics/unown_s_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownS[] = INCBIN_U8("graphics/pokemon/icons/unown_S_icon.4bpp"); +const u32 gMonStillFrontPic_UnownS[] = INCBIN_U32("graphics/pokemon/unown/front_s.4bpp.lz"); +const u32 gMonBackPic_UnownS[] = INCBIN_U32("graphics/pokemon/unown/back_s.4bpp.lz"); +const u8 gMonIcon_UnownS[] = INCBIN_U8("graphics/pokemon/unown/icon_s.4bpp"); -const u32 gMonStillFrontPic_UnownT[] = INCBIN_U32("graphics/pokemon/front_pics/unown_t_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownT[] = INCBIN_U32("graphics/pokemon/back_pics/unown_t_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownT[] = INCBIN_U8("graphics/pokemon/icons/unown_T_icon.4bpp"); +const u32 gMonStillFrontPic_UnownT[] = INCBIN_U32("graphics/pokemon/unown/front_t.4bpp.lz"); +const u32 gMonBackPic_UnownT[] = INCBIN_U32("graphics/pokemon/unown/back_t.4bpp.lz"); +const u8 gMonIcon_UnownT[] = INCBIN_U8("graphics/pokemon/unown/icon_t.4bpp"); -const u32 gMonStillFrontPic_UnownU[] = INCBIN_U32("graphics/pokemon/front_pics/unown_u_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownU[] = INCBIN_U32("graphics/pokemon/back_pics/unown_u_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownU[] = INCBIN_U8("graphics/pokemon/icons/unown_U_icon.4bpp"); +const u32 gMonStillFrontPic_UnownU[] = INCBIN_U32("graphics/pokemon/unown/front_u.4bpp.lz"); +const u32 gMonBackPic_UnownU[] = INCBIN_U32("graphics/pokemon/unown/back_u.4bpp.lz"); +const u8 gMonIcon_UnownU[] = INCBIN_U8("graphics/pokemon/unown/icon_u.4bpp"); -const u32 gMonStillFrontPic_UnownV[] = INCBIN_U32("graphics/pokemon/front_pics/unown_v_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownV[] = INCBIN_U32("graphics/pokemon/back_pics/unown_v_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownV[] = INCBIN_U8("graphics/pokemon/icons/unown_V_icon.4bpp"); +const u32 gMonStillFrontPic_UnownV[] = INCBIN_U32("graphics/pokemon/unown/front_v.4bpp.lz"); +const u32 gMonBackPic_UnownV[] = INCBIN_U32("graphics/pokemon/unown/back_v.4bpp.lz"); +const u8 gMonIcon_UnownV[] = INCBIN_U8("graphics/pokemon/unown/icon_v.4bpp"); -const u32 gMonStillFrontPic_UnownW[] = INCBIN_U32("graphics/pokemon/front_pics/unown_w_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownW[] = INCBIN_U32("graphics/pokemon/back_pics/unown_w_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownW[] = INCBIN_U8("graphics/pokemon/icons/unown_W_icon.4bpp"); +const u32 gMonStillFrontPic_UnownW[] = INCBIN_U32("graphics/pokemon/unown/front_w.4bpp.lz"); +const u32 gMonBackPic_UnownW[] = INCBIN_U32("graphics/pokemon/unown/back_w.4bpp.lz"); +const u8 gMonIcon_UnownW[] = INCBIN_U8("graphics/pokemon/unown/icon_w.4bpp"); -const u32 gMonStillFrontPic_UnownX[] = INCBIN_U32("graphics/pokemon/front_pics/unown_x_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownX[] = INCBIN_U32("graphics/pokemon/back_pics/unown_x_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownX[] = INCBIN_U8("graphics/pokemon/icons/unown_X_icon.4bpp"); +const u32 gMonStillFrontPic_UnownX[] = INCBIN_U32("graphics/pokemon/unown/front_x.4bpp.lz"); +const u32 gMonBackPic_UnownX[] = INCBIN_U32("graphics/pokemon/unown/back_x.4bpp.lz"); +const u8 gMonIcon_UnownX[] = INCBIN_U8("graphics/pokemon/unown/icon_x.4bpp"); -const u32 gMonStillFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/front_pics/unown_y_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownY[] = INCBIN_U32("graphics/pokemon/back_pics/unown_y_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownY[] = INCBIN_U8("graphics/pokemon/icons/unown_Y_icon.4bpp"); +const u32 gMonStillFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/front_y.4bpp.lz"); +const u32 gMonBackPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/back_y.4bpp.lz"); +const u8 gMonIcon_UnownY[] = INCBIN_U8("graphics/pokemon/unown/icon_y.4bpp"); -const u32 gMonStillFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/front_pics/unown_z_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownZ[] = INCBIN_U32("graphics/pokemon/back_pics/unown_z_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownZ[] = INCBIN_U8("graphics/pokemon/icons/unown_Z_icon.4bpp"); +const u32 gMonStillFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/front_z.4bpp.lz"); +const u32 gMonBackPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/back_z.4bpp.lz"); +const u8 gMonIcon_UnownZ[] = INCBIN_U8("graphics/pokemon/unown/icon_z.4bpp"); -const u32 gMonStillFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/icons/unown_exclamation_mark_icon.4bpp"); +const u32 gMonStillFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/front_exclamation_mark.4bpp.lz"); +const u32 gMonBackPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/back_exclamation_mark.4bpp.lz"); +const u8 gMonIcon_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/unown/icon_exclamation_mark.4bpp"); -const u32 gMonStillFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/front_pics/unown_question_mark_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/back_pics/unown_question_mark_back_pic.4bpp.lz"); -const u8 gMonIcon_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/icons/unown_question_mark_icon.4bpp"); +const u32 gMonStillFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/front_question_mark.4bpp.lz"); +const u32 gMonBackPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/back_question_mark.4bpp.lz"); +const u8 gMonIcon_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/unown/icon_question_mark.4bpp"); From d0115db5656944bcb4f44323bbd01b9a30780abc Mon Sep 17 00:00:00 2001 From: garak Date: Thu, 14 Mar 2019 19:09:56 -0400 Subject: [PATCH 35/47] move pokemon graphics to mon-specific directories --- .../anim_front.png} | Bin .../abra_back_pic.png => abra/back.png} | Bin .../abra_footprint.png => abra/footprint.png} | Bin .../front.png} | Bin .../{icons/abra_icon.png => abra/icon.png} | Bin .../abra_palette.pal => abra/normal.pal} | 0 .../abra_shiny_palette.pal => abra/shiny.pal} | 0 .../anim_front.png} | Bin .../absol_back_pic.png => absol/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/absol_icon.png => absol/icon.png} | Bin .../absol_palette.pal => absol/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../aggron_back_pic.png => aggron/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../aggron_icon.png => aggron/icon.png} | Bin .../aggron_palette.pal => aggron/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../aipom_back_pic.png => aipom/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/aipom_icon.png => aipom/icon.png} | Bin .../aipom_palette.pal => aipom/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../alakazam_icon.png => alakazam/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../altaria_back_pic.png => altaria/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../altaria_icon.png => altaria/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../ampharos_icon.png => ampharos/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../anorith_back_pic.png => anorith/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../anorith_icon.png => anorith/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../arbok_back_pic.png => arbok/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/arbok_icon.png => arbok/icon.png} | Bin .../arbok_palette.pal => arbok/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../arcanine_icon.png => arcanine/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../ariados_back_pic.png => ariados/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../ariados_icon.png => ariados/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../armaldo_back_pic.png => armaldo/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../armaldo_icon.png => armaldo/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../aron_back_pic.png => aron/back.png} | Bin .../aron_footprint.png => aron/footprint.png} | Bin .../front.png} | Bin .../{icons/aron_icon.png => aron/icon.png} | Bin .../aron_palette.pal => aron/normal.pal} | 0 .../aron_shiny_palette.pal => aron/shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../articuno_icon.png => articuno/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../azumarill_icon.png => azumarill/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../azurill_back_pic.png => azurill/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../azurill_icon.png => azurill/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../bagon_back_pic.png => bagon/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/bagon_icon.png => bagon/icon.png} | Bin .../bagon_palette.pal => bagon/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../baltoy_back_pic.png => baltoy/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../baltoy_icon.png => baltoy/icon.png} | Bin .../baltoy_palette.pal => baltoy/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../banette_back_pic.png => banette/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../banette_icon.png => banette/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../barboach_icon.png => barboach/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../bayleef_back_pic.png => bayleef/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../bayleef_icon.png => bayleef/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../beautifly_icon.png => beautifly/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../beedrill_icon.png => beedrill/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../beldum_back_pic.png => beldum/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../beldum_icon.png => beldum/icon.png} | Bin .../beldum_palette.pal => beldum/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../bellossom_icon.png => bellossom/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../blastoise_icon.png => blastoise/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../blaziken_icon.png => blaziken/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../blissey_back_pic.png => blissey/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../blissey_icon.png => blissey/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../breloom_back_pic.png => breloom/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../breloom_icon.png => breloom/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../bulbasaur_icon.png => bulbasaur/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../cacnea_back_pic.png => cacnea/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../cacnea_icon.png => cacnea/icon.png} | Bin .../cacnea_palette.pal => cacnea/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../cacturne_icon.png => cacturne/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../camerupt_icon.png => camerupt/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../carvanha_icon.png => carvanha/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../cascoon_back_pic.png => cascoon/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../cascoon_icon.png => cascoon/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front_normal_form.png} | Bin .../anim_front_rainy_form.png} | Bin .../anim_front_snowy_form.png} | Bin .../anim_front_sunny_form.png} | Bin .../back_normal_form.png} | Bin .../back_rainy_form.png} | Bin .../back_snowy_form.png} | Bin .../back_sunny_form.png} | Bin .../footprint.png} | Bin .../front_normal_form.png} | Bin .../front_rainy_form.png} | Bin .../front_snowy_form.png} | Bin .../front_sunny_form.png} | Bin .../castform_icon.png => castform/icon.png} | Bin .../normal_normal_form.pal} | 0 .../normal_rainy_form.pal} | 0 .../normal_snowy_form.pal} | 0 .../normal_sunny_form.pal} | 0 .../shiny_normal_form.pal} | 0 .../shiny_rainy_form.pal} | 0 .../shiny_snowy_form.pal} | 0 .../shiny_sunny_form.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../caterpie_icon.png => caterpie/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../celebi_back_pic.png => celebi/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../celebi_icon.png => celebi/icon.png} | Bin .../celebi_palette.pal => celebi/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../chansey_back_pic.png => chansey/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../chansey_icon.png => chansey/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../charizard_icon.png => charizard/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../chikorita_icon.png => chikorita/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../chimecho_icon.png => chimecho/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../chinchou_icon.png => chinchou/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../front.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../clamperl_icon.png => clamperl/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../claydol_back_pic.png => claydol/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../claydol_icon.png => claydol/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../clefable_icon.png => clefable/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../clefairy_icon.png => clefairy/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../cleffa_back_pic.png => cleffa/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../cleffa_icon.png => cleffa/icon.png} | Bin .../cleffa_palette.pal => cleffa/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../cloyster_icon.png => cloyster/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../combusken_icon.png => combusken/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../corphish_icon.png => corphish/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../corsola_back_pic.png => corsola/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../corsola_icon.png => corsola/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../cradily_back_pic.png => cradily/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../cradily_icon.png => cradily/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../crawdaunt_icon.png => crawdaunt/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../crobat_back_pic.png => crobat/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../crobat_icon.png => crobat/icon.png} | Bin .../crobat_palette.pal => crobat/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../croconaw_icon.png => croconaw/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../cubone_back_pic.png => cubone/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../cubone_icon.png => cubone/icon.png} | Bin .../cubone_palette.pal => cubone/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../cyndaquil_icon.png => cyndaquil/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../delcatty_icon.png => delcatty/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../delibird_icon.png => delibird/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../deoxys_back_pic.png => deoxys/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../deoxys_icon.png => deoxys/icon.png} | Bin .../icon_speed.png} | Bin .../deoxys_palette.pal => deoxys/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../dewgong_back_pic.png => dewgong/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../dewgong_icon.png => dewgong/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../diglett_back_pic.png => diglett/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../diglett_icon.png => diglett/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../ditto_back_pic.png => ditto/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/ditto_icon.png => ditto/icon.png} | Bin .../ditto_palette.pal => ditto/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../dodrio_back_pic.png => dodrio/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../dodrio_icon.png => dodrio/icon.png} | Bin .../dodrio_palette.pal => dodrio/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../doduo_back_pic.png => doduo/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/doduo_icon.png => doduo/icon.png} | Bin .../doduo_palette.pal => doduo/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../donphan_back_pic.png => donphan/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../donphan_icon.png => donphan/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../front.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../dragonair_icon.png => dragonair/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../dragonite_icon.png => dragonite/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../dratini_back_pic.png => dratini/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../dratini_icon.png => dratini/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../drowzee_back_pic.png => drowzee/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../drowzee_icon.png => drowzee/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../dugtrio_back_pic.png => dugtrio/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../dugtrio_icon.png => dugtrio/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../dunsparce_icon.png => dunsparce/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../dusclops_icon.png => dusclops/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../duskull_back_pic.png => duskull/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../duskull_icon.png => duskull/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../dustox_back_pic.png => dustox/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../dustox_icon.png => dustox/icon.png} | Bin .../dustox_palette.pal => dustox/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../eevee_back_pic.png => eevee/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/eevee_icon.png => eevee/icon.png} | Bin .../eevee_palette.pal => eevee/normal.pal} | 0 .../shiny.pal} | 0 .../egg_front_pic.png => egg/anim_front.png} | Bin .../egg_still_front_pic.png => egg/front.png} | Bin .../{icons/egg_icon.png => egg/icon.png} | Bin .../egg_palette.pal => egg/normal.pal} | 0 .../anim_front.png} | Bin .../ekans_back_pic.png => ekans/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/ekans_icon.png => ekans/icon.png} | Bin .../ekans_palette.pal => ekans/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../electrike_icon.png => electrike/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../electrode_icon.png => electrode/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../elekid_back_pic.png => elekid/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../elekid_icon.png => elekid/icon.png} | Bin .../elekid_palette.pal => elekid/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../entei_back_pic.png => entei/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/entei_icon.png => entei/icon.png} | Bin .../entei_palette.pal => entei/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../espeon_back_pic.png => espeon/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../espeon_icon.png => espeon/icon.png} | Bin .../espeon_palette.pal => espeon/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../exeggcute_icon.png => exeggcute/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../exeggutor_icon.png => exeggutor/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../exploud_back_pic.png => exploud/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../exploud_icon.png => exploud/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../fearow_back_pic.png => fearow/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../fearow_icon.png => fearow/icon.png} | Bin .../fearow_palette.pal => fearow/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../feebas_back_pic.png => feebas/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../feebas_icon.png => feebas/icon.png} | Bin .../feebas_palette.pal => feebas/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../flaaffy_back_pic.png => flaaffy/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../flaaffy_icon.png => flaaffy/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../flareon_back_pic.png => flareon/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../flareon_icon.png => flareon/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../flygon_back_pic.png => flygon/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../flygon_icon.png => flygon/icon.png} | Bin .../flygon_palette.pal => flygon/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../furret_back_pic.png => furret/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../furret_icon.png => furret/icon.png} | Bin .../furret_palette.pal => furret/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../gardevoir_icon.png => gardevoir/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../gastly_back_pic.png => gastly/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../gastly_icon.png => gastly/icon.png} | Bin .../gastly_palette.pal => gastly/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../gengar_back_pic.png => gengar/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../gengar_icon.png => gengar/icon.png} | Bin .../gengar_palette.pal => gengar/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../geodude_back_pic.png => geodude/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../geodude_icon.png => geodude/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../girafarig_icon.png => girafarig/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../glalie_back_pic.png => glalie/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../glalie_icon.png => glalie/icon.png} | Bin .../glalie_palette.pal => glalie/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../gligar_back_pic.png => gligar/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../gligar_icon.png => gligar/icon.png} | Bin .../gligar_palette.pal => gligar/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../gloom_back_pic.png => gloom/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/gloom_icon.png => gloom/icon.png} | Bin .../gloom_palette.pal => gloom/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../golbat_back_pic.png => golbat/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../golbat_icon.png => golbat/icon.png} | Bin .../golbat_palette.pal => golbat/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../goldeen_back_pic.png => goldeen/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../goldeen_icon.png => goldeen/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../golduck_back_pic.png => golduck/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../golduck_icon.png => golduck/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../golem_back_pic.png => golem/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/golem_icon.png => golem/icon.png} | Bin .../golem_palette.pal => golem/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../gorebyss_icon.png => gorebyss/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../granbull_icon.png => granbull/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../graveler_icon.png => graveler/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../grimer_back_pic.png => grimer/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../grimer_icon.png => grimer/icon.png} | Bin .../grimer_palette.pal => grimer/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../groudon_back_pic.png => groudon/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../groudon_icon.png => groudon/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../grovyle_back_pic.png => grovyle/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../grovyle_icon.png => grovyle/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../growlithe_icon.png => growlithe/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../grumpig_back_pic.png => grumpig/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../grumpig_icon.png => grumpig/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../gulpin_back_pic.png => gulpin/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../gulpin_icon.png => gulpin/icon.png} | Bin .../gulpin_palette.pal => gulpin/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../gyarados_icon.png => gyarados/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../hariyama_icon.png => hariyama/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../haunter_back_pic.png => haunter/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../haunter_icon.png => haunter/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../heracross_icon.png => heracross/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../hitmonlee_icon.png => hitmonlee/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../hitmontop_icon.png => hitmontop/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../ho_oh_back_pic.png => ho_oh/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/ho_oh_icon.png => ho_oh/icon.png} | Bin .../ho_oh_palette.pal => ho_oh/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../hoothoot_icon.png => hoothoot/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../hoppip_back_pic.png => hoppip/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../hoppip_icon.png => hoppip/icon.png} | Bin .../hoppip_palette.pal => hoppip/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../horsea_back_pic.png => horsea/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../horsea_icon.png => horsea/icon.png} | Bin .../horsea_palette.pal => horsea/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../houndoom_icon.png => houndoom/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../houndour_icon.png => houndour/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../huntail_back_pic.png => huntail/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../huntail_icon.png => huntail/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../hypno_back_pic.png => hypno/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/hypno_icon.png => hypno/icon.png} | Bin .../hypno_palette.pal => hypno/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../igglybuff_icon.png => igglybuff/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../illumise_icon.png => illumise/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../ivysaur_back_pic.png => ivysaur/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../ivysaur_icon.png => ivysaur/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../jirachi_back_pic.png => jirachi/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../jirachi_icon.png => jirachi/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../jolteon_back_pic.png => jolteon/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../jolteon_icon.png => jolteon/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../jumpluff_icon.png => jumpluff/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../jynx_back_pic.png => jynx/back.png} | Bin .../jynx_footprint.png => jynx/footprint.png} | Bin .../front.png} | Bin .../{icons/jynx_icon.png => jynx/icon.png} | Bin .../jynx_palette.pal => jynx/normal.pal} | 0 .../jynx_shiny_palette.pal => jynx/shiny.pal} | 0 .../anim_front.png} | Bin .../kabuto_back_pic.png => kabuto/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../kabuto_icon.png => kabuto/icon.png} | Bin .../kabuto_palette.pal => kabuto/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../kabutops_icon.png => kabutops/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../kadabra_back_pic.png => kadabra/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../kadabra_icon.png => kadabra/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../kakuna_back_pic.png => kakuna/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../kakuna_icon.png => kakuna/icon.png} | Bin .../kakuna_palette.pal => kakuna/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../kecleon_back_pic.png => kecleon/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../kecleon_icon.png => kecleon/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../kingdra_back_pic.png => kingdra/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../kingdra_icon.png => kingdra/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../kingler_back_pic.png => kingler/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../kingler_icon.png => kingler/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../kirlia_back_pic.png => kirlia/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../kirlia_icon.png => kirlia/icon.png} | Bin .../kirlia_palette.pal => kirlia/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../koffing_back_pic.png => koffing/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../koffing_icon.png => koffing/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../krabby_back_pic.png => krabby/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../krabby_icon.png => krabby/icon.png} | Bin .../krabby_palette.pal => krabby/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../kyogre_back_pic.png => kyogre/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../kyogre_icon.png => kyogre/icon.png} | Bin .../kyogre_palette.pal => kyogre/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../lairon_back_pic.png => lairon/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../lairon_icon.png => lairon/icon.png} | Bin .../lairon_palette.pal => lairon/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../lanturn_back_pic.png => lanturn/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../lanturn_icon.png => lanturn/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../lapras_back_pic.png => lapras/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../lapras_icon.png => lapras/icon.png} | Bin .../lapras_palette.pal => lapras/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../larvitar_icon.png => larvitar/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../latias_back_pic.png => latias/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../latias_icon.png => latias/icon.png} | Bin .../latias_palette.pal => latias/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../latios_back_pic.png => latios/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../latios_icon.png => latios/icon.png} | Bin .../latios_palette.pal => latios/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../ledian_back_pic.png => ledian/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../ledian_icon.png => ledian/icon.png} | Bin .../ledian_palette.pal => ledian/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../ledyba_back_pic.png => ledyba/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../ledyba_icon.png => ledyba/icon.png} | Bin .../ledyba_palette.pal => ledyba/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../lickitung_icon.png => lickitung/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../lileep_back_pic.png => lileep/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../lileep_icon.png => lileep/icon.png} | Bin .../lileep_palette.pal => lileep/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../linoone_back_pic.png => linoone/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../linoone_icon.png => linoone/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../lombre_back_pic.png => lombre/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../lombre_icon.png => lombre/icon.png} | Bin .../lombre_palette.pal => lombre/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../lotad_back_pic.png => lotad/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/lotad_icon.png => lotad/icon.png} | Bin .../lotad_palette.pal => lotad/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../loudred_back_pic.png => loudred/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../loudred_icon.png => loudred/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../ludicolo_icon.png => ludicolo/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../lugia_back_pic.png => lugia/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/lugia_icon.png => lugia/icon.png} | Bin .../lugia_palette.pal => lugia/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../lunatone_icon.png => lunatone/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../luvdisc_back_pic.png => luvdisc/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../luvdisc_icon.png => luvdisc/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../machamp_back_pic.png => machamp/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../machamp_icon.png => machamp/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../machoke_back_pic.png => machoke/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../machoke_icon.png => machoke/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../machop_back_pic.png => machop/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../machop_icon.png => machop/icon.png} | Bin .../machop_palette.pal => machop/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../magby_back_pic.png => magby/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/magby_icon.png => magby/icon.png} | Bin .../magby_palette.pal => magby/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../magcargo_icon.png => magcargo/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../magikarp_icon.png => magikarp/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../magmar_back_pic.png => magmar/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../magmar_icon.png => magmar/icon.png} | Bin .../magmar_palette.pal => magmar/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../magnemite_icon.png => magnemite/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../magneton_icon.png => magneton/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../makuhita_icon.png => makuhita/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../manectric_icon.png => manectric/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../mankey_back_pic.png => mankey/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../mankey_icon.png => mankey/icon.png} | Bin .../mankey_palette.pal => mankey/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../mantine_back_pic.png => mantine/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../mantine_icon.png => mantine/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../mareep_back_pic.png => mareep/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../mareep_icon.png => mareep/icon.png} | Bin .../mareep_palette.pal => mareep/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../marill_back_pic.png => marill/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../marill_icon.png => marill/icon.png} | Bin .../marill_palette.pal => marill/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../marowak_back_pic.png => marowak/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../marowak_icon.png => marowak/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../marshtomp_icon.png => marshtomp/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../mawile_back_pic.png => mawile/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../mawile_icon.png => mawile/icon.png} | Bin .../mawile_palette.pal => mawile/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../medicham_icon.png => medicham/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../meditite_icon.png => meditite/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../meganium_icon.png => meganium/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../meowth_back_pic.png => meowth/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../meowth_icon.png => meowth/icon.png} | Bin .../meowth_palette.pal => meowth/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../metagross_icon.png => metagross/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../metang_back_pic.png => metang/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../metang_icon.png => metang/icon.png} | Bin .../metang_palette.pal => metang/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../metapod_back_pic.png => metapod/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../metapod_icon.png => metapod/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../mew_front_pic.png => mew/anim_front.png} | Bin .../mew_back_pic.png => mew/back.png} | Bin .../mew_footprint.png => mew/footprint.png} | Bin .../mew_still_front_pic.png => mew/front.png} | Bin .../{icons/mew_icon.png => mew/icon.png} | Bin .../mew_palette.pal => mew/normal.pal} | 0 .../mew_shiny_palette.pal => mew/shiny.pal} | 0 .../anim_front.png} | Bin .../mewtwo_back_pic.png => mewtwo/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../mewtwo_icon.png => mewtwo/icon.png} | Bin .../mewtwo_palette.pal => mewtwo/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../mightyena_icon.png => mightyena/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../milotic_back_pic.png => milotic/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../milotic_icon.png => milotic/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../miltank_back_pic.png => miltank/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../miltank_icon.png => miltank/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../minun_back_pic.png => minun/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/minun_icon.png => minun/icon.png} | Bin .../minun_palette.pal => minun/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../moltres_back_pic.png => moltres/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../moltres_icon.png => moltres/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../mr_mime_back_pic.png => mr_mime/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../mr_mime_icon.png => mr_mime/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../mudkip_back_pic.png => mudkip/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../mudkip_icon.png => mudkip/icon.png} | Bin .../mudkip_palette.pal => mudkip/normal.pal} | 0 .../shiny.pal} | 0 .../muk_front_pic.png => muk/anim_front.png} | Bin .../muk_back_pic.png => muk/back.png} | Bin .../muk_footprint.png => muk/footprint.png} | Bin .../muk_still_front_pic.png => muk/front.png} | Bin .../{icons/muk_icon.png => muk/icon.png} | Bin .../muk_palette.pal => muk/normal.pal} | 0 .../muk_shiny_palette.pal => muk/shiny.pal} | 0 .../anim_front.png} | Bin .../murkrow_back_pic.png => murkrow/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../murkrow_icon.png => murkrow/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../natu_back_pic.png => natu/back.png} | Bin .../natu_footprint.png => natu/footprint.png} | Bin .../front.png} | Bin .../{icons/natu_icon.png => natu/icon.png} | Bin .../natu_palette.pal => natu/normal.pal} | 0 .../natu_shiny_palette.pal => natu/shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../nidoking_icon.png => nidoking/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../nidoqueen_icon.png => nidoqueen/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../nidoran_f_icon.png => nidoran_f/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../nidoran_m_icon.png => nidoran_m/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../nidorina_icon.png => nidorina/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../nidorino_icon.png => nidorino/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../nincada_back_pic.png => nincada/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../nincada_icon.png => nincada/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../ninetales_icon.png => ninetales/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../ninjask_back_pic.png => ninjask/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../ninjask_icon.png => ninjask/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../noctowl_back_pic.png => noctowl/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../noctowl_icon.png => noctowl/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../nosepass_icon.png => nosepass/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../numel_back_pic.png => numel/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/numel_icon.png => numel/icon.png} | Bin .../numel_palette.pal => numel/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../nuzleaf_back_pic.png => nuzleaf/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../nuzleaf_icon.png => nuzleaf/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../octillery_icon.png => octillery/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../oddish_back_pic.png => oddish/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../oddish_icon.png => oddish/icon.png} | Bin .../oddish_palette.pal => oddish/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../omanyte_back_pic.png => omanyte/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../omanyte_icon.png => omanyte/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../omastar_back_pic.png => omastar/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../omastar_icon.png => omastar/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../onix_back_pic.png => onix/back.png} | Bin .../onix_footprint.png => onix/footprint.png} | Bin .../front.png} | Bin .../{icons/onix_icon.png => onix/icon.png} | Bin .../onix_palette.pal => onix/normal.pal} | 0 .../onix_shiny_palette.pal => onix/shiny.pal} | 0 .../anim_front.png} | Bin .../paras_back_pic.png => paras/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/paras_icon.png => paras/icon.png} | Bin .../paras_palette.pal => paras/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../parasect_icon.png => parasect/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../pelipper_icon.png => pelipper/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../persian_back_pic.png => persian/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../persian_icon.png => persian/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../phanpy_back_pic.png => phanpy/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../phanpy_icon.png => phanpy/icon.png} | Bin .../phanpy_palette.pal => phanpy/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../pichu_back_pic.png => pichu/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/pichu_icon.png => pichu/icon.png} | Bin .../pichu_palette.pal => pichu/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../pidgeot_back_pic.png => pidgeot/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../pidgeot_icon.png => pidgeot/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../pidgeotto_icon.png => pidgeotto/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../pidgey_back_pic.png => pidgey/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../pidgey_icon.png => pidgey/icon.png} | Bin .../pidgey_palette.pal => pidgey/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../pikachu_back_pic.png => pikachu/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../pikachu_icon.png => pikachu/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../piloswine_icon.png => piloswine/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../pineco_back_pic.png => pineco/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../pineco_icon.png => pineco/icon.png} | Bin .../pineco_palette.pal => pineco/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../pinsir_back_pic.png => pinsir/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../pinsir_icon.png => pinsir/icon.png} | Bin .../pinsir_palette.pal => pinsir/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../plusle_back_pic.png => plusle/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../plusle_icon.png => plusle/icon.png} | Bin .../plusle_palette.pal => plusle/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../politoed_icon.png => politoed/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../poliwag_back_pic.png => poliwag/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../poliwag_icon.png => poliwag/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../poliwhirl_icon.png => poliwhirl/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../poliwrath_icon.png => poliwrath/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../ponyta_back_pic.png => ponyta/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../ponyta_icon.png => ponyta/icon.png} | Bin .../ponyta_palette.pal => ponyta/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../poochyena_icon.png => poochyena/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../porygon_back_pic.png => porygon/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../porygon_icon.png => porygon/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../porygon2_icon.png => porygon2/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../primeape_icon.png => primeape/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../psyduck_back_pic.png => psyduck/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../psyduck_icon.png => psyduck/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../pupitar_back_pic.png => pupitar/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../pupitar_icon.png => pupitar/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../quagsire_icon.png => quagsire/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../footprint.png} | Bin .../icon.png} | Bin .../anim_front.png} | Bin .../quilava_back_pic.png => quilava/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../quilava_icon.png => quilava/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../qwilfish_icon.png => qwilfish/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../raichu_back_pic.png => raichu/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../raichu_icon.png => raichu/icon.png} | Bin .../raichu_palette.pal => raichu/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../raikou_back_pic.png => raikou/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../raikou_icon.png => raikou/icon.png} | Bin .../raikou_palette.pal => raikou/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../ralts_back_pic.png => ralts/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/ralts_icon.png => ralts/icon.png} | Bin .../ralts_palette.pal => ralts/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../rapidash_icon.png => rapidash/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../raticate_icon.png => raticate/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../rattata_back_pic.png => rattata/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../rattata_icon.png => rattata/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../rayquaza_icon.png => rayquaza/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../regice_back_pic.png => regice/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../regice_icon.png => regice/icon.png} | Bin .../regice_palette.pal => regice/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../regirock_icon.png => regirock/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../registeel_icon.png => registeel/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../relicanth_icon.png => relicanth/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../remoraid_icon.png => remoraid/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../rhydon_back_pic.png => rhydon/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../rhydon_icon.png => rhydon/icon.png} | Bin .../rhydon_palette.pal => rhydon/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../rhyhorn_back_pic.png => rhyhorn/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../rhyhorn_icon.png => rhyhorn/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../roselia_back_pic.png => roselia/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../roselia_icon.png => roselia/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../sableye_back_pic.png => sableye/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../sableye_icon.png => sableye/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../salamence_icon.png => salamence/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../sandshrew_icon.png => sandshrew/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../sandslash_icon.png => sandslash/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../sceptile_icon.png => sceptile/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../scizor_back_pic.png => scizor/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../scizor_icon.png => scizor/icon.png} | Bin .../scizor_palette.pal => scizor/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../scyther_back_pic.png => scyther/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../scyther_icon.png => scyther/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../seadra_back_pic.png => seadra/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../seadra_icon.png => seadra/icon.png} | Bin .../seadra_palette.pal => seadra/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../seaking_back_pic.png => seaking/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../seaking_icon.png => seaking/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../sealeo_back_pic.png => sealeo/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../sealeo_icon.png => sealeo/icon.png} | Bin .../sealeo_palette.pal => sealeo/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../seedot_back_pic.png => seedot/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../seedot_icon.png => seedot/icon.png} | Bin .../seedot_palette.pal => seedot/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../seel_back_pic.png => seel/back.png} | Bin .../seel_footprint.png => seel/footprint.png} | Bin .../front.png} | Bin .../{icons/seel_icon.png => seel/icon.png} | Bin .../seel_palette.pal => seel/normal.pal} | 0 .../seel_shiny_palette.pal => seel/shiny.pal} | 0 .../anim_front.png} | Bin .../sentret_back_pic.png => sentret/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../sentret_icon.png => sentret/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../seviper_back_pic.png => seviper/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../seviper_icon.png => seviper/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../sharpedo_icon.png => sharpedo/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../shedinja_icon.png => shedinja/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../shelgon_back_pic.png => shelgon/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../shelgon_icon.png => shelgon/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../shellder_icon.png => shellder/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../shiftry_back_pic.png => shiftry/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../shiftry_icon.png => shiftry/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../shroomish_icon.png => shroomish/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../shuckle_back_pic.png => shuckle/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../shuckle_icon.png => shuckle/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../shuppet_back_pic.png => shuppet/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../shuppet_icon.png => shuppet/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../silcoon_back_pic.png => silcoon/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../silcoon_icon.png => silcoon/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../skarmory_icon.png => skarmory/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../skiploom_icon.png => skiploom/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../skitty_back_pic.png => skitty/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../skitty_icon.png => skitty/icon.png} | Bin .../skitty_palette.pal => skitty/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../slaking_back_pic.png => slaking/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../slaking_icon.png => slaking/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../slakoth_back_pic.png => slakoth/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../slakoth_icon.png => slakoth/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../slowbro_back_pic.png => slowbro/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../slowbro_icon.png => slowbro/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../slowking_icon.png => slowking/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../slowpoke_icon.png => slowpoke/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../slugma_back_pic.png => slugma/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../slugma_icon.png => slugma/icon.png} | Bin .../slugma_palette.pal => slugma/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../smeargle_icon.png => smeargle/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../smoochum_icon.png => smoochum/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../sneasel_back_pic.png => sneasel/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../sneasel_icon.png => sneasel/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../snorlax_back_pic.png => snorlax/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../snorlax_icon.png => snorlax/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../snorunt_back_pic.png => snorunt/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../snorunt_icon.png => snorunt/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../snubbull_icon.png => snubbull/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../solrock_back_pic.png => solrock/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../solrock_icon.png => solrock/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../spearow_back_pic.png => spearow/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../spearow_icon.png => spearow/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../spheal_back_pic.png => spheal/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../spheal_icon.png => spheal/icon.png} | Bin .../spheal_palette.pal => spheal/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../spinarak_icon.png => spinarak/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../spinda_back_pic.png => spinda/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../spinda_icon.png => spinda/icon.png} | Bin .../spinda_palette.pal => spinda/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../spoink_back_pic.png => spoink/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../spoink_icon.png => spoink/icon.png} | Bin .../spoink_palette.pal => spoink/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../squirtle_icon.png => squirtle/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../stantler_icon.png => stantler/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../starmie_back_pic.png => starmie/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../starmie_icon.png => starmie/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../staryu_back_pic.png => staryu/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../staryu_icon.png => staryu/icon.png} | Bin .../staryu_palette.pal => staryu/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../steelix_back_pic.png => steelix/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../steelix_icon.png => steelix/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../sudowoodo_icon.png => sudowoodo/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../suicune_back_pic.png => suicune/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../suicune_icon.png => suicune/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../sunflora_icon.png => sunflora/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../sunkern_back_pic.png => sunkern/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../sunkern_icon.png => sunkern/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../surskit_back_pic.png => surskit/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../surskit_icon.png => surskit/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../swablu_back_pic.png => swablu/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../swablu_icon.png => swablu/icon.png} | Bin .../swablu_palette.pal => swablu/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../swalot_back_pic.png => swalot/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../swalot_icon.png => swalot/icon.png} | Bin .../swalot_palette.pal => swalot/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../swampert_icon.png => swampert/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../swellow_back_pic.png => swellow/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../swellow_icon.png => swellow/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../swinub_back_pic.png => swinub/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../swinub_icon.png => swinub/icon.png} | Bin .../swinub_palette.pal => swinub/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../taillow_back_pic.png => taillow/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../taillow_icon.png => taillow/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../tangela_back_pic.png => tangela/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../tangela_icon.png => tangela/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../tauros_back_pic.png => tauros/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../tauros_icon.png => tauros/icon.png} | Bin .../tauros_palette.pal => tauros/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../teddiursa_icon.png => teddiursa/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../tentacool_icon.png => tentacool/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../togepi_back_pic.png => togepi/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../togepi_icon.png => togepi/icon.png} | Bin .../togepi_palette.pal => togepi/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../togetic_back_pic.png => togetic/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../togetic_icon.png => togetic/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../torchic_back_pic.png => torchic/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../torchic_icon.png => torchic/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../torkoal_back_pic.png => torkoal/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../torkoal_icon.png => torkoal/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../totodile_icon.png => totodile/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../trapinch_icon.png => trapinch/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../treecko_back_pic.png => treecko/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../treecko_icon.png => treecko/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../tropius_back_pic.png => tropius/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../tropius_icon.png => tropius/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../tyranitar_icon.png => tyranitar/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../tyrogue_back_pic.png => tyrogue/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../tyrogue_icon.png => tyrogue/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../umbreon_back_pic.png => umbreon/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../umbreon_icon.png => umbreon/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front_a.png} | Bin .../anim_front_b.png} | Bin .../anim_front_c.png} | Bin .../anim_front_d.png} | Bin .../anim_front_e.png} | Bin .../anim_front_exclamation_mark.png} | Bin .../anim_front_f.png} | Bin .../anim_front_g.png} | Bin .../anim_front_h.png} | Bin .../anim_front_i.png} | Bin .../anim_front_j.png} | Bin .../anim_front_k.png} | Bin .../anim_front_l.png} | Bin .../anim_front_m.png} | Bin .../anim_front_n.png} | Bin .../anim_front_o.png} | Bin .../anim_front_p.png} | Bin .../anim_front_q.png} | Bin .../anim_front_question_mark.png} | Bin .../anim_front_r.png} | Bin .../anim_front_s.png} | Bin .../anim_front_t.png} | Bin .../anim_front_u.png} | Bin .../anim_front_v.png} | Bin .../anim_front_w.png} | Bin .../anim_front_x.png} | Bin .../anim_front_y.png} | Bin .../anim_front_z.png} | Bin .../unown_a_back_pic.png => unown/back_a.png} | Bin .../unown_b_back_pic.png => unown/back_b.png} | Bin .../unown_c_back_pic.png => unown/back_c.png} | Bin .../unown_d_back_pic.png => unown/back_d.png} | Bin .../unown_e_back_pic.png => unown/back_e.png} | Bin .../back_exclamation_mark.png} | Bin .../unown_f_back_pic.png => unown/back_f.png} | Bin .../unown_g_back_pic.png => unown/back_g.png} | Bin .../unown_h_back_pic.png => unown/back_h.png} | Bin .../unown_i_back_pic.png => unown/back_i.png} | Bin .../unown_j_back_pic.png => unown/back_j.png} | Bin .../unown_k_back_pic.png => unown/back_k.png} | Bin .../unown_l_back_pic.png => unown/back_l.png} | Bin .../unown_m_back_pic.png => unown/back_m.png} | Bin .../unown_n_back_pic.png => unown/back_n.png} | Bin .../unown_o_back_pic.png => unown/back_o.png} | Bin .../unown_p_back_pic.png => unown/back_p.png} | Bin .../unown_q_back_pic.png => unown/back_q.png} | Bin .../back_question_mark.png} | Bin .../unown_r_back_pic.png => unown/back_r.png} | Bin .../unown_s_back_pic.png => unown/back_s.png} | Bin .../unown_t_back_pic.png => unown/back_t.png} | Bin .../unown_u_back_pic.png => unown/back_u.png} | Bin .../unown_v_back_pic.png => unown/back_v.png} | Bin .../unown_w_back_pic.png => unown/back_w.png} | Bin .../unown_x_back_pic.png => unown/back_x.png} | Bin .../unown_y_back_pic.png => unown/back_y.png} | Bin .../unown_z_back_pic.png => unown/back_z.png} | Bin .../footprint.png} | Bin .../front_a.png} | Bin .../front_b.png} | Bin .../front_c.png} | Bin .../front_d.png} | Bin .../front_e.png} | Bin .../front_exclamation_mark.png} | Bin .../front_f.png} | Bin .../front_g.png} | Bin .../front_h.png} | Bin .../front_i.png} | Bin .../front_j.png} | Bin .../front_k.png} | Bin .../front_l.png} | Bin .../front_m.png} | Bin .../front_n.png} | Bin .../front_o.png} | Bin .../front_p.png} | Bin .../front_q.png} | Bin .../front_question_mark.png} | Bin .../front_r.png} | Bin .../front_s.png} | Bin .../front_t.png} | Bin .../front_u.png} | Bin .../front_v.png} | Bin .../front_w.png} | Bin .../front_x.png} | Bin .../front_y.png} | Bin .../front_z.png} | Bin .../unown_a_icon.png => unown/icon_a.png} | Bin .../unown_B_icon.png => unown/icon_b.png} | Bin .../unown_C_icon.png => unown/icon_c.png} | Bin .../unown_D_icon.png => unown/icon_d.png} | Bin .../unown_E_icon.png => unown/icon_e.png} | Bin .../icon_exclamation_mark.png} | Bin .../unown_F_icon.png => unown/icon_f.png} | Bin .../unown_G_icon.png => unown/icon_g.png} | Bin .../unown_H_icon.png => unown/icon_h.png} | Bin .../unown_I_icon.png => unown/icon_i.png} | Bin .../unown_J_icon.png => unown/icon_j.png} | Bin .../unown_K_icon.png => unown/icon_k.png} | Bin .../unown_L_icon.png => unown/icon_l.png} | Bin .../unown_M_icon.png => unown/icon_m.png} | Bin .../unown_N_icon.png => unown/icon_n.png} | Bin .../unown_O_icon.png => unown/icon_o.png} | Bin .../unown_P_icon.png => unown/icon_p.png} | Bin .../unown_Q_icon.png => unown/icon_q.png} | Bin .../icon_question_mark.png} | Bin .../unown_R_icon.png => unown/icon_r.png} | Bin .../unown_S_icon.png => unown/icon_s.png} | Bin .../unown_T_icon.png => unown/icon_t.png} | Bin .../unown_U_icon.png => unown/icon_u.png} | Bin .../unown_V_icon.png => unown/icon_v.png} | Bin .../unown_W_icon.png => unown/icon_w.png} | Bin .../unown_X_icon.png => unown/icon_x.png} | Bin .../unown_Y_icon.png => unown/icon_y.png} | Bin .../unown_Z_icon.png => unown/icon_z.png} | Bin .../unown_palette.pal => unown/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../ursaring_icon.png => ursaring/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../vaporeon_icon.png => vaporeon/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../venomoth_icon.png => venomoth/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../venonat_back_pic.png => venonat/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../venonat_icon.png => venonat/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../venusaur_icon.png => venusaur/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../vibrava_back_pic.png => vibrava/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../vibrava_icon.png => vibrava/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../vigoroth_icon.png => vigoroth/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../vileplume_icon.png => vileplume/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../volbeat_back_pic.png => volbeat/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../volbeat_icon.png => volbeat/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../voltorb_back_pic.png => voltorb/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../voltorb_icon.png => voltorb/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../vulpix_back_pic.png => vulpix/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../vulpix_icon.png => vulpix/icon.png} | Bin .../vulpix_palette.pal => vulpix/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../wailmer_back_pic.png => wailmer/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../wailmer_icon.png => wailmer/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../wailord_back_pic.png => wailord/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../wailord_icon.png => wailord/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../walrein_back_pic.png => walrein/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../walrein_icon.png => walrein/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../wartortle_icon.png => wartortle/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../weedle_back_pic.png => weedle/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../weedle_icon.png => weedle/icon.png} | Bin .../weedle_palette.pal => weedle/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../weezing_back_pic.png => weezing/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../weezing_icon.png => weezing/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../whiscash_icon.png => whiscash/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../whismur_back_pic.png => whismur/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../whismur_icon.png => whismur/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../wingull_back_pic.png => wingull/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../wingull_icon.png => wingull/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../wobbuffet_icon.png => wobbuffet/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../wooper_back_pic.png => wooper/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../wooper_icon.png => wooper/icon.png} | Bin .../wooper_palette.pal => wooper/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../wurmple_back_pic.png => wurmple/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../wurmple_icon.png => wurmple/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../wynaut_back_pic.png => wynaut/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../wynaut_icon.png => wynaut/icon.png} | Bin .../wynaut_palette.pal => wynaut/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../xatu_back_pic.png => xatu/back.png} | Bin .../xatu_footprint.png => xatu/footprint.png} | Bin .../front.png} | Bin .../{icons/xatu_icon.png => xatu/icon.png} | Bin .../xatu_palette.pal => xatu/normal.pal} | 0 .../xatu_shiny_palette.pal => xatu/shiny.pal} | 0 .../anim_front.png} | Bin .../yanma_back_pic.png => yanma/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/yanma_icon.png => yanma/icon.png} | Bin .../yanma_palette.pal => yanma/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../zangoose_icon.png => zangoose/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../zapdos_back_pic.png => zapdos/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../zapdos_icon.png => zapdos/icon.png} | Bin .../zapdos_palette.pal => zapdos/normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../zigzagoon_icon.png => zigzagoon/icon.png} | Bin .../normal.pal} | 0 .../shiny.pal} | 0 .../anim_front.png} | Bin .../zubat_back_pic.png => zubat/back.png} | Bin .../footprint.png} | Bin .../front.png} | Bin .../{icons/zubat_icon.png => zubat/icon.png} | Bin .../zubat_palette.pal => zubat/normal.pal} | 0 .../shiny.pal} | 0 graphics_file_rules.mk | 82 +++++++++++------- src/anim_mon_front_pics.c | 2 +- src/data/graphics/pokemon.h | 14 +-- src/egg_hatch.c | 2 +- src/graphics.c | 14 +-- 2847 files changed, 67 insertions(+), 47 deletions(-) rename graphics/pokemon/{anim_front_pics/abra_front_pic.png => abra/anim_front.png} (100%) rename graphics/pokemon/{back_pics/abra_back_pic.png => abra/back.png} (100%) rename graphics/pokemon/{footprints/abra_footprint.png => abra/footprint.png} (100%) rename graphics/pokemon/{front_pics/abra_still_front_pic.png => abra/front.png} (100%) rename graphics/pokemon/{icons/abra_icon.png => abra/icon.png} (100%) rename graphics/pokemon/{palettes/abra_palette.pal => abra/normal.pal} (100%) rename graphics/pokemon/{palettes/abra_shiny_palette.pal => abra/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/absol_front_pic.png => absol/anim_front.png} (100%) rename graphics/pokemon/{back_pics/absol_back_pic.png => absol/back.png} (100%) rename graphics/pokemon/{footprints/absol_footprint.png => absol/footprint.png} (100%) rename graphics/pokemon/{front_pics/absol_still_front_pic.png => absol/front.png} (100%) rename graphics/pokemon/{icons/absol_icon.png => absol/icon.png} (100%) rename graphics/pokemon/{palettes/absol_palette.pal => absol/normal.pal} (100%) rename graphics/pokemon/{palettes/absol_shiny_palette.pal => absol/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/aerodactyl_front_pic.png => aerodactyl/anim_front.png} (100%) rename graphics/pokemon/{back_pics/aerodactyl_back_pic.png => aerodactyl/back.png} (100%) rename graphics/pokemon/{footprints/aerodactyl_footprint.png => aerodactyl/footprint.png} (100%) rename graphics/pokemon/{front_pics/aerodactyl_still_front_pic.png => aerodactyl/front.png} (100%) rename graphics/pokemon/{icons/aerodactyl_icon.png => aerodactyl/icon.png} (100%) rename graphics/pokemon/{palettes/aerodactyl_palette.pal => aerodactyl/normal.pal} (100%) rename graphics/pokemon/{palettes/aerodactyl_shiny_palette.pal => aerodactyl/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/aggron_front_pic.png => aggron/anim_front.png} (100%) rename graphics/pokemon/{back_pics/aggron_back_pic.png => aggron/back.png} (100%) rename graphics/pokemon/{footprints/aggron_footprint.png => aggron/footprint.png} (100%) rename graphics/pokemon/{front_pics/aggron_still_front_pic.png => aggron/front.png} (100%) rename graphics/pokemon/{icons/aggron_icon.png => aggron/icon.png} (100%) rename graphics/pokemon/{palettes/aggron_palette.pal => aggron/normal.pal} (100%) rename graphics/pokemon/{palettes/aggron_shiny_palette.pal => aggron/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/aipom_front_pic.png => aipom/anim_front.png} (100%) rename graphics/pokemon/{back_pics/aipom_back_pic.png => aipom/back.png} (100%) rename graphics/pokemon/{footprints/aipom_footprint.png => aipom/footprint.png} (100%) rename graphics/pokemon/{front_pics/aipom_still_front_pic.png => aipom/front.png} (100%) rename graphics/pokemon/{icons/aipom_icon.png => aipom/icon.png} (100%) rename graphics/pokemon/{palettes/aipom_palette.pal => aipom/normal.pal} (100%) rename graphics/pokemon/{palettes/aipom_shiny_palette.pal => aipom/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/alakazam_front_pic.png => alakazam/anim_front.png} (100%) rename graphics/pokemon/{back_pics/alakazam_back_pic.png => alakazam/back.png} (100%) rename graphics/pokemon/{footprints/alakazam_footprint.png => alakazam/footprint.png} (100%) rename graphics/pokemon/{front_pics/alakazam_still_front_pic.png => alakazam/front.png} (100%) rename graphics/pokemon/{icons/alakazam_icon.png => alakazam/icon.png} (100%) rename graphics/pokemon/{palettes/alakazam_palette.pal => alakazam/normal.pal} (100%) rename graphics/pokemon/{palettes/alakazam_shiny_palette.pal => alakazam/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/altaria_front_pic.png => altaria/anim_front.png} (100%) rename graphics/pokemon/{back_pics/altaria_back_pic.png => altaria/back.png} (100%) rename graphics/pokemon/{footprints/altaria_footprint.png => altaria/footprint.png} (100%) rename graphics/pokemon/{front_pics/altaria_still_front_pic.png => altaria/front.png} (100%) rename graphics/pokemon/{icons/altaria_icon.png => altaria/icon.png} (100%) rename graphics/pokemon/{palettes/altaria_palette.pal => altaria/normal.pal} (100%) rename graphics/pokemon/{palettes/altaria_shiny_palette.pal => altaria/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/ampharos_front_pic.png => ampharos/anim_front.png} (100%) rename graphics/pokemon/{back_pics/ampharos_back_pic.png => ampharos/back.png} (100%) rename graphics/pokemon/{footprints/ampharos_footprint.png => ampharos/footprint.png} (100%) rename graphics/pokemon/{front_pics/ampharos_still_front_pic.png => ampharos/front.png} (100%) rename graphics/pokemon/{icons/ampharos_icon.png => ampharos/icon.png} (100%) rename graphics/pokemon/{palettes/ampharos_palette.pal => ampharos/normal.pal} (100%) rename graphics/pokemon/{palettes/ampharos_shiny_palette.pal => ampharos/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/anorith_front_pic.png => anorith/anim_front.png} (100%) rename graphics/pokemon/{back_pics/anorith_back_pic.png => anorith/back.png} (100%) rename graphics/pokemon/{footprints/anorith_footprint.png => anorith/footprint.png} (100%) rename graphics/pokemon/{front_pics/anorith_still_front_pic.png => anorith/front.png} (100%) rename graphics/pokemon/{icons/anorith_icon.png => anorith/icon.png} (100%) rename graphics/pokemon/{palettes/anorith_palette.pal => anorith/normal.pal} (100%) rename graphics/pokemon/{palettes/anorith_shiny_palette.pal => anorith/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/arbok_front_pic.png => arbok/anim_front.png} (100%) rename graphics/pokemon/{back_pics/arbok_back_pic.png => arbok/back.png} (100%) rename graphics/pokemon/{footprints/arbok_footprint.png => arbok/footprint.png} (100%) rename graphics/pokemon/{front_pics/arbok_still_front_pic.png => arbok/front.png} (100%) rename graphics/pokemon/{icons/arbok_icon.png => arbok/icon.png} (100%) rename graphics/pokemon/{palettes/arbok_palette.pal => arbok/normal.pal} (100%) rename graphics/pokemon/{palettes/arbok_shiny_palette.pal => arbok/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/arcanine_front_pic.png => arcanine/anim_front.png} (100%) rename graphics/pokemon/{back_pics/arcanine_back_pic.png => arcanine/back.png} (100%) rename graphics/pokemon/{footprints/arcanine_footprint.png => arcanine/footprint.png} (100%) rename graphics/pokemon/{front_pics/arcanine_still_front_pic.png => arcanine/front.png} (100%) rename graphics/pokemon/{icons/arcanine_icon.png => arcanine/icon.png} (100%) rename graphics/pokemon/{palettes/arcanine_palette.pal => arcanine/normal.pal} (100%) rename graphics/pokemon/{palettes/arcanine_shiny_palette.pal => arcanine/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/ariados_front_pic.png => ariados/anim_front.png} (100%) rename graphics/pokemon/{back_pics/ariados_back_pic.png => ariados/back.png} (100%) rename graphics/pokemon/{footprints/ariados_footprint.png => ariados/footprint.png} (100%) rename graphics/pokemon/{front_pics/ariados_still_front_pic.png => ariados/front.png} (100%) rename graphics/pokemon/{icons/ariados_icon.png => ariados/icon.png} (100%) rename graphics/pokemon/{palettes/ariados_palette.pal => ariados/normal.pal} (100%) rename graphics/pokemon/{palettes/ariados_shiny_palette.pal => ariados/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/armaldo_front_pic.png => armaldo/anim_front.png} (100%) rename graphics/pokemon/{back_pics/armaldo_back_pic.png => armaldo/back.png} (100%) rename graphics/pokemon/{footprints/armaldo_footprint.png => armaldo/footprint.png} (100%) rename graphics/pokemon/{front_pics/armaldo_still_front_pic.png => armaldo/front.png} (100%) rename graphics/pokemon/{icons/armaldo_icon.png => armaldo/icon.png} (100%) rename graphics/pokemon/{palettes/armaldo_palette.pal => armaldo/normal.pal} (100%) rename graphics/pokemon/{palettes/armaldo_shiny_palette.pal => armaldo/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/aron_front_pic.png => aron/anim_front.png} (100%) rename graphics/pokemon/{back_pics/aron_back_pic.png => aron/back.png} (100%) rename graphics/pokemon/{footprints/aron_footprint.png => aron/footprint.png} (100%) rename graphics/pokemon/{front_pics/aron_still_front_pic.png => aron/front.png} (100%) rename graphics/pokemon/{icons/aron_icon.png => aron/icon.png} (100%) rename graphics/pokemon/{palettes/aron_palette.pal => aron/normal.pal} (100%) rename graphics/pokemon/{palettes/aron_shiny_palette.pal => aron/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/articuno_front_pic.png => articuno/anim_front.png} (100%) rename graphics/pokemon/{back_pics/articuno_back_pic.png => articuno/back.png} (100%) rename graphics/pokemon/{footprints/articuno_footprint.png => articuno/footprint.png} (100%) rename graphics/pokemon/{front_pics/articuno_still_front_pic.png => articuno/front.png} (100%) rename graphics/pokemon/{icons/articuno_icon.png => articuno/icon.png} (100%) rename graphics/pokemon/{palettes/articuno_palette.pal => articuno/normal.pal} (100%) rename graphics/pokemon/{palettes/articuno_shiny_palette.pal => articuno/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/azumarill_front_pic.png => azumarill/anim_front.png} (100%) rename graphics/pokemon/{back_pics/azumarill_back_pic.png => azumarill/back.png} (100%) rename graphics/pokemon/{footprints/azumarill_footprint.png => azumarill/footprint.png} (100%) rename graphics/pokemon/{front_pics/azumarill_still_front_pic.png => azumarill/front.png} (100%) rename graphics/pokemon/{icons/azumarill_icon.png => azumarill/icon.png} (100%) rename graphics/pokemon/{palettes/azumarill_palette.pal => azumarill/normal.pal} (100%) rename graphics/pokemon/{palettes/azumarill_shiny_palette.pal => azumarill/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/azurill_front_pic.png => azurill/anim_front.png} (100%) rename graphics/pokemon/{back_pics/azurill_back_pic.png => azurill/back.png} (100%) rename graphics/pokemon/{footprints/azurill_footprint.png => azurill/footprint.png} (100%) rename graphics/pokemon/{front_pics/azurill_still_front_pic.png => azurill/front.png} (100%) rename graphics/pokemon/{icons/azurill_icon.png => azurill/icon.png} (100%) rename graphics/pokemon/{palettes/azurill_palette.pal => azurill/normal.pal} (100%) rename graphics/pokemon/{palettes/azurill_shiny_palette.pal => azurill/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/bagon_front_pic.png => bagon/anim_front.png} (100%) rename graphics/pokemon/{back_pics/bagon_back_pic.png => bagon/back.png} (100%) rename graphics/pokemon/{footprints/bagon_footprint.png => bagon/footprint.png} (100%) rename graphics/pokemon/{front_pics/bagon_still_front_pic.png => bagon/front.png} (100%) rename graphics/pokemon/{icons/bagon_icon.png => bagon/icon.png} (100%) rename graphics/pokemon/{palettes/bagon_palette.pal => bagon/normal.pal} (100%) rename graphics/pokemon/{palettes/bagon_shiny_palette.pal => bagon/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/baltoy_front_pic.png => baltoy/anim_front.png} (100%) rename graphics/pokemon/{back_pics/baltoy_back_pic.png => baltoy/back.png} (100%) rename graphics/pokemon/{footprints/baltoy_footprint.png => baltoy/footprint.png} (100%) rename graphics/pokemon/{front_pics/baltoy_still_front_pic.png => baltoy/front.png} (100%) rename graphics/pokemon/{icons/baltoy_icon.png => baltoy/icon.png} (100%) rename graphics/pokemon/{palettes/baltoy_palette.pal => baltoy/normal.pal} (100%) rename graphics/pokemon/{palettes/baltoy_shiny_palette.pal => baltoy/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/banette_front_pic.png => banette/anim_front.png} (100%) rename graphics/pokemon/{back_pics/banette_back_pic.png => banette/back.png} (100%) rename graphics/pokemon/{footprints/banette_footprint.png => banette/footprint.png} (100%) rename graphics/pokemon/{front_pics/banette_still_front_pic.png => banette/front.png} (100%) rename graphics/pokemon/{icons/banette_icon.png => banette/icon.png} (100%) rename graphics/pokemon/{palettes/banette_palette.pal => banette/normal.pal} (100%) rename graphics/pokemon/{palettes/banette_shiny_palette.pal => banette/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/barboach_front_pic.png => barboach/anim_front.png} (100%) rename graphics/pokemon/{back_pics/barboach_back_pic.png => barboach/back.png} (100%) rename graphics/pokemon/{footprints/barboach_footprint.png => barboach/footprint.png} (100%) rename graphics/pokemon/{front_pics/barboach_still_front_pic.png => barboach/front.png} (100%) rename graphics/pokemon/{icons/barboach_icon.png => barboach/icon.png} (100%) rename graphics/pokemon/{palettes/barboach_palette.pal => barboach/normal.pal} (100%) rename graphics/pokemon/{palettes/barboach_shiny_palette.pal => barboach/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/bayleef_front_pic.png => bayleef/anim_front.png} (100%) rename graphics/pokemon/{back_pics/bayleef_back_pic.png => bayleef/back.png} (100%) rename graphics/pokemon/{footprints/bayleef_footprint.png => bayleef/footprint.png} (100%) rename graphics/pokemon/{front_pics/bayleef_still_front_pic.png => bayleef/front.png} (100%) rename graphics/pokemon/{icons/bayleef_icon.png => bayleef/icon.png} (100%) rename graphics/pokemon/{palettes/bayleef_palette.pal => bayleef/normal.pal} (100%) rename graphics/pokemon/{palettes/bayleef_shiny_palette.pal => bayleef/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/beautifly_front_pic.png => beautifly/anim_front.png} (100%) rename graphics/pokemon/{back_pics/beautifly_back_pic.png => beautifly/back.png} (100%) rename graphics/pokemon/{footprints/beautifly_footprint.png => beautifly/footprint.png} (100%) rename graphics/pokemon/{front_pics/beautifly_still_front_pic.png => beautifly/front.png} (100%) rename graphics/pokemon/{icons/beautifly_icon.png => beautifly/icon.png} (100%) rename graphics/pokemon/{palettes/beautifly_palette.pal => beautifly/normal.pal} (100%) rename graphics/pokemon/{palettes/beautifly_shiny_palette.pal => beautifly/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/beedrill_front_pic.png => beedrill/anim_front.png} (100%) rename graphics/pokemon/{back_pics/beedrill_back_pic.png => beedrill/back.png} (100%) rename graphics/pokemon/{footprints/beedrill_footprint.png => beedrill/footprint.png} (100%) rename graphics/pokemon/{front_pics/beedrill_still_front_pic.png => beedrill/front.png} (100%) rename graphics/pokemon/{icons/beedrill_icon.png => beedrill/icon.png} (100%) rename graphics/pokemon/{palettes/beedrill_palette.pal => beedrill/normal.pal} (100%) rename graphics/pokemon/{palettes/beedrill_shiny_palette.pal => beedrill/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/beldum_front_pic.png => beldum/anim_front.png} (100%) rename graphics/pokemon/{back_pics/beldum_back_pic.png => beldum/back.png} (100%) rename graphics/pokemon/{footprints/beldum_footprint.png => beldum/footprint.png} (100%) rename graphics/pokemon/{front_pics/beldum_still_front_pic.png => beldum/front.png} (100%) rename graphics/pokemon/{icons/beldum_icon.png => beldum/icon.png} (100%) rename graphics/pokemon/{palettes/beldum_palette.pal => beldum/normal.pal} (100%) rename graphics/pokemon/{palettes/beldum_shiny_palette.pal => beldum/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/bellossom_front_pic.png => bellossom/anim_front.png} (100%) rename graphics/pokemon/{back_pics/bellossom_back_pic.png => bellossom/back.png} (100%) rename graphics/pokemon/{footprints/bellossom_footprint.png => bellossom/footprint.png} (100%) rename graphics/pokemon/{front_pics/bellossom_still_front_pic.png => bellossom/front.png} (100%) rename graphics/pokemon/{icons/bellossom_icon.png => bellossom/icon.png} (100%) rename graphics/pokemon/{palettes/bellossom_palette.pal => bellossom/normal.pal} (100%) rename graphics/pokemon/{palettes/bellossom_shiny_palette.pal => bellossom/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/bellsprout_front_pic.png => bellsprout/anim_front.png} (100%) rename graphics/pokemon/{back_pics/bellsprout_back_pic.png => bellsprout/back.png} (100%) rename graphics/pokemon/{footprints/bellsprout_footprint.png => bellsprout/footprint.png} (100%) rename graphics/pokemon/{front_pics/bellsprout_still_front_pic.png => bellsprout/front.png} (100%) rename graphics/pokemon/{icons/bellsprout_icon.png => bellsprout/icon.png} (100%) rename graphics/pokemon/{palettes/bellsprout_palette.pal => bellsprout/normal.pal} (100%) rename graphics/pokemon/{palettes/bellsprout_shiny_palette.pal => bellsprout/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/blastoise_front_pic.png => blastoise/anim_front.png} (100%) rename graphics/pokemon/{back_pics/blastoise_back_pic.png => blastoise/back.png} (100%) rename graphics/pokemon/{footprints/blastoise_footprint.png => blastoise/footprint.png} (100%) rename graphics/pokemon/{front_pics/blastoise_still_front_pic.png => blastoise/front.png} (100%) rename graphics/pokemon/{icons/blastoise_icon.png => blastoise/icon.png} (100%) rename graphics/pokemon/{palettes/blastoise_palette.pal => blastoise/normal.pal} (100%) rename graphics/pokemon/{palettes/blastoise_shiny_palette.pal => blastoise/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/blaziken_front_pic.png => blaziken/anim_front.png} (100%) rename graphics/pokemon/{back_pics/blaziken_back_pic.png => blaziken/back.png} (100%) rename graphics/pokemon/{footprints/blaziken_footprint.png => blaziken/footprint.png} (100%) rename graphics/pokemon/{front_pics/blaziken_still_front_pic.png => blaziken/front.png} (100%) rename graphics/pokemon/{icons/blaziken_icon.png => blaziken/icon.png} (100%) rename graphics/pokemon/{palettes/blaziken_palette.pal => blaziken/normal.pal} (100%) rename graphics/pokemon/{palettes/blaziken_shiny_palette.pal => blaziken/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/blissey_front_pic.png => blissey/anim_front.png} (100%) rename graphics/pokemon/{back_pics/blissey_back_pic.png => blissey/back.png} (100%) rename graphics/pokemon/{footprints/blissey_footprint.png => blissey/footprint.png} (100%) rename graphics/pokemon/{front_pics/blissey_still_front_pic.png => blissey/front.png} (100%) rename graphics/pokemon/{icons/blissey_icon.png => blissey/icon.png} (100%) rename graphics/pokemon/{palettes/blissey_palette.pal => blissey/normal.pal} (100%) rename graphics/pokemon/{palettes/blissey_shiny_palette.pal => blissey/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/breloom_front_pic.png => breloom/anim_front.png} (100%) rename graphics/pokemon/{back_pics/breloom_back_pic.png => breloom/back.png} (100%) rename graphics/pokemon/{footprints/breloom_footprint.png => breloom/footprint.png} (100%) rename graphics/pokemon/{front_pics/breloom_still_front_pic.png => breloom/front.png} (100%) rename graphics/pokemon/{icons/breloom_icon.png => breloom/icon.png} (100%) rename graphics/pokemon/{palettes/breloom_palette.pal => breloom/normal.pal} (100%) rename graphics/pokemon/{palettes/breloom_shiny_palette.pal => breloom/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/bulbasaur_front_pic.png => bulbasaur/anim_front.png} (100%) rename graphics/pokemon/{back_pics/bulbasaur_back_pic.png => bulbasaur/back.png} (100%) rename graphics/pokemon/{footprints/bulbasaur_footprint.png => bulbasaur/footprint.png} (100%) rename graphics/pokemon/{front_pics/bulbasaur_still_front_pic.png => bulbasaur/front.png} (100%) rename graphics/pokemon/{icons/bulbasaur_icon.png => bulbasaur/icon.png} (100%) rename graphics/pokemon/{palettes/bulbasaur_palette.pal => bulbasaur/normal.pal} (100%) rename graphics/pokemon/{palettes/bulbasaur_shiny_palette.pal => bulbasaur/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/butterfree_front_pic.png => butterfree/anim_front.png} (100%) rename graphics/pokemon/{back_pics/butterfree_back_pic.png => butterfree/back.png} (100%) rename graphics/pokemon/{footprints/butterfree_footprint.png => butterfree/footprint.png} (100%) rename graphics/pokemon/{front_pics/butterfree_still_front_pic.png => butterfree/front.png} (100%) rename graphics/pokemon/{icons/butterfree_icon.png => butterfree/icon.png} (100%) rename graphics/pokemon/{palettes/butterfree_palette.pal => butterfree/normal.pal} (100%) rename graphics/pokemon/{palettes/butterfree_shiny_palette.pal => butterfree/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/cacnea_front_pic.png => cacnea/anim_front.png} (100%) rename graphics/pokemon/{back_pics/cacnea_back_pic.png => cacnea/back.png} (100%) rename graphics/pokemon/{footprints/cacnea_footprint.png => cacnea/footprint.png} (100%) rename graphics/pokemon/{front_pics/cacnea_still_front_pic.png => cacnea/front.png} (100%) rename graphics/pokemon/{icons/cacnea_icon.png => cacnea/icon.png} (100%) rename graphics/pokemon/{palettes/cacnea_palette.pal => cacnea/normal.pal} (100%) rename graphics/pokemon/{palettes/cacnea_shiny_palette.pal => cacnea/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/cacturne_front_pic.png => cacturne/anim_front.png} (100%) rename graphics/pokemon/{back_pics/cacturne_back_pic.png => cacturne/back.png} (100%) rename graphics/pokemon/{footprints/cacturne_footprint.png => cacturne/footprint.png} (100%) rename graphics/pokemon/{front_pics/cacturne_still_front_pic.png => cacturne/front.png} (100%) rename graphics/pokemon/{icons/cacturne_icon.png => cacturne/icon.png} (100%) rename graphics/pokemon/{palettes/cacturne_palette.pal => cacturne/normal.pal} (100%) rename graphics/pokemon/{palettes/cacturne_shiny_palette.pal => cacturne/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/camerupt_front_pic.png => camerupt/anim_front.png} (100%) rename graphics/pokemon/{back_pics/camerupt_back_pic.png => camerupt/back.png} (100%) rename graphics/pokemon/{footprints/camerupt_footprint.png => camerupt/footprint.png} (100%) rename graphics/pokemon/{front_pics/camerupt_still_front_pic.png => camerupt/front.png} (100%) rename graphics/pokemon/{icons/camerupt_icon.png => camerupt/icon.png} (100%) rename graphics/pokemon/{palettes/camerupt_palette.pal => camerupt/normal.pal} (100%) rename graphics/pokemon/{palettes/camerupt_shiny_palette.pal => camerupt/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/carvanha_front_pic.png => carvanha/anim_front.png} (100%) rename graphics/pokemon/{back_pics/carvanha_back_pic.png => carvanha/back.png} (100%) rename graphics/pokemon/{footprints/carvanha_footprint.png => carvanha/footprint.png} (100%) rename graphics/pokemon/{front_pics/carvanha_still_front_pic.png => carvanha/front.png} (100%) rename graphics/pokemon/{icons/carvanha_icon.png => carvanha/icon.png} (100%) rename graphics/pokemon/{palettes/carvanha_palette.pal => carvanha/normal.pal} (100%) rename graphics/pokemon/{palettes/carvanha_shiny_palette.pal => carvanha/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/cascoon_front_pic.png => cascoon/anim_front.png} (100%) rename graphics/pokemon/{back_pics/cascoon_back_pic.png => cascoon/back.png} (100%) rename graphics/pokemon/{footprints/cascoon_footprint.png => cascoon/footprint.png} (100%) rename graphics/pokemon/{front_pics/cascoon_still_front_pic.png => cascoon/front.png} (100%) rename graphics/pokemon/{icons/cascoon_icon.png => cascoon/icon.png} (100%) rename graphics/pokemon/{palettes/cascoon_palette.pal => cascoon/normal.pal} (100%) rename graphics/pokemon/{palettes/cascoon_shiny_palette.pal => cascoon/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/castform_normal_form_front_pic.png => castform/anim_front_normal_form.png} (100%) rename graphics/pokemon/{anim_front_pics/castform_rainy_form_front_pic.png => castform/anim_front_rainy_form.png} (100%) rename graphics/pokemon/{anim_front_pics/castform_snowy_form_front_pic.png => castform/anim_front_snowy_form.png} (100%) rename graphics/pokemon/{anim_front_pics/castform_sunny_form_front_pic.png => castform/anim_front_sunny_form.png} (100%) rename graphics/pokemon/{back_pics/castform_normal_form_back_pic.png => castform/back_normal_form.png} (100%) rename graphics/pokemon/{back_pics/castform_rainy_form_back_pic.png => castform/back_rainy_form.png} (100%) rename graphics/pokemon/{back_pics/castform_snowy_form_back_pic.png => castform/back_snowy_form.png} (100%) rename graphics/pokemon/{back_pics/castform_sunny_form_back_pic.png => castform/back_sunny_form.png} (100%) rename graphics/pokemon/{footprints/castform_footprint.png => castform/footprint.png} (100%) rename graphics/pokemon/{front_pics/castform_normal_form_still_front_pic.png => castform/front_normal_form.png} (100%) rename graphics/pokemon/{front_pics/castform_rainy_form_still_front_pic.png => castform/front_rainy_form.png} (100%) rename graphics/pokemon/{front_pics/castform_snowy_form_still_front_pic.png => castform/front_snowy_form.png} (100%) rename graphics/pokemon/{front_pics/castform_sunny_form_still_front_pic.png => castform/front_sunny_form.png} (100%) rename graphics/pokemon/{icons/castform_icon.png => castform/icon.png} (100%) rename graphics/pokemon/{palettes/castform_normal_form_palette.pal => castform/normal_normal_form.pal} (100%) rename graphics/pokemon/{palettes/castform_rainy_form_palette.pal => castform/normal_rainy_form.pal} (100%) rename graphics/pokemon/{palettes/castform_snowy_form_palette.pal => castform/normal_snowy_form.pal} (100%) rename graphics/pokemon/{palettes/castform_sunny_form_palette.pal => castform/normal_sunny_form.pal} (100%) rename graphics/pokemon/{palettes/castform_normal_form_shiny_palette.pal => castform/shiny_normal_form.pal} (100%) rename graphics/pokemon/{palettes/castform_rainy_form_shiny_palette.pal => castform/shiny_rainy_form.pal} (100%) rename graphics/pokemon/{palettes/castform_snowy_form_shiny_palette.pal => castform/shiny_snowy_form.pal} (100%) rename graphics/pokemon/{palettes/castform_sunny_form_shiny_palette.pal => castform/shiny_sunny_form.pal} (100%) rename graphics/pokemon/{anim_front_pics/caterpie_front_pic.png => caterpie/anim_front.png} (100%) rename graphics/pokemon/{back_pics/caterpie_back_pic.png => caterpie/back.png} (100%) rename graphics/pokemon/{footprints/caterpie_footprint.png => caterpie/footprint.png} (100%) rename graphics/pokemon/{front_pics/caterpie_still_front_pic.png => caterpie/front.png} (100%) rename graphics/pokemon/{icons/caterpie_icon.png => caterpie/icon.png} (100%) rename graphics/pokemon/{palettes/caterpie_palette.pal => caterpie/normal.pal} (100%) rename graphics/pokemon/{palettes/caterpie_shiny_palette.pal => caterpie/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/celebi_front_pic.png => celebi/anim_front.png} (100%) rename graphics/pokemon/{back_pics/celebi_back_pic.png => celebi/back.png} (100%) rename graphics/pokemon/{footprints/celebi_footprint.png => celebi/footprint.png} (100%) rename graphics/pokemon/{front_pics/celebi_still_front_pic.png => celebi/front.png} (100%) rename graphics/pokemon/{icons/celebi_icon.png => celebi/icon.png} (100%) rename graphics/pokemon/{palettes/celebi_palette.pal => celebi/normal.pal} (100%) rename graphics/pokemon/{palettes/celebi_shiny_palette.pal => celebi/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/chansey_front_pic.png => chansey/anim_front.png} (100%) rename graphics/pokemon/{back_pics/chansey_back_pic.png => chansey/back.png} (100%) rename graphics/pokemon/{footprints/chansey_footprint.png => chansey/footprint.png} (100%) rename graphics/pokemon/{front_pics/chansey_still_front_pic.png => chansey/front.png} (100%) rename graphics/pokemon/{icons/chansey_icon.png => chansey/icon.png} (100%) rename graphics/pokemon/{palettes/chansey_palette.pal => chansey/normal.pal} (100%) rename graphics/pokemon/{palettes/chansey_shiny_palette.pal => chansey/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/charizard_front_pic.png => charizard/anim_front.png} (100%) rename graphics/pokemon/{back_pics/charizard_back_pic.png => charizard/back.png} (100%) rename graphics/pokemon/{footprints/charizard_footprint.png => charizard/footprint.png} (100%) rename graphics/pokemon/{front_pics/charizard_still_front_pic.png => charizard/front.png} (100%) rename graphics/pokemon/{icons/charizard_icon.png => charizard/icon.png} (100%) rename graphics/pokemon/{palettes/charizard_palette.pal => charizard/normal.pal} (100%) rename graphics/pokemon/{palettes/charizard_shiny_palette.pal => charizard/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/charmander_front_pic.png => charmander/anim_front.png} (100%) rename graphics/pokemon/{back_pics/charmander_back_pic.png => charmander/back.png} (100%) rename graphics/pokemon/{footprints/charmander_footprint.png => charmander/footprint.png} (100%) rename graphics/pokemon/{front_pics/charmander_still_front_pic.png => charmander/front.png} (100%) rename graphics/pokemon/{icons/charmander_icon.png => charmander/icon.png} (100%) rename graphics/pokemon/{palettes/charmander_palette.pal => charmander/normal.pal} (100%) rename graphics/pokemon/{palettes/charmander_shiny_palette.pal => charmander/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/charmeleon_front_pic.png => charmeleon/anim_front.png} (100%) rename graphics/pokemon/{back_pics/charmeleon_back_pic.png => charmeleon/back.png} (100%) rename graphics/pokemon/{footprints/charmeleon_footprint.png => charmeleon/footprint.png} (100%) rename graphics/pokemon/{front_pics/charmeleon_still_front_pic.png => charmeleon/front.png} (100%) rename graphics/pokemon/{icons/charmeleon_icon.png => charmeleon/icon.png} (100%) rename graphics/pokemon/{palettes/charmeleon_palette.pal => charmeleon/normal.pal} (100%) rename graphics/pokemon/{palettes/charmeleon_shiny_palette.pal => charmeleon/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/chikorita_front_pic.png => chikorita/anim_front.png} (100%) rename graphics/pokemon/{back_pics/chikorita_back_pic.png => chikorita/back.png} (100%) rename graphics/pokemon/{footprints/chikorita_footprint.png => chikorita/footprint.png} (100%) rename graphics/pokemon/{front_pics/chikorita_still_front_pic.png => chikorita/front.png} (100%) rename graphics/pokemon/{icons/chikorita_icon.png => chikorita/icon.png} (100%) rename graphics/pokemon/{palettes/chikorita_palette.pal => chikorita/normal.pal} (100%) rename graphics/pokemon/{palettes/chikorita_shiny_palette.pal => chikorita/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/chimecho_front_pic.png => chimecho/anim_front.png} (100%) rename graphics/pokemon/{back_pics/chimecho_back_pic.png => chimecho/back.png} (100%) rename graphics/pokemon/{footprints/chimecho_footprint.png => chimecho/footprint.png} (100%) rename graphics/pokemon/{front_pics/chimecho_still_front_pic.png => chimecho/front.png} (100%) rename graphics/pokemon/{icons/chimecho_icon.png => chimecho/icon.png} (100%) rename graphics/pokemon/{palettes/chimecho_palette.pal => chimecho/normal.pal} (100%) rename graphics/pokemon/{palettes/chimecho_shiny_palette.pal => chimecho/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/chinchou_front_pic.png => chinchou/anim_front.png} (100%) rename graphics/pokemon/{back_pics/chinchou_back_pic.png => chinchou/back.png} (100%) rename graphics/pokemon/{footprints/chinchou_footprint.png => chinchou/footprint.png} (100%) rename graphics/pokemon/{front_pics/chinchou_still_front_pic.png => chinchou/front.png} (100%) rename graphics/pokemon/{icons/chinchou_icon.png => chinchou/icon.png} (100%) rename graphics/pokemon/{palettes/chinchou_palette.pal => chinchou/normal.pal} (100%) rename graphics/pokemon/{palettes/chinchou_shiny_palette.pal => chinchou/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/circled_question_mark_front_pic.png => circled_question_mark/anim_front.png} (100%) rename graphics/pokemon/{back_pics/circled_question_mark_back_pic.png => circled_question_mark/back.png} (100%) rename graphics/pokemon/{front_pics/circled_question_mark_still_front_pic.png => circled_question_mark/front.png} (100%) rename graphics/pokemon/{palettes/circled_question_mark_palette.pal => circled_question_mark/normal.pal} (100%) rename graphics/pokemon/{palettes/circled_question_mark_shiny_palette.pal => circled_question_mark/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/clamperl_front_pic.png => clamperl/anim_front.png} (100%) rename graphics/pokemon/{back_pics/clamperl_back_pic.png => clamperl/back.png} (100%) rename graphics/pokemon/{footprints/clamperl_footprint.png => clamperl/footprint.png} (100%) rename graphics/pokemon/{front_pics/clamperl_still_front_pic.png => clamperl/front.png} (100%) rename graphics/pokemon/{icons/clamperl_icon.png => clamperl/icon.png} (100%) rename graphics/pokemon/{palettes/clamperl_palette.pal => clamperl/normal.pal} (100%) rename graphics/pokemon/{palettes/clamperl_shiny_palette.pal => clamperl/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/claydol_front_pic.png => claydol/anim_front.png} (100%) rename graphics/pokemon/{back_pics/claydol_back_pic.png => claydol/back.png} (100%) rename graphics/pokemon/{footprints/claydol_footprint.png => claydol/footprint.png} (100%) rename graphics/pokemon/{front_pics/claydol_still_front_pic.png => claydol/front.png} (100%) rename graphics/pokemon/{icons/claydol_icon.png => claydol/icon.png} (100%) rename graphics/pokemon/{palettes/claydol_palette.pal => claydol/normal.pal} (100%) rename graphics/pokemon/{palettes/claydol_shiny_palette.pal => claydol/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/clefable_front_pic.png => clefable/anim_front.png} (100%) rename graphics/pokemon/{back_pics/clefable_back_pic.png => clefable/back.png} (100%) rename graphics/pokemon/{footprints/clefable_footprint.png => clefable/footprint.png} (100%) rename graphics/pokemon/{front_pics/clefable_still_front_pic.png => clefable/front.png} (100%) rename graphics/pokemon/{icons/clefable_icon.png => clefable/icon.png} (100%) rename graphics/pokemon/{palettes/clefable_palette.pal => clefable/normal.pal} (100%) rename graphics/pokemon/{palettes/clefable_shiny_palette.pal => clefable/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/clefairy_front_pic.png => clefairy/anim_front.png} (100%) rename graphics/pokemon/{back_pics/clefairy_back_pic.png => clefairy/back.png} (100%) rename graphics/pokemon/{footprints/clefairy_footprint.png => clefairy/footprint.png} (100%) rename graphics/pokemon/{front_pics/clefairy_still_front_pic.png => clefairy/front.png} (100%) rename graphics/pokemon/{icons/clefairy_icon.png => clefairy/icon.png} (100%) rename graphics/pokemon/{palettes/clefairy_palette.pal => clefairy/normal.pal} (100%) rename graphics/pokemon/{palettes/clefairy_shiny_palette.pal => clefairy/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/cleffa_front_pic.png => cleffa/anim_front.png} (100%) rename graphics/pokemon/{back_pics/cleffa_back_pic.png => cleffa/back.png} (100%) rename graphics/pokemon/{footprints/cleffa_footprint.png => cleffa/footprint.png} (100%) rename graphics/pokemon/{front_pics/cleffa_still_front_pic.png => cleffa/front.png} (100%) rename graphics/pokemon/{icons/cleffa_icon.png => cleffa/icon.png} (100%) rename graphics/pokemon/{palettes/cleffa_palette.pal => cleffa/normal.pal} (100%) rename graphics/pokemon/{palettes/cleffa_shiny_palette.pal => cleffa/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/cloyster_front_pic.png => cloyster/anim_front.png} (100%) rename graphics/pokemon/{back_pics/cloyster_back_pic.png => cloyster/back.png} (100%) rename graphics/pokemon/{footprints/cloyster_footprint.png => cloyster/footprint.png} (100%) rename graphics/pokemon/{front_pics/cloyster_still_front_pic.png => cloyster/front.png} (100%) rename graphics/pokemon/{icons/cloyster_icon.png => cloyster/icon.png} (100%) rename graphics/pokemon/{palettes/cloyster_palette.pal => cloyster/normal.pal} (100%) rename graphics/pokemon/{palettes/cloyster_shiny_palette.pal => cloyster/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/combusken_front_pic.png => combusken/anim_front.png} (100%) rename graphics/pokemon/{back_pics/combusken_back_pic.png => combusken/back.png} (100%) rename graphics/pokemon/{footprints/combusken_footprint.png => combusken/footprint.png} (100%) rename graphics/pokemon/{front_pics/combusken_still_front_pic.png => combusken/front.png} (100%) rename graphics/pokemon/{icons/combusken_icon.png => combusken/icon.png} (100%) rename graphics/pokemon/{palettes/combusken_palette.pal => combusken/normal.pal} (100%) rename graphics/pokemon/{palettes/combusken_shiny_palette.pal => combusken/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/corphish_front_pic.png => corphish/anim_front.png} (100%) rename graphics/pokemon/{back_pics/corphish_back_pic.png => corphish/back.png} (100%) rename graphics/pokemon/{footprints/corphish_footprint.png => corphish/footprint.png} (100%) rename graphics/pokemon/{front_pics/corphish_still_front_pic.png => corphish/front.png} (100%) rename graphics/pokemon/{icons/corphish_icon.png => corphish/icon.png} (100%) rename graphics/pokemon/{palettes/corphish_palette.pal => corphish/normal.pal} (100%) rename graphics/pokemon/{palettes/corphish_shiny_palette.pal => corphish/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/corsola_front_pic.png => corsola/anim_front.png} (100%) rename graphics/pokemon/{back_pics/corsola_back_pic.png => corsola/back.png} (100%) rename graphics/pokemon/{footprints/corsola_footprint.png => corsola/footprint.png} (100%) rename graphics/pokemon/{front_pics/corsola_still_front_pic.png => corsola/front.png} (100%) rename graphics/pokemon/{icons/corsola_icon.png => corsola/icon.png} (100%) rename graphics/pokemon/{palettes/corsola_palette.pal => corsola/normal.pal} (100%) rename graphics/pokemon/{palettes/corsola_shiny_palette.pal => corsola/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/cradily_front_pic.png => cradily/anim_front.png} (100%) rename graphics/pokemon/{back_pics/cradily_back_pic.png => cradily/back.png} (100%) rename graphics/pokemon/{footprints/cradily_footprint.png => cradily/footprint.png} (100%) rename graphics/pokemon/{front_pics/cradily_still_front_pic.png => cradily/front.png} (100%) rename graphics/pokemon/{icons/cradily_icon.png => cradily/icon.png} (100%) rename graphics/pokemon/{palettes/cradily_palette.pal => cradily/normal.pal} (100%) rename graphics/pokemon/{palettes/cradily_shiny_palette.pal => cradily/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/crawdaunt_front_pic.png => crawdaunt/anim_front.png} (100%) rename graphics/pokemon/{back_pics/crawdaunt_back_pic.png => crawdaunt/back.png} (100%) rename graphics/pokemon/{footprints/crawdaunt_footprint.png => crawdaunt/footprint.png} (100%) rename graphics/pokemon/{front_pics/crawdaunt_still_front_pic.png => crawdaunt/front.png} (100%) rename graphics/pokemon/{icons/crawdaunt_icon.png => crawdaunt/icon.png} (100%) rename graphics/pokemon/{palettes/crawdaunt_palette.pal => crawdaunt/normal.pal} (100%) rename graphics/pokemon/{palettes/crawdaunt_shiny_palette.pal => crawdaunt/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/crobat_front_pic.png => crobat/anim_front.png} (100%) rename graphics/pokemon/{back_pics/crobat_back_pic.png => crobat/back.png} (100%) rename graphics/pokemon/{footprints/crobat_footprint.png => crobat/footprint.png} (100%) rename graphics/pokemon/{front_pics/crobat_still_front_pic.png => crobat/front.png} (100%) rename graphics/pokemon/{icons/crobat_icon.png => crobat/icon.png} (100%) rename graphics/pokemon/{palettes/crobat_palette.pal => crobat/normal.pal} (100%) rename graphics/pokemon/{palettes/crobat_shiny_palette.pal => crobat/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/croconaw_front_pic.png => croconaw/anim_front.png} (100%) rename graphics/pokemon/{back_pics/croconaw_back_pic.png => croconaw/back.png} (100%) rename graphics/pokemon/{footprints/croconaw_footprint.png => croconaw/footprint.png} (100%) rename graphics/pokemon/{front_pics/croconaw_still_front_pic.png => croconaw/front.png} (100%) rename graphics/pokemon/{icons/croconaw_icon.png => croconaw/icon.png} (100%) rename graphics/pokemon/{palettes/croconaw_palette.pal => croconaw/normal.pal} (100%) rename graphics/pokemon/{palettes/croconaw_shiny_palette.pal => croconaw/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/cubone_front_pic.png => cubone/anim_front.png} (100%) rename graphics/pokemon/{back_pics/cubone_back_pic.png => cubone/back.png} (100%) rename graphics/pokemon/{footprints/cubone_footprint.png => cubone/footprint.png} (100%) rename graphics/pokemon/{front_pics/cubone_still_front_pic.png => cubone/front.png} (100%) rename graphics/pokemon/{icons/cubone_icon.png => cubone/icon.png} (100%) rename graphics/pokemon/{palettes/cubone_palette.pal => cubone/normal.pal} (100%) rename graphics/pokemon/{palettes/cubone_shiny_palette.pal => cubone/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/cyndaquil_front_pic.png => cyndaquil/anim_front.png} (100%) rename graphics/pokemon/{back_pics/cyndaquil_back_pic.png => cyndaquil/back.png} (100%) rename graphics/pokemon/{footprints/cyndaquil_footprint.png => cyndaquil/footprint.png} (100%) rename graphics/pokemon/{front_pics/cyndaquil_still_front_pic.png => cyndaquil/front.png} (100%) rename graphics/pokemon/{icons/cyndaquil_icon.png => cyndaquil/icon.png} (100%) rename graphics/pokemon/{palettes/cyndaquil_palette.pal => cyndaquil/normal.pal} (100%) rename graphics/pokemon/{palettes/cyndaquil_shiny_palette.pal => cyndaquil/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/delcatty_front_pic.png => delcatty/anim_front.png} (100%) rename graphics/pokemon/{back_pics/delcatty_back_pic.png => delcatty/back.png} (100%) rename graphics/pokemon/{footprints/delcatty_footprint.png => delcatty/footprint.png} (100%) rename graphics/pokemon/{front_pics/delcatty_still_front_pic.png => delcatty/front.png} (100%) rename graphics/pokemon/{icons/delcatty_icon.png => delcatty/icon.png} (100%) rename graphics/pokemon/{palettes/delcatty_palette.pal => delcatty/normal.pal} (100%) rename graphics/pokemon/{palettes/delcatty_shiny_palette.pal => delcatty/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/delibird_front_pic.png => delibird/anim_front.png} (100%) rename graphics/pokemon/{back_pics/delibird_back_pic.png => delibird/back.png} (100%) rename graphics/pokemon/{footprints/delibird_footprint.png => delibird/footprint.png} (100%) rename graphics/pokemon/{front_pics/delibird_still_front_pic.png => delibird/front.png} (100%) rename graphics/pokemon/{icons/delibird_icon.png => delibird/icon.png} (100%) rename graphics/pokemon/{palettes/delibird_palette.pal => delibird/normal.pal} (100%) rename graphics/pokemon/{palettes/delibird_shiny_palette.pal => delibird/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/deoxys_front_pic.png => deoxys/anim_front.png} (100%) rename graphics/pokemon/{back_pics/deoxys_back_pic.png => deoxys/back.png} (100%) rename graphics/pokemon/{footprints/deoxys_footprint.png => deoxys/footprint.png} (100%) rename graphics/pokemon/{front_pics/deoxys_still_front_pic.png => deoxys/front.png} (100%) rename graphics/pokemon/{icons/deoxys_icon.png => deoxys/icon.png} (100%) rename graphics/pokemon/{icons/deoxys_speed_icon.png => deoxys/icon_speed.png} (100%) rename graphics/pokemon/{palettes/deoxys_palette.pal => deoxys/normal.pal} (100%) rename graphics/pokemon/{palettes/deoxys_shiny_palette.pal => deoxys/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/dewgong_front_pic.png => dewgong/anim_front.png} (100%) rename graphics/pokemon/{back_pics/dewgong_back_pic.png => dewgong/back.png} (100%) rename graphics/pokemon/{footprints/dewgong_footprint.png => dewgong/footprint.png} (100%) rename graphics/pokemon/{front_pics/dewgong_still_front_pic.png => dewgong/front.png} (100%) rename graphics/pokemon/{icons/dewgong_icon.png => dewgong/icon.png} (100%) rename graphics/pokemon/{palettes/dewgong_palette.pal => dewgong/normal.pal} (100%) rename graphics/pokemon/{palettes/dewgong_shiny_palette.pal => dewgong/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/diglett_front_pic.png => diglett/anim_front.png} (100%) rename graphics/pokemon/{back_pics/diglett_back_pic.png => diglett/back.png} (100%) rename graphics/pokemon/{footprints/diglett_footprint.png => diglett/footprint.png} (100%) rename graphics/pokemon/{front_pics/diglett_still_front_pic.png => diglett/front.png} (100%) rename graphics/pokemon/{icons/diglett_icon.png => diglett/icon.png} (100%) rename graphics/pokemon/{palettes/diglett_palette.pal => diglett/normal.pal} (100%) rename graphics/pokemon/{palettes/diglett_shiny_palette.pal => diglett/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/ditto_front_pic.png => ditto/anim_front.png} (100%) rename graphics/pokemon/{back_pics/ditto_back_pic.png => ditto/back.png} (100%) rename graphics/pokemon/{footprints/ditto_footprint.png => ditto/footprint.png} (100%) rename graphics/pokemon/{front_pics/ditto_still_front_pic.png => ditto/front.png} (100%) rename graphics/pokemon/{icons/ditto_icon.png => ditto/icon.png} (100%) rename graphics/pokemon/{palettes/ditto_palette.pal => ditto/normal.pal} (100%) rename graphics/pokemon/{palettes/ditto_shiny_palette.pal => ditto/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/dodrio_front_pic.png => dodrio/anim_front.png} (100%) rename graphics/pokemon/{back_pics/dodrio_back_pic.png => dodrio/back.png} (100%) rename graphics/pokemon/{footprints/dodrio_footprint.png => dodrio/footprint.png} (100%) rename graphics/pokemon/{front_pics/dodrio_still_front_pic.png => dodrio/front.png} (100%) rename graphics/pokemon/{icons/dodrio_icon.png => dodrio/icon.png} (100%) rename graphics/pokemon/{palettes/dodrio_palette.pal => dodrio/normal.pal} (100%) rename graphics/pokemon/{palettes/dodrio_shiny_palette.pal => dodrio/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/doduo_front_pic.png => doduo/anim_front.png} (100%) rename graphics/pokemon/{back_pics/doduo_back_pic.png => doduo/back.png} (100%) rename graphics/pokemon/{footprints/doduo_footprint.png => doduo/footprint.png} (100%) rename graphics/pokemon/{front_pics/doduo_still_front_pic.png => doduo/front.png} (100%) rename graphics/pokemon/{icons/doduo_icon.png => doduo/icon.png} (100%) rename graphics/pokemon/{palettes/doduo_palette.pal => doduo/normal.pal} (100%) rename graphics/pokemon/{palettes/doduo_shiny_palette.pal => doduo/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/donphan_front_pic.png => donphan/anim_front.png} (100%) rename graphics/pokemon/{back_pics/donphan_back_pic.png => donphan/back.png} (100%) rename graphics/pokemon/{footprints/donphan_footprint.png => donphan/footprint.png} (100%) rename graphics/pokemon/{front_pics/donphan_still_front_pic.png => donphan/front.png} (100%) rename graphics/pokemon/{icons/donphan_icon.png => donphan/icon.png} (100%) rename graphics/pokemon/{palettes/donphan_palette.pal => donphan/normal.pal} (100%) rename graphics/pokemon/{palettes/donphan_shiny_palette.pal => donphan/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/double_question_mark_front_pic.png => double_question_mark/anim_front.png} (100%) rename graphics/pokemon/{back_pics/double_question_mark_back_pic.png => double_question_mark/back.png} (100%) rename graphics/pokemon/{front_pics/double_question_mark_still_front_pic.png => double_question_mark/front.png} (100%) rename graphics/pokemon/{palettes/double_question_mark_palette.pal => double_question_mark/normal.pal} (100%) rename graphics/pokemon/{palettes/double_question_mark_shiny_palette.pal => double_question_mark/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/dragonair_front_pic.png => dragonair/anim_front.png} (100%) rename graphics/pokemon/{back_pics/dragonair_back_pic.png => dragonair/back.png} (100%) rename graphics/pokemon/{footprints/dragonair_footprint.png => dragonair/footprint.png} (100%) rename graphics/pokemon/{front_pics/dragonair_still_front_pic.png => dragonair/front.png} (100%) rename graphics/pokemon/{icons/dragonair_icon.png => dragonair/icon.png} (100%) rename graphics/pokemon/{palettes/dragonair_palette.pal => dragonair/normal.pal} (100%) rename graphics/pokemon/{palettes/dragonair_shiny_palette.pal => dragonair/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/dragonite_front_pic.png => dragonite/anim_front.png} (100%) rename graphics/pokemon/{back_pics/dragonite_back_pic.png => dragonite/back.png} (100%) rename graphics/pokemon/{footprints/dragonite_footprint.png => dragonite/footprint.png} (100%) rename graphics/pokemon/{front_pics/dragonite_still_front_pic.png => dragonite/front.png} (100%) rename graphics/pokemon/{icons/dragonite_icon.png => dragonite/icon.png} (100%) rename graphics/pokemon/{palettes/dragonite_palette.pal => dragonite/normal.pal} (100%) rename graphics/pokemon/{palettes/dragonite_shiny_palette.pal => dragonite/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/dratini_front_pic.png => dratini/anim_front.png} (100%) rename graphics/pokemon/{back_pics/dratini_back_pic.png => dratini/back.png} (100%) rename graphics/pokemon/{footprints/dratini_footprint.png => dratini/footprint.png} (100%) rename graphics/pokemon/{front_pics/dratini_still_front_pic.png => dratini/front.png} (100%) rename graphics/pokemon/{icons/dratini_icon.png => dratini/icon.png} (100%) rename graphics/pokemon/{palettes/dratini_palette.pal => dratini/normal.pal} (100%) rename graphics/pokemon/{palettes/dratini_shiny_palette.pal => dratini/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/drowzee_front_pic.png => drowzee/anim_front.png} (100%) rename graphics/pokemon/{back_pics/drowzee_back_pic.png => drowzee/back.png} (100%) rename graphics/pokemon/{footprints/drowzee_footprint.png => drowzee/footprint.png} (100%) rename graphics/pokemon/{front_pics/drowzee_still_front_pic.png => drowzee/front.png} (100%) rename graphics/pokemon/{icons/drowzee_icon.png => drowzee/icon.png} (100%) rename graphics/pokemon/{palettes/drowzee_palette.pal => drowzee/normal.pal} (100%) rename graphics/pokemon/{palettes/drowzee_shiny_palette.pal => drowzee/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/dugtrio_front_pic.png => dugtrio/anim_front.png} (100%) rename graphics/pokemon/{back_pics/dugtrio_back_pic.png => dugtrio/back.png} (100%) rename graphics/pokemon/{footprints/dugtrio_footprint.png => dugtrio/footprint.png} (100%) rename graphics/pokemon/{front_pics/dugtrio_still_front_pic.png => dugtrio/front.png} (100%) rename graphics/pokemon/{icons/dugtrio_icon.png => dugtrio/icon.png} (100%) rename graphics/pokemon/{palettes/dugtrio_palette.pal => dugtrio/normal.pal} (100%) rename graphics/pokemon/{palettes/dugtrio_shiny_palette.pal => dugtrio/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/dunsparce_front_pic.png => dunsparce/anim_front.png} (100%) rename graphics/pokemon/{back_pics/dunsparce_back_pic.png => dunsparce/back.png} (100%) rename graphics/pokemon/{footprints/dunsparce_footprint.png => dunsparce/footprint.png} (100%) rename graphics/pokemon/{front_pics/dunsparce_still_front_pic.png => dunsparce/front.png} (100%) rename graphics/pokemon/{icons/dunsparce_icon.png => dunsparce/icon.png} (100%) rename graphics/pokemon/{palettes/dunsparce_palette.pal => dunsparce/normal.pal} (100%) rename graphics/pokemon/{palettes/dunsparce_shiny_palette.pal => dunsparce/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/dusclops_front_pic.png => dusclops/anim_front.png} (100%) rename graphics/pokemon/{back_pics/dusclops_back_pic.png => dusclops/back.png} (100%) rename graphics/pokemon/{footprints/dusclops_footprint.png => dusclops/footprint.png} (100%) rename graphics/pokemon/{front_pics/dusclops_still_front_pic.png => dusclops/front.png} (100%) rename graphics/pokemon/{icons/dusclops_icon.png => dusclops/icon.png} (100%) rename graphics/pokemon/{palettes/dusclops_palette.pal => dusclops/normal.pal} (100%) rename graphics/pokemon/{palettes/dusclops_shiny_palette.pal => dusclops/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/duskull_front_pic.png => duskull/anim_front.png} (100%) rename graphics/pokemon/{back_pics/duskull_back_pic.png => duskull/back.png} (100%) rename graphics/pokemon/{footprints/duskull_footprint.png => duskull/footprint.png} (100%) rename graphics/pokemon/{front_pics/duskull_still_front_pic.png => duskull/front.png} (100%) rename graphics/pokemon/{icons/duskull_icon.png => duskull/icon.png} (100%) rename graphics/pokemon/{palettes/duskull_palette.pal => duskull/normal.pal} (100%) rename graphics/pokemon/{palettes/duskull_shiny_palette.pal => duskull/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/dustox_front_pic.png => dustox/anim_front.png} (100%) rename graphics/pokemon/{back_pics/dustox_back_pic.png => dustox/back.png} (100%) rename graphics/pokemon/{footprints/dustox_footprint.png => dustox/footprint.png} (100%) rename graphics/pokemon/{front_pics/dustox_still_front_pic.png => dustox/front.png} (100%) rename graphics/pokemon/{icons/dustox_icon.png => dustox/icon.png} (100%) rename graphics/pokemon/{palettes/dustox_palette.pal => dustox/normal.pal} (100%) rename graphics/pokemon/{palettes/dustox_shiny_palette.pal => dustox/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/eevee_front_pic.png => eevee/anim_front.png} (100%) rename graphics/pokemon/{back_pics/eevee_back_pic.png => eevee/back.png} (100%) rename graphics/pokemon/{footprints/eevee_footprint.png => eevee/footprint.png} (100%) rename graphics/pokemon/{front_pics/eevee_still_front_pic.png => eevee/front.png} (100%) rename graphics/pokemon/{icons/eevee_icon.png => eevee/icon.png} (100%) rename graphics/pokemon/{palettes/eevee_palette.pal => eevee/normal.pal} (100%) rename graphics/pokemon/{palettes/eevee_shiny_palette.pal => eevee/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/egg_front_pic.png => egg/anim_front.png} (100%) rename graphics/pokemon/{front_pics/egg_still_front_pic.png => egg/front.png} (100%) rename graphics/pokemon/{icons/egg_icon.png => egg/icon.png} (100%) rename graphics/pokemon/{palettes/egg_palette.pal => egg/normal.pal} (100%) rename graphics/pokemon/{anim_front_pics/ekans_front_pic.png => ekans/anim_front.png} (100%) rename graphics/pokemon/{back_pics/ekans_back_pic.png => ekans/back.png} (100%) rename graphics/pokemon/{footprints/ekans_footprint.png => ekans/footprint.png} (100%) rename graphics/pokemon/{front_pics/ekans_still_front_pic.png => ekans/front.png} (100%) rename graphics/pokemon/{icons/ekans_icon.png => ekans/icon.png} (100%) rename graphics/pokemon/{palettes/ekans_palette.pal => ekans/normal.pal} (100%) rename graphics/pokemon/{palettes/ekans_shiny_palette.pal => ekans/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/electabuzz_front_pic.png => electabuzz/anim_front.png} (100%) rename graphics/pokemon/{back_pics/electabuzz_back_pic.png => electabuzz/back.png} (100%) rename graphics/pokemon/{footprints/electabuzz_footprint.png => electabuzz/footprint.png} (100%) rename graphics/pokemon/{front_pics/electabuzz_still_front_pic.png => electabuzz/front.png} (100%) rename graphics/pokemon/{icons/electabuzz_icon.png => electabuzz/icon.png} (100%) rename graphics/pokemon/{palettes/electabuzz_palette.pal => electabuzz/normal.pal} (100%) rename graphics/pokemon/{palettes/electabuzz_shiny_palette.pal => electabuzz/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/electrike_front_pic.png => electrike/anim_front.png} (100%) rename graphics/pokemon/{back_pics/electrike_back_pic.png => electrike/back.png} (100%) rename graphics/pokemon/{footprints/electrike_footprint.png => electrike/footprint.png} (100%) rename graphics/pokemon/{front_pics/electrike_still_front_pic.png => electrike/front.png} (100%) rename graphics/pokemon/{icons/electrike_icon.png => electrike/icon.png} (100%) rename graphics/pokemon/{palettes/electrike_palette.pal => electrike/normal.pal} (100%) rename graphics/pokemon/{palettes/electrike_shiny_palette.pal => electrike/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/electrode_front_pic.png => electrode/anim_front.png} (100%) rename graphics/pokemon/{back_pics/electrode_back_pic.png => electrode/back.png} (100%) rename graphics/pokemon/{footprints/electrode_footprint.png => electrode/footprint.png} (100%) rename graphics/pokemon/{front_pics/electrode_still_front_pic.png => electrode/front.png} (100%) rename graphics/pokemon/{icons/electrode_icon.png => electrode/icon.png} (100%) rename graphics/pokemon/{palettes/electrode_palette.pal => electrode/normal.pal} (100%) rename graphics/pokemon/{palettes/electrode_shiny_palette.pal => electrode/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/elekid_front_pic.png => elekid/anim_front.png} (100%) rename graphics/pokemon/{back_pics/elekid_back_pic.png => elekid/back.png} (100%) rename graphics/pokemon/{footprints/elekid_footprint.png => elekid/footprint.png} (100%) rename graphics/pokemon/{front_pics/elekid_still_front_pic.png => elekid/front.png} (100%) rename graphics/pokemon/{icons/elekid_icon.png => elekid/icon.png} (100%) rename graphics/pokemon/{palettes/elekid_palette.pal => elekid/normal.pal} (100%) rename graphics/pokemon/{palettes/elekid_shiny_palette.pal => elekid/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/entei_front_pic.png => entei/anim_front.png} (100%) rename graphics/pokemon/{back_pics/entei_back_pic.png => entei/back.png} (100%) rename graphics/pokemon/{footprints/entei_footprint.png => entei/footprint.png} (100%) rename graphics/pokemon/{front_pics/entei_still_front_pic.png => entei/front.png} (100%) rename graphics/pokemon/{icons/entei_icon.png => entei/icon.png} (100%) rename graphics/pokemon/{palettes/entei_palette.pal => entei/normal.pal} (100%) rename graphics/pokemon/{palettes/entei_shiny_palette.pal => entei/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/espeon_front_pic.png => espeon/anim_front.png} (100%) rename graphics/pokemon/{back_pics/espeon_back_pic.png => espeon/back.png} (100%) rename graphics/pokemon/{footprints/espeon_footprint.png => espeon/footprint.png} (100%) rename graphics/pokemon/{front_pics/espeon_still_front_pic.png => espeon/front.png} (100%) rename graphics/pokemon/{icons/espeon_icon.png => espeon/icon.png} (100%) rename graphics/pokemon/{palettes/espeon_palette.pal => espeon/normal.pal} (100%) rename graphics/pokemon/{palettes/espeon_shiny_palette.pal => espeon/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/exeggcute_front_pic.png => exeggcute/anim_front.png} (100%) rename graphics/pokemon/{back_pics/exeggcute_back_pic.png => exeggcute/back.png} (100%) rename graphics/pokemon/{footprints/exeggcute_footprint.png => exeggcute/footprint.png} (100%) rename graphics/pokemon/{front_pics/exeggcute_still_front_pic.png => exeggcute/front.png} (100%) rename graphics/pokemon/{icons/exeggcute_icon.png => exeggcute/icon.png} (100%) rename graphics/pokemon/{palettes/exeggcute_palette.pal => exeggcute/normal.pal} (100%) rename graphics/pokemon/{palettes/exeggcute_shiny_palette.pal => exeggcute/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/exeggutor_front_pic.png => exeggutor/anim_front.png} (100%) rename graphics/pokemon/{back_pics/exeggutor_back_pic.png => exeggutor/back.png} (100%) rename graphics/pokemon/{footprints/exeggutor_footprint.png => exeggutor/footprint.png} (100%) rename graphics/pokemon/{front_pics/exeggutor_still_front_pic.png => exeggutor/front.png} (100%) rename graphics/pokemon/{icons/exeggutor_icon.png => exeggutor/icon.png} (100%) rename graphics/pokemon/{palettes/exeggutor_palette.pal => exeggutor/normal.pal} (100%) rename graphics/pokemon/{palettes/exeggutor_shiny_palette.pal => exeggutor/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/exploud_front_pic.png => exploud/anim_front.png} (100%) rename graphics/pokemon/{back_pics/exploud_back_pic.png => exploud/back.png} (100%) rename graphics/pokemon/{footprints/exploud_footprint.png => exploud/footprint.png} (100%) rename graphics/pokemon/{front_pics/exploud_still_front_pic.png => exploud/front.png} (100%) rename graphics/pokemon/{icons/exploud_icon.png => exploud/icon.png} (100%) rename graphics/pokemon/{palettes/exploud_palette.pal => exploud/normal.pal} (100%) rename graphics/pokemon/{palettes/exploud_shiny_palette.pal => exploud/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/farfetch_d_front_pic.png => farfetch_d/anim_front.png} (100%) rename graphics/pokemon/{back_pics/farfetch_d_back_pic.png => farfetch_d/back.png} (100%) rename graphics/pokemon/{footprints/farfetch_d_footprint.png => farfetch_d/footprint.png} (100%) rename graphics/pokemon/{front_pics/farfetch_d_still_front_pic.png => farfetch_d/front.png} (100%) rename graphics/pokemon/{icons/farfetch_d_icon.png => farfetch_d/icon.png} (100%) rename graphics/pokemon/{palettes/farfetch_d_palette.pal => farfetch_d/normal.pal} (100%) rename graphics/pokemon/{palettes/farfetch_d_shiny_palette.pal => farfetch_d/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/fearow_front_pic.png => fearow/anim_front.png} (100%) rename graphics/pokemon/{back_pics/fearow_back_pic.png => fearow/back.png} (100%) rename graphics/pokemon/{footprints/fearow_footprint.png => fearow/footprint.png} (100%) rename graphics/pokemon/{front_pics/fearow_still_front_pic.png => fearow/front.png} (100%) rename graphics/pokemon/{icons/fearow_icon.png => fearow/icon.png} (100%) rename graphics/pokemon/{palettes/fearow_palette.pal => fearow/normal.pal} (100%) rename graphics/pokemon/{palettes/fearow_shiny_palette.pal => fearow/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/feebas_front_pic.png => feebas/anim_front.png} (100%) rename graphics/pokemon/{back_pics/feebas_back_pic.png => feebas/back.png} (100%) rename graphics/pokemon/{footprints/feebas_footprint.png => feebas/footprint.png} (100%) rename graphics/pokemon/{front_pics/feebas_still_front_pic.png => feebas/front.png} (100%) rename graphics/pokemon/{icons/feebas_icon.png => feebas/icon.png} (100%) rename graphics/pokemon/{palettes/feebas_palette.pal => feebas/normal.pal} (100%) rename graphics/pokemon/{palettes/feebas_shiny_palette.pal => feebas/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/feraligatr_front_pic.png => feraligatr/anim_front.png} (100%) rename graphics/pokemon/{back_pics/feraligatr_back_pic.png => feraligatr/back.png} (100%) rename graphics/pokemon/{footprints/feraligatr_footprint.png => feraligatr/footprint.png} (100%) rename graphics/pokemon/{front_pics/feraligatr_still_front_pic.png => feraligatr/front.png} (100%) rename graphics/pokemon/{icons/feraligatr_icon.png => feraligatr/icon.png} (100%) rename graphics/pokemon/{palettes/feraligatr_palette.pal => feraligatr/normal.pal} (100%) rename graphics/pokemon/{palettes/feraligatr_shiny_palette.pal => feraligatr/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/flaaffy_front_pic.png => flaaffy/anim_front.png} (100%) rename graphics/pokemon/{back_pics/flaaffy_back_pic.png => flaaffy/back.png} (100%) rename graphics/pokemon/{footprints/flaaffy_footprint.png => flaaffy/footprint.png} (100%) rename graphics/pokemon/{front_pics/flaaffy_still_front_pic.png => flaaffy/front.png} (100%) rename graphics/pokemon/{icons/flaaffy_icon.png => flaaffy/icon.png} (100%) rename graphics/pokemon/{palettes/flaaffy_palette.pal => flaaffy/normal.pal} (100%) rename graphics/pokemon/{palettes/flaaffy_shiny_palette.pal => flaaffy/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/flareon_front_pic.png => flareon/anim_front.png} (100%) rename graphics/pokemon/{back_pics/flareon_back_pic.png => flareon/back.png} (100%) rename graphics/pokemon/{footprints/flareon_footprint.png => flareon/footprint.png} (100%) rename graphics/pokemon/{front_pics/flareon_still_front_pic.png => flareon/front.png} (100%) rename graphics/pokemon/{icons/flareon_icon.png => flareon/icon.png} (100%) rename graphics/pokemon/{palettes/flareon_palette.pal => flareon/normal.pal} (100%) rename graphics/pokemon/{palettes/flareon_shiny_palette.pal => flareon/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/flygon_front_pic.png => flygon/anim_front.png} (100%) rename graphics/pokemon/{back_pics/flygon_back_pic.png => flygon/back.png} (100%) rename graphics/pokemon/{footprints/flygon_footprint.png => flygon/footprint.png} (100%) rename graphics/pokemon/{front_pics/flygon_still_front_pic.png => flygon/front.png} (100%) rename graphics/pokemon/{icons/flygon_icon.png => flygon/icon.png} (100%) rename graphics/pokemon/{palettes/flygon_palette.pal => flygon/normal.pal} (100%) rename graphics/pokemon/{palettes/flygon_shiny_palette.pal => flygon/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/forretress_front_pic.png => forretress/anim_front.png} (100%) rename graphics/pokemon/{back_pics/forretress_back_pic.png => forretress/back.png} (100%) rename graphics/pokemon/{footprints/forretress_footprint.png => forretress/footprint.png} (100%) rename graphics/pokemon/{front_pics/forretress_still_front_pic.png => forretress/front.png} (100%) rename graphics/pokemon/{icons/forretress_icon.png => forretress/icon.png} (100%) rename graphics/pokemon/{palettes/forretress_palette.pal => forretress/normal.pal} (100%) rename graphics/pokemon/{palettes/forretress_shiny_palette.pal => forretress/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/furret_front_pic.png => furret/anim_front.png} (100%) rename graphics/pokemon/{back_pics/furret_back_pic.png => furret/back.png} (100%) rename graphics/pokemon/{footprints/furret_footprint.png => furret/footprint.png} (100%) rename graphics/pokemon/{front_pics/furret_still_front_pic.png => furret/front.png} (100%) rename graphics/pokemon/{icons/furret_icon.png => furret/icon.png} (100%) rename graphics/pokemon/{palettes/furret_palette.pal => furret/normal.pal} (100%) rename graphics/pokemon/{palettes/furret_shiny_palette.pal => furret/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/gardevoir_front_pic.png => gardevoir/anim_front.png} (100%) rename graphics/pokemon/{back_pics/gardevoir_back_pic.png => gardevoir/back.png} (100%) rename graphics/pokemon/{footprints/gardevoir_footprint.png => gardevoir/footprint.png} (100%) rename graphics/pokemon/{front_pics/gardevoir_still_front_pic.png => gardevoir/front.png} (100%) rename graphics/pokemon/{icons/gardevoir_icon.png => gardevoir/icon.png} (100%) rename graphics/pokemon/{palettes/gardevoir_palette.pal => gardevoir/normal.pal} (100%) rename graphics/pokemon/{palettes/gardevoir_shiny_palette.pal => gardevoir/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/gastly_front_pic.png => gastly/anim_front.png} (100%) rename graphics/pokemon/{back_pics/gastly_back_pic.png => gastly/back.png} (100%) rename graphics/pokemon/{footprints/gastly_footprint.png => gastly/footprint.png} (100%) rename graphics/pokemon/{front_pics/gastly_still_front_pic.png => gastly/front.png} (100%) rename graphics/pokemon/{icons/gastly_icon.png => gastly/icon.png} (100%) rename graphics/pokemon/{palettes/gastly_palette.pal => gastly/normal.pal} (100%) rename graphics/pokemon/{palettes/gastly_shiny_palette.pal => gastly/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/gengar_front_pic.png => gengar/anim_front.png} (100%) rename graphics/pokemon/{back_pics/gengar_back_pic.png => gengar/back.png} (100%) rename graphics/pokemon/{footprints/gengar_footprint.png => gengar/footprint.png} (100%) rename graphics/pokemon/{front_pics/gengar_still_front_pic.png => gengar/front.png} (100%) rename graphics/pokemon/{icons/gengar_icon.png => gengar/icon.png} (100%) rename graphics/pokemon/{palettes/gengar_palette.pal => gengar/normal.pal} (100%) rename graphics/pokemon/{palettes/gengar_shiny_palette.pal => gengar/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/geodude_front_pic.png => geodude/anim_front.png} (100%) rename graphics/pokemon/{back_pics/geodude_back_pic.png => geodude/back.png} (100%) rename graphics/pokemon/{footprints/geodude_footprint.png => geodude/footprint.png} (100%) rename graphics/pokemon/{front_pics/geodude_still_front_pic.png => geodude/front.png} (100%) rename graphics/pokemon/{icons/geodude_icon.png => geodude/icon.png} (100%) rename graphics/pokemon/{palettes/geodude_palette.pal => geodude/normal.pal} (100%) rename graphics/pokemon/{palettes/geodude_shiny_palette.pal => geodude/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/girafarig_front_pic.png => girafarig/anim_front.png} (100%) rename graphics/pokemon/{back_pics/girafarig_back_pic.png => girafarig/back.png} (100%) rename graphics/pokemon/{footprints/girafarig_footprint.png => girafarig/footprint.png} (100%) rename graphics/pokemon/{front_pics/girafarig_still_front_pic.png => girafarig/front.png} (100%) rename graphics/pokemon/{icons/girafarig_icon.png => girafarig/icon.png} (100%) rename graphics/pokemon/{palettes/girafarig_palette.pal => girafarig/normal.pal} (100%) rename graphics/pokemon/{palettes/girafarig_shiny_palette.pal => girafarig/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/glalie_front_pic.png => glalie/anim_front.png} (100%) rename graphics/pokemon/{back_pics/glalie_back_pic.png => glalie/back.png} (100%) rename graphics/pokemon/{footprints/glalie_footprint.png => glalie/footprint.png} (100%) rename graphics/pokemon/{front_pics/glalie_still_front_pic.png => glalie/front.png} (100%) rename graphics/pokemon/{icons/glalie_icon.png => glalie/icon.png} (100%) rename graphics/pokemon/{palettes/glalie_palette.pal => glalie/normal.pal} (100%) rename graphics/pokemon/{palettes/glalie_shiny_palette.pal => glalie/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/gligar_front_pic.png => gligar/anim_front.png} (100%) rename graphics/pokemon/{back_pics/gligar_back_pic.png => gligar/back.png} (100%) rename graphics/pokemon/{footprints/gligar_footprint.png => gligar/footprint.png} (100%) rename graphics/pokemon/{front_pics/gligar_still_front_pic.png => gligar/front.png} (100%) rename graphics/pokemon/{icons/gligar_icon.png => gligar/icon.png} (100%) rename graphics/pokemon/{palettes/gligar_palette.pal => gligar/normal.pal} (100%) rename graphics/pokemon/{palettes/gligar_shiny_palette.pal => gligar/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/gloom_front_pic.png => gloom/anim_front.png} (100%) rename graphics/pokemon/{back_pics/gloom_back_pic.png => gloom/back.png} (100%) rename graphics/pokemon/{footprints/gloom_footprint.png => gloom/footprint.png} (100%) rename graphics/pokemon/{front_pics/gloom_still_front_pic.png => gloom/front.png} (100%) rename graphics/pokemon/{icons/gloom_icon.png => gloom/icon.png} (100%) rename graphics/pokemon/{palettes/gloom_palette.pal => gloom/normal.pal} (100%) rename graphics/pokemon/{palettes/gloom_shiny_palette.pal => gloom/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/golbat_front_pic.png => golbat/anim_front.png} (100%) rename graphics/pokemon/{back_pics/golbat_back_pic.png => golbat/back.png} (100%) rename graphics/pokemon/{footprints/golbat_footprint.png => golbat/footprint.png} (100%) rename graphics/pokemon/{front_pics/golbat_still_front_pic.png => golbat/front.png} (100%) rename graphics/pokemon/{icons/golbat_icon.png => golbat/icon.png} (100%) rename graphics/pokemon/{palettes/golbat_palette.pal => golbat/normal.pal} (100%) rename graphics/pokemon/{palettes/golbat_shiny_palette.pal => golbat/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/goldeen_front_pic.png => goldeen/anim_front.png} (100%) rename graphics/pokemon/{back_pics/goldeen_back_pic.png => goldeen/back.png} (100%) rename graphics/pokemon/{footprints/goldeen_footprint.png => goldeen/footprint.png} (100%) rename graphics/pokemon/{front_pics/goldeen_still_front_pic.png => goldeen/front.png} (100%) rename graphics/pokemon/{icons/goldeen_icon.png => goldeen/icon.png} (100%) rename graphics/pokemon/{palettes/goldeen_palette.pal => goldeen/normal.pal} (100%) rename graphics/pokemon/{palettes/goldeen_shiny_palette.pal => goldeen/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/golduck_front_pic.png => golduck/anim_front.png} (100%) rename graphics/pokemon/{back_pics/golduck_back_pic.png => golduck/back.png} (100%) rename graphics/pokemon/{footprints/golduck_footprint.png => golduck/footprint.png} (100%) rename graphics/pokemon/{front_pics/golduck_still_front_pic.png => golduck/front.png} (100%) rename graphics/pokemon/{icons/golduck_icon.png => golduck/icon.png} (100%) rename graphics/pokemon/{palettes/golduck_palette.pal => golduck/normal.pal} (100%) rename graphics/pokemon/{palettes/golduck_shiny_palette.pal => golduck/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/golem_front_pic.png => golem/anim_front.png} (100%) rename graphics/pokemon/{back_pics/golem_back_pic.png => golem/back.png} (100%) rename graphics/pokemon/{footprints/golem_footprint.png => golem/footprint.png} (100%) rename graphics/pokemon/{front_pics/golem_still_front_pic.png => golem/front.png} (100%) rename graphics/pokemon/{icons/golem_icon.png => golem/icon.png} (100%) rename graphics/pokemon/{palettes/golem_palette.pal => golem/normal.pal} (100%) rename graphics/pokemon/{palettes/golem_shiny_palette.pal => golem/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/gorebyss_front_pic.png => gorebyss/anim_front.png} (100%) rename graphics/pokemon/{back_pics/gorebyss_back_pic.png => gorebyss/back.png} (100%) rename graphics/pokemon/{footprints/gorebyss_footprint.png => gorebyss/footprint.png} (100%) rename graphics/pokemon/{front_pics/gorebyss_still_front_pic.png => gorebyss/front.png} (100%) rename graphics/pokemon/{icons/gorebyss_icon.png => gorebyss/icon.png} (100%) rename graphics/pokemon/{palettes/gorebyss_palette.pal => gorebyss/normal.pal} (100%) rename graphics/pokemon/{palettes/gorebyss_shiny_palette.pal => gorebyss/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/granbull_front_pic.png => granbull/anim_front.png} (100%) rename graphics/pokemon/{back_pics/granbull_back_pic.png => granbull/back.png} (100%) rename graphics/pokemon/{footprints/granbull_footprint.png => granbull/footprint.png} (100%) rename graphics/pokemon/{front_pics/granbull_still_front_pic.png => granbull/front.png} (100%) rename graphics/pokemon/{icons/granbull_icon.png => granbull/icon.png} (100%) rename graphics/pokemon/{palettes/granbull_palette.pal => granbull/normal.pal} (100%) rename graphics/pokemon/{palettes/granbull_shiny_palette.pal => granbull/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/graveler_front_pic.png => graveler/anim_front.png} (100%) rename graphics/pokemon/{back_pics/graveler_back_pic.png => graveler/back.png} (100%) rename graphics/pokemon/{footprints/graveler_footprint.png => graveler/footprint.png} (100%) rename graphics/pokemon/{front_pics/graveler_still_front_pic.png => graveler/front.png} (100%) rename graphics/pokemon/{icons/graveler_icon.png => graveler/icon.png} (100%) rename graphics/pokemon/{palettes/graveler_palette.pal => graveler/normal.pal} (100%) rename graphics/pokemon/{palettes/graveler_shiny_palette.pal => graveler/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/grimer_front_pic.png => grimer/anim_front.png} (100%) rename graphics/pokemon/{back_pics/grimer_back_pic.png => grimer/back.png} (100%) rename graphics/pokemon/{footprints/grimer_footprint.png => grimer/footprint.png} (100%) rename graphics/pokemon/{front_pics/grimer_still_front_pic.png => grimer/front.png} (100%) rename graphics/pokemon/{icons/grimer_icon.png => grimer/icon.png} (100%) rename graphics/pokemon/{palettes/grimer_palette.pal => grimer/normal.pal} (100%) rename graphics/pokemon/{palettes/grimer_shiny_palette.pal => grimer/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/groudon_front_pic.png => groudon/anim_front.png} (100%) rename graphics/pokemon/{back_pics/groudon_back_pic.png => groudon/back.png} (100%) rename graphics/pokemon/{footprints/groudon_footprint.png => groudon/footprint.png} (100%) rename graphics/pokemon/{front_pics/groudon_still_front_pic.png => groudon/front.png} (100%) rename graphics/pokemon/{icons/groudon_icon.png => groudon/icon.png} (100%) rename graphics/pokemon/{palettes/groudon_palette.pal => groudon/normal.pal} (100%) rename graphics/pokemon/{palettes/groudon_shiny_palette.pal => groudon/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/grovyle_front_pic.png => grovyle/anim_front.png} (100%) rename graphics/pokemon/{back_pics/grovyle_back_pic.png => grovyle/back.png} (100%) rename graphics/pokemon/{footprints/grovyle_footprint.png => grovyle/footprint.png} (100%) rename graphics/pokemon/{front_pics/grovyle_still_front_pic.png => grovyle/front.png} (100%) rename graphics/pokemon/{icons/grovyle_icon.png => grovyle/icon.png} (100%) rename graphics/pokemon/{palettes/grovyle_palette.pal => grovyle/normal.pal} (100%) rename graphics/pokemon/{palettes/grovyle_shiny_palette.pal => grovyle/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/growlithe_front_pic.png => growlithe/anim_front.png} (100%) rename graphics/pokemon/{back_pics/growlithe_back_pic.png => growlithe/back.png} (100%) rename graphics/pokemon/{footprints/growlithe_footprint.png => growlithe/footprint.png} (100%) rename graphics/pokemon/{front_pics/growlithe_still_front_pic.png => growlithe/front.png} (100%) rename graphics/pokemon/{icons/growlithe_icon.png => growlithe/icon.png} (100%) rename graphics/pokemon/{palettes/growlithe_palette.pal => growlithe/normal.pal} (100%) rename graphics/pokemon/{palettes/growlithe_shiny_palette.pal => growlithe/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/grumpig_front_pic.png => grumpig/anim_front.png} (100%) rename graphics/pokemon/{back_pics/grumpig_back_pic.png => grumpig/back.png} (100%) rename graphics/pokemon/{footprints/grumpig_footprint.png => grumpig/footprint.png} (100%) rename graphics/pokemon/{front_pics/grumpig_still_front_pic.png => grumpig/front.png} (100%) rename graphics/pokemon/{icons/grumpig_icon.png => grumpig/icon.png} (100%) rename graphics/pokemon/{palettes/grumpig_palette.pal => grumpig/normal.pal} (100%) rename graphics/pokemon/{palettes/grumpig_shiny_palette.pal => grumpig/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/gulpin_front_pic.png => gulpin/anim_front.png} (100%) rename graphics/pokemon/{back_pics/gulpin_back_pic.png => gulpin/back.png} (100%) rename graphics/pokemon/{footprints/gulpin_footprint.png => gulpin/footprint.png} (100%) rename graphics/pokemon/{front_pics/gulpin_still_front_pic.png => gulpin/front.png} (100%) rename graphics/pokemon/{icons/gulpin_icon.png => gulpin/icon.png} (100%) rename graphics/pokemon/{palettes/gulpin_palette.pal => gulpin/normal.pal} (100%) rename graphics/pokemon/{palettes/gulpin_shiny_palette.pal => gulpin/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/gyarados_front_pic.png => gyarados/anim_front.png} (100%) rename graphics/pokemon/{back_pics/gyarados_back_pic.png => gyarados/back.png} (100%) rename graphics/pokemon/{footprints/gyarados_footprint.png => gyarados/footprint.png} (100%) rename graphics/pokemon/{front_pics/gyarados_still_front_pic.png => gyarados/front.png} (100%) rename graphics/pokemon/{icons/gyarados_icon.png => gyarados/icon.png} (100%) rename graphics/pokemon/{palettes/gyarados_palette.pal => gyarados/normal.pal} (100%) rename graphics/pokemon/{palettes/gyarados_shiny_palette.pal => gyarados/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/hariyama_front_pic.png => hariyama/anim_front.png} (100%) rename graphics/pokemon/{back_pics/hariyama_back_pic.png => hariyama/back.png} (100%) rename graphics/pokemon/{footprints/hariyama_footprint.png => hariyama/footprint.png} (100%) rename graphics/pokemon/{front_pics/hariyama_still_front_pic.png => hariyama/front.png} (100%) rename graphics/pokemon/{icons/hariyama_icon.png => hariyama/icon.png} (100%) rename graphics/pokemon/{palettes/hariyama_palette.pal => hariyama/normal.pal} (100%) rename graphics/pokemon/{palettes/hariyama_shiny_palette.pal => hariyama/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/haunter_front_pic.png => haunter/anim_front.png} (100%) rename graphics/pokemon/{back_pics/haunter_back_pic.png => haunter/back.png} (100%) rename graphics/pokemon/{footprints/haunter_footprint.png => haunter/footprint.png} (100%) rename graphics/pokemon/{front_pics/haunter_still_front_pic.png => haunter/front.png} (100%) rename graphics/pokemon/{icons/haunter_icon.png => haunter/icon.png} (100%) rename graphics/pokemon/{palettes/haunter_palette.pal => haunter/normal.pal} (100%) rename graphics/pokemon/{palettes/haunter_shiny_palette.pal => haunter/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/heracross_front_pic.png => heracross/anim_front.png} (100%) rename graphics/pokemon/{back_pics/heracross_back_pic.png => heracross/back.png} (100%) rename graphics/pokemon/{footprints/heracross_footprint.png => heracross/footprint.png} (100%) rename graphics/pokemon/{front_pics/heracross_still_front_pic.png => heracross/front.png} (100%) rename graphics/pokemon/{icons/heracross_icon.png => heracross/icon.png} (100%) rename graphics/pokemon/{palettes/heracross_palette.pal => heracross/normal.pal} (100%) rename graphics/pokemon/{palettes/heracross_shiny_palette.pal => heracross/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/hitmonchan_front_pic.png => hitmonchan/anim_front.png} (100%) rename graphics/pokemon/{back_pics/hitmonchan_back_pic.png => hitmonchan/back.png} (100%) rename graphics/pokemon/{footprints/hitmonchan_footprint.png => hitmonchan/footprint.png} (100%) rename graphics/pokemon/{front_pics/hitmonchan_still_front_pic.png => hitmonchan/front.png} (100%) rename graphics/pokemon/{icons/hitmonchan_icon.png => hitmonchan/icon.png} (100%) rename graphics/pokemon/{palettes/hitmonchan_palette.pal => hitmonchan/normal.pal} (100%) rename graphics/pokemon/{palettes/hitmonchan_shiny_palette.pal => hitmonchan/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/hitmonlee_front_pic.png => hitmonlee/anim_front.png} (100%) rename graphics/pokemon/{back_pics/hitmonlee_back_pic.png => hitmonlee/back.png} (100%) rename graphics/pokemon/{footprints/hitmonlee_footprint.png => hitmonlee/footprint.png} (100%) rename graphics/pokemon/{front_pics/hitmonlee_still_front_pic.png => hitmonlee/front.png} (100%) rename graphics/pokemon/{icons/hitmonlee_icon.png => hitmonlee/icon.png} (100%) rename graphics/pokemon/{palettes/hitmonlee_palette.pal => hitmonlee/normal.pal} (100%) rename graphics/pokemon/{palettes/hitmonlee_shiny_palette.pal => hitmonlee/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/hitmontop_front_pic.png => hitmontop/anim_front.png} (100%) rename graphics/pokemon/{back_pics/hitmontop_back_pic.png => hitmontop/back.png} (100%) rename graphics/pokemon/{footprints/hitmontop_footprint.png => hitmontop/footprint.png} (100%) rename graphics/pokemon/{front_pics/hitmontop_still_front_pic.png => hitmontop/front.png} (100%) rename graphics/pokemon/{icons/hitmontop_icon.png => hitmontop/icon.png} (100%) rename graphics/pokemon/{palettes/hitmontop_palette.pal => hitmontop/normal.pal} (100%) rename graphics/pokemon/{palettes/hitmontop_shiny_palette.pal => hitmontop/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/ho_oh_front_pic.png => ho_oh/anim_front.png} (100%) rename graphics/pokemon/{back_pics/ho_oh_back_pic.png => ho_oh/back.png} (100%) rename graphics/pokemon/{footprints/ho_oh_footprint.png => ho_oh/footprint.png} (100%) rename graphics/pokemon/{front_pics/ho_oh_still_front_pic.png => ho_oh/front.png} (100%) rename graphics/pokemon/{icons/ho_oh_icon.png => ho_oh/icon.png} (100%) rename graphics/pokemon/{palettes/ho_oh_palette.pal => ho_oh/normal.pal} (100%) rename graphics/pokemon/{palettes/ho_oh_shiny_palette.pal => ho_oh/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/hoothoot_front_pic.png => hoothoot/anim_front.png} (100%) rename graphics/pokemon/{back_pics/hoothoot_back_pic.png => hoothoot/back.png} (100%) rename graphics/pokemon/{footprints/hoothoot_footprint.png => hoothoot/footprint.png} (100%) rename graphics/pokemon/{front_pics/hoothoot_still_front_pic.png => hoothoot/front.png} (100%) rename graphics/pokemon/{icons/hoothoot_icon.png => hoothoot/icon.png} (100%) rename graphics/pokemon/{palettes/hoothoot_palette.pal => hoothoot/normal.pal} (100%) rename graphics/pokemon/{palettes/hoothoot_shiny_palette.pal => hoothoot/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/hoppip_front_pic.png => hoppip/anim_front.png} (100%) rename graphics/pokemon/{back_pics/hoppip_back_pic.png => hoppip/back.png} (100%) rename graphics/pokemon/{footprints/hoppip_footprint.png => hoppip/footprint.png} (100%) rename graphics/pokemon/{front_pics/hoppip_still_front_pic.png => hoppip/front.png} (100%) rename graphics/pokemon/{icons/hoppip_icon.png => hoppip/icon.png} (100%) rename graphics/pokemon/{palettes/hoppip_palette.pal => hoppip/normal.pal} (100%) rename graphics/pokemon/{palettes/hoppip_shiny_palette.pal => hoppip/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/horsea_front_pic.png => horsea/anim_front.png} (100%) rename graphics/pokemon/{back_pics/horsea_back_pic.png => horsea/back.png} (100%) rename graphics/pokemon/{footprints/horsea_footprint.png => horsea/footprint.png} (100%) rename graphics/pokemon/{front_pics/horsea_still_front_pic.png => horsea/front.png} (100%) rename graphics/pokemon/{icons/horsea_icon.png => horsea/icon.png} (100%) rename graphics/pokemon/{palettes/horsea_palette.pal => horsea/normal.pal} (100%) rename graphics/pokemon/{palettes/horsea_shiny_palette.pal => horsea/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/houndoom_front_pic.png => houndoom/anim_front.png} (100%) rename graphics/pokemon/{back_pics/houndoom_back_pic.png => houndoom/back.png} (100%) rename graphics/pokemon/{footprints/houndoom_footprint.png => houndoom/footprint.png} (100%) rename graphics/pokemon/{front_pics/houndoom_still_front_pic.png => houndoom/front.png} (100%) rename graphics/pokemon/{icons/houndoom_icon.png => houndoom/icon.png} (100%) rename graphics/pokemon/{palettes/houndoom_palette.pal => houndoom/normal.pal} (100%) rename graphics/pokemon/{palettes/houndoom_shiny_palette.pal => houndoom/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/houndour_front_pic.png => houndour/anim_front.png} (100%) rename graphics/pokemon/{back_pics/houndour_back_pic.png => houndour/back.png} (100%) rename graphics/pokemon/{footprints/houndour_footprint.png => houndour/footprint.png} (100%) rename graphics/pokemon/{front_pics/houndour_still_front_pic.png => houndour/front.png} (100%) rename graphics/pokemon/{icons/houndour_icon.png => houndour/icon.png} (100%) rename graphics/pokemon/{palettes/houndour_palette.pal => houndour/normal.pal} (100%) rename graphics/pokemon/{palettes/houndour_shiny_palette.pal => houndour/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/huntail_front_pic.png => huntail/anim_front.png} (100%) rename graphics/pokemon/{back_pics/huntail_back_pic.png => huntail/back.png} (100%) rename graphics/pokemon/{footprints/huntail_footprint.png => huntail/footprint.png} (100%) rename graphics/pokemon/{front_pics/huntail_still_front_pic.png => huntail/front.png} (100%) rename graphics/pokemon/{icons/huntail_icon.png => huntail/icon.png} (100%) rename graphics/pokemon/{palettes/huntail_palette.pal => huntail/normal.pal} (100%) rename graphics/pokemon/{palettes/huntail_shiny_palette.pal => huntail/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/hypno_front_pic.png => hypno/anim_front.png} (100%) rename graphics/pokemon/{back_pics/hypno_back_pic.png => hypno/back.png} (100%) rename graphics/pokemon/{footprints/hypno_footprint.png => hypno/footprint.png} (100%) rename graphics/pokemon/{front_pics/hypno_still_front_pic.png => hypno/front.png} (100%) rename graphics/pokemon/{icons/hypno_icon.png => hypno/icon.png} (100%) rename graphics/pokemon/{palettes/hypno_palette.pal => hypno/normal.pal} (100%) rename graphics/pokemon/{palettes/hypno_shiny_palette.pal => hypno/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/igglybuff_front_pic.png => igglybuff/anim_front.png} (100%) rename graphics/pokemon/{back_pics/igglybuff_back_pic.png => igglybuff/back.png} (100%) rename graphics/pokemon/{footprints/igglybuff_footprint.png => igglybuff/footprint.png} (100%) rename graphics/pokemon/{front_pics/igglybuff_still_front_pic.png => igglybuff/front.png} (100%) rename graphics/pokemon/{icons/igglybuff_icon.png => igglybuff/icon.png} (100%) rename graphics/pokemon/{palettes/igglybuff_palette.pal => igglybuff/normal.pal} (100%) rename graphics/pokemon/{palettes/igglybuff_shiny_palette.pal => igglybuff/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/illumise_front_pic.png => illumise/anim_front.png} (100%) rename graphics/pokemon/{back_pics/illumise_back_pic.png => illumise/back.png} (100%) rename graphics/pokemon/{footprints/illumise_footprint.png => illumise/footprint.png} (100%) rename graphics/pokemon/{front_pics/illumise_still_front_pic.png => illumise/front.png} (100%) rename graphics/pokemon/{icons/illumise_icon.png => illumise/icon.png} (100%) rename graphics/pokemon/{palettes/illumise_palette.pal => illumise/normal.pal} (100%) rename graphics/pokemon/{palettes/illumise_shiny_palette.pal => illumise/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/ivysaur_front_pic.png => ivysaur/anim_front.png} (100%) rename graphics/pokemon/{back_pics/ivysaur_back_pic.png => ivysaur/back.png} (100%) rename graphics/pokemon/{footprints/ivysaur_footprint.png => ivysaur/footprint.png} (100%) rename graphics/pokemon/{front_pics/ivysaur_still_front_pic.png => ivysaur/front.png} (100%) rename graphics/pokemon/{icons/ivysaur_icon.png => ivysaur/icon.png} (100%) rename graphics/pokemon/{palettes/ivysaur_palette.pal => ivysaur/normal.pal} (100%) rename graphics/pokemon/{palettes/ivysaur_shiny_palette.pal => ivysaur/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/jigglypuff_front_pic.png => jigglypuff/anim_front.png} (100%) rename graphics/pokemon/{back_pics/jigglypuff_back_pic.png => jigglypuff/back.png} (100%) rename graphics/pokemon/{footprints/jigglypuff_footprint.png => jigglypuff/footprint.png} (100%) rename graphics/pokemon/{front_pics/jigglypuff_still_front_pic.png => jigglypuff/front.png} (100%) rename graphics/pokemon/{icons/jigglypuff_icon.png => jigglypuff/icon.png} (100%) rename graphics/pokemon/{palettes/jigglypuff_palette.pal => jigglypuff/normal.pal} (100%) rename graphics/pokemon/{palettes/jigglypuff_shiny_palette.pal => jigglypuff/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/jirachi_front_pic.png => jirachi/anim_front.png} (100%) rename graphics/pokemon/{back_pics/jirachi_back_pic.png => jirachi/back.png} (100%) rename graphics/pokemon/{footprints/jirachi_footprint.png => jirachi/footprint.png} (100%) rename graphics/pokemon/{front_pics/jirachi_still_front_pic.png => jirachi/front.png} (100%) rename graphics/pokemon/{icons/jirachi_icon.png => jirachi/icon.png} (100%) rename graphics/pokemon/{palettes/jirachi_palette.pal => jirachi/normal.pal} (100%) rename graphics/pokemon/{palettes/jirachi_shiny_palette.pal => jirachi/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/jolteon_front_pic.png => jolteon/anim_front.png} (100%) rename graphics/pokemon/{back_pics/jolteon_back_pic.png => jolteon/back.png} (100%) rename graphics/pokemon/{footprints/jolteon_footprint.png => jolteon/footprint.png} (100%) rename graphics/pokemon/{front_pics/jolteon_still_front_pic.png => jolteon/front.png} (100%) rename graphics/pokemon/{icons/jolteon_icon.png => jolteon/icon.png} (100%) rename graphics/pokemon/{palettes/jolteon_palette.pal => jolteon/normal.pal} (100%) rename graphics/pokemon/{palettes/jolteon_shiny_palette.pal => jolteon/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/jumpluff_front_pic.png => jumpluff/anim_front.png} (100%) rename graphics/pokemon/{back_pics/jumpluff_back_pic.png => jumpluff/back.png} (100%) rename graphics/pokemon/{footprints/jumpluff_footprint.png => jumpluff/footprint.png} (100%) rename graphics/pokemon/{front_pics/jumpluff_still_front_pic.png => jumpluff/front.png} (100%) rename graphics/pokemon/{icons/jumpluff_icon.png => jumpluff/icon.png} (100%) rename graphics/pokemon/{palettes/jumpluff_palette.pal => jumpluff/normal.pal} (100%) rename graphics/pokemon/{palettes/jumpluff_shiny_palette.pal => jumpluff/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/jynx_front_pic.png => jynx/anim_front.png} (100%) rename graphics/pokemon/{back_pics/jynx_back_pic.png => jynx/back.png} (100%) rename graphics/pokemon/{footprints/jynx_footprint.png => jynx/footprint.png} (100%) rename graphics/pokemon/{front_pics/jynx_still_front_pic.png => jynx/front.png} (100%) rename graphics/pokemon/{icons/jynx_icon.png => jynx/icon.png} (100%) rename graphics/pokemon/{palettes/jynx_palette.pal => jynx/normal.pal} (100%) rename graphics/pokemon/{palettes/jynx_shiny_palette.pal => jynx/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/kabuto_front_pic.png => kabuto/anim_front.png} (100%) rename graphics/pokemon/{back_pics/kabuto_back_pic.png => kabuto/back.png} (100%) rename graphics/pokemon/{footprints/kabuto_footprint.png => kabuto/footprint.png} (100%) rename graphics/pokemon/{front_pics/kabuto_still_front_pic.png => kabuto/front.png} (100%) rename graphics/pokemon/{icons/kabuto_icon.png => kabuto/icon.png} (100%) rename graphics/pokemon/{palettes/kabuto_palette.pal => kabuto/normal.pal} (100%) rename graphics/pokemon/{palettes/kabuto_shiny_palette.pal => kabuto/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/kabutops_front_pic.png => kabutops/anim_front.png} (100%) rename graphics/pokemon/{back_pics/kabutops_back_pic.png => kabutops/back.png} (100%) rename graphics/pokemon/{footprints/kabutops_footprint.png => kabutops/footprint.png} (100%) rename graphics/pokemon/{front_pics/kabutops_still_front_pic.png => kabutops/front.png} (100%) rename graphics/pokemon/{icons/kabutops_icon.png => kabutops/icon.png} (100%) rename graphics/pokemon/{palettes/kabutops_palette.pal => kabutops/normal.pal} (100%) rename graphics/pokemon/{palettes/kabutops_shiny_palette.pal => kabutops/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/kadabra_front_pic.png => kadabra/anim_front.png} (100%) rename graphics/pokemon/{back_pics/kadabra_back_pic.png => kadabra/back.png} (100%) rename graphics/pokemon/{footprints/kadabra_footprint.png => kadabra/footprint.png} (100%) rename graphics/pokemon/{front_pics/kadabra_still_front_pic.png => kadabra/front.png} (100%) rename graphics/pokemon/{icons/kadabra_icon.png => kadabra/icon.png} (100%) rename graphics/pokemon/{palettes/kadabra_palette.pal => kadabra/normal.pal} (100%) rename graphics/pokemon/{palettes/kadabra_shiny_palette.pal => kadabra/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/kakuna_front_pic.png => kakuna/anim_front.png} (100%) rename graphics/pokemon/{back_pics/kakuna_back_pic.png => kakuna/back.png} (100%) rename graphics/pokemon/{footprints/kakuna_footprint.png => kakuna/footprint.png} (100%) rename graphics/pokemon/{front_pics/kakuna_still_front_pic.png => kakuna/front.png} (100%) rename graphics/pokemon/{icons/kakuna_icon.png => kakuna/icon.png} (100%) rename graphics/pokemon/{palettes/kakuna_palette.pal => kakuna/normal.pal} (100%) rename graphics/pokemon/{palettes/kakuna_shiny_palette.pal => kakuna/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/kangaskhan_front_pic.png => kangaskhan/anim_front.png} (100%) rename graphics/pokemon/{back_pics/kangaskhan_back_pic.png => kangaskhan/back.png} (100%) rename graphics/pokemon/{footprints/kangaskhan_footprint.png => kangaskhan/footprint.png} (100%) rename graphics/pokemon/{front_pics/kangaskhan_still_front_pic.png => kangaskhan/front.png} (100%) rename graphics/pokemon/{icons/kangaskhan_icon.png => kangaskhan/icon.png} (100%) rename graphics/pokemon/{palettes/kangaskhan_palette.pal => kangaskhan/normal.pal} (100%) rename graphics/pokemon/{palettes/kangaskhan_shiny_palette.pal => kangaskhan/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/kecleon_front_pic.png => kecleon/anim_front.png} (100%) rename graphics/pokemon/{back_pics/kecleon_back_pic.png => kecleon/back.png} (100%) rename graphics/pokemon/{footprints/kecleon_footprint.png => kecleon/footprint.png} (100%) rename graphics/pokemon/{front_pics/kecleon_still_front_pic.png => kecleon/front.png} (100%) rename graphics/pokemon/{icons/kecleon_icon.png => kecleon/icon.png} (100%) rename graphics/pokemon/{palettes/kecleon_palette.pal => kecleon/normal.pal} (100%) rename graphics/pokemon/{palettes/kecleon_shiny_palette.pal => kecleon/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/kingdra_front_pic.png => kingdra/anim_front.png} (100%) rename graphics/pokemon/{back_pics/kingdra_back_pic.png => kingdra/back.png} (100%) rename graphics/pokemon/{footprints/kingdra_footprint.png => kingdra/footprint.png} (100%) rename graphics/pokemon/{front_pics/kingdra_still_front_pic.png => kingdra/front.png} (100%) rename graphics/pokemon/{icons/kingdra_icon.png => kingdra/icon.png} (100%) rename graphics/pokemon/{palettes/kingdra_palette.pal => kingdra/normal.pal} (100%) rename graphics/pokemon/{palettes/kingdra_shiny_palette.pal => kingdra/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/kingler_front_pic.png => kingler/anim_front.png} (100%) rename graphics/pokemon/{back_pics/kingler_back_pic.png => kingler/back.png} (100%) rename graphics/pokemon/{footprints/kingler_footprint.png => kingler/footprint.png} (100%) rename graphics/pokemon/{front_pics/kingler_still_front_pic.png => kingler/front.png} (100%) rename graphics/pokemon/{icons/kingler_icon.png => kingler/icon.png} (100%) rename graphics/pokemon/{palettes/kingler_palette.pal => kingler/normal.pal} (100%) rename graphics/pokemon/{palettes/kingler_shiny_palette.pal => kingler/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/kirlia_front_pic.png => kirlia/anim_front.png} (100%) rename graphics/pokemon/{back_pics/kirlia_back_pic.png => kirlia/back.png} (100%) rename graphics/pokemon/{footprints/kirlia_footprint.png => kirlia/footprint.png} (100%) rename graphics/pokemon/{front_pics/kirlia_still_front_pic.png => kirlia/front.png} (100%) rename graphics/pokemon/{icons/kirlia_icon.png => kirlia/icon.png} (100%) rename graphics/pokemon/{palettes/kirlia_palette.pal => kirlia/normal.pal} (100%) rename graphics/pokemon/{palettes/kirlia_shiny_palette.pal => kirlia/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/koffing_front_pic.png => koffing/anim_front.png} (100%) rename graphics/pokemon/{back_pics/koffing_back_pic.png => koffing/back.png} (100%) rename graphics/pokemon/{footprints/koffing_footprint.png => koffing/footprint.png} (100%) rename graphics/pokemon/{front_pics/koffing_still_front_pic.png => koffing/front.png} (100%) rename graphics/pokemon/{icons/koffing_icon.png => koffing/icon.png} (100%) rename graphics/pokemon/{palettes/koffing_palette.pal => koffing/normal.pal} (100%) rename graphics/pokemon/{palettes/koffing_shiny_palette.pal => koffing/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/krabby_front_pic.png => krabby/anim_front.png} (100%) rename graphics/pokemon/{back_pics/krabby_back_pic.png => krabby/back.png} (100%) rename graphics/pokemon/{footprints/krabby_footprint.png => krabby/footprint.png} (100%) rename graphics/pokemon/{front_pics/krabby_still_front_pic.png => krabby/front.png} (100%) rename graphics/pokemon/{icons/krabby_icon.png => krabby/icon.png} (100%) rename graphics/pokemon/{palettes/krabby_palette.pal => krabby/normal.pal} (100%) rename graphics/pokemon/{palettes/krabby_shiny_palette.pal => krabby/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/kyogre_front_pic.png => kyogre/anim_front.png} (100%) rename graphics/pokemon/{back_pics/kyogre_back_pic.png => kyogre/back.png} (100%) rename graphics/pokemon/{footprints/kyogre_footprint.png => kyogre/footprint.png} (100%) rename graphics/pokemon/{front_pics/kyogre_still_front_pic.png => kyogre/front.png} (100%) rename graphics/pokemon/{icons/kyogre_icon.png => kyogre/icon.png} (100%) rename graphics/pokemon/{palettes/kyogre_palette.pal => kyogre/normal.pal} (100%) rename graphics/pokemon/{palettes/kyogre_shiny_palette.pal => kyogre/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/lairon_front_pic.png => lairon/anim_front.png} (100%) rename graphics/pokemon/{back_pics/lairon_back_pic.png => lairon/back.png} (100%) rename graphics/pokemon/{footprints/lairon_footprint.png => lairon/footprint.png} (100%) rename graphics/pokemon/{front_pics/lairon_still_front_pic.png => lairon/front.png} (100%) rename graphics/pokemon/{icons/lairon_icon.png => lairon/icon.png} (100%) rename graphics/pokemon/{palettes/lairon_palette.pal => lairon/normal.pal} (100%) rename graphics/pokemon/{palettes/lairon_shiny_palette.pal => lairon/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/lanturn_front_pic.png => lanturn/anim_front.png} (100%) rename graphics/pokemon/{back_pics/lanturn_back_pic.png => lanturn/back.png} (100%) rename graphics/pokemon/{footprints/lanturn_footprint.png => lanturn/footprint.png} (100%) rename graphics/pokemon/{front_pics/lanturn_still_front_pic.png => lanturn/front.png} (100%) rename graphics/pokemon/{icons/lanturn_icon.png => lanturn/icon.png} (100%) rename graphics/pokemon/{palettes/lanturn_palette.pal => lanturn/normal.pal} (100%) rename graphics/pokemon/{palettes/lanturn_shiny_palette.pal => lanturn/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/lapras_front_pic.png => lapras/anim_front.png} (100%) rename graphics/pokemon/{back_pics/lapras_back_pic.png => lapras/back.png} (100%) rename graphics/pokemon/{footprints/lapras_footprint.png => lapras/footprint.png} (100%) rename graphics/pokemon/{front_pics/lapras_still_front_pic.png => lapras/front.png} (100%) rename graphics/pokemon/{icons/lapras_icon.png => lapras/icon.png} (100%) rename graphics/pokemon/{palettes/lapras_palette.pal => lapras/normal.pal} (100%) rename graphics/pokemon/{palettes/lapras_shiny_palette.pal => lapras/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/larvitar_front_pic.png => larvitar/anim_front.png} (100%) rename graphics/pokemon/{back_pics/larvitar_back_pic.png => larvitar/back.png} (100%) rename graphics/pokemon/{footprints/larvitar_footprint.png => larvitar/footprint.png} (100%) rename graphics/pokemon/{front_pics/larvitar_still_front_pic.png => larvitar/front.png} (100%) rename graphics/pokemon/{icons/larvitar_icon.png => larvitar/icon.png} (100%) rename graphics/pokemon/{palettes/larvitar_palette.pal => larvitar/normal.pal} (100%) rename graphics/pokemon/{palettes/larvitar_shiny_palette.pal => larvitar/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/latias_front_pic.png => latias/anim_front.png} (100%) rename graphics/pokemon/{back_pics/latias_back_pic.png => latias/back.png} (100%) rename graphics/pokemon/{footprints/latias_footprint.png => latias/footprint.png} (100%) rename graphics/pokemon/{front_pics/latias_still_front_pic.png => latias/front.png} (100%) rename graphics/pokemon/{icons/latias_icon.png => latias/icon.png} (100%) rename graphics/pokemon/{palettes/latias_palette.pal => latias/normal.pal} (100%) rename graphics/pokemon/{palettes/latias_shiny_palette.pal => latias/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/latios_front_pic.png => latios/anim_front.png} (100%) rename graphics/pokemon/{back_pics/latios_back_pic.png => latios/back.png} (100%) rename graphics/pokemon/{footprints/latios_footprint.png => latios/footprint.png} (100%) rename graphics/pokemon/{front_pics/latios_still_front_pic.png => latios/front.png} (100%) rename graphics/pokemon/{icons/latios_icon.png => latios/icon.png} (100%) rename graphics/pokemon/{palettes/latios_palette.pal => latios/normal.pal} (100%) rename graphics/pokemon/{palettes/latios_shiny_palette.pal => latios/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/ledian_front_pic.png => ledian/anim_front.png} (100%) rename graphics/pokemon/{back_pics/ledian_back_pic.png => ledian/back.png} (100%) rename graphics/pokemon/{footprints/ledian_footprint.png => ledian/footprint.png} (100%) rename graphics/pokemon/{front_pics/ledian_still_front_pic.png => ledian/front.png} (100%) rename graphics/pokemon/{icons/ledian_icon.png => ledian/icon.png} (100%) rename graphics/pokemon/{palettes/ledian_palette.pal => ledian/normal.pal} (100%) rename graphics/pokemon/{palettes/ledian_shiny_palette.pal => ledian/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/ledyba_front_pic.png => ledyba/anim_front.png} (100%) rename graphics/pokemon/{back_pics/ledyba_back_pic.png => ledyba/back.png} (100%) rename graphics/pokemon/{footprints/ledyba_footprint.png => ledyba/footprint.png} (100%) rename graphics/pokemon/{front_pics/ledyba_still_front_pic.png => ledyba/front.png} (100%) rename graphics/pokemon/{icons/ledyba_icon.png => ledyba/icon.png} (100%) rename graphics/pokemon/{palettes/ledyba_palette.pal => ledyba/normal.pal} (100%) rename graphics/pokemon/{palettes/ledyba_shiny_palette.pal => ledyba/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/lickitung_front_pic.png => lickitung/anim_front.png} (100%) rename graphics/pokemon/{back_pics/lickitung_back_pic.png => lickitung/back.png} (100%) rename graphics/pokemon/{footprints/lickitung_footprint.png => lickitung/footprint.png} (100%) rename graphics/pokemon/{front_pics/lickitung_still_front_pic.png => lickitung/front.png} (100%) rename graphics/pokemon/{icons/lickitung_icon.png => lickitung/icon.png} (100%) rename graphics/pokemon/{palettes/lickitung_palette.pal => lickitung/normal.pal} (100%) rename graphics/pokemon/{palettes/lickitung_shiny_palette.pal => lickitung/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/lileep_front_pic.png => lileep/anim_front.png} (100%) rename graphics/pokemon/{back_pics/lileep_back_pic.png => lileep/back.png} (100%) rename graphics/pokemon/{footprints/lileep_footprint.png => lileep/footprint.png} (100%) rename graphics/pokemon/{front_pics/lileep_still_front_pic.png => lileep/front.png} (100%) rename graphics/pokemon/{icons/lileep_icon.png => lileep/icon.png} (100%) rename graphics/pokemon/{palettes/lileep_palette.pal => lileep/normal.pal} (100%) rename graphics/pokemon/{palettes/lileep_shiny_palette.pal => lileep/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/linoone_front_pic.png => linoone/anim_front.png} (100%) rename graphics/pokemon/{back_pics/linoone_back_pic.png => linoone/back.png} (100%) rename graphics/pokemon/{footprints/linoone_footprint.png => linoone/footprint.png} (100%) rename graphics/pokemon/{front_pics/linoone_still_front_pic.png => linoone/front.png} (100%) rename graphics/pokemon/{icons/linoone_icon.png => linoone/icon.png} (100%) rename graphics/pokemon/{palettes/linoone_palette.pal => linoone/normal.pal} (100%) rename graphics/pokemon/{palettes/linoone_shiny_palette.pal => linoone/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/lombre_front_pic.png => lombre/anim_front.png} (100%) rename graphics/pokemon/{back_pics/lombre_back_pic.png => lombre/back.png} (100%) rename graphics/pokemon/{footprints/lombre_footprint.png => lombre/footprint.png} (100%) rename graphics/pokemon/{front_pics/lombre_still_front_pic.png => lombre/front.png} (100%) rename graphics/pokemon/{icons/lombre_icon.png => lombre/icon.png} (100%) rename graphics/pokemon/{palettes/lombre_palette.pal => lombre/normal.pal} (100%) rename graphics/pokemon/{palettes/lombre_shiny_palette.pal => lombre/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/lotad_front_pic.png => lotad/anim_front.png} (100%) rename graphics/pokemon/{back_pics/lotad_back_pic.png => lotad/back.png} (100%) rename graphics/pokemon/{footprints/lotad_footprint.png => lotad/footprint.png} (100%) rename graphics/pokemon/{front_pics/lotad_still_front_pic.png => lotad/front.png} (100%) rename graphics/pokemon/{icons/lotad_icon.png => lotad/icon.png} (100%) rename graphics/pokemon/{palettes/lotad_palette.pal => lotad/normal.pal} (100%) rename graphics/pokemon/{palettes/lotad_shiny_palette.pal => lotad/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/loudred_front_pic.png => loudred/anim_front.png} (100%) rename graphics/pokemon/{back_pics/loudred_back_pic.png => loudred/back.png} (100%) rename graphics/pokemon/{footprints/loudred_footprint.png => loudred/footprint.png} (100%) rename graphics/pokemon/{front_pics/loudred_still_front_pic.png => loudred/front.png} (100%) rename graphics/pokemon/{icons/loudred_icon.png => loudred/icon.png} (100%) rename graphics/pokemon/{palettes/loudred_palette.pal => loudred/normal.pal} (100%) rename graphics/pokemon/{palettes/loudred_shiny_palette.pal => loudred/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/ludicolo_front_pic.png => ludicolo/anim_front.png} (100%) rename graphics/pokemon/{back_pics/ludicolo_back_pic.png => ludicolo/back.png} (100%) rename graphics/pokemon/{footprints/ludicolo_footprint.png => ludicolo/footprint.png} (100%) rename graphics/pokemon/{front_pics/ludicolo_still_front_pic.png => ludicolo/front.png} (100%) rename graphics/pokemon/{icons/ludicolo_icon.png => ludicolo/icon.png} (100%) rename graphics/pokemon/{palettes/ludicolo_palette.pal => ludicolo/normal.pal} (100%) rename graphics/pokemon/{palettes/ludicolo_shiny_palette.pal => ludicolo/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/lugia_front_pic.png => lugia/anim_front.png} (100%) rename graphics/pokemon/{back_pics/lugia_back_pic.png => lugia/back.png} (100%) rename graphics/pokemon/{footprints/lugia_footprint.png => lugia/footprint.png} (100%) rename graphics/pokemon/{front_pics/lugia_still_front_pic.png => lugia/front.png} (100%) rename graphics/pokemon/{icons/lugia_icon.png => lugia/icon.png} (100%) rename graphics/pokemon/{palettes/lugia_palette.pal => lugia/normal.pal} (100%) rename graphics/pokemon/{palettes/lugia_shiny_palette.pal => lugia/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/lunatone_front_pic.png => lunatone/anim_front.png} (100%) rename graphics/pokemon/{back_pics/lunatone_back_pic.png => lunatone/back.png} (100%) rename graphics/pokemon/{footprints/lunatone_footprint.png => lunatone/footprint.png} (100%) rename graphics/pokemon/{front_pics/lunatone_still_front_pic.png => lunatone/front.png} (100%) rename graphics/pokemon/{icons/lunatone_icon.png => lunatone/icon.png} (100%) rename graphics/pokemon/{palettes/lunatone_palette.pal => lunatone/normal.pal} (100%) rename graphics/pokemon/{palettes/lunatone_shiny_palette.pal => lunatone/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/luvdisc_front_pic.png => luvdisc/anim_front.png} (100%) rename graphics/pokemon/{back_pics/luvdisc_back_pic.png => luvdisc/back.png} (100%) rename graphics/pokemon/{footprints/luvdisc_footprint.png => luvdisc/footprint.png} (100%) rename graphics/pokemon/{front_pics/luvdisc_still_front_pic.png => luvdisc/front.png} (100%) rename graphics/pokemon/{icons/luvdisc_icon.png => luvdisc/icon.png} (100%) rename graphics/pokemon/{palettes/luvdisc_palette.pal => luvdisc/normal.pal} (100%) rename graphics/pokemon/{palettes/luvdisc_shiny_palette.pal => luvdisc/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/machamp_front_pic.png => machamp/anim_front.png} (100%) rename graphics/pokemon/{back_pics/machamp_back_pic.png => machamp/back.png} (100%) rename graphics/pokemon/{footprints/machamp_footprint.png => machamp/footprint.png} (100%) rename graphics/pokemon/{front_pics/machamp_still_front_pic.png => machamp/front.png} (100%) rename graphics/pokemon/{icons/machamp_icon.png => machamp/icon.png} (100%) rename graphics/pokemon/{palettes/machamp_palette.pal => machamp/normal.pal} (100%) rename graphics/pokemon/{palettes/machamp_shiny_palette.pal => machamp/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/machoke_front_pic.png => machoke/anim_front.png} (100%) rename graphics/pokemon/{back_pics/machoke_back_pic.png => machoke/back.png} (100%) rename graphics/pokemon/{footprints/machoke_footprint.png => machoke/footprint.png} (100%) rename graphics/pokemon/{front_pics/machoke_still_front_pic.png => machoke/front.png} (100%) rename graphics/pokemon/{icons/machoke_icon.png => machoke/icon.png} (100%) rename graphics/pokemon/{palettes/machoke_palette.pal => machoke/normal.pal} (100%) rename graphics/pokemon/{palettes/machoke_shiny_palette.pal => machoke/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/machop_front_pic.png => machop/anim_front.png} (100%) rename graphics/pokemon/{back_pics/machop_back_pic.png => machop/back.png} (100%) rename graphics/pokemon/{footprints/machop_footprint.png => machop/footprint.png} (100%) rename graphics/pokemon/{front_pics/machop_still_front_pic.png => machop/front.png} (100%) rename graphics/pokemon/{icons/machop_icon.png => machop/icon.png} (100%) rename graphics/pokemon/{palettes/machop_palette.pal => machop/normal.pal} (100%) rename graphics/pokemon/{palettes/machop_shiny_palette.pal => machop/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/magby_front_pic.png => magby/anim_front.png} (100%) rename graphics/pokemon/{back_pics/magby_back_pic.png => magby/back.png} (100%) rename graphics/pokemon/{footprints/magby_footprint.png => magby/footprint.png} (100%) rename graphics/pokemon/{front_pics/magby_still_front_pic.png => magby/front.png} (100%) rename graphics/pokemon/{icons/magby_icon.png => magby/icon.png} (100%) rename graphics/pokemon/{palettes/magby_palette.pal => magby/normal.pal} (100%) rename graphics/pokemon/{palettes/magby_shiny_palette.pal => magby/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/magcargo_front_pic.png => magcargo/anim_front.png} (100%) rename graphics/pokemon/{back_pics/magcargo_back_pic.png => magcargo/back.png} (100%) rename graphics/pokemon/{footprints/magcargo_footprint.png => magcargo/footprint.png} (100%) rename graphics/pokemon/{front_pics/magcargo_still_front_pic.png => magcargo/front.png} (100%) rename graphics/pokemon/{icons/magcargo_icon.png => magcargo/icon.png} (100%) rename graphics/pokemon/{palettes/magcargo_palette.pal => magcargo/normal.pal} (100%) rename graphics/pokemon/{palettes/magcargo_shiny_palette.pal => magcargo/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/magikarp_front_pic.png => magikarp/anim_front.png} (100%) rename graphics/pokemon/{back_pics/magikarp_back_pic.png => magikarp/back.png} (100%) rename graphics/pokemon/{footprints/magikarp_footprint.png => magikarp/footprint.png} (100%) rename graphics/pokemon/{front_pics/magikarp_still_front_pic.png => magikarp/front.png} (100%) rename graphics/pokemon/{icons/magikarp_icon.png => magikarp/icon.png} (100%) rename graphics/pokemon/{palettes/magikarp_palette.pal => magikarp/normal.pal} (100%) rename graphics/pokemon/{palettes/magikarp_shiny_palette.pal => magikarp/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/magmar_front_pic.png => magmar/anim_front.png} (100%) rename graphics/pokemon/{back_pics/magmar_back_pic.png => magmar/back.png} (100%) rename graphics/pokemon/{footprints/magmar_footprint.png => magmar/footprint.png} (100%) rename graphics/pokemon/{front_pics/magmar_still_front_pic.png => magmar/front.png} (100%) rename graphics/pokemon/{icons/magmar_icon.png => magmar/icon.png} (100%) rename graphics/pokemon/{palettes/magmar_palette.pal => magmar/normal.pal} (100%) rename graphics/pokemon/{palettes/magmar_shiny_palette.pal => magmar/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/magnemite_front_pic.png => magnemite/anim_front.png} (100%) rename graphics/pokemon/{back_pics/magnemite_back_pic.png => magnemite/back.png} (100%) rename graphics/pokemon/{footprints/magnemite_footprint.png => magnemite/footprint.png} (100%) rename graphics/pokemon/{front_pics/magnemite_still_front_pic.png => magnemite/front.png} (100%) rename graphics/pokemon/{icons/magnemite_icon.png => magnemite/icon.png} (100%) rename graphics/pokemon/{palettes/magnemite_palette.pal => magnemite/normal.pal} (100%) rename graphics/pokemon/{palettes/magnemite_shiny_palette.pal => magnemite/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/magneton_front_pic.png => magneton/anim_front.png} (100%) rename graphics/pokemon/{back_pics/magneton_back_pic.png => magneton/back.png} (100%) rename graphics/pokemon/{footprints/magneton_footprint.png => magneton/footprint.png} (100%) rename graphics/pokemon/{front_pics/magneton_still_front_pic.png => magneton/front.png} (100%) rename graphics/pokemon/{icons/magneton_icon.png => magneton/icon.png} (100%) rename graphics/pokemon/{palettes/magneton_palette.pal => magneton/normal.pal} (100%) rename graphics/pokemon/{palettes/magneton_shiny_palette.pal => magneton/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/makuhita_front_pic.png => makuhita/anim_front.png} (100%) rename graphics/pokemon/{back_pics/makuhita_back_pic.png => makuhita/back.png} (100%) rename graphics/pokemon/{footprints/makuhita_footprint.png => makuhita/footprint.png} (100%) rename graphics/pokemon/{front_pics/makuhita_still_front_pic.png => makuhita/front.png} (100%) rename graphics/pokemon/{icons/makuhita_icon.png => makuhita/icon.png} (100%) rename graphics/pokemon/{palettes/makuhita_palette.pal => makuhita/normal.pal} (100%) rename graphics/pokemon/{palettes/makuhita_shiny_palette.pal => makuhita/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/manectric_front_pic.png => manectric/anim_front.png} (100%) rename graphics/pokemon/{back_pics/manectric_back_pic.png => manectric/back.png} (100%) rename graphics/pokemon/{footprints/manectric_footprint.png => manectric/footprint.png} (100%) rename graphics/pokemon/{front_pics/manectric_still_front_pic.png => manectric/front.png} (100%) rename graphics/pokemon/{icons/manectric_icon.png => manectric/icon.png} (100%) rename graphics/pokemon/{palettes/manectric_palette.pal => manectric/normal.pal} (100%) rename graphics/pokemon/{palettes/manectric_shiny_palette.pal => manectric/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/mankey_front_pic.png => mankey/anim_front.png} (100%) rename graphics/pokemon/{back_pics/mankey_back_pic.png => mankey/back.png} (100%) rename graphics/pokemon/{footprints/mankey_footprint.png => mankey/footprint.png} (100%) rename graphics/pokemon/{front_pics/mankey_still_front_pic.png => mankey/front.png} (100%) rename graphics/pokemon/{icons/mankey_icon.png => mankey/icon.png} (100%) rename graphics/pokemon/{palettes/mankey_palette.pal => mankey/normal.pal} (100%) rename graphics/pokemon/{palettes/mankey_shiny_palette.pal => mankey/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/mantine_front_pic.png => mantine/anim_front.png} (100%) rename graphics/pokemon/{back_pics/mantine_back_pic.png => mantine/back.png} (100%) rename graphics/pokemon/{footprints/mantine_footprint.png => mantine/footprint.png} (100%) rename graphics/pokemon/{front_pics/mantine_still_front_pic.png => mantine/front.png} (100%) rename graphics/pokemon/{icons/mantine_icon.png => mantine/icon.png} (100%) rename graphics/pokemon/{palettes/mantine_palette.pal => mantine/normal.pal} (100%) rename graphics/pokemon/{palettes/mantine_shiny_palette.pal => mantine/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/mareep_front_pic.png => mareep/anim_front.png} (100%) rename graphics/pokemon/{back_pics/mareep_back_pic.png => mareep/back.png} (100%) rename graphics/pokemon/{footprints/mareep_footprint.png => mareep/footprint.png} (100%) rename graphics/pokemon/{front_pics/mareep_still_front_pic.png => mareep/front.png} (100%) rename graphics/pokemon/{icons/mareep_icon.png => mareep/icon.png} (100%) rename graphics/pokemon/{palettes/mareep_palette.pal => mareep/normal.pal} (100%) rename graphics/pokemon/{palettes/mareep_shiny_palette.pal => mareep/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/marill_front_pic.png => marill/anim_front.png} (100%) rename graphics/pokemon/{back_pics/marill_back_pic.png => marill/back.png} (100%) rename graphics/pokemon/{footprints/marill_footprint.png => marill/footprint.png} (100%) rename graphics/pokemon/{front_pics/marill_still_front_pic.png => marill/front.png} (100%) rename graphics/pokemon/{icons/marill_icon.png => marill/icon.png} (100%) rename graphics/pokemon/{palettes/marill_palette.pal => marill/normal.pal} (100%) rename graphics/pokemon/{palettes/marill_shiny_palette.pal => marill/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/marowak_front_pic.png => marowak/anim_front.png} (100%) rename graphics/pokemon/{back_pics/marowak_back_pic.png => marowak/back.png} (100%) rename graphics/pokemon/{footprints/marowak_footprint.png => marowak/footprint.png} (100%) rename graphics/pokemon/{front_pics/marowak_still_front_pic.png => marowak/front.png} (100%) rename graphics/pokemon/{icons/marowak_icon.png => marowak/icon.png} (100%) rename graphics/pokemon/{palettes/marowak_palette.pal => marowak/normal.pal} (100%) rename graphics/pokemon/{palettes/marowak_shiny_palette.pal => marowak/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/marshtomp_front_pic.png => marshtomp/anim_front.png} (100%) rename graphics/pokemon/{back_pics/marshtomp_back_pic.png => marshtomp/back.png} (100%) rename graphics/pokemon/{footprints/marshtomp_footprint.png => marshtomp/footprint.png} (100%) rename graphics/pokemon/{front_pics/marshtomp_still_front_pic.png => marshtomp/front.png} (100%) rename graphics/pokemon/{icons/marshtomp_icon.png => marshtomp/icon.png} (100%) rename graphics/pokemon/{palettes/marshtomp_palette.pal => marshtomp/normal.pal} (100%) rename graphics/pokemon/{palettes/marshtomp_shiny_palette.pal => marshtomp/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/masquerain_front_pic.png => masquerain/anim_front.png} (100%) rename graphics/pokemon/{back_pics/masquerain_back_pic.png => masquerain/back.png} (100%) rename graphics/pokemon/{footprints/masquerain_footprint.png => masquerain/footprint.png} (100%) rename graphics/pokemon/{front_pics/masquerain_still_front_pic.png => masquerain/front.png} (100%) rename graphics/pokemon/{icons/masquerain_icon.png => masquerain/icon.png} (100%) rename graphics/pokemon/{palettes/masquerain_palette.pal => masquerain/normal.pal} (100%) rename graphics/pokemon/{palettes/masquerain_shiny_palette.pal => masquerain/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/mawile_front_pic.png => mawile/anim_front.png} (100%) rename graphics/pokemon/{back_pics/mawile_back_pic.png => mawile/back.png} (100%) rename graphics/pokemon/{footprints/mawile_footprint.png => mawile/footprint.png} (100%) rename graphics/pokemon/{front_pics/mawile_still_front_pic.png => mawile/front.png} (100%) rename graphics/pokemon/{icons/mawile_icon.png => mawile/icon.png} (100%) rename graphics/pokemon/{palettes/mawile_palette.pal => mawile/normal.pal} (100%) rename graphics/pokemon/{palettes/mawile_shiny_palette.pal => mawile/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/medicham_front_pic.png => medicham/anim_front.png} (100%) rename graphics/pokemon/{back_pics/medicham_back_pic.png => medicham/back.png} (100%) rename graphics/pokemon/{footprints/medicham_footprint.png => medicham/footprint.png} (100%) rename graphics/pokemon/{front_pics/medicham_still_front_pic.png => medicham/front.png} (100%) rename graphics/pokemon/{icons/medicham_icon.png => medicham/icon.png} (100%) rename graphics/pokemon/{palettes/medicham_palette.pal => medicham/normal.pal} (100%) rename graphics/pokemon/{palettes/medicham_shiny_palette.pal => medicham/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/meditite_front_pic.png => meditite/anim_front.png} (100%) rename graphics/pokemon/{back_pics/meditite_back_pic.png => meditite/back.png} (100%) rename graphics/pokemon/{footprints/meditite_footprint.png => meditite/footprint.png} (100%) rename graphics/pokemon/{front_pics/meditite_still_front_pic.png => meditite/front.png} (100%) rename graphics/pokemon/{icons/meditite_icon.png => meditite/icon.png} (100%) rename graphics/pokemon/{palettes/meditite_palette.pal => meditite/normal.pal} (100%) rename graphics/pokemon/{palettes/meditite_shiny_palette.pal => meditite/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/meganium_front_pic.png => meganium/anim_front.png} (100%) rename graphics/pokemon/{back_pics/meganium_back_pic.png => meganium/back.png} (100%) rename graphics/pokemon/{footprints/meganium_footprint.png => meganium/footprint.png} (100%) rename graphics/pokemon/{front_pics/meganium_still_front_pic.png => meganium/front.png} (100%) rename graphics/pokemon/{icons/meganium_icon.png => meganium/icon.png} (100%) rename graphics/pokemon/{palettes/meganium_palette.pal => meganium/normal.pal} (100%) rename graphics/pokemon/{palettes/meganium_shiny_palette.pal => meganium/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/meowth_front_pic.png => meowth/anim_front.png} (100%) rename graphics/pokemon/{back_pics/meowth_back_pic.png => meowth/back.png} (100%) rename graphics/pokemon/{footprints/meowth_footprint.png => meowth/footprint.png} (100%) rename graphics/pokemon/{front_pics/meowth_still_front_pic.png => meowth/front.png} (100%) rename graphics/pokemon/{icons/meowth_icon.png => meowth/icon.png} (100%) rename graphics/pokemon/{palettes/meowth_palette.pal => meowth/normal.pal} (100%) rename graphics/pokemon/{palettes/meowth_shiny_palette.pal => meowth/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/metagross_front_pic.png => metagross/anim_front.png} (100%) rename graphics/pokemon/{back_pics/metagross_back_pic.png => metagross/back.png} (100%) rename graphics/pokemon/{footprints/metagross_footprint.png => metagross/footprint.png} (100%) rename graphics/pokemon/{front_pics/metagross_still_front_pic.png => metagross/front.png} (100%) rename graphics/pokemon/{icons/metagross_icon.png => metagross/icon.png} (100%) rename graphics/pokemon/{palettes/metagross_palette.pal => metagross/normal.pal} (100%) rename graphics/pokemon/{palettes/metagross_shiny_palette.pal => metagross/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/metang_front_pic.png => metang/anim_front.png} (100%) rename graphics/pokemon/{back_pics/metang_back_pic.png => metang/back.png} (100%) rename graphics/pokemon/{footprints/metang_footprint.png => metang/footprint.png} (100%) rename graphics/pokemon/{front_pics/metang_still_front_pic.png => metang/front.png} (100%) rename graphics/pokemon/{icons/metang_icon.png => metang/icon.png} (100%) rename graphics/pokemon/{palettes/metang_palette.pal => metang/normal.pal} (100%) rename graphics/pokemon/{palettes/metang_shiny_palette.pal => metang/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/metapod_front_pic.png => metapod/anim_front.png} (100%) rename graphics/pokemon/{back_pics/metapod_back_pic.png => metapod/back.png} (100%) rename graphics/pokemon/{footprints/metapod_footprint.png => metapod/footprint.png} (100%) rename graphics/pokemon/{front_pics/metapod_still_front_pic.png => metapod/front.png} (100%) rename graphics/pokemon/{icons/metapod_icon.png => metapod/icon.png} (100%) rename graphics/pokemon/{palettes/metapod_palette.pal => metapod/normal.pal} (100%) rename graphics/pokemon/{palettes/metapod_shiny_palette.pal => metapod/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/mew_front_pic.png => mew/anim_front.png} (100%) rename graphics/pokemon/{back_pics/mew_back_pic.png => mew/back.png} (100%) rename graphics/pokemon/{footprints/mew_footprint.png => mew/footprint.png} (100%) rename graphics/pokemon/{front_pics/mew_still_front_pic.png => mew/front.png} (100%) rename graphics/pokemon/{icons/mew_icon.png => mew/icon.png} (100%) rename graphics/pokemon/{palettes/mew_palette.pal => mew/normal.pal} (100%) rename graphics/pokemon/{palettes/mew_shiny_palette.pal => mew/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/mewtwo_front_pic.png => mewtwo/anim_front.png} (100%) rename graphics/pokemon/{back_pics/mewtwo_back_pic.png => mewtwo/back.png} (100%) rename graphics/pokemon/{footprints/mewtwo_footprint.png => mewtwo/footprint.png} (100%) rename graphics/pokemon/{front_pics/mewtwo_still_front_pic.png => mewtwo/front.png} (100%) rename graphics/pokemon/{icons/mewtwo_icon.png => mewtwo/icon.png} (100%) rename graphics/pokemon/{palettes/mewtwo_palette.pal => mewtwo/normal.pal} (100%) rename graphics/pokemon/{palettes/mewtwo_shiny_palette.pal => mewtwo/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/mightyena_front_pic.png => mightyena/anim_front.png} (100%) rename graphics/pokemon/{back_pics/mightyena_back_pic.png => mightyena/back.png} (100%) rename graphics/pokemon/{footprints/mightyena_footprint.png => mightyena/footprint.png} (100%) rename graphics/pokemon/{front_pics/mightyena_still_front_pic.png => mightyena/front.png} (100%) rename graphics/pokemon/{icons/mightyena_icon.png => mightyena/icon.png} (100%) rename graphics/pokemon/{palettes/mightyena_palette.pal => mightyena/normal.pal} (100%) rename graphics/pokemon/{palettes/mightyena_shiny_palette.pal => mightyena/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/milotic_front_pic.png => milotic/anim_front.png} (100%) rename graphics/pokemon/{back_pics/milotic_back_pic.png => milotic/back.png} (100%) rename graphics/pokemon/{footprints/milotic_footprint.png => milotic/footprint.png} (100%) rename graphics/pokemon/{front_pics/milotic_still_front_pic.png => milotic/front.png} (100%) rename graphics/pokemon/{icons/milotic_icon.png => milotic/icon.png} (100%) rename graphics/pokemon/{palettes/milotic_palette.pal => milotic/normal.pal} (100%) rename graphics/pokemon/{palettes/milotic_shiny_palette.pal => milotic/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/miltank_front_pic.png => miltank/anim_front.png} (100%) rename graphics/pokemon/{back_pics/miltank_back_pic.png => miltank/back.png} (100%) rename graphics/pokemon/{footprints/miltank_footprint.png => miltank/footprint.png} (100%) rename graphics/pokemon/{front_pics/miltank_still_front_pic.png => miltank/front.png} (100%) rename graphics/pokemon/{icons/miltank_icon.png => miltank/icon.png} (100%) rename graphics/pokemon/{palettes/miltank_palette.pal => miltank/normal.pal} (100%) rename graphics/pokemon/{palettes/miltank_shiny_palette.pal => miltank/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/minun_front_pic.png => minun/anim_front.png} (100%) rename graphics/pokemon/{back_pics/minun_back_pic.png => minun/back.png} (100%) rename graphics/pokemon/{footprints/minun_footprint.png => minun/footprint.png} (100%) rename graphics/pokemon/{front_pics/minun_still_front_pic.png => minun/front.png} (100%) rename graphics/pokemon/{icons/minun_icon.png => minun/icon.png} (100%) rename graphics/pokemon/{palettes/minun_palette.pal => minun/normal.pal} (100%) rename graphics/pokemon/{palettes/minun_shiny_palette.pal => minun/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/misdreavus_front_pic.png => misdreavus/anim_front.png} (100%) rename graphics/pokemon/{back_pics/misdreavus_back_pic.png => misdreavus/back.png} (100%) rename graphics/pokemon/{footprints/misdreavus_footprint.png => misdreavus/footprint.png} (100%) rename graphics/pokemon/{front_pics/misdreavus_still_front_pic.png => misdreavus/front.png} (100%) rename graphics/pokemon/{icons/misdreavus_icon.png => misdreavus/icon.png} (100%) rename graphics/pokemon/{palettes/misdreavus_palette.pal => misdreavus/normal.pal} (100%) rename graphics/pokemon/{palettes/misdreavus_shiny_palette.pal => misdreavus/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/moltres_front_pic.png => moltres/anim_front.png} (100%) rename graphics/pokemon/{back_pics/moltres_back_pic.png => moltres/back.png} (100%) rename graphics/pokemon/{footprints/moltres_footprint.png => moltres/footprint.png} (100%) rename graphics/pokemon/{front_pics/moltres_still_front_pic.png => moltres/front.png} (100%) rename graphics/pokemon/{icons/moltres_icon.png => moltres/icon.png} (100%) rename graphics/pokemon/{palettes/moltres_palette.pal => moltres/normal.pal} (100%) rename graphics/pokemon/{palettes/moltres_shiny_palette.pal => moltres/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/mr_mime_front_pic.png => mr_mime/anim_front.png} (100%) rename graphics/pokemon/{back_pics/mr_mime_back_pic.png => mr_mime/back.png} (100%) rename graphics/pokemon/{footprints/mr_mime_footprint.png => mr_mime/footprint.png} (100%) rename graphics/pokemon/{front_pics/mr_mime_still_front_pic.png => mr_mime/front.png} (100%) rename graphics/pokemon/{icons/mr_mime_icon.png => mr_mime/icon.png} (100%) rename graphics/pokemon/{palettes/mr_mime_palette.pal => mr_mime/normal.pal} (100%) rename graphics/pokemon/{palettes/mr_mime_shiny_palette.pal => mr_mime/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/mudkip_front_pic.png => mudkip/anim_front.png} (100%) rename graphics/pokemon/{back_pics/mudkip_back_pic.png => mudkip/back.png} (100%) rename graphics/pokemon/{footprints/mudkip_footprint.png => mudkip/footprint.png} (100%) rename graphics/pokemon/{front_pics/mudkip_still_front_pic.png => mudkip/front.png} (100%) rename graphics/pokemon/{icons/mudkip_icon.png => mudkip/icon.png} (100%) rename graphics/pokemon/{palettes/mudkip_palette.pal => mudkip/normal.pal} (100%) rename graphics/pokemon/{palettes/mudkip_shiny_palette.pal => mudkip/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/muk_front_pic.png => muk/anim_front.png} (100%) rename graphics/pokemon/{back_pics/muk_back_pic.png => muk/back.png} (100%) rename graphics/pokemon/{footprints/muk_footprint.png => muk/footprint.png} (100%) rename graphics/pokemon/{front_pics/muk_still_front_pic.png => muk/front.png} (100%) rename graphics/pokemon/{icons/muk_icon.png => muk/icon.png} (100%) rename graphics/pokemon/{palettes/muk_palette.pal => muk/normal.pal} (100%) rename graphics/pokemon/{palettes/muk_shiny_palette.pal => muk/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/murkrow_front_pic.png => murkrow/anim_front.png} (100%) rename graphics/pokemon/{back_pics/murkrow_back_pic.png => murkrow/back.png} (100%) rename graphics/pokemon/{footprints/murkrow_footprint.png => murkrow/footprint.png} (100%) rename graphics/pokemon/{front_pics/murkrow_still_front_pic.png => murkrow/front.png} (100%) rename graphics/pokemon/{icons/murkrow_icon.png => murkrow/icon.png} (100%) rename graphics/pokemon/{palettes/murkrow_palette.pal => murkrow/normal.pal} (100%) rename graphics/pokemon/{palettes/murkrow_shiny_palette.pal => murkrow/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/natu_front_pic.png => natu/anim_front.png} (100%) rename graphics/pokemon/{back_pics/natu_back_pic.png => natu/back.png} (100%) rename graphics/pokemon/{footprints/natu_footprint.png => natu/footprint.png} (100%) rename graphics/pokemon/{front_pics/natu_still_front_pic.png => natu/front.png} (100%) rename graphics/pokemon/{icons/natu_icon.png => natu/icon.png} (100%) rename graphics/pokemon/{palettes/natu_palette.pal => natu/normal.pal} (100%) rename graphics/pokemon/{palettes/natu_shiny_palette.pal => natu/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/nidoking_front_pic.png => nidoking/anim_front.png} (100%) rename graphics/pokemon/{back_pics/nidoking_back_pic.png => nidoking/back.png} (100%) rename graphics/pokemon/{footprints/nidoking_footprint.png => nidoking/footprint.png} (100%) rename graphics/pokemon/{front_pics/nidoking_still_front_pic.png => nidoking/front.png} (100%) rename graphics/pokemon/{icons/nidoking_icon.png => nidoking/icon.png} (100%) rename graphics/pokemon/{palettes/nidoking_palette.pal => nidoking/normal.pal} (100%) rename graphics/pokemon/{palettes/nidoking_shiny_palette.pal => nidoking/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/nidoqueen_front_pic.png => nidoqueen/anim_front.png} (100%) rename graphics/pokemon/{back_pics/nidoqueen_back_pic.png => nidoqueen/back.png} (100%) rename graphics/pokemon/{footprints/nidoqueen_footprint.png => nidoqueen/footprint.png} (100%) rename graphics/pokemon/{front_pics/nidoqueen_still_front_pic.png => nidoqueen/front.png} (100%) rename graphics/pokemon/{icons/nidoqueen_icon.png => nidoqueen/icon.png} (100%) rename graphics/pokemon/{palettes/nidoqueen_palette.pal => nidoqueen/normal.pal} (100%) rename graphics/pokemon/{palettes/nidoqueen_shiny_palette.pal => nidoqueen/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/nidoran_f_front_pic.png => nidoran_f/anim_front.png} (100%) rename graphics/pokemon/{back_pics/nidoran_f_back_pic.png => nidoran_f/back.png} (100%) rename graphics/pokemon/{footprints/nidoran_f_footprint.png => nidoran_f/footprint.png} (100%) rename graphics/pokemon/{front_pics/nidoran_f_still_front_pic.png => nidoran_f/front.png} (100%) rename graphics/pokemon/{icons/nidoran_f_icon.png => nidoran_f/icon.png} (100%) rename graphics/pokemon/{palettes/nidoran_f_palette.pal => nidoran_f/normal.pal} (100%) rename graphics/pokemon/{palettes/nidoran_f_shiny_palette.pal => nidoran_f/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/nidoran_m_front_pic.png => nidoran_m/anim_front.png} (100%) rename graphics/pokemon/{back_pics/nidoran_m_back_pic.png => nidoran_m/back.png} (100%) rename graphics/pokemon/{footprints/nidoran_m_footprint.png => nidoran_m/footprint.png} (100%) rename graphics/pokemon/{front_pics/nidoran_m_still_front_pic.png => nidoran_m/front.png} (100%) rename graphics/pokemon/{icons/nidoran_m_icon.png => nidoran_m/icon.png} (100%) rename graphics/pokemon/{palettes/nidoran_m_palette.pal => nidoran_m/normal.pal} (100%) rename graphics/pokemon/{palettes/nidoran_m_shiny_palette.pal => nidoran_m/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/nidorina_front_pic.png => nidorina/anim_front.png} (100%) rename graphics/pokemon/{back_pics/nidorina_back_pic.png => nidorina/back.png} (100%) rename graphics/pokemon/{footprints/nidorina_footprint.png => nidorina/footprint.png} (100%) rename graphics/pokemon/{front_pics/nidorina_still_front_pic.png => nidorina/front.png} (100%) rename graphics/pokemon/{icons/nidorina_icon.png => nidorina/icon.png} (100%) rename graphics/pokemon/{palettes/nidorina_palette.pal => nidorina/normal.pal} (100%) rename graphics/pokemon/{palettes/nidorina_shiny_palette.pal => nidorina/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/nidorino_front_pic.png => nidorino/anim_front.png} (100%) rename graphics/pokemon/{back_pics/nidorino_back_pic.png => nidorino/back.png} (100%) rename graphics/pokemon/{footprints/nidorino_footprint.png => nidorino/footprint.png} (100%) rename graphics/pokemon/{front_pics/nidorino_still_front_pic.png => nidorino/front.png} (100%) rename graphics/pokemon/{icons/nidorino_icon.png => nidorino/icon.png} (100%) rename graphics/pokemon/{palettes/nidorino_palette.pal => nidorino/normal.pal} (100%) rename graphics/pokemon/{palettes/nidorino_shiny_palette.pal => nidorino/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/nincada_front_pic.png => nincada/anim_front.png} (100%) rename graphics/pokemon/{back_pics/nincada_back_pic.png => nincada/back.png} (100%) rename graphics/pokemon/{footprints/nincada_footprint.png => nincada/footprint.png} (100%) rename graphics/pokemon/{front_pics/nincada_still_front_pic.png => nincada/front.png} (100%) rename graphics/pokemon/{icons/nincada_icon.png => nincada/icon.png} (100%) rename graphics/pokemon/{palettes/nincada_palette.pal => nincada/normal.pal} (100%) rename graphics/pokemon/{palettes/nincada_shiny_palette.pal => nincada/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/ninetales_front_pic.png => ninetales/anim_front.png} (100%) rename graphics/pokemon/{back_pics/ninetales_back_pic.png => ninetales/back.png} (100%) rename graphics/pokemon/{footprints/ninetales_footprint.png => ninetales/footprint.png} (100%) rename graphics/pokemon/{front_pics/ninetales_still_front_pic.png => ninetales/front.png} (100%) rename graphics/pokemon/{icons/ninetales_icon.png => ninetales/icon.png} (100%) rename graphics/pokemon/{palettes/ninetales_palette.pal => ninetales/normal.pal} (100%) rename graphics/pokemon/{palettes/ninetales_shiny_palette.pal => ninetales/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/ninjask_front_pic.png => ninjask/anim_front.png} (100%) rename graphics/pokemon/{back_pics/ninjask_back_pic.png => ninjask/back.png} (100%) rename graphics/pokemon/{footprints/ninjask_footprint.png => ninjask/footprint.png} (100%) rename graphics/pokemon/{front_pics/ninjask_still_front_pic.png => ninjask/front.png} (100%) rename graphics/pokemon/{icons/ninjask_icon.png => ninjask/icon.png} (100%) rename graphics/pokemon/{palettes/ninjask_palette.pal => ninjask/normal.pal} (100%) rename graphics/pokemon/{palettes/ninjask_shiny_palette.pal => ninjask/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/noctowl_front_pic.png => noctowl/anim_front.png} (100%) rename graphics/pokemon/{back_pics/noctowl_back_pic.png => noctowl/back.png} (100%) rename graphics/pokemon/{footprints/noctowl_footprint.png => noctowl/footprint.png} (100%) rename graphics/pokemon/{front_pics/noctowl_still_front_pic.png => noctowl/front.png} (100%) rename graphics/pokemon/{icons/noctowl_icon.png => noctowl/icon.png} (100%) rename graphics/pokemon/{palettes/noctowl_palette.pal => noctowl/normal.pal} (100%) rename graphics/pokemon/{palettes/noctowl_shiny_palette.pal => noctowl/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/nosepass_front_pic.png => nosepass/anim_front.png} (100%) rename graphics/pokemon/{back_pics/nosepass_back_pic.png => nosepass/back.png} (100%) rename graphics/pokemon/{footprints/nosepass_footprint.png => nosepass/footprint.png} (100%) rename graphics/pokemon/{front_pics/nosepass_still_front_pic.png => nosepass/front.png} (100%) rename graphics/pokemon/{icons/nosepass_icon.png => nosepass/icon.png} (100%) rename graphics/pokemon/{palettes/nosepass_palette.pal => nosepass/normal.pal} (100%) rename graphics/pokemon/{palettes/nosepass_shiny_palette.pal => nosepass/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/numel_front_pic.png => numel/anim_front.png} (100%) rename graphics/pokemon/{back_pics/numel_back_pic.png => numel/back.png} (100%) rename graphics/pokemon/{footprints/numel_footprint.png => numel/footprint.png} (100%) rename graphics/pokemon/{front_pics/numel_still_front_pic.png => numel/front.png} (100%) rename graphics/pokemon/{icons/numel_icon.png => numel/icon.png} (100%) rename graphics/pokemon/{palettes/numel_palette.pal => numel/normal.pal} (100%) rename graphics/pokemon/{palettes/numel_shiny_palette.pal => numel/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/nuzleaf_front_pic.png => nuzleaf/anim_front.png} (100%) rename graphics/pokemon/{back_pics/nuzleaf_back_pic.png => nuzleaf/back.png} (100%) rename graphics/pokemon/{footprints/nuzleaf_footprint.png => nuzleaf/footprint.png} (100%) rename graphics/pokemon/{front_pics/nuzleaf_still_front_pic.png => nuzleaf/front.png} (100%) rename graphics/pokemon/{icons/nuzleaf_icon.png => nuzleaf/icon.png} (100%) rename graphics/pokemon/{palettes/nuzleaf_palette.pal => nuzleaf/normal.pal} (100%) rename graphics/pokemon/{palettes/nuzleaf_shiny_palette.pal => nuzleaf/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/octillery_front_pic.png => octillery/anim_front.png} (100%) rename graphics/pokemon/{back_pics/octillery_back_pic.png => octillery/back.png} (100%) rename graphics/pokemon/{footprints/octillery_footprint.png => octillery/footprint.png} (100%) rename graphics/pokemon/{front_pics/octillery_still_front_pic.png => octillery/front.png} (100%) rename graphics/pokemon/{icons/octillery_icon.png => octillery/icon.png} (100%) rename graphics/pokemon/{palettes/octillery_palette.pal => octillery/normal.pal} (100%) rename graphics/pokemon/{palettes/octillery_shiny_palette.pal => octillery/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/oddish_front_pic.png => oddish/anim_front.png} (100%) rename graphics/pokemon/{back_pics/oddish_back_pic.png => oddish/back.png} (100%) rename graphics/pokemon/{footprints/oddish_footprint.png => oddish/footprint.png} (100%) rename graphics/pokemon/{front_pics/oddish_still_front_pic.png => oddish/front.png} (100%) rename graphics/pokemon/{icons/oddish_icon.png => oddish/icon.png} (100%) rename graphics/pokemon/{palettes/oddish_palette.pal => oddish/normal.pal} (100%) rename graphics/pokemon/{palettes/oddish_shiny_palette.pal => oddish/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/omanyte_front_pic.png => omanyte/anim_front.png} (100%) rename graphics/pokemon/{back_pics/omanyte_back_pic.png => omanyte/back.png} (100%) rename graphics/pokemon/{footprints/omanyte_footprint.png => omanyte/footprint.png} (100%) rename graphics/pokemon/{front_pics/omanyte_still_front_pic.png => omanyte/front.png} (100%) rename graphics/pokemon/{icons/omanyte_icon.png => omanyte/icon.png} (100%) rename graphics/pokemon/{palettes/omanyte_palette.pal => omanyte/normal.pal} (100%) rename graphics/pokemon/{palettes/omanyte_shiny_palette.pal => omanyte/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/omastar_front_pic.png => omastar/anim_front.png} (100%) rename graphics/pokemon/{back_pics/omastar_back_pic.png => omastar/back.png} (100%) rename graphics/pokemon/{footprints/omastar_footprint.png => omastar/footprint.png} (100%) rename graphics/pokemon/{front_pics/omastar_still_front_pic.png => omastar/front.png} (100%) rename graphics/pokemon/{icons/omastar_icon.png => omastar/icon.png} (100%) rename graphics/pokemon/{palettes/omastar_palette.pal => omastar/normal.pal} (100%) rename graphics/pokemon/{palettes/omastar_shiny_palette.pal => omastar/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/onix_front_pic.png => onix/anim_front.png} (100%) rename graphics/pokemon/{back_pics/onix_back_pic.png => onix/back.png} (100%) rename graphics/pokemon/{footprints/onix_footprint.png => onix/footprint.png} (100%) rename graphics/pokemon/{front_pics/onix_still_front_pic.png => onix/front.png} (100%) rename graphics/pokemon/{icons/onix_icon.png => onix/icon.png} (100%) rename graphics/pokemon/{palettes/onix_palette.pal => onix/normal.pal} (100%) rename graphics/pokemon/{palettes/onix_shiny_palette.pal => onix/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/paras_front_pic.png => paras/anim_front.png} (100%) rename graphics/pokemon/{back_pics/paras_back_pic.png => paras/back.png} (100%) rename graphics/pokemon/{footprints/paras_footprint.png => paras/footprint.png} (100%) rename graphics/pokemon/{front_pics/paras_still_front_pic.png => paras/front.png} (100%) rename graphics/pokemon/{icons/paras_icon.png => paras/icon.png} (100%) rename graphics/pokemon/{palettes/paras_palette.pal => paras/normal.pal} (100%) rename graphics/pokemon/{palettes/paras_shiny_palette.pal => paras/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/parasect_front_pic.png => parasect/anim_front.png} (100%) rename graphics/pokemon/{back_pics/parasect_back_pic.png => parasect/back.png} (100%) rename graphics/pokemon/{footprints/parasect_footprint.png => parasect/footprint.png} (100%) rename graphics/pokemon/{front_pics/parasect_still_front_pic.png => parasect/front.png} (100%) rename graphics/pokemon/{icons/parasect_icon.png => parasect/icon.png} (100%) rename graphics/pokemon/{palettes/parasect_palette.pal => parasect/normal.pal} (100%) rename graphics/pokemon/{palettes/parasect_shiny_palette.pal => parasect/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/pelipper_front_pic.png => pelipper/anim_front.png} (100%) rename graphics/pokemon/{back_pics/pelipper_back_pic.png => pelipper/back.png} (100%) rename graphics/pokemon/{footprints/pelipper_footprint.png => pelipper/footprint.png} (100%) rename graphics/pokemon/{front_pics/pelipper_still_front_pic.png => pelipper/front.png} (100%) rename graphics/pokemon/{icons/pelipper_icon.png => pelipper/icon.png} (100%) rename graphics/pokemon/{palettes/pelipper_palette.pal => pelipper/normal.pal} (100%) rename graphics/pokemon/{palettes/pelipper_shiny_palette.pal => pelipper/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/persian_front_pic.png => persian/anim_front.png} (100%) rename graphics/pokemon/{back_pics/persian_back_pic.png => persian/back.png} (100%) rename graphics/pokemon/{footprints/persian_footprint.png => persian/footprint.png} (100%) rename graphics/pokemon/{front_pics/persian_still_front_pic.png => persian/front.png} (100%) rename graphics/pokemon/{icons/persian_icon.png => persian/icon.png} (100%) rename graphics/pokemon/{palettes/persian_palette.pal => persian/normal.pal} (100%) rename graphics/pokemon/{palettes/persian_shiny_palette.pal => persian/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/phanpy_front_pic.png => phanpy/anim_front.png} (100%) rename graphics/pokemon/{back_pics/phanpy_back_pic.png => phanpy/back.png} (100%) rename graphics/pokemon/{footprints/phanpy_footprint.png => phanpy/footprint.png} (100%) rename graphics/pokemon/{front_pics/phanpy_still_front_pic.png => phanpy/front.png} (100%) rename graphics/pokemon/{icons/phanpy_icon.png => phanpy/icon.png} (100%) rename graphics/pokemon/{palettes/phanpy_palette.pal => phanpy/normal.pal} (100%) rename graphics/pokemon/{palettes/phanpy_shiny_palette.pal => phanpy/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/pichu_front_pic.png => pichu/anim_front.png} (100%) rename graphics/pokemon/{back_pics/pichu_back_pic.png => pichu/back.png} (100%) rename graphics/pokemon/{footprints/pichu_footprint.png => pichu/footprint.png} (100%) rename graphics/pokemon/{front_pics/pichu_still_front_pic.png => pichu/front.png} (100%) rename graphics/pokemon/{icons/pichu_icon.png => pichu/icon.png} (100%) rename graphics/pokemon/{palettes/pichu_palette.pal => pichu/normal.pal} (100%) rename graphics/pokemon/{palettes/pichu_shiny_palette.pal => pichu/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/pidgeot_front_pic.png => pidgeot/anim_front.png} (100%) rename graphics/pokemon/{back_pics/pidgeot_back_pic.png => pidgeot/back.png} (100%) rename graphics/pokemon/{footprints/pidgeot_footprint.png => pidgeot/footprint.png} (100%) rename graphics/pokemon/{front_pics/pidgeot_still_front_pic.png => pidgeot/front.png} (100%) rename graphics/pokemon/{icons/pidgeot_icon.png => pidgeot/icon.png} (100%) rename graphics/pokemon/{palettes/pidgeot_palette.pal => pidgeot/normal.pal} (100%) rename graphics/pokemon/{palettes/pidgeot_shiny_palette.pal => pidgeot/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/pidgeotto_front_pic.png => pidgeotto/anim_front.png} (100%) rename graphics/pokemon/{back_pics/pidgeotto_back_pic.png => pidgeotto/back.png} (100%) rename graphics/pokemon/{footprints/pidgeotto_footprint.png => pidgeotto/footprint.png} (100%) rename graphics/pokemon/{front_pics/pidgeotto_still_front_pic.png => pidgeotto/front.png} (100%) rename graphics/pokemon/{icons/pidgeotto_icon.png => pidgeotto/icon.png} (100%) rename graphics/pokemon/{palettes/pidgeotto_palette.pal => pidgeotto/normal.pal} (100%) rename graphics/pokemon/{palettes/pidgeotto_shiny_palette.pal => pidgeotto/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/pidgey_front_pic.png => pidgey/anim_front.png} (100%) rename graphics/pokemon/{back_pics/pidgey_back_pic.png => pidgey/back.png} (100%) rename graphics/pokemon/{footprints/pidgey_footprint.png => pidgey/footprint.png} (100%) rename graphics/pokemon/{front_pics/pidgey_still_front_pic.png => pidgey/front.png} (100%) rename graphics/pokemon/{icons/pidgey_icon.png => pidgey/icon.png} (100%) rename graphics/pokemon/{palettes/pidgey_palette.pal => pidgey/normal.pal} (100%) rename graphics/pokemon/{palettes/pidgey_shiny_palette.pal => pidgey/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/pikachu_front_pic.png => pikachu/anim_front.png} (100%) rename graphics/pokemon/{back_pics/pikachu_back_pic.png => pikachu/back.png} (100%) rename graphics/pokemon/{footprints/pikachu_footprint.png => pikachu/footprint.png} (100%) rename graphics/pokemon/{front_pics/pikachu_still_front_pic.png => pikachu/front.png} (100%) rename graphics/pokemon/{icons/pikachu_icon.png => pikachu/icon.png} (100%) rename graphics/pokemon/{palettes/pikachu_palette.pal => pikachu/normal.pal} (100%) rename graphics/pokemon/{palettes/pikachu_shiny_palette.pal => pikachu/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/piloswine_front_pic.png => piloswine/anim_front.png} (100%) rename graphics/pokemon/{back_pics/piloswine_back_pic.png => piloswine/back.png} (100%) rename graphics/pokemon/{footprints/piloswine_footprint.png => piloswine/footprint.png} (100%) rename graphics/pokemon/{front_pics/piloswine_still_front_pic.png => piloswine/front.png} (100%) rename graphics/pokemon/{icons/piloswine_icon.png => piloswine/icon.png} (100%) rename graphics/pokemon/{palettes/piloswine_palette.pal => piloswine/normal.pal} (100%) rename graphics/pokemon/{palettes/piloswine_shiny_palette.pal => piloswine/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/pineco_front_pic.png => pineco/anim_front.png} (100%) rename graphics/pokemon/{back_pics/pineco_back_pic.png => pineco/back.png} (100%) rename graphics/pokemon/{footprints/pineco_footprint.png => pineco/footprint.png} (100%) rename graphics/pokemon/{front_pics/pineco_still_front_pic.png => pineco/front.png} (100%) rename graphics/pokemon/{icons/pineco_icon.png => pineco/icon.png} (100%) rename graphics/pokemon/{palettes/pineco_palette.pal => pineco/normal.pal} (100%) rename graphics/pokemon/{palettes/pineco_shiny_palette.pal => pineco/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/pinsir_front_pic.png => pinsir/anim_front.png} (100%) rename graphics/pokemon/{back_pics/pinsir_back_pic.png => pinsir/back.png} (100%) rename graphics/pokemon/{footprints/pinsir_footprint.png => pinsir/footprint.png} (100%) rename graphics/pokemon/{front_pics/pinsir_still_front_pic.png => pinsir/front.png} (100%) rename graphics/pokemon/{icons/pinsir_icon.png => pinsir/icon.png} (100%) rename graphics/pokemon/{palettes/pinsir_palette.pal => pinsir/normal.pal} (100%) rename graphics/pokemon/{palettes/pinsir_shiny_palette.pal => pinsir/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/plusle_front_pic.png => plusle/anim_front.png} (100%) rename graphics/pokemon/{back_pics/plusle_back_pic.png => plusle/back.png} (100%) rename graphics/pokemon/{footprints/plusle_footprint.png => plusle/footprint.png} (100%) rename graphics/pokemon/{front_pics/plusle_still_front_pic.png => plusle/front.png} (100%) rename graphics/pokemon/{icons/plusle_icon.png => plusle/icon.png} (100%) rename graphics/pokemon/{palettes/plusle_palette.pal => plusle/normal.pal} (100%) rename graphics/pokemon/{palettes/plusle_shiny_palette.pal => plusle/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/politoed_front_pic.png => politoed/anim_front.png} (100%) rename graphics/pokemon/{back_pics/politoed_back_pic.png => politoed/back.png} (100%) rename graphics/pokemon/{footprints/politoed_footprint.png => politoed/footprint.png} (100%) rename graphics/pokemon/{front_pics/politoed_still_front_pic.png => politoed/front.png} (100%) rename graphics/pokemon/{icons/politoed_icon.png => politoed/icon.png} (100%) rename graphics/pokemon/{palettes/politoed_palette.pal => politoed/normal.pal} (100%) rename graphics/pokemon/{palettes/politoed_shiny_palette.pal => politoed/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/poliwag_front_pic.png => poliwag/anim_front.png} (100%) rename graphics/pokemon/{back_pics/poliwag_back_pic.png => poliwag/back.png} (100%) rename graphics/pokemon/{footprints/poliwag_footprint.png => poliwag/footprint.png} (100%) rename graphics/pokemon/{front_pics/poliwag_still_front_pic.png => poliwag/front.png} (100%) rename graphics/pokemon/{icons/poliwag_icon.png => poliwag/icon.png} (100%) rename graphics/pokemon/{palettes/poliwag_palette.pal => poliwag/normal.pal} (100%) rename graphics/pokemon/{palettes/poliwag_shiny_palette.pal => poliwag/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/poliwhirl_front_pic.png => poliwhirl/anim_front.png} (100%) rename graphics/pokemon/{back_pics/poliwhirl_back_pic.png => poliwhirl/back.png} (100%) rename graphics/pokemon/{footprints/poliwhirl_footprint.png => poliwhirl/footprint.png} (100%) rename graphics/pokemon/{front_pics/poliwhirl_still_front_pic.png => poliwhirl/front.png} (100%) rename graphics/pokemon/{icons/poliwhirl_icon.png => poliwhirl/icon.png} (100%) rename graphics/pokemon/{palettes/poliwhirl_palette.pal => poliwhirl/normal.pal} (100%) rename graphics/pokemon/{palettes/poliwhirl_shiny_palette.pal => poliwhirl/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/poliwrath_front_pic.png => poliwrath/anim_front.png} (100%) rename graphics/pokemon/{back_pics/poliwrath_back_pic.png => poliwrath/back.png} (100%) rename graphics/pokemon/{footprints/poliwrath_footprint.png => poliwrath/footprint.png} (100%) rename graphics/pokemon/{front_pics/poliwrath_still_front_pic.png => poliwrath/front.png} (100%) rename graphics/pokemon/{icons/poliwrath_icon.png => poliwrath/icon.png} (100%) rename graphics/pokemon/{palettes/poliwrath_palette.pal => poliwrath/normal.pal} (100%) rename graphics/pokemon/{palettes/poliwrath_shiny_palette.pal => poliwrath/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/ponyta_front_pic.png => ponyta/anim_front.png} (100%) rename graphics/pokemon/{back_pics/ponyta_back_pic.png => ponyta/back.png} (100%) rename graphics/pokemon/{footprints/ponyta_footprint.png => ponyta/footprint.png} (100%) rename graphics/pokemon/{front_pics/ponyta_still_front_pic.png => ponyta/front.png} (100%) rename graphics/pokemon/{icons/ponyta_icon.png => ponyta/icon.png} (100%) rename graphics/pokemon/{palettes/ponyta_palette.pal => ponyta/normal.pal} (100%) rename graphics/pokemon/{palettes/ponyta_shiny_palette.pal => ponyta/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/poochyena_front_pic.png => poochyena/anim_front.png} (100%) rename graphics/pokemon/{back_pics/poochyena_back_pic.png => poochyena/back.png} (100%) rename graphics/pokemon/{footprints/poochyena_footprint.png => poochyena/footprint.png} (100%) rename graphics/pokemon/{front_pics/poochyena_still_front_pic.png => poochyena/front.png} (100%) rename graphics/pokemon/{icons/poochyena_icon.png => poochyena/icon.png} (100%) rename graphics/pokemon/{palettes/poochyena_palette.pal => poochyena/normal.pal} (100%) rename graphics/pokemon/{palettes/poochyena_shiny_palette.pal => poochyena/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/porygon_front_pic.png => porygon/anim_front.png} (100%) rename graphics/pokemon/{back_pics/porygon_back_pic.png => porygon/back.png} (100%) rename graphics/pokemon/{footprints/porygon_footprint.png => porygon/footprint.png} (100%) rename graphics/pokemon/{front_pics/porygon_still_front_pic.png => porygon/front.png} (100%) rename graphics/pokemon/{icons/porygon_icon.png => porygon/icon.png} (100%) rename graphics/pokemon/{palettes/porygon_palette.pal => porygon/normal.pal} (100%) rename graphics/pokemon/{palettes/porygon_shiny_palette.pal => porygon/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/porygon2_front_pic.png => porygon2/anim_front.png} (100%) rename graphics/pokemon/{back_pics/porygon2_back_pic.png => porygon2/back.png} (100%) rename graphics/pokemon/{footprints/porygon2_footprint.png => porygon2/footprint.png} (100%) rename graphics/pokemon/{front_pics/porygon2_still_front_pic.png => porygon2/front.png} (100%) rename graphics/pokemon/{icons/porygon2_icon.png => porygon2/icon.png} (100%) rename graphics/pokemon/{palettes/porygon2_palette.pal => porygon2/normal.pal} (100%) rename graphics/pokemon/{palettes/porygon2_shiny_palette.pal => porygon2/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/primeape_front_pic.png => primeape/anim_front.png} (100%) rename graphics/pokemon/{back_pics/primeape_back_pic.png => primeape/back.png} (100%) rename graphics/pokemon/{footprints/primeape_footprint.png => primeape/footprint.png} (100%) rename graphics/pokemon/{front_pics/primeape_still_front_pic.png => primeape/front.png} (100%) rename graphics/pokemon/{icons/primeape_icon.png => primeape/icon.png} (100%) rename graphics/pokemon/{palettes/primeape_palette.pal => primeape/normal.pal} (100%) rename graphics/pokemon/{palettes/primeape_shiny_palette.pal => primeape/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/psyduck_front_pic.png => psyduck/anim_front.png} (100%) rename graphics/pokemon/{back_pics/psyduck_back_pic.png => psyduck/back.png} (100%) rename graphics/pokemon/{footprints/psyduck_footprint.png => psyduck/footprint.png} (100%) rename graphics/pokemon/{front_pics/psyduck_still_front_pic.png => psyduck/front.png} (100%) rename graphics/pokemon/{icons/psyduck_icon.png => psyduck/icon.png} (100%) rename graphics/pokemon/{palettes/psyduck_palette.pal => psyduck/normal.pal} (100%) rename graphics/pokemon/{palettes/psyduck_shiny_palette.pal => psyduck/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/pupitar_front_pic.png => pupitar/anim_front.png} (100%) rename graphics/pokemon/{back_pics/pupitar_back_pic.png => pupitar/back.png} (100%) rename graphics/pokemon/{footprints/pupitar_footprint.png => pupitar/footprint.png} (100%) rename graphics/pokemon/{front_pics/pupitar_still_front_pic.png => pupitar/front.png} (100%) rename graphics/pokemon/{icons/pupitar_icon.png => pupitar/icon.png} (100%) rename graphics/pokemon/{palettes/pupitar_palette.pal => pupitar/normal.pal} (100%) rename graphics/pokemon/{palettes/pupitar_shiny_palette.pal => pupitar/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/quagsire_front_pic.png => quagsire/anim_front.png} (100%) rename graphics/pokemon/{back_pics/quagsire_back_pic.png => quagsire/back.png} (100%) rename graphics/pokemon/{footprints/quagsire_footprint.png => quagsire/footprint.png} (100%) rename graphics/pokemon/{front_pics/quagsire_still_front_pic.png => quagsire/front.png} (100%) rename graphics/pokemon/{icons/quagsire_icon.png => quagsire/icon.png} (100%) rename graphics/pokemon/{palettes/quagsire_palette.pal => quagsire/normal.pal} (100%) rename graphics/pokemon/{palettes/quagsire_shiny_palette.pal => quagsire/shiny.pal} (100%) rename graphics/pokemon/{footprints/question_mark_footprint.png => question_mark/footprint.png} (100%) rename graphics/pokemon/{icons/question_mark_icon.png => question_mark/icon.png} (100%) rename graphics/pokemon/{anim_front_pics/quilava_front_pic.png => quilava/anim_front.png} (100%) rename graphics/pokemon/{back_pics/quilava_back_pic.png => quilava/back.png} (100%) rename graphics/pokemon/{footprints/quilava_footprint.png => quilava/footprint.png} (100%) rename graphics/pokemon/{front_pics/quilava_still_front_pic.png => quilava/front.png} (100%) rename graphics/pokemon/{icons/quilava_icon.png => quilava/icon.png} (100%) rename graphics/pokemon/{palettes/quilava_palette.pal => quilava/normal.pal} (100%) rename graphics/pokemon/{palettes/quilava_shiny_palette.pal => quilava/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/qwilfish_front_pic.png => qwilfish/anim_front.png} (100%) rename graphics/pokemon/{back_pics/qwilfish_back_pic.png => qwilfish/back.png} (100%) rename graphics/pokemon/{footprints/qwilfish_footprint.png => qwilfish/footprint.png} (100%) rename graphics/pokemon/{front_pics/qwilfish_still_front_pic.png => qwilfish/front.png} (100%) rename graphics/pokemon/{icons/qwilfish_icon.png => qwilfish/icon.png} (100%) rename graphics/pokemon/{palettes/qwilfish_palette.pal => qwilfish/normal.pal} (100%) rename graphics/pokemon/{palettes/qwilfish_shiny_palette.pal => qwilfish/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/raichu_front_pic.png => raichu/anim_front.png} (100%) rename graphics/pokemon/{back_pics/raichu_back_pic.png => raichu/back.png} (100%) rename graphics/pokemon/{footprints/raichu_footprint.png => raichu/footprint.png} (100%) rename graphics/pokemon/{front_pics/raichu_still_front_pic.png => raichu/front.png} (100%) rename graphics/pokemon/{icons/raichu_icon.png => raichu/icon.png} (100%) rename graphics/pokemon/{palettes/raichu_palette.pal => raichu/normal.pal} (100%) rename graphics/pokemon/{palettes/raichu_shiny_palette.pal => raichu/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/raikou_front_pic.png => raikou/anim_front.png} (100%) rename graphics/pokemon/{back_pics/raikou_back_pic.png => raikou/back.png} (100%) rename graphics/pokemon/{footprints/raikou_footprint.png => raikou/footprint.png} (100%) rename graphics/pokemon/{front_pics/raikou_still_front_pic.png => raikou/front.png} (100%) rename graphics/pokemon/{icons/raikou_icon.png => raikou/icon.png} (100%) rename graphics/pokemon/{palettes/raikou_palette.pal => raikou/normal.pal} (100%) rename graphics/pokemon/{palettes/raikou_shiny_palette.pal => raikou/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/ralts_front_pic.png => ralts/anim_front.png} (100%) rename graphics/pokemon/{back_pics/ralts_back_pic.png => ralts/back.png} (100%) rename graphics/pokemon/{footprints/ralts_footprint.png => ralts/footprint.png} (100%) rename graphics/pokemon/{front_pics/ralts_still_front_pic.png => ralts/front.png} (100%) rename graphics/pokemon/{icons/ralts_icon.png => ralts/icon.png} (100%) rename graphics/pokemon/{palettes/ralts_palette.pal => ralts/normal.pal} (100%) rename graphics/pokemon/{palettes/ralts_shiny_palette.pal => ralts/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/rapidash_front_pic.png => rapidash/anim_front.png} (100%) rename graphics/pokemon/{back_pics/rapidash_back_pic.png => rapidash/back.png} (100%) rename graphics/pokemon/{footprints/rapidash_footprint.png => rapidash/footprint.png} (100%) rename graphics/pokemon/{front_pics/rapidash_still_front_pic.png => rapidash/front.png} (100%) rename graphics/pokemon/{icons/rapidash_icon.png => rapidash/icon.png} (100%) rename graphics/pokemon/{palettes/rapidash_palette.pal => rapidash/normal.pal} (100%) rename graphics/pokemon/{palettes/rapidash_shiny_palette.pal => rapidash/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/raticate_front_pic.png => raticate/anim_front.png} (100%) rename graphics/pokemon/{back_pics/raticate_back_pic.png => raticate/back.png} (100%) rename graphics/pokemon/{footprints/raticate_footprint.png => raticate/footprint.png} (100%) rename graphics/pokemon/{front_pics/raticate_still_front_pic.png => raticate/front.png} (100%) rename graphics/pokemon/{icons/raticate_icon.png => raticate/icon.png} (100%) rename graphics/pokemon/{palettes/raticate_palette.pal => raticate/normal.pal} (100%) rename graphics/pokemon/{palettes/raticate_shiny_palette.pal => raticate/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/rattata_front_pic.png => rattata/anim_front.png} (100%) rename graphics/pokemon/{back_pics/rattata_back_pic.png => rattata/back.png} (100%) rename graphics/pokemon/{footprints/rattata_footprint.png => rattata/footprint.png} (100%) rename graphics/pokemon/{front_pics/rattata_still_front_pic.png => rattata/front.png} (100%) rename graphics/pokemon/{icons/rattata_icon.png => rattata/icon.png} (100%) rename graphics/pokemon/{palettes/rattata_palette.pal => rattata/normal.pal} (100%) rename graphics/pokemon/{palettes/rattata_shiny_palette.pal => rattata/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/rayquaza_front_pic.png => rayquaza/anim_front.png} (100%) rename graphics/pokemon/{back_pics/rayquaza_back_pic.png => rayquaza/back.png} (100%) rename graphics/pokemon/{footprints/rayquaza_footprint.png => rayquaza/footprint.png} (100%) rename graphics/pokemon/{front_pics/rayquaza_still_front_pic.png => rayquaza/front.png} (100%) rename graphics/pokemon/{icons/rayquaza_icon.png => rayquaza/icon.png} (100%) rename graphics/pokemon/{palettes/rayquaza_palette.pal => rayquaza/normal.pal} (100%) rename graphics/pokemon/{palettes/rayquaza_shiny_palette.pal => rayquaza/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/regice_front_pic.png => regice/anim_front.png} (100%) rename graphics/pokemon/{back_pics/regice_back_pic.png => regice/back.png} (100%) rename graphics/pokemon/{footprints/regice_footprint.png => regice/footprint.png} (100%) rename graphics/pokemon/{front_pics/regice_still_front_pic.png => regice/front.png} (100%) rename graphics/pokemon/{icons/regice_icon.png => regice/icon.png} (100%) rename graphics/pokemon/{palettes/regice_palette.pal => regice/normal.pal} (100%) rename graphics/pokemon/{palettes/regice_shiny_palette.pal => regice/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/regirock_front_pic.png => regirock/anim_front.png} (100%) rename graphics/pokemon/{back_pics/regirock_back_pic.png => regirock/back.png} (100%) rename graphics/pokemon/{footprints/regirock_footprint.png => regirock/footprint.png} (100%) rename graphics/pokemon/{front_pics/regirock_still_front_pic.png => regirock/front.png} (100%) rename graphics/pokemon/{icons/regirock_icon.png => regirock/icon.png} (100%) rename graphics/pokemon/{palettes/regirock_palette.pal => regirock/normal.pal} (100%) rename graphics/pokemon/{palettes/regirock_shiny_palette.pal => regirock/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/registeel_front_pic.png => registeel/anim_front.png} (100%) rename graphics/pokemon/{back_pics/registeel_back_pic.png => registeel/back.png} (100%) rename graphics/pokemon/{footprints/registeel_footprint.png => registeel/footprint.png} (100%) rename graphics/pokemon/{front_pics/registeel_still_front_pic.png => registeel/front.png} (100%) rename graphics/pokemon/{icons/registeel_icon.png => registeel/icon.png} (100%) rename graphics/pokemon/{palettes/registeel_palette.pal => registeel/normal.pal} (100%) rename graphics/pokemon/{palettes/registeel_shiny_palette.pal => registeel/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/relicanth_front_pic.png => relicanth/anim_front.png} (100%) rename graphics/pokemon/{back_pics/relicanth_back_pic.png => relicanth/back.png} (100%) rename graphics/pokemon/{footprints/relicanth_footprint.png => relicanth/footprint.png} (100%) rename graphics/pokemon/{front_pics/relicanth_still_front_pic.png => relicanth/front.png} (100%) rename graphics/pokemon/{icons/relicanth_icon.png => relicanth/icon.png} (100%) rename graphics/pokemon/{palettes/relicanth_palette.pal => relicanth/normal.pal} (100%) rename graphics/pokemon/{palettes/relicanth_shiny_palette.pal => relicanth/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/remoraid_front_pic.png => remoraid/anim_front.png} (100%) rename graphics/pokemon/{back_pics/remoraid_back_pic.png => remoraid/back.png} (100%) rename graphics/pokemon/{footprints/remoraid_footprint.png => remoraid/footprint.png} (100%) rename graphics/pokemon/{front_pics/remoraid_still_front_pic.png => remoraid/front.png} (100%) rename graphics/pokemon/{icons/remoraid_icon.png => remoraid/icon.png} (100%) rename graphics/pokemon/{palettes/remoraid_palette.pal => remoraid/normal.pal} (100%) rename graphics/pokemon/{palettes/remoraid_shiny_palette.pal => remoraid/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/rhydon_front_pic.png => rhydon/anim_front.png} (100%) rename graphics/pokemon/{back_pics/rhydon_back_pic.png => rhydon/back.png} (100%) rename graphics/pokemon/{footprints/rhydon_footprint.png => rhydon/footprint.png} (100%) rename graphics/pokemon/{front_pics/rhydon_still_front_pic.png => rhydon/front.png} (100%) rename graphics/pokemon/{icons/rhydon_icon.png => rhydon/icon.png} (100%) rename graphics/pokemon/{palettes/rhydon_palette.pal => rhydon/normal.pal} (100%) rename graphics/pokemon/{palettes/rhydon_shiny_palette.pal => rhydon/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/rhyhorn_front_pic.png => rhyhorn/anim_front.png} (100%) rename graphics/pokemon/{back_pics/rhyhorn_back_pic.png => rhyhorn/back.png} (100%) rename graphics/pokemon/{footprints/rhyhorn_footprint.png => rhyhorn/footprint.png} (100%) rename graphics/pokemon/{front_pics/rhyhorn_still_front_pic.png => rhyhorn/front.png} (100%) rename graphics/pokemon/{icons/rhyhorn_icon.png => rhyhorn/icon.png} (100%) rename graphics/pokemon/{palettes/rhyhorn_palette.pal => rhyhorn/normal.pal} (100%) rename graphics/pokemon/{palettes/rhyhorn_shiny_palette.pal => rhyhorn/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/roselia_front_pic.png => roselia/anim_front.png} (100%) rename graphics/pokemon/{back_pics/roselia_back_pic.png => roselia/back.png} (100%) rename graphics/pokemon/{footprints/roselia_footprint.png => roselia/footprint.png} (100%) rename graphics/pokemon/{front_pics/roselia_still_front_pic.png => roselia/front.png} (100%) rename graphics/pokemon/{icons/roselia_icon.png => roselia/icon.png} (100%) rename graphics/pokemon/{palettes/roselia_palette.pal => roselia/normal.pal} (100%) rename graphics/pokemon/{palettes/roselia_shiny_palette.pal => roselia/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/sableye_front_pic.png => sableye/anim_front.png} (100%) rename graphics/pokemon/{back_pics/sableye_back_pic.png => sableye/back.png} (100%) rename graphics/pokemon/{footprints/sableye_footprint.png => sableye/footprint.png} (100%) rename graphics/pokemon/{front_pics/sableye_still_front_pic.png => sableye/front.png} (100%) rename graphics/pokemon/{icons/sableye_icon.png => sableye/icon.png} (100%) rename graphics/pokemon/{palettes/sableye_palette.pal => sableye/normal.pal} (100%) rename graphics/pokemon/{palettes/sableye_shiny_palette.pal => sableye/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/salamence_front_pic.png => salamence/anim_front.png} (100%) rename graphics/pokemon/{back_pics/salamence_back_pic.png => salamence/back.png} (100%) rename graphics/pokemon/{footprints/salamence_footprint.png => salamence/footprint.png} (100%) rename graphics/pokemon/{front_pics/salamence_still_front_pic.png => salamence/front.png} (100%) rename graphics/pokemon/{icons/salamence_icon.png => salamence/icon.png} (100%) rename graphics/pokemon/{palettes/salamence_palette.pal => salamence/normal.pal} (100%) rename graphics/pokemon/{palettes/salamence_shiny_palette.pal => salamence/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/sandshrew_front_pic.png => sandshrew/anim_front.png} (100%) rename graphics/pokemon/{back_pics/sandshrew_back_pic.png => sandshrew/back.png} (100%) rename graphics/pokemon/{footprints/sandshrew_footprint.png => sandshrew/footprint.png} (100%) rename graphics/pokemon/{front_pics/sandshrew_still_front_pic.png => sandshrew/front.png} (100%) rename graphics/pokemon/{icons/sandshrew_icon.png => sandshrew/icon.png} (100%) rename graphics/pokemon/{palettes/sandshrew_palette.pal => sandshrew/normal.pal} (100%) rename graphics/pokemon/{palettes/sandshrew_shiny_palette.pal => sandshrew/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/sandslash_front_pic.png => sandslash/anim_front.png} (100%) rename graphics/pokemon/{back_pics/sandslash_back_pic.png => sandslash/back.png} (100%) rename graphics/pokemon/{footprints/sandslash_footprint.png => sandslash/footprint.png} (100%) rename graphics/pokemon/{front_pics/sandslash_still_front_pic.png => sandslash/front.png} (100%) rename graphics/pokemon/{icons/sandslash_icon.png => sandslash/icon.png} (100%) rename graphics/pokemon/{palettes/sandslash_palette.pal => sandslash/normal.pal} (100%) rename graphics/pokemon/{palettes/sandslash_shiny_palette.pal => sandslash/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/sceptile_front_pic.png => sceptile/anim_front.png} (100%) rename graphics/pokemon/{back_pics/sceptile_back_pic.png => sceptile/back.png} (100%) rename graphics/pokemon/{footprints/sceptile_footprint.png => sceptile/footprint.png} (100%) rename graphics/pokemon/{front_pics/sceptile_still_front_pic.png => sceptile/front.png} (100%) rename graphics/pokemon/{icons/sceptile_icon.png => sceptile/icon.png} (100%) rename graphics/pokemon/{palettes/sceptile_palette.pal => sceptile/normal.pal} (100%) rename graphics/pokemon/{palettes/sceptile_shiny_palette.pal => sceptile/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/scizor_front_pic.png => scizor/anim_front.png} (100%) rename graphics/pokemon/{back_pics/scizor_back_pic.png => scizor/back.png} (100%) rename graphics/pokemon/{footprints/scizor_footprint.png => scizor/footprint.png} (100%) rename graphics/pokemon/{front_pics/scizor_still_front_pic.png => scizor/front.png} (100%) rename graphics/pokemon/{icons/scizor_icon.png => scizor/icon.png} (100%) rename graphics/pokemon/{palettes/scizor_palette.pal => scizor/normal.pal} (100%) rename graphics/pokemon/{palettes/scizor_shiny_palette.pal => scizor/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/scyther_front_pic.png => scyther/anim_front.png} (100%) rename graphics/pokemon/{back_pics/scyther_back_pic.png => scyther/back.png} (100%) rename graphics/pokemon/{footprints/scyther_footprint.png => scyther/footprint.png} (100%) rename graphics/pokemon/{front_pics/scyther_still_front_pic.png => scyther/front.png} (100%) rename graphics/pokemon/{icons/scyther_icon.png => scyther/icon.png} (100%) rename graphics/pokemon/{palettes/scyther_palette.pal => scyther/normal.pal} (100%) rename graphics/pokemon/{palettes/scyther_shiny_palette.pal => scyther/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/seadra_front_pic.png => seadra/anim_front.png} (100%) rename graphics/pokemon/{back_pics/seadra_back_pic.png => seadra/back.png} (100%) rename graphics/pokemon/{footprints/seadra_footprint.png => seadra/footprint.png} (100%) rename graphics/pokemon/{front_pics/seadra_still_front_pic.png => seadra/front.png} (100%) rename graphics/pokemon/{icons/seadra_icon.png => seadra/icon.png} (100%) rename graphics/pokemon/{palettes/seadra_palette.pal => seadra/normal.pal} (100%) rename graphics/pokemon/{palettes/seadra_shiny_palette.pal => seadra/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/seaking_front_pic.png => seaking/anim_front.png} (100%) rename graphics/pokemon/{back_pics/seaking_back_pic.png => seaking/back.png} (100%) rename graphics/pokemon/{footprints/seaking_footprint.png => seaking/footprint.png} (100%) rename graphics/pokemon/{front_pics/seaking_still_front_pic.png => seaking/front.png} (100%) rename graphics/pokemon/{icons/seaking_icon.png => seaking/icon.png} (100%) rename graphics/pokemon/{palettes/seaking_palette.pal => seaking/normal.pal} (100%) rename graphics/pokemon/{palettes/seaking_shiny_palette.pal => seaking/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/sealeo_front_pic.png => sealeo/anim_front.png} (100%) rename graphics/pokemon/{back_pics/sealeo_back_pic.png => sealeo/back.png} (100%) rename graphics/pokemon/{footprints/sealeo_footprint.png => sealeo/footprint.png} (100%) rename graphics/pokemon/{front_pics/sealeo_still_front_pic.png => sealeo/front.png} (100%) rename graphics/pokemon/{icons/sealeo_icon.png => sealeo/icon.png} (100%) rename graphics/pokemon/{palettes/sealeo_palette.pal => sealeo/normal.pal} (100%) rename graphics/pokemon/{palettes/sealeo_shiny_palette.pal => sealeo/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/seedot_front_pic.png => seedot/anim_front.png} (100%) rename graphics/pokemon/{back_pics/seedot_back_pic.png => seedot/back.png} (100%) rename graphics/pokemon/{footprints/seedot_footprint.png => seedot/footprint.png} (100%) rename graphics/pokemon/{front_pics/seedot_still_front_pic.png => seedot/front.png} (100%) rename graphics/pokemon/{icons/seedot_icon.png => seedot/icon.png} (100%) rename graphics/pokemon/{palettes/seedot_palette.pal => seedot/normal.pal} (100%) rename graphics/pokemon/{palettes/seedot_shiny_palette.pal => seedot/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/seel_front_pic.png => seel/anim_front.png} (100%) rename graphics/pokemon/{back_pics/seel_back_pic.png => seel/back.png} (100%) rename graphics/pokemon/{footprints/seel_footprint.png => seel/footprint.png} (100%) rename graphics/pokemon/{front_pics/seel_still_front_pic.png => seel/front.png} (100%) rename graphics/pokemon/{icons/seel_icon.png => seel/icon.png} (100%) rename graphics/pokemon/{palettes/seel_palette.pal => seel/normal.pal} (100%) rename graphics/pokemon/{palettes/seel_shiny_palette.pal => seel/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/sentret_front_pic.png => sentret/anim_front.png} (100%) rename graphics/pokemon/{back_pics/sentret_back_pic.png => sentret/back.png} (100%) rename graphics/pokemon/{footprints/sentret_footprint.png => sentret/footprint.png} (100%) rename graphics/pokemon/{front_pics/sentret_still_front_pic.png => sentret/front.png} (100%) rename graphics/pokemon/{icons/sentret_icon.png => sentret/icon.png} (100%) rename graphics/pokemon/{palettes/sentret_palette.pal => sentret/normal.pal} (100%) rename graphics/pokemon/{palettes/sentret_shiny_palette.pal => sentret/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/seviper_front_pic.png => seviper/anim_front.png} (100%) rename graphics/pokemon/{back_pics/seviper_back_pic.png => seviper/back.png} (100%) rename graphics/pokemon/{footprints/seviper_footprint.png => seviper/footprint.png} (100%) rename graphics/pokemon/{front_pics/seviper_still_front_pic.png => seviper/front.png} (100%) rename graphics/pokemon/{icons/seviper_icon.png => seviper/icon.png} (100%) rename graphics/pokemon/{palettes/seviper_palette.pal => seviper/normal.pal} (100%) rename graphics/pokemon/{palettes/seviper_shiny_palette.pal => seviper/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/sharpedo_front_pic.png => sharpedo/anim_front.png} (100%) rename graphics/pokemon/{back_pics/sharpedo_back_pic.png => sharpedo/back.png} (100%) rename graphics/pokemon/{footprints/sharpedo_footprint.png => sharpedo/footprint.png} (100%) rename graphics/pokemon/{front_pics/sharpedo_still_front_pic.png => sharpedo/front.png} (100%) rename graphics/pokemon/{icons/sharpedo_icon.png => sharpedo/icon.png} (100%) rename graphics/pokemon/{palettes/sharpedo_palette.pal => sharpedo/normal.pal} (100%) rename graphics/pokemon/{palettes/sharpedo_shiny_palette.pal => sharpedo/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/shedinja_front_pic.png => shedinja/anim_front.png} (100%) rename graphics/pokemon/{back_pics/shedinja_back_pic.png => shedinja/back.png} (100%) rename graphics/pokemon/{footprints/shedinja_footprint.png => shedinja/footprint.png} (100%) rename graphics/pokemon/{front_pics/shedinja_still_front_pic.png => shedinja/front.png} (100%) rename graphics/pokemon/{icons/shedinja_icon.png => shedinja/icon.png} (100%) rename graphics/pokemon/{palettes/shedinja_palette.pal => shedinja/normal.pal} (100%) rename graphics/pokemon/{palettes/shedinja_shiny_palette.pal => shedinja/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/shelgon_front_pic.png => shelgon/anim_front.png} (100%) rename graphics/pokemon/{back_pics/shelgon_back_pic.png => shelgon/back.png} (100%) rename graphics/pokemon/{footprints/shelgon_footprint.png => shelgon/footprint.png} (100%) rename graphics/pokemon/{front_pics/shelgon_still_front_pic.png => shelgon/front.png} (100%) rename graphics/pokemon/{icons/shelgon_icon.png => shelgon/icon.png} (100%) rename graphics/pokemon/{palettes/shelgon_palette.pal => shelgon/normal.pal} (100%) rename graphics/pokemon/{palettes/shelgon_shiny_palette.pal => shelgon/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/shellder_front_pic.png => shellder/anim_front.png} (100%) rename graphics/pokemon/{back_pics/shellder_back_pic.png => shellder/back.png} (100%) rename graphics/pokemon/{footprints/shellder_footprint.png => shellder/footprint.png} (100%) rename graphics/pokemon/{front_pics/shellder_still_front_pic.png => shellder/front.png} (100%) rename graphics/pokemon/{icons/shellder_icon.png => shellder/icon.png} (100%) rename graphics/pokemon/{palettes/shellder_palette.pal => shellder/normal.pal} (100%) rename graphics/pokemon/{palettes/shellder_shiny_palette.pal => shellder/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/shiftry_front_pic.png => shiftry/anim_front.png} (100%) rename graphics/pokemon/{back_pics/shiftry_back_pic.png => shiftry/back.png} (100%) rename graphics/pokemon/{footprints/shiftry_footprint.png => shiftry/footprint.png} (100%) rename graphics/pokemon/{front_pics/shiftry_still_front_pic.png => shiftry/front.png} (100%) rename graphics/pokemon/{icons/shiftry_icon.png => shiftry/icon.png} (100%) rename graphics/pokemon/{palettes/shiftry_palette.pal => shiftry/normal.pal} (100%) rename graphics/pokemon/{palettes/shiftry_shiny_palette.pal => shiftry/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/shroomish_front_pic.png => shroomish/anim_front.png} (100%) rename graphics/pokemon/{back_pics/shroomish_back_pic.png => shroomish/back.png} (100%) rename graphics/pokemon/{footprints/shroomish_footprint.png => shroomish/footprint.png} (100%) rename graphics/pokemon/{front_pics/shroomish_still_front_pic.png => shroomish/front.png} (100%) rename graphics/pokemon/{icons/shroomish_icon.png => shroomish/icon.png} (100%) rename graphics/pokemon/{palettes/shroomish_palette.pal => shroomish/normal.pal} (100%) rename graphics/pokemon/{palettes/shroomish_shiny_palette.pal => shroomish/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/shuckle_front_pic.png => shuckle/anim_front.png} (100%) rename graphics/pokemon/{back_pics/shuckle_back_pic.png => shuckle/back.png} (100%) rename graphics/pokemon/{footprints/shuckle_footprint.png => shuckle/footprint.png} (100%) rename graphics/pokemon/{front_pics/shuckle_still_front_pic.png => shuckle/front.png} (100%) rename graphics/pokemon/{icons/shuckle_icon.png => shuckle/icon.png} (100%) rename graphics/pokemon/{palettes/shuckle_palette.pal => shuckle/normal.pal} (100%) rename graphics/pokemon/{palettes/shuckle_shiny_palette.pal => shuckle/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/shuppet_front_pic.png => shuppet/anim_front.png} (100%) rename graphics/pokemon/{back_pics/shuppet_back_pic.png => shuppet/back.png} (100%) rename graphics/pokemon/{footprints/shuppet_footprint.png => shuppet/footprint.png} (100%) rename graphics/pokemon/{front_pics/shuppet_still_front_pic.png => shuppet/front.png} (100%) rename graphics/pokemon/{icons/shuppet_icon.png => shuppet/icon.png} (100%) rename graphics/pokemon/{palettes/shuppet_palette.pal => shuppet/normal.pal} (100%) rename graphics/pokemon/{palettes/shuppet_shiny_palette.pal => shuppet/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/silcoon_front_pic.png => silcoon/anim_front.png} (100%) rename graphics/pokemon/{back_pics/silcoon_back_pic.png => silcoon/back.png} (100%) rename graphics/pokemon/{footprints/silcoon_footprint.png => silcoon/footprint.png} (100%) rename graphics/pokemon/{front_pics/silcoon_still_front_pic.png => silcoon/front.png} (100%) rename graphics/pokemon/{icons/silcoon_icon.png => silcoon/icon.png} (100%) rename graphics/pokemon/{palettes/silcoon_palette.pal => silcoon/normal.pal} (100%) rename graphics/pokemon/{palettes/silcoon_shiny_palette.pal => silcoon/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/skarmory_front_pic.png => skarmory/anim_front.png} (100%) rename graphics/pokemon/{back_pics/skarmory_back_pic.png => skarmory/back.png} (100%) rename graphics/pokemon/{footprints/skarmory_footprint.png => skarmory/footprint.png} (100%) rename graphics/pokemon/{front_pics/skarmory_still_front_pic.png => skarmory/front.png} (100%) rename graphics/pokemon/{icons/skarmory_icon.png => skarmory/icon.png} (100%) rename graphics/pokemon/{palettes/skarmory_palette.pal => skarmory/normal.pal} (100%) rename graphics/pokemon/{palettes/skarmory_shiny_palette.pal => skarmory/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/skiploom_front_pic.png => skiploom/anim_front.png} (100%) rename graphics/pokemon/{back_pics/skiploom_back_pic.png => skiploom/back.png} (100%) rename graphics/pokemon/{footprints/skiploom_footprint.png => skiploom/footprint.png} (100%) rename graphics/pokemon/{front_pics/skiploom_still_front_pic.png => skiploom/front.png} (100%) rename graphics/pokemon/{icons/skiploom_icon.png => skiploom/icon.png} (100%) rename graphics/pokemon/{palettes/skiploom_palette.pal => skiploom/normal.pal} (100%) rename graphics/pokemon/{palettes/skiploom_shiny_palette.pal => skiploom/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/skitty_front_pic.png => skitty/anim_front.png} (100%) rename graphics/pokemon/{back_pics/skitty_back_pic.png => skitty/back.png} (100%) rename graphics/pokemon/{footprints/skitty_footprint.png => skitty/footprint.png} (100%) rename graphics/pokemon/{front_pics/skitty_still_front_pic.png => skitty/front.png} (100%) rename graphics/pokemon/{icons/skitty_icon.png => skitty/icon.png} (100%) rename graphics/pokemon/{palettes/skitty_palette.pal => skitty/normal.pal} (100%) rename graphics/pokemon/{palettes/skitty_shiny_palette.pal => skitty/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/slaking_front_pic.png => slaking/anim_front.png} (100%) rename graphics/pokemon/{back_pics/slaking_back_pic.png => slaking/back.png} (100%) rename graphics/pokemon/{footprints/slaking_footprint.png => slaking/footprint.png} (100%) rename graphics/pokemon/{front_pics/slaking_still_front_pic.png => slaking/front.png} (100%) rename graphics/pokemon/{icons/slaking_icon.png => slaking/icon.png} (100%) rename graphics/pokemon/{palettes/slaking_palette.pal => slaking/normal.pal} (100%) rename graphics/pokemon/{palettes/slaking_shiny_palette.pal => slaking/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/slakoth_front_pic.png => slakoth/anim_front.png} (100%) rename graphics/pokemon/{back_pics/slakoth_back_pic.png => slakoth/back.png} (100%) rename graphics/pokemon/{footprints/slakoth_footprint.png => slakoth/footprint.png} (100%) rename graphics/pokemon/{front_pics/slakoth_still_front_pic.png => slakoth/front.png} (100%) rename graphics/pokemon/{icons/slakoth_icon.png => slakoth/icon.png} (100%) rename graphics/pokemon/{palettes/slakoth_palette.pal => slakoth/normal.pal} (100%) rename graphics/pokemon/{palettes/slakoth_shiny_palette.pal => slakoth/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/slowbro_front_pic.png => slowbro/anim_front.png} (100%) rename graphics/pokemon/{back_pics/slowbro_back_pic.png => slowbro/back.png} (100%) rename graphics/pokemon/{footprints/slowbro_footprint.png => slowbro/footprint.png} (100%) rename graphics/pokemon/{front_pics/slowbro_still_front_pic.png => slowbro/front.png} (100%) rename graphics/pokemon/{icons/slowbro_icon.png => slowbro/icon.png} (100%) rename graphics/pokemon/{palettes/slowbro_palette.pal => slowbro/normal.pal} (100%) rename graphics/pokemon/{palettes/slowbro_shiny_palette.pal => slowbro/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/slowking_front_pic.png => slowking/anim_front.png} (100%) rename graphics/pokemon/{back_pics/slowking_back_pic.png => slowking/back.png} (100%) rename graphics/pokemon/{footprints/slowking_footprint.png => slowking/footprint.png} (100%) rename graphics/pokemon/{front_pics/slowking_still_front_pic.png => slowking/front.png} (100%) rename graphics/pokemon/{icons/slowking_icon.png => slowking/icon.png} (100%) rename graphics/pokemon/{palettes/slowking_palette.pal => slowking/normal.pal} (100%) rename graphics/pokemon/{palettes/slowking_shiny_palette.pal => slowking/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/slowpoke_front_pic.png => slowpoke/anim_front.png} (100%) rename graphics/pokemon/{back_pics/slowpoke_back_pic.png => slowpoke/back.png} (100%) rename graphics/pokemon/{footprints/slowpoke_footprint.png => slowpoke/footprint.png} (100%) rename graphics/pokemon/{front_pics/slowpoke_still_front_pic.png => slowpoke/front.png} (100%) rename graphics/pokemon/{icons/slowpoke_icon.png => slowpoke/icon.png} (100%) rename graphics/pokemon/{palettes/slowpoke_palette.pal => slowpoke/normal.pal} (100%) rename graphics/pokemon/{palettes/slowpoke_shiny_palette.pal => slowpoke/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/slugma_front_pic.png => slugma/anim_front.png} (100%) rename graphics/pokemon/{back_pics/slugma_back_pic.png => slugma/back.png} (100%) rename graphics/pokemon/{footprints/slugma_footprint.png => slugma/footprint.png} (100%) rename graphics/pokemon/{front_pics/slugma_still_front_pic.png => slugma/front.png} (100%) rename graphics/pokemon/{icons/slugma_icon.png => slugma/icon.png} (100%) rename graphics/pokemon/{palettes/slugma_palette.pal => slugma/normal.pal} (100%) rename graphics/pokemon/{palettes/slugma_shiny_palette.pal => slugma/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/smeargle_front_pic.png => smeargle/anim_front.png} (100%) rename graphics/pokemon/{back_pics/smeargle_back_pic.png => smeargle/back.png} (100%) rename graphics/pokemon/{footprints/smeargle_footprint.png => smeargle/footprint.png} (100%) rename graphics/pokemon/{front_pics/smeargle_still_front_pic.png => smeargle/front.png} (100%) rename graphics/pokemon/{icons/smeargle_icon.png => smeargle/icon.png} (100%) rename graphics/pokemon/{palettes/smeargle_palette.pal => smeargle/normal.pal} (100%) rename graphics/pokemon/{palettes/smeargle_shiny_palette.pal => smeargle/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/smoochum_front_pic.png => smoochum/anim_front.png} (100%) rename graphics/pokemon/{back_pics/smoochum_back_pic.png => smoochum/back.png} (100%) rename graphics/pokemon/{footprints/smoochum_footprint.png => smoochum/footprint.png} (100%) rename graphics/pokemon/{front_pics/smoochum_still_front_pic.png => smoochum/front.png} (100%) rename graphics/pokemon/{icons/smoochum_icon.png => smoochum/icon.png} (100%) rename graphics/pokemon/{palettes/smoochum_palette.pal => smoochum/normal.pal} (100%) rename graphics/pokemon/{palettes/smoochum_shiny_palette.pal => smoochum/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/sneasel_front_pic.png => sneasel/anim_front.png} (100%) rename graphics/pokemon/{back_pics/sneasel_back_pic.png => sneasel/back.png} (100%) rename graphics/pokemon/{footprints/sneasel_footprint.png => sneasel/footprint.png} (100%) rename graphics/pokemon/{front_pics/sneasel_still_front_pic.png => sneasel/front.png} (100%) rename graphics/pokemon/{icons/sneasel_icon.png => sneasel/icon.png} (100%) rename graphics/pokemon/{palettes/sneasel_palette.pal => sneasel/normal.pal} (100%) rename graphics/pokemon/{palettes/sneasel_shiny_palette.pal => sneasel/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/snorlax_front_pic.png => snorlax/anim_front.png} (100%) rename graphics/pokemon/{back_pics/snorlax_back_pic.png => snorlax/back.png} (100%) rename graphics/pokemon/{footprints/snorlax_footprint.png => snorlax/footprint.png} (100%) rename graphics/pokemon/{front_pics/snorlax_still_front_pic.png => snorlax/front.png} (100%) rename graphics/pokemon/{icons/snorlax_icon.png => snorlax/icon.png} (100%) rename graphics/pokemon/{palettes/snorlax_palette.pal => snorlax/normal.pal} (100%) rename graphics/pokemon/{palettes/snorlax_shiny_palette.pal => snorlax/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/snorunt_front_pic.png => snorunt/anim_front.png} (100%) rename graphics/pokemon/{back_pics/snorunt_back_pic.png => snorunt/back.png} (100%) rename graphics/pokemon/{footprints/snorunt_footprint.png => snorunt/footprint.png} (100%) rename graphics/pokemon/{front_pics/snorunt_still_front_pic.png => snorunt/front.png} (100%) rename graphics/pokemon/{icons/snorunt_icon.png => snorunt/icon.png} (100%) rename graphics/pokemon/{palettes/snorunt_palette.pal => snorunt/normal.pal} (100%) rename graphics/pokemon/{palettes/snorunt_shiny_palette.pal => snorunt/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/snubbull_front_pic.png => snubbull/anim_front.png} (100%) rename graphics/pokemon/{back_pics/snubbull_back_pic.png => snubbull/back.png} (100%) rename graphics/pokemon/{footprints/snubbull_footprint.png => snubbull/footprint.png} (100%) rename graphics/pokemon/{front_pics/snubbull_still_front_pic.png => snubbull/front.png} (100%) rename graphics/pokemon/{icons/snubbull_icon.png => snubbull/icon.png} (100%) rename graphics/pokemon/{palettes/snubbull_palette.pal => snubbull/normal.pal} (100%) rename graphics/pokemon/{palettes/snubbull_shiny_palette.pal => snubbull/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/solrock_front_pic.png => solrock/anim_front.png} (100%) rename graphics/pokemon/{back_pics/solrock_back_pic.png => solrock/back.png} (100%) rename graphics/pokemon/{footprints/solrock_footprint.png => solrock/footprint.png} (100%) rename graphics/pokemon/{front_pics/solrock_still_front_pic.png => solrock/front.png} (100%) rename graphics/pokemon/{icons/solrock_icon.png => solrock/icon.png} (100%) rename graphics/pokemon/{palettes/solrock_palette.pal => solrock/normal.pal} (100%) rename graphics/pokemon/{palettes/solrock_shiny_palette.pal => solrock/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/spearow_front_pic.png => spearow/anim_front.png} (100%) rename graphics/pokemon/{back_pics/spearow_back_pic.png => spearow/back.png} (100%) rename graphics/pokemon/{footprints/spearow_footprint.png => spearow/footprint.png} (100%) rename graphics/pokemon/{front_pics/spearow_still_front_pic.png => spearow/front.png} (100%) rename graphics/pokemon/{icons/spearow_icon.png => spearow/icon.png} (100%) rename graphics/pokemon/{palettes/spearow_palette.pal => spearow/normal.pal} (100%) rename graphics/pokemon/{palettes/spearow_shiny_palette.pal => spearow/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/spheal_front_pic.png => spheal/anim_front.png} (100%) rename graphics/pokemon/{back_pics/spheal_back_pic.png => spheal/back.png} (100%) rename graphics/pokemon/{footprints/spheal_footprint.png => spheal/footprint.png} (100%) rename graphics/pokemon/{front_pics/spheal_still_front_pic.png => spheal/front.png} (100%) rename graphics/pokemon/{icons/spheal_icon.png => spheal/icon.png} (100%) rename graphics/pokemon/{palettes/spheal_palette.pal => spheal/normal.pal} (100%) rename graphics/pokemon/{palettes/spheal_shiny_palette.pal => spheal/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/spinarak_front_pic.png => spinarak/anim_front.png} (100%) rename graphics/pokemon/{back_pics/spinarak_back_pic.png => spinarak/back.png} (100%) rename graphics/pokemon/{footprints/spinarak_footprint.png => spinarak/footprint.png} (100%) rename graphics/pokemon/{front_pics/spinarak_still_front_pic.png => spinarak/front.png} (100%) rename graphics/pokemon/{icons/spinarak_icon.png => spinarak/icon.png} (100%) rename graphics/pokemon/{palettes/spinarak_palette.pal => spinarak/normal.pal} (100%) rename graphics/pokemon/{palettes/spinarak_shiny_palette.pal => spinarak/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/spinda_front_pic.png => spinda/anim_front.png} (100%) rename graphics/pokemon/{back_pics/spinda_back_pic.png => spinda/back.png} (100%) rename graphics/pokemon/{footprints/spinda_footprint.png => spinda/footprint.png} (100%) rename graphics/pokemon/{front_pics/spinda_still_front_pic.png => spinda/front.png} (100%) rename graphics/pokemon/{icons/spinda_icon.png => spinda/icon.png} (100%) rename graphics/pokemon/{palettes/spinda_palette.pal => spinda/normal.pal} (100%) rename graphics/pokemon/{palettes/spinda_shiny_palette.pal => spinda/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/spoink_front_pic.png => spoink/anim_front.png} (100%) rename graphics/pokemon/{back_pics/spoink_back_pic.png => spoink/back.png} (100%) rename graphics/pokemon/{footprints/spoink_footprint.png => spoink/footprint.png} (100%) rename graphics/pokemon/{front_pics/spoink_still_front_pic.png => spoink/front.png} (100%) rename graphics/pokemon/{icons/spoink_icon.png => spoink/icon.png} (100%) rename graphics/pokemon/{palettes/spoink_palette.pal => spoink/normal.pal} (100%) rename graphics/pokemon/{palettes/spoink_shiny_palette.pal => spoink/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/squirtle_front_pic.png => squirtle/anim_front.png} (100%) rename graphics/pokemon/{back_pics/squirtle_back_pic.png => squirtle/back.png} (100%) rename graphics/pokemon/{footprints/squirtle_footprint.png => squirtle/footprint.png} (100%) rename graphics/pokemon/{front_pics/squirtle_still_front_pic.png => squirtle/front.png} (100%) rename graphics/pokemon/{icons/squirtle_icon.png => squirtle/icon.png} (100%) rename graphics/pokemon/{palettes/squirtle_palette.pal => squirtle/normal.pal} (100%) rename graphics/pokemon/{palettes/squirtle_shiny_palette.pal => squirtle/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/stantler_front_pic.png => stantler/anim_front.png} (100%) rename graphics/pokemon/{back_pics/stantler_back_pic.png => stantler/back.png} (100%) rename graphics/pokemon/{footprints/stantler_footprint.png => stantler/footprint.png} (100%) rename graphics/pokemon/{front_pics/stantler_still_front_pic.png => stantler/front.png} (100%) rename graphics/pokemon/{icons/stantler_icon.png => stantler/icon.png} (100%) rename graphics/pokemon/{palettes/stantler_palette.pal => stantler/normal.pal} (100%) rename graphics/pokemon/{palettes/stantler_shiny_palette.pal => stantler/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/starmie_front_pic.png => starmie/anim_front.png} (100%) rename graphics/pokemon/{back_pics/starmie_back_pic.png => starmie/back.png} (100%) rename graphics/pokemon/{footprints/starmie_footprint.png => starmie/footprint.png} (100%) rename graphics/pokemon/{front_pics/starmie_still_front_pic.png => starmie/front.png} (100%) rename graphics/pokemon/{icons/starmie_icon.png => starmie/icon.png} (100%) rename graphics/pokemon/{palettes/starmie_palette.pal => starmie/normal.pal} (100%) rename graphics/pokemon/{palettes/starmie_shiny_palette.pal => starmie/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/staryu_front_pic.png => staryu/anim_front.png} (100%) rename graphics/pokemon/{back_pics/staryu_back_pic.png => staryu/back.png} (100%) rename graphics/pokemon/{footprints/staryu_footprint.png => staryu/footprint.png} (100%) rename graphics/pokemon/{front_pics/staryu_still_front_pic.png => staryu/front.png} (100%) rename graphics/pokemon/{icons/staryu_icon.png => staryu/icon.png} (100%) rename graphics/pokemon/{palettes/staryu_palette.pal => staryu/normal.pal} (100%) rename graphics/pokemon/{palettes/staryu_shiny_palette.pal => staryu/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/steelix_front_pic.png => steelix/anim_front.png} (100%) rename graphics/pokemon/{back_pics/steelix_back_pic.png => steelix/back.png} (100%) rename graphics/pokemon/{footprints/steelix_footprint.png => steelix/footprint.png} (100%) rename graphics/pokemon/{front_pics/steelix_still_front_pic.png => steelix/front.png} (100%) rename graphics/pokemon/{icons/steelix_icon.png => steelix/icon.png} (100%) rename graphics/pokemon/{palettes/steelix_palette.pal => steelix/normal.pal} (100%) rename graphics/pokemon/{palettes/steelix_shiny_palette.pal => steelix/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/sudowoodo_front_pic.png => sudowoodo/anim_front.png} (100%) rename graphics/pokemon/{back_pics/sudowoodo_back_pic.png => sudowoodo/back.png} (100%) rename graphics/pokemon/{footprints/sudowoodo_footprint.png => sudowoodo/footprint.png} (100%) rename graphics/pokemon/{front_pics/sudowoodo_still_front_pic.png => sudowoodo/front.png} (100%) rename graphics/pokemon/{icons/sudowoodo_icon.png => sudowoodo/icon.png} (100%) rename graphics/pokemon/{palettes/sudowoodo_palette.pal => sudowoodo/normal.pal} (100%) rename graphics/pokemon/{palettes/sudowoodo_shiny_palette.pal => sudowoodo/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/suicune_front_pic.png => suicune/anim_front.png} (100%) rename graphics/pokemon/{back_pics/suicune_back_pic.png => suicune/back.png} (100%) rename graphics/pokemon/{footprints/suicune_footprint.png => suicune/footprint.png} (100%) rename graphics/pokemon/{front_pics/suicune_still_front_pic.png => suicune/front.png} (100%) rename graphics/pokemon/{icons/suicune_icon.png => suicune/icon.png} (100%) rename graphics/pokemon/{palettes/suicune_palette.pal => suicune/normal.pal} (100%) rename graphics/pokemon/{palettes/suicune_shiny_palette.pal => suicune/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/sunflora_front_pic.png => sunflora/anim_front.png} (100%) rename graphics/pokemon/{back_pics/sunflora_back_pic.png => sunflora/back.png} (100%) rename graphics/pokemon/{footprints/sunflora_footprint.png => sunflora/footprint.png} (100%) rename graphics/pokemon/{front_pics/sunflora_still_front_pic.png => sunflora/front.png} (100%) rename graphics/pokemon/{icons/sunflora_icon.png => sunflora/icon.png} (100%) rename graphics/pokemon/{palettes/sunflora_palette.pal => sunflora/normal.pal} (100%) rename graphics/pokemon/{palettes/sunflora_shiny_palette.pal => sunflora/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/sunkern_front_pic.png => sunkern/anim_front.png} (100%) rename graphics/pokemon/{back_pics/sunkern_back_pic.png => sunkern/back.png} (100%) rename graphics/pokemon/{footprints/sunkern_footprint.png => sunkern/footprint.png} (100%) rename graphics/pokemon/{front_pics/sunkern_still_front_pic.png => sunkern/front.png} (100%) rename graphics/pokemon/{icons/sunkern_icon.png => sunkern/icon.png} (100%) rename graphics/pokemon/{palettes/sunkern_palette.pal => sunkern/normal.pal} (100%) rename graphics/pokemon/{palettes/sunkern_shiny_palette.pal => sunkern/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/surskit_front_pic.png => surskit/anim_front.png} (100%) rename graphics/pokemon/{back_pics/surskit_back_pic.png => surskit/back.png} (100%) rename graphics/pokemon/{footprints/surskit_footprint.png => surskit/footprint.png} (100%) rename graphics/pokemon/{front_pics/surskit_still_front_pic.png => surskit/front.png} (100%) rename graphics/pokemon/{icons/surskit_icon.png => surskit/icon.png} (100%) rename graphics/pokemon/{palettes/surskit_palette.pal => surskit/normal.pal} (100%) rename graphics/pokemon/{palettes/surskit_shiny_palette.pal => surskit/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/swablu_front_pic.png => swablu/anim_front.png} (100%) rename graphics/pokemon/{back_pics/swablu_back_pic.png => swablu/back.png} (100%) rename graphics/pokemon/{footprints/swablu_footprint.png => swablu/footprint.png} (100%) rename graphics/pokemon/{front_pics/swablu_still_front_pic.png => swablu/front.png} (100%) rename graphics/pokemon/{icons/swablu_icon.png => swablu/icon.png} (100%) rename graphics/pokemon/{palettes/swablu_palette.pal => swablu/normal.pal} (100%) rename graphics/pokemon/{palettes/swablu_shiny_palette.pal => swablu/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/swalot_front_pic.png => swalot/anim_front.png} (100%) rename graphics/pokemon/{back_pics/swalot_back_pic.png => swalot/back.png} (100%) rename graphics/pokemon/{footprints/swalot_footprint.png => swalot/footprint.png} (100%) rename graphics/pokemon/{front_pics/swalot_still_front_pic.png => swalot/front.png} (100%) rename graphics/pokemon/{icons/swalot_icon.png => swalot/icon.png} (100%) rename graphics/pokemon/{palettes/swalot_palette.pal => swalot/normal.pal} (100%) rename graphics/pokemon/{palettes/swalot_shiny_palette.pal => swalot/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/swampert_front_pic.png => swampert/anim_front.png} (100%) rename graphics/pokemon/{back_pics/swampert_back_pic.png => swampert/back.png} (100%) rename graphics/pokemon/{footprints/swampert_footprint.png => swampert/footprint.png} (100%) rename graphics/pokemon/{front_pics/swampert_still_front_pic.png => swampert/front.png} (100%) rename graphics/pokemon/{icons/swampert_icon.png => swampert/icon.png} (100%) rename graphics/pokemon/{palettes/swampert_palette.pal => swampert/normal.pal} (100%) rename graphics/pokemon/{palettes/swampert_shiny_palette.pal => swampert/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/swellow_front_pic.png => swellow/anim_front.png} (100%) rename graphics/pokemon/{back_pics/swellow_back_pic.png => swellow/back.png} (100%) rename graphics/pokemon/{footprints/swellow_footprint.png => swellow/footprint.png} (100%) rename graphics/pokemon/{front_pics/swellow_still_front_pic.png => swellow/front.png} (100%) rename graphics/pokemon/{icons/swellow_icon.png => swellow/icon.png} (100%) rename graphics/pokemon/{palettes/swellow_palette.pal => swellow/normal.pal} (100%) rename graphics/pokemon/{palettes/swellow_shiny_palette.pal => swellow/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/swinub_front_pic.png => swinub/anim_front.png} (100%) rename graphics/pokemon/{back_pics/swinub_back_pic.png => swinub/back.png} (100%) rename graphics/pokemon/{footprints/swinub_footprint.png => swinub/footprint.png} (100%) rename graphics/pokemon/{front_pics/swinub_still_front_pic.png => swinub/front.png} (100%) rename graphics/pokemon/{icons/swinub_icon.png => swinub/icon.png} (100%) rename graphics/pokemon/{palettes/swinub_palette.pal => swinub/normal.pal} (100%) rename graphics/pokemon/{palettes/swinub_shiny_palette.pal => swinub/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/taillow_front_pic.png => taillow/anim_front.png} (100%) rename graphics/pokemon/{back_pics/taillow_back_pic.png => taillow/back.png} (100%) rename graphics/pokemon/{footprints/taillow_footprint.png => taillow/footprint.png} (100%) rename graphics/pokemon/{front_pics/taillow_still_front_pic.png => taillow/front.png} (100%) rename graphics/pokemon/{icons/taillow_icon.png => taillow/icon.png} (100%) rename graphics/pokemon/{palettes/taillow_palette.pal => taillow/normal.pal} (100%) rename graphics/pokemon/{palettes/taillow_shiny_palette.pal => taillow/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/tangela_front_pic.png => tangela/anim_front.png} (100%) rename graphics/pokemon/{back_pics/tangela_back_pic.png => tangela/back.png} (100%) rename graphics/pokemon/{footprints/tangela_footprint.png => tangela/footprint.png} (100%) rename graphics/pokemon/{front_pics/tangela_still_front_pic.png => tangela/front.png} (100%) rename graphics/pokemon/{icons/tangela_icon.png => tangela/icon.png} (100%) rename graphics/pokemon/{palettes/tangela_palette.pal => tangela/normal.pal} (100%) rename graphics/pokemon/{palettes/tangela_shiny_palette.pal => tangela/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/tauros_front_pic.png => tauros/anim_front.png} (100%) rename graphics/pokemon/{back_pics/tauros_back_pic.png => tauros/back.png} (100%) rename graphics/pokemon/{footprints/tauros_footprint.png => tauros/footprint.png} (100%) rename graphics/pokemon/{front_pics/tauros_still_front_pic.png => tauros/front.png} (100%) rename graphics/pokemon/{icons/tauros_icon.png => tauros/icon.png} (100%) rename graphics/pokemon/{palettes/tauros_palette.pal => tauros/normal.pal} (100%) rename graphics/pokemon/{palettes/tauros_shiny_palette.pal => tauros/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/teddiursa_front_pic.png => teddiursa/anim_front.png} (100%) rename graphics/pokemon/{back_pics/teddiursa_back_pic.png => teddiursa/back.png} (100%) rename graphics/pokemon/{footprints/teddiursa_footprint.png => teddiursa/footprint.png} (100%) rename graphics/pokemon/{front_pics/teddiursa_still_front_pic.png => teddiursa/front.png} (100%) rename graphics/pokemon/{icons/teddiursa_icon.png => teddiursa/icon.png} (100%) rename graphics/pokemon/{palettes/teddiursa_palette.pal => teddiursa/normal.pal} (100%) rename graphics/pokemon/{palettes/teddiursa_shiny_palette.pal => teddiursa/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/tentacool_front_pic.png => tentacool/anim_front.png} (100%) rename graphics/pokemon/{back_pics/tentacool_back_pic.png => tentacool/back.png} (100%) rename graphics/pokemon/{footprints/tentacool_footprint.png => tentacool/footprint.png} (100%) rename graphics/pokemon/{front_pics/tentacool_still_front_pic.png => tentacool/front.png} (100%) rename graphics/pokemon/{icons/tentacool_icon.png => tentacool/icon.png} (100%) rename graphics/pokemon/{palettes/tentacool_palette.pal => tentacool/normal.pal} (100%) rename graphics/pokemon/{palettes/tentacool_shiny_palette.pal => tentacool/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/tentacruel_front_pic.png => tentacruel/anim_front.png} (100%) rename graphics/pokemon/{back_pics/tentacruel_back_pic.png => tentacruel/back.png} (100%) rename graphics/pokemon/{footprints/tentacruel_footprint.png => tentacruel/footprint.png} (100%) rename graphics/pokemon/{front_pics/tentacruel_still_front_pic.png => tentacruel/front.png} (100%) rename graphics/pokemon/{icons/tentacruel_icon.png => tentacruel/icon.png} (100%) rename graphics/pokemon/{palettes/tentacruel_palette.pal => tentacruel/normal.pal} (100%) rename graphics/pokemon/{palettes/tentacruel_shiny_palette.pal => tentacruel/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/togepi_front_pic.png => togepi/anim_front.png} (100%) rename graphics/pokemon/{back_pics/togepi_back_pic.png => togepi/back.png} (100%) rename graphics/pokemon/{footprints/togepi_footprint.png => togepi/footprint.png} (100%) rename graphics/pokemon/{front_pics/togepi_still_front_pic.png => togepi/front.png} (100%) rename graphics/pokemon/{icons/togepi_icon.png => togepi/icon.png} (100%) rename graphics/pokemon/{palettes/togepi_palette.pal => togepi/normal.pal} (100%) rename graphics/pokemon/{palettes/togepi_shiny_palette.pal => togepi/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/togetic_front_pic.png => togetic/anim_front.png} (100%) rename graphics/pokemon/{back_pics/togetic_back_pic.png => togetic/back.png} (100%) rename graphics/pokemon/{footprints/togetic_footprint.png => togetic/footprint.png} (100%) rename graphics/pokemon/{front_pics/togetic_still_front_pic.png => togetic/front.png} (100%) rename graphics/pokemon/{icons/togetic_icon.png => togetic/icon.png} (100%) rename graphics/pokemon/{palettes/togetic_palette.pal => togetic/normal.pal} (100%) rename graphics/pokemon/{palettes/togetic_shiny_palette.pal => togetic/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/torchic_front_pic.png => torchic/anim_front.png} (100%) rename graphics/pokemon/{back_pics/torchic_back_pic.png => torchic/back.png} (100%) rename graphics/pokemon/{footprints/torchic_footprint.png => torchic/footprint.png} (100%) rename graphics/pokemon/{front_pics/torchic_still_front_pic.png => torchic/front.png} (100%) rename graphics/pokemon/{icons/torchic_icon.png => torchic/icon.png} (100%) rename graphics/pokemon/{palettes/torchic_palette.pal => torchic/normal.pal} (100%) rename graphics/pokemon/{palettes/torchic_shiny_palette.pal => torchic/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/torkoal_front_pic.png => torkoal/anim_front.png} (100%) rename graphics/pokemon/{back_pics/torkoal_back_pic.png => torkoal/back.png} (100%) rename graphics/pokemon/{footprints/torkoal_footprint.png => torkoal/footprint.png} (100%) rename graphics/pokemon/{front_pics/torkoal_still_front_pic.png => torkoal/front.png} (100%) rename graphics/pokemon/{icons/torkoal_icon.png => torkoal/icon.png} (100%) rename graphics/pokemon/{palettes/torkoal_palette.pal => torkoal/normal.pal} (100%) rename graphics/pokemon/{palettes/torkoal_shiny_palette.pal => torkoal/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/totodile_front_pic.png => totodile/anim_front.png} (100%) rename graphics/pokemon/{back_pics/totodile_back_pic.png => totodile/back.png} (100%) rename graphics/pokemon/{footprints/totodile_footprint.png => totodile/footprint.png} (100%) rename graphics/pokemon/{front_pics/totodile_still_front_pic.png => totodile/front.png} (100%) rename graphics/pokemon/{icons/totodile_icon.png => totodile/icon.png} (100%) rename graphics/pokemon/{palettes/totodile_palette.pal => totodile/normal.pal} (100%) rename graphics/pokemon/{palettes/totodile_shiny_palette.pal => totodile/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/trapinch_front_pic.png => trapinch/anim_front.png} (100%) rename graphics/pokemon/{back_pics/trapinch_back_pic.png => trapinch/back.png} (100%) rename graphics/pokemon/{footprints/trapinch_footprint.png => trapinch/footprint.png} (100%) rename graphics/pokemon/{front_pics/trapinch_still_front_pic.png => trapinch/front.png} (100%) rename graphics/pokemon/{icons/trapinch_icon.png => trapinch/icon.png} (100%) rename graphics/pokemon/{palettes/trapinch_palette.pal => trapinch/normal.pal} (100%) rename graphics/pokemon/{palettes/trapinch_shiny_palette.pal => trapinch/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/treecko_front_pic.png => treecko/anim_front.png} (100%) rename graphics/pokemon/{back_pics/treecko_back_pic.png => treecko/back.png} (100%) rename graphics/pokemon/{footprints/treecko_footprint.png => treecko/footprint.png} (100%) rename graphics/pokemon/{front_pics/treecko_still_front_pic.png => treecko/front.png} (100%) rename graphics/pokemon/{icons/treecko_icon.png => treecko/icon.png} (100%) rename graphics/pokemon/{palettes/treecko_palette.pal => treecko/normal.pal} (100%) rename graphics/pokemon/{palettes/treecko_shiny_palette.pal => treecko/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/tropius_front_pic.png => tropius/anim_front.png} (100%) rename graphics/pokemon/{back_pics/tropius_back_pic.png => tropius/back.png} (100%) rename graphics/pokemon/{footprints/tropius_footprint.png => tropius/footprint.png} (100%) rename graphics/pokemon/{front_pics/tropius_still_front_pic.png => tropius/front.png} (100%) rename graphics/pokemon/{icons/tropius_icon.png => tropius/icon.png} (100%) rename graphics/pokemon/{palettes/tropius_palette.pal => tropius/normal.pal} (100%) rename graphics/pokemon/{palettes/tropius_shiny_palette.pal => tropius/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/typhlosion_front_pic.png => typhlosion/anim_front.png} (100%) rename graphics/pokemon/{back_pics/typhlosion_back_pic.png => typhlosion/back.png} (100%) rename graphics/pokemon/{footprints/typhlosion_footprint.png => typhlosion/footprint.png} (100%) rename graphics/pokemon/{front_pics/typhlosion_still_front_pic.png => typhlosion/front.png} (100%) rename graphics/pokemon/{icons/typhlosion_icon.png => typhlosion/icon.png} (100%) rename graphics/pokemon/{palettes/typhlosion_palette.pal => typhlosion/normal.pal} (100%) rename graphics/pokemon/{palettes/typhlosion_shiny_palette.pal => typhlosion/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/tyranitar_front_pic.png => tyranitar/anim_front.png} (100%) rename graphics/pokemon/{back_pics/tyranitar_back_pic.png => tyranitar/back.png} (100%) rename graphics/pokemon/{footprints/tyranitar_footprint.png => tyranitar/footprint.png} (100%) rename graphics/pokemon/{front_pics/tyranitar_still_front_pic.png => tyranitar/front.png} (100%) rename graphics/pokemon/{icons/tyranitar_icon.png => tyranitar/icon.png} (100%) rename graphics/pokemon/{palettes/tyranitar_palette.pal => tyranitar/normal.pal} (100%) rename graphics/pokemon/{palettes/tyranitar_shiny_palette.pal => tyranitar/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/tyrogue_front_pic.png => tyrogue/anim_front.png} (100%) rename graphics/pokemon/{back_pics/tyrogue_back_pic.png => tyrogue/back.png} (100%) rename graphics/pokemon/{footprints/tyrogue_footprint.png => tyrogue/footprint.png} (100%) rename graphics/pokemon/{front_pics/tyrogue_still_front_pic.png => tyrogue/front.png} (100%) rename graphics/pokemon/{icons/tyrogue_icon.png => tyrogue/icon.png} (100%) rename graphics/pokemon/{palettes/tyrogue_palette.pal => tyrogue/normal.pal} (100%) rename graphics/pokemon/{palettes/tyrogue_shiny_palette.pal => tyrogue/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/umbreon_front_pic.png => umbreon/anim_front.png} (100%) rename graphics/pokemon/{back_pics/umbreon_back_pic.png => umbreon/back.png} (100%) rename graphics/pokemon/{footprints/umbreon_footprint.png => umbreon/footprint.png} (100%) rename graphics/pokemon/{front_pics/umbreon_still_front_pic.png => umbreon/front.png} (100%) rename graphics/pokemon/{icons/umbreon_icon.png => umbreon/icon.png} (100%) rename graphics/pokemon/{palettes/umbreon_palette.pal => umbreon/normal.pal} (100%) rename graphics/pokemon/{palettes/umbreon_shiny_palette.pal => umbreon/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/unown_a_front_pic.png => unown/anim_front_a.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_b_front_pic.png => unown/anim_front_b.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_c_front_pic.png => unown/anim_front_c.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_d_front_pic.png => unown/anim_front_d.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_e_front_pic.png => unown/anim_front_e.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_exclamation_mark_front_pic.png => unown/anim_front_exclamation_mark.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_f_front_pic.png => unown/anim_front_f.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_g_front_pic.png => unown/anim_front_g.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_h_front_pic.png => unown/anim_front_h.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_i_front_pic.png => unown/anim_front_i.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_j_front_pic.png => unown/anim_front_j.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_k_front_pic.png => unown/anim_front_k.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_l_front_pic.png => unown/anim_front_l.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_m_front_pic.png => unown/anim_front_m.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_n_front_pic.png => unown/anim_front_n.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_o_front_pic.png => unown/anim_front_o.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_p_front_pic.png => unown/anim_front_p.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_q_front_pic.png => unown/anim_front_q.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_question_mark_front_pic.png => unown/anim_front_question_mark.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_r_front_pic.png => unown/anim_front_r.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_s_front_pic.png => unown/anim_front_s.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_t_front_pic.png => unown/anim_front_t.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_u_front_pic.png => unown/anim_front_u.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_v_front_pic.png => unown/anim_front_v.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_w_front_pic.png => unown/anim_front_w.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_x_front_pic.png => unown/anim_front_x.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_y_front_pic.png => unown/anim_front_y.png} (100%) rename graphics/pokemon/{anim_front_pics/unown_z_front_pic.png => unown/anim_front_z.png} (100%) rename graphics/pokemon/{back_pics/unown_a_back_pic.png => unown/back_a.png} (100%) rename graphics/pokemon/{back_pics/unown_b_back_pic.png => unown/back_b.png} (100%) rename graphics/pokemon/{back_pics/unown_c_back_pic.png => unown/back_c.png} (100%) rename graphics/pokemon/{back_pics/unown_d_back_pic.png => unown/back_d.png} (100%) rename graphics/pokemon/{back_pics/unown_e_back_pic.png => unown/back_e.png} (100%) rename graphics/pokemon/{back_pics/unown_exclamation_mark_back_pic.png => unown/back_exclamation_mark.png} (100%) rename graphics/pokemon/{back_pics/unown_f_back_pic.png => unown/back_f.png} (100%) rename graphics/pokemon/{back_pics/unown_g_back_pic.png => unown/back_g.png} (100%) rename graphics/pokemon/{back_pics/unown_h_back_pic.png => unown/back_h.png} (100%) rename graphics/pokemon/{back_pics/unown_i_back_pic.png => unown/back_i.png} (100%) rename graphics/pokemon/{back_pics/unown_j_back_pic.png => unown/back_j.png} (100%) rename graphics/pokemon/{back_pics/unown_k_back_pic.png => unown/back_k.png} (100%) rename graphics/pokemon/{back_pics/unown_l_back_pic.png => unown/back_l.png} (100%) rename graphics/pokemon/{back_pics/unown_m_back_pic.png => unown/back_m.png} (100%) rename graphics/pokemon/{back_pics/unown_n_back_pic.png => unown/back_n.png} (100%) rename graphics/pokemon/{back_pics/unown_o_back_pic.png => unown/back_o.png} (100%) rename graphics/pokemon/{back_pics/unown_p_back_pic.png => unown/back_p.png} (100%) rename graphics/pokemon/{back_pics/unown_q_back_pic.png => unown/back_q.png} (100%) rename graphics/pokemon/{back_pics/unown_question_mark_back_pic.png => unown/back_question_mark.png} (100%) rename graphics/pokemon/{back_pics/unown_r_back_pic.png => unown/back_r.png} (100%) rename graphics/pokemon/{back_pics/unown_s_back_pic.png => unown/back_s.png} (100%) rename graphics/pokemon/{back_pics/unown_t_back_pic.png => unown/back_t.png} (100%) rename graphics/pokemon/{back_pics/unown_u_back_pic.png => unown/back_u.png} (100%) rename graphics/pokemon/{back_pics/unown_v_back_pic.png => unown/back_v.png} (100%) rename graphics/pokemon/{back_pics/unown_w_back_pic.png => unown/back_w.png} (100%) rename graphics/pokemon/{back_pics/unown_x_back_pic.png => unown/back_x.png} (100%) rename graphics/pokemon/{back_pics/unown_y_back_pic.png => unown/back_y.png} (100%) rename graphics/pokemon/{back_pics/unown_z_back_pic.png => unown/back_z.png} (100%) rename graphics/pokemon/{footprints/unown_footprint.png => unown/footprint.png} (100%) rename graphics/pokemon/{front_pics/unown_a_still_front_pic.png => unown/front_a.png} (100%) rename graphics/pokemon/{front_pics/unown_b_still_front_pic.png => unown/front_b.png} (100%) rename graphics/pokemon/{front_pics/unown_c_still_front_pic.png => unown/front_c.png} (100%) rename graphics/pokemon/{front_pics/unown_d_still_front_pic.png => unown/front_d.png} (100%) rename graphics/pokemon/{front_pics/unown_e_still_front_pic.png => unown/front_e.png} (100%) rename graphics/pokemon/{front_pics/unown_exclamation_mark_still_front_pic.png => unown/front_exclamation_mark.png} (100%) rename graphics/pokemon/{front_pics/unown_f_still_front_pic.png => unown/front_f.png} (100%) rename graphics/pokemon/{front_pics/unown_g_still_front_pic.png => unown/front_g.png} (100%) rename graphics/pokemon/{front_pics/unown_h_still_front_pic.png => unown/front_h.png} (100%) rename graphics/pokemon/{front_pics/unown_i_still_front_pic.png => unown/front_i.png} (100%) rename graphics/pokemon/{front_pics/unown_j_still_front_pic.png => unown/front_j.png} (100%) rename graphics/pokemon/{front_pics/unown_k_still_front_pic.png => unown/front_k.png} (100%) rename graphics/pokemon/{front_pics/unown_l_still_front_pic.png => unown/front_l.png} (100%) rename graphics/pokemon/{front_pics/unown_m_still_front_pic.png => unown/front_m.png} (100%) rename graphics/pokemon/{front_pics/unown_n_still_front_pic.png => unown/front_n.png} (100%) rename graphics/pokemon/{front_pics/unown_o_still_front_pic.png => unown/front_o.png} (100%) rename graphics/pokemon/{front_pics/unown_p_still_front_pic.png => unown/front_p.png} (100%) rename graphics/pokemon/{front_pics/unown_q_still_front_pic.png => unown/front_q.png} (100%) rename graphics/pokemon/{front_pics/unown_question_mark_still_front_pic.png => unown/front_question_mark.png} (100%) rename graphics/pokemon/{front_pics/unown_r_still_front_pic.png => unown/front_r.png} (100%) rename graphics/pokemon/{front_pics/unown_s_still_front_pic.png => unown/front_s.png} (100%) rename graphics/pokemon/{front_pics/unown_t_still_front_pic.png => unown/front_t.png} (100%) rename graphics/pokemon/{front_pics/unown_u_still_front_pic.png => unown/front_u.png} (100%) rename graphics/pokemon/{front_pics/unown_v_still_front_pic.png => unown/front_v.png} (100%) rename graphics/pokemon/{front_pics/unown_w_still_front_pic.png => unown/front_w.png} (100%) rename graphics/pokemon/{front_pics/unown_x_still_front_pic.png => unown/front_x.png} (100%) rename graphics/pokemon/{front_pics/unown_y_still_front_pic.png => unown/front_y.png} (100%) rename graphics/pokemon/{front_pics/unown_z_still_front_pic.png => unown/front_z.png} (100%) rename graphics/pokemon/{icons/unown_a_icon.png => unown/icon_a.png} (100%) rename graphics/pokemon/{icons/unown_B_icon.png => unown/icon_b.png} (100%) rename graphics/pokemon/{icons/unown_C_icon.png => unown/icon_c.png} (100%) rename graphics/pokemon/{icons/unown_D_icon.png => unown/icon_d.png} (100%) rename graphics/pokemon/{icons/unown_E_icon.png => unown/icon_e.png} (100%) rename graphics/pokemon/{icons/unown_exclamation_mark_icon.png => unown/icon_exclamation_mark.png} (100%) rename graphics/pokemon/{icons/unown_F_icon.png => unown/icon_f.png} (100%) rename graphics/pokemon/{icons/unown_G_icon.png => unown/icon_g.png} (100%) rename graphics/pokemon/{icons/unown_H_icon.png => unown/icon_h.png} (100%) rename graphics/pokemon/{icons/unown_I_icon.png => unown/icon_i.png} (100%) rename graphics/pokemon/{icons/unown_J_icon.png => unown/icon_j.png} (100%) rename graphics/pokemon/{icons/unown_K_icon.png => unown/icon_k.png} (100%) rename graphics/pokemon/{icons/unown_L_icon.png => unown/icon_l.png} (100%) rename graphics/pokemon/{icons/unown_M_icon.png => unown/icon_m.png} (100%) rename graphics/pokemon/{icons/unown_N_icon.png => unown/icon_n.png} (100%) rename graphics/pokemon/{icons/unown_O_icon.png => unown/icon_o.png} (100%) rename graphics/pokemon/{icons/unown_P_icon.png => unown/icon_p.png} (100%) rename graphics/pokemon/{icons/unown_Q_icon.png => unown/icon_q.png} (100%) rename graphics/pokemon/{icons/unown_question_mark_icon.png => unown/icon_question_mark.png} (100%) rename graphics/pokemon/{icons/unown_R_icon.png => unown/icon_r.png} (100%) rename graphics/pokemon/{icons/unown_S_icon.png => unown/icon_s.png} (100%) rename graphics/pokemon/{icons/unown_T_icon.png => unown/icon_t.png} (100%) rename graphics/pokemon/{icons/unown_U_icon.png => unown/icon_u.png} (100%) rename graphics/pokemon/{icons/unown_V_icon.png => unown/icon_v.png} (100%) rename graphics/pokemon/{icons/unown_W_icon.png => unown/icon_w.png} (100%) rename graphics/pokemon/{icons/unown_X_icon.png => unown/icon_x.png} (100%) rename graphics/pokemon/{icons/unown_Y_icon.png => unown/icon_y.png} (100%) rename graphics/pokemon/{icons/unown_Z_icon.png => unown/icon_z.png} (100%) rename graphics/pokemon/{palettes/unown_palette.pal => unown/normal.pal} (100%) rename graphics/pokemon/{palettes/unown_shiny_palette.pal => unown/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/ursaring_front_pic.png => ursaring/anim_front.png} (100%) rename graphics/pokemon/{back_pics/ursaring_back_pic.png => ursaring/back.png} (100%) rename graphics/pokemon/{footprints/ursaring_footprint.png => ursaring/footprint.png} (100%) rename graphics/pokemon/{front_pics/ursaring_still_front_pic.png => ursaring/front.png} (100%) rename graphics/pokemon/{icons/ursaring_icon.png => ursaring/icon.png} (100%) rename graphics/pokemon/{palettes/ursaring_palette.pal => ursaring/normal.pal} (100%) rename graphics/pokemon/{palettes/ursaring_shiny_palette.pal => ursaring/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/vaporeon_front_pic.png => vaporeon/anim_front.png} (100%) rename graphics/pokemon/{back_pics/vaporeon_back_pic.png => vaporeon/back.png} (100%) rename graphics/pokemon/{footprints/vaporeon_footprint.png => vaporeon/footprint.png} (100%) rename graphics/pokemon/{front_pics/vaporeon_still_front_pic.png => vaporeon/front.png} (100%) rename graphics/pokemon/{icons/vaporeon_icon.png => vaporeon/icon.png} (100%) rename graphics/pokemon/{palettes/vaporeon_palette.pal => vaporeon/normal.pal} (100%) rename graphics/pokemon/{palettes/vaporeon_shiny_palette.pal => vaporeon/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/venomoth_front_pic.png => venomoth/anim_front.png} (100%) rename graphics/pokemon/{back_pics/venomoth_back_pic.png => venomoth/back.png} (100%) rename graphics/pokemon/{footprints/venomoth_footprint.png => venomoth/footprint.png} (100%) rename graphics/pokemon/{front_pics/venomoth_still_front_pic.png => venomoth/front.png} (100%) rename graphics/pokemon/{icons/venomoth_icon.png => venomoth/icon.png} (100%) rename graphics/pokemon/{palettes/venomoth_palette.pal => venomoth/normal.pal} (100%) rename graphics/pokemon/{palettes/venomoth_shiny_palette.pal => venomoth/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/venonat_front_pic.png => venonat/anim_front.png} (100%) rename graphics/pokemon/{back_pics/venonat_back_pic.png => venonat/back.png} (100%) rename graphics/pokemon/{footprints/venonat_footprint.png => venonat/footprint.png} (100%) rename graphics/pokemon/{front_pics/venonat_still_front_pic.png => venonat/front.png} (100%) rename graphics/pokemon/{icons/venonat_icon.png => venonat/icon.png} (100%) rename graphics/pokemon/{palettes/venonat_palette.pal => venonat/normal.pal} (100%) rename graphics/pokemon/{palettes/venonat_shiny_palette.pal => venonat/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/venusaur_front_pic.png => venusaur/anim_front.png} (100%) rename graphics/pokemon/{back_pics/venusaur_back_pic.png => venusaur/back.png} (100%) rename graphics/pokemon/{footprints/venusaur_footprint.png => venusaur/footprint.png} (100%) rename graphics/pokemon/{front_pics/venusaur_still_front_pic.png => venusaur/front.png} (100%) rename graphics/pokemon/{icons/venusaur_icon.png => venusaur/icon.png} (100%) rename graphics/pokemon/{palettes/venusaur_palette.pal => venusaur/normal.pal} (100%) rename graphics/pokemon/{palettes/venusaur_shiny_palette.pal => venusaur/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/vibrava_front_pic.png => vibrava/anim_front.png} (100%) rename graphics/pokemon/{back_pics/vibrava_back_pic.png => vibrava/back.png} (100%) rename graphics/pokemon/{footprints/vibrava_footprint.png => vibrava/footprint.png} (100%) rename graphics/pokemon/{front_pics/vibrava_still_front_pic.png => vibrava/front.png} (100%) rename graphics/pokemon/{icons/vibrava_icon.png => vibrava/icon.png} (100%) rename graphics/pokemon/{palettes/vibrava_palette.pal => vibrava/normal.pal} (100%) rename graphics/pokemon/{palettes/vibrava_shiny_palette.pal => vibrava/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/victreebel_front_pic.png => victreebel/anim_front.png} (100%) rename graphics/pokemon/{back_pics/victreebel_back_pic.png => victreebel/back.png} (100%) rename graphics/pokemon/{footprints/victreebel_footprint.png => victreebel/footprint.png} (100%) rename graphics/pokemon/{front_pics/victreebel_still_front_pic.png => victreebel/front.png} (100%) rename graphics/pokemon/{icons/victreebel_icon.png => victreebel/icon.png} (100%) rename graphics/pokemon/{palettes/victreebel_palette.pal => victreebel/normal.pal} (100%) rename graphics/pokemon/{palettes/victreebel_shiny_palette.pal => victreebel/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/vigoroth_front_pic.png => vigoroth/anim_front.png} (100%) rename graphics/pokemon/{back_pics/vigoroth_back_pic.png => vigoroth/back.png} (100%) rename graphics/pokemon/{footprints/vigoroth_footprint.png => vigoroth/footprint.png} (100%) rename graphics/pokemon/{front_pics/vigoroth_still_front_pic.png => vigoroth/front.png} (100%) rename graphics/pokemon/{icons/vigoroth_icon.png => vigoroth/icon.png} (100%) rename graphics/pokemon/{palettes/vigoroth_palette.pal => vigoroth/normal.pal} (100%) rename graphics/pokemon/{palettes/vigoroth_shiny_palette.pal => vigoroth/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/vileplume_front_pic.png => vileplume/anim_front.png} (100%) rename graphics/pokemon/{back_pics/vileplume_back_pic.png => vileplume/back.png} (100%) rename graphics/pokemon/{footprints/vileplume_footprint.png => vileplume/footprint.png} (100%) rename graphics/pokemon/{front_pics/vileplume_still_front_pic.png => vileplume/front.png} (100%) rename graphics/pokemon/{icons/vileplume_icon.png => vileplume/icon.png} (100%) rename graphics/pokemon/{palettes/vileplume_palette.pal => vileplume/normal.pal} (100%) rename graphics/pokemon/{palettes/vileplume_shiny_palette.pal => vileplume/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/volbeat_front_pic.png => volbeat/anim_front.png} (100%) rename graphics/pokemon/{back_pics/volbeat_back_pic.png => volbeat/back.png} (100%) rename graphics/pokemon/{footprints/volbeat_footprint.png => volbeat/footprint.png} (100%) rename graphics/pokemon/{front_pics/volbeat_still_front_pic.png => volbeat/front.png} (100%) rename graphics/pokemon/{icons/volbeat_icon.png => volbeat/icon.png} (100%) rename graphics/pokemon/{palettes/volbeat_palette.pal => volbeat/normal.pal} (100%) rename graphics/pokemon/{palettes/volbeat_shiny_palette.pal => volbeat/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/voltorb_front_pic.png => voltorb/anim_front.png} (100%) rename graphics/pokemon/{back_pics/voltorb_back_pic.png => voltorb/back.png} (100%) rename graphics/pokemon/{footprints/voltorb_footprint.png => voltorb/footprint.png} (100%) rename graphics/pokemon/{front_pics/voltorb_still_front_pic.png => voltorb/front.png} (100%) rename graphics/pokemon/{icons/voltorb_icon.png => voltorb/icon.png} (100%) rename graphics/pokemon/{palettes/voltorb_palette.pal => voltorb/normal.pal} (100%) rename graphics/pokemon/{palettes/voltorb_shiny_palette.pal => voltorb/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/vulpix_front_pic.png => vulpix/anim_front.png} (100%) rename graphics/pokemon/{back_pics/vulpix_back_pic.png => vulpix/back.png} (100%) rename graphics/pokemon/{footprints/vulpix_footprint.png => vulpix/footprint.png} (100%) rename graphics/pokemon/{front_pics/vulpix_still_front_pic.png => vulpix/front.png} (100%) rename graphics/pokemon/{icons/vulpix_icon.png => vulpix/icon.png} (100%) rename graphics/pokemon/{palettes/vulpix_palette.pal => vulpix/normal.pal} (100%) rename graphics/pokemon/{palettes/vulpix_shiny_palette.pal => vulpix/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/wailmer_front_pic.png => wailmer/anim_front.png} (100%) rename graphics/pokemon/{back_pics/wailmer_back_pic.png => wailmer/back.png} (100%) rename graphics/pokemon/{footprints/wailmer_footprint.png => wailmer/footprint.png} (100%) rename graphics/pokemon/{front_pics/wailmer_still_front_pic.png => wailmer/front.png} (100%) rename graphics/pokemon/{icons/wailmer_icon.png => wailmer/icon.png} (100%) rename graphics/pokemon/{palettes/wailmer_palette.pal => wailmer/normal.pal} (100%) rename graphics/pokemon/{palettes/wailmer_shiny_palette.pal => wailmer/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/wailord_front_pic.png => wailord/anim_front.png} (100%) rename graphics/pokemon/{back_pics/wailord_back_pic.png => wailord/back.png} (100%) rename graphics/pokemon/{footprints/wailord_footprint.png => wailord/footprint.png} (100%) rename graphics/pokemon/{front_pics/wailord_still_front_pic.png => wailord/front.png} (100%) rename graphics/pokemon/{icons/wailord_icon.png => wailord/icon.png} (100%) rename graphics/pokemon/{palettes/wailord_palette.pal => wailord/normal.pal} (100%) rename graphics/pokemon/{palettes/wailord_shiny_palette.pal => wailord/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/walrein_front_pic.png => walrein/anim_front.png} (100%) rename graphics/pokemon/{back_pics/walrein_back_pic.png => walrein/back.png} (100%) rename graphics/pokemon/{footprints/walrein_footprint.png => walrein/footprint.png} (100%) rename graphics/pokemon/{front_pics/walrein_still_front_pic.png => walrein/front.png} (100%) rename graphics/pokemon/{icons/walrein_icon.png => walrein/icon.png} (100%) rename graphics/pokemon/{palettes/walrein_palette.pal => walrein/normal.pal} (100%) rename graphics/pokemon/{palettes/walrein_shiny_palette.pal => walrein/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/wartortle_front_pic.png => wartortle/anim_front.png} (100%) rename graphics/pokemon/{back_pics/wartortle_back_pic.png => wartortle/back.png} (100%) rename graphics/pokemon/{footprints/wartortle_footprint.png => wartortle/footprint.png} (100%) rename graphics/pokemon/{front_pics/wartortle_still_front_pic.png => wartortle/front.png} (100%) rename graphics/pokemon/{icons/wartortle_icon.png => wartortle/icon.png} (100%) rename graphics/pokemon/{palettes/wartortle_palette.pal => wartortle/normal.pal} (100%) rename graphics/pokemon/{palettes/wartortle_shiny_palette.pal => wartortle/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/weedle_front_pic.png => weedle/anim_front.png} (100%) rename graphics/pokemon/{back_pics/weedle_back_pic.png => weedle/back.png} (100%) rename graphics/pokemon/{footprints/weedle_footprint.png => weedle/footprint.png} (100%) rename graphics/pokemon/{front_pics/weedle_still_front_pic.png => weedle/front.png} (100%) rename graphics/pokemon/{icons/weedle_icon.png => weedle/icon.png} (100%) rename graphics/pokemon/{palettes/weedle_palette.pal => weedle/normal.pal} (100%) rename graphics/pokemon/{palettes/weedle_shiny_palette.pal => weedle/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/weepinbell_front_pic.png => weepinbell/anim_front.png} (100%) rename graphics/pokemon/{back_pics/weepinbell_back_pic.png => weepinbell/back.png} (100%) rename graphics/pokemon/{footprints/weepinbell_footprint.png => weepinbell/footprint.png} (100%) rename graphics/pokemon/{front_pics/weepinbell_still_front_pic.png => weepinbell/front.png} (100%) rename graphics/pokemon/{icons/weepinbell_icon.png => weepinbell/icon.png} (100%) rename graphics/pokemon/{palettes/weepinbell_palette.pal => weepinbell/normal.pal} (100%) rename graphics/pokemon/{palettes/weepinbell_shiny_palette.pal => weepinbell/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/weezing_front_pic.png => weezing/anim_front.png} (100%) rename graphics/pokemon/{back_pics/weezing_back_pic.png => weezing/back.png} (100%) rename graphics/pokemon/{footprints/weezing_footprint.png => weezing/footprint.png} (100%) rename graphics/pokemon/{front_pics/weezing_still_front_pic.png => weezing/front.png} (100%) rename graphics/pokemon/{icons/weezing_icon.png => weezing/icon.png} (100%) rename graphics/pokemon/{palettes/weezing_palette.pal => weezing/normal.pal} (100%) rename graphics/pokemon/{palettes/weezing_shiny_palette.pal => weezing/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/whiscash_front_pic.png => whiscash/anim_front.png} (100%) rename graphics/pokemon/{back_pics/whiscash_back_pic.png => whiscash/back.png} (100%) rename graphics/pokemon/{footprints/whiscash_footprint.png => whiscash/footprint.png} (100%) rename graphics/pokemon/{front_pics/whiscash_still_front_pic.png => whiscash/front.png} (100%) rename graphics/pokemon/{icons/whiscash_icon.png => whiscash/icon.png} (100%) rename graphics/pokemon/{palettes/whiscash_palette.pal => whiscash/normal.pal} (100%) rename graphics/pokemon/{palettes/whiscash_shiny_palette.pal => whiscash/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/whismur_front_pic.png => whismur/anim_front.png} (100%) rename graphics/pokemon/{back_pics/whismur_back_pic.png => whismur/back.png} (100%) rename graphics/pokemon/{footprints/whismur_footprint.png => whismur/footprint.png} (100%) rename graphics/pokemon/{front_pics/whismur_still_front_pic.png => whismur/front.png} (100%) rename graphics/pokemon/{icons/whismur_icon.png => whismur/icon.png} (100%) rename graphics/pokemon/{palettes/whismur_palette.pal => whismur/normal.pal} (100%) rename graphics/pokemon/{palettes/whismur_shiny_palette.pal => whismur/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/wigglytuff_front_pic.png => wigglytuff/anim_front.png} (100%) rename graphics/pokemon/{back_pics/wigglytuff_back_pic.png => wigglytuff/back.png} (100%) rename graphics/pokemon/{footprints/wigglytuff_footprint.png => wigglytuff/footprint.png} (100%) rename graphics/pokemon/{front_pics/wigglytuff_still_front_pic.png => wigglytuff/front.png} (100%) rename graphics/pokemon/{icons/wigglytuff_icon.png => wigglytuff/icon.png} (100%) rename graphics/pokemon/{palettes/wigglytuff_palette.pal => wigglytuff/normal.pal} (100%) rename graphics/pokemon/{palettes/wigglytuff_shiny_palette.pal => wigglytuff/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/wingull_front_pic.png => wingull/anim_front.png} (100%) rename graphics/pokemon/{back_pics/wingull_back_pic.png => wingull/back.png} (100%) rename graphics/pokemon/{footprints/wingull_footprint.png => wingull/footprint.png} (100%) rename graphics/pokemon/{front_pics/wingull_still_front_pic.png => wingull/front.png} (100%) rename graphics/pokemon/{icons/wingull_icon.png => wingull/icon.png} (100%) rename graphics/pokemon/{palettes/wingull_palette.pal => wingull/normal.pal} (100%) rename graphics/pokemon/{palettes/wingull_shiny_palette.pal => wingull/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/wobbuffet_front_pic.png => wobbuffet/anim_front.png} (100%) rename graphics/pokemon/{back_pics/wobbuffet_back_pic.png => wobbuffet/back.png} (100%) rename graphics/pokemon/{footprints/wobbuffet_footprint.png => wobbuffet/footprint.png} (100%) rename graphics/pokemon/{front_pics/wobbuffet_still_front_pic.png => wobbuffet/front.png} (100%) rename graphics/pokemon/{icons/wobbuffet_icon.png => wobbuffet/icon.png} (100%) rename graphics/pokemon/{palettes/wobbuffet_palette.pal => wobbuffet/normal.pal} (100%) rename graphics/pokemon/{palettes/wobbuffet_shiny_palette.pal => wobbuffet/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/wooper_front_pic.png => wooper/anim_front.png} (100%) rename graphics/pokemon/{back_pics/wooper_back_pic.png => wooper/back.png} (100%) rename graphics/pokemon/{footprints/wooper_footprint.png => wooper/footprint.png} (100%) rename graphics/pokemon/{front_pics/wooper_still_front_pic.png => wooper/front.png} (100%) rename graphics/pokemon/{icons/wooper_icon.png => wooper/icon.png} (100%) rename graphics/pokemon/{palettes/wooper_palette.pal => wooper/normal.pal} (100%) rename graphics/pokemon/{palettes/wooper_shiny_palette.pal => wooper/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/wurmple_front_pic.png => wurmple/anim_front.png} (100%) rename graphics/pokemon/{back_pics/wurmple_back_pic.png => wurmple/back.png} (100%) rename graphics/pokemon/{footprints/wurmple_footprint.png => wurmple/footprint.png} (100%) rename graphics/pokemon/{front_pics/wurmple_still_front_pic.png => wurmple/front.png} (100%) rename graphics/pokemon/{icons/wurmple_icon.png => wurmple/icon.png} (100%) rename graphics/pokemon/{palettes/wurmple_palette.pal => wurmple/normal.pal} (100%) rename graphics/pokemon/{palettes/wurmple_shiny_palette.pal => wurmple/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/wynaut_front_pic.png => wynaut/anim_front.png} (100%) rename graphics/pokemon/{back_pics/wynaut_back_pic.png => wynaut/back.png} (100%) rename graphics/pokemon/{footprints/wynaut_footprint.png => wynaut/footprint.png} (100%) rename graphics/pokemon/{front_pics/wynaut_still_front_pic.png => wynaut/front.png} (100%) rename graphics/pokemon/{icons/wynaut_icon.png => wynaut/icon.png} (100%) rename graphics/pokemon/{palettes/wynaut_palette.pal => wynaut/normal.pal} (100%) rename graphics/pokemon/{palettes/wynaut_shiny_palette.pal => wynaut/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/xatu_front_pic.png => xatu/anim_front.png} (100%) rename graphics/pokemon/{back_pics/xatu_back_pic.png => xatu/back.png} (100%) rename graphics/pokemon/{footprints/xatu_footprint.png => xatu/footprint.png} (100%) rename graphics/pokemon/{front_pics/xatu_still_front_pic.png => xatu/front.png} (100%) rename graphics/pokemon/{icons/xatu_icon.png => xatu/icon.png} (100%) rename graphics/pokemon/{palettes/xatu_palette.pal => xatu/normal.pal} (100%) rename graphics/pokemon/{palettes/xatu_shiny_palette.pal => xatu/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/yanma_front_pic.png => yanma/anim_front.png} (100%) rename graphics/pokemon/{back_pics/yanma_back_pic.png => yanma/back.png} (100%) rename graphics/pokemon/{footprints/yanma_footprint.png => yanma/footprint.png} (100%) rename graphics/pokemon/{front_pics/yanma_still_front_pic.png => yanma/front.png} (100%) rename graphics/pokemon/{icons/yanma_icon.png => yanma/icon.png} (100%) rename graphics/pokemon/{palettes/yanma_palette.pal => yanma/normal.pal} (100%) rename graphics/pokemon/{palettes/yanma_shiny_palette.pal => yanma/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/zangoose_front_pic.png => zangoose/anim_front.png} (100%) rename graphics/pokemon/{back_pics/zangoose_back_pic.png => zangoose/back.png} (100%) rename graphics/pokemon/{footprints/zangoose_footprint.png => zangoose/footprint.png} (100%) rename graphics/pokemon/{front_pics/zangoose_still_front_pic.png => zangoose/front.png} (100%) rename graphics/pokemon/{icons/zangoose_icon.png => zangoose/icon.png} (100%) rename graphics/pokemon/{palettes/zangoose_palette.pal => zangoose/normal.pal} (100%) rename graphics/pokemon/{palettes/zangoose_shiny_palette.pal => zangoose/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/zapdos_front_pic.png => zapdos/anim_front.png} (100%) rename graphics/pokemon/{back_pics/zapdos_back_pic.png => zapdos/back.png} (100%) rename graphics/pokemon/{footprints/zapdos_footprint.png => zapdos/footprint.png} (100%) rename graphics/pokemon/{front_pics/zapdos_still_front_pic.png => zapdos/front.png} (100%) rename graphics/pokemon/{icons/zapdos_icon.png => zapdos/icon.png} (100%) rename graphics/pokemon/{palettes/zapdos_palette.pal => zapdos/normal.pal} (100%) rename graphics/pokemon/{palettes/zapdos_shiny_palette.pal => zapdos/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/zigzagoon_front_pic.png => zigzagoon/anim_front.png} (100%) rename graphics/pokemon/{back_pics/zigzagoon_back_pic.png => zigzagoon/back.png} (100%) rename graphics/pokemon/{footprints/zigzagoon_footprint.png => zigzagoon/footprint.png} (100%) rename graphics/pokemon/{front_pics/zigzagoon_still_front_pic.png => zigzagoon/front.png} (100%) rename graphics/pokemon/{icons/zigzagoon_icon.png => zigzagoon/icon.png} (100%) rename graphics/pokemon/{palettes/zigzagoon_palette.pal => zigzagoon/normal.pal} (100%) rename graphics/pokemon/{palettes/zigzagoon_shiny_palette.pal => zigzagoon/shiny.pal} (100%) rename graphics/pokemon/{anim_front_pics/zubat_front_pic.png => zubat/anim_front.png} (100%) rename graphics/pokemon/{back_pics/zubat_back_pic.png => zubat/back.png} (100%) rename graphics/pokemon/{footprints/zubat_footprint.png => zubat/footprint.png} (100%) rename graphics/pokemon/{front_pics/zubat_still_front_pic.png => zubat/front.png} (100%) rename graphics/pokemon/{icons/zubat_icon.png => zubat/icon.png} (100%) rename graphics/pokemon/{palettes/zubat_palette.pal => zubat/normal.pal} (100%) rename graphics/pokemon/{palettes/zubat_shiny_palette.pal => zubat/shiny.pal} (100%) diff --git a/graphics/pokemon/anim_front_pics/abra_front_pic.png b/graphics/pokemon/abra/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/abra_front_pic.png rename to graphics/pokemon/abra/anim_front.png diff --git a/graphics/pokemon/back_pics/abra_back_pic.png b/graphics/pokemon/abra/back.png similarity index 100% rename from graphics/pokemon/back_pics/abra_back_pic.png rename to graphics/pokemon/abra/back.png diff --git a/graphics/pokemon/footprints/abra_footprint.png b/graphics/pokemon/abra/footprint.png similarity index 100% rename from graphics/pokemon/footprints/abra_footprint.png rename to graphics/pokemon/abra/footprint.png diff --git a/graphics/pokemon/front_pics/abra_still_front_pic.png b/graphics/pokemon/abra/front.png similarity index 100% rename from graphics/pokemon/front_pics/abra_still_front_pic.png rename to graphics/pokemon/abra/front.png diff --git a/graphics/pokemon/icons/abra_icon.png b/graphics/pokemon/abra/icon.png similarity index 100% rename from graphics/pokemon/icons/abra_icon.png rename to graphics/pokemon/abra/icon.png diff --git a/graphics/pokemon/palettes/abra_palette.pal b/graphics/pokemon/abra/normal.pal similarity index 100% rename from graphics/pokemon/palettes/abra_palette.pal rename to graphics/pokemon/abra/normal.pal diff --git a/graphics/pokemon/palettes/abra_shiny_palette.pal b/graphics/pokemon/abra/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/abra_shiny_palette.pal rename to graphics/pokemon/abra/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/absol_front_pic.png b/graphics/pokemon/absol/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/absol_front_pic.png rename to graphics/pokemon/absol/anim_front.png diff --git a/graphics/pokemon/back_pics/absol_back_pic.png b/graphics/pokemon/absol/back.png similarity index 100% rename from graphics/pokemon/back_pics/absol_back_pic.png rename to graphics/pokemon/absol/back.png diff --git a/graphics/pokemon/footprints/absol_footprint.png b/graphics/pokemon/absol/footprint.png similarity index 100% rename from graphics/pokemon/footprints/absol_footprint.png rename to graphics/pokemon/absol/footprint.png diff --git a/graphics/pokemon/front_pics/absol_still_front_pic.png b/graphics/pokemon/absol/front.png similarity index 100% rename from graphics/pokemon/front_pics/absol_still_front_pic.png rename to graphics/pokemon/absol/front.png diff --git a/graphics/pokemon/icons/absol_icon.png b/graphics/pokemon/absol/icon.png similarity index 100% rename from graphics/pokemon/icons/absol_icon.png rename to graphics/pokemon/absol/icon.png diff --git a/graphics/pokemon/palettes/absol_palette.pal b/graphics/pokemon/absol/normal.pal similarity index 100% rename from graphics/pokemon/palettes/absol_palette.pal rename to graphics/pokemon/absol/normal.pal diff --git a/graphics/pokemon/palettes/absol_shiny_palette.pal b/graphics/pokemon/absol/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/absol_shiny_palette.pal rename to graphics/pokemon/absol/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/aerodactyl_front_pic.png b/graphics/pokemon/aerodactyl/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/aerodactyl_front_pic.png rename to graphics/pokemon/aerodactyl/anim_front.png diff --git a/graphics/pokemon/back_pics/aerodactyl_back_pic.png b/graphics/pokemon/aerodactyl/back.png similarity index 100% rename from graphics/pokemon/back_pics/aerodactyl_back_pic.png rename to graphics/pokemon/aerodactyl/back.png diff --git a/graphics/pokemon/footprints/aerodactyl_footprint.png b/graphics/pokemon/aerodactyl/footprint.png similarity index 100% rename from graphics/pokemon/footprints/aerodactyl_footprint.png rename to graphics/pokemon/aerodactyl/footprint.png diff --git a/graphics/pokemon/front_pics/aerodactyl_still_front_pic.png b/graphics/pokemon/aerodactyl/front.png similarity index 100% rename from graphics/pokemon/front_pics/aerodactyl_still_front_pic.png rename to graphics/pokemon/aerodactyl/front.png diff --git a/graphics/pokemon/icons/aerodactyl_icon.png b/graphics/pokemon/aerodactyl/icon.png similarity index 100% rename from graphics/pokemon/icons/aerodactyl_icon.png rename to graphics/pokemon/aerodactyl/icon.png diff --git a/graphics/pokemon/palettes/aerodactyl_palette.pal b/graphics/pokemon/aerodactyl/normal.pal similarity index 100% rename from graphics/pokemon/palettes/aerodactyl_palette.pal rename to graphics/pokemon/aerodactyl/normal.pal diff --git a/graphics/pokemon/palettes/aerodactyl_shiny_palette.pal b/graphics/pokemon/aerodactyl/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/aerodactyl_shiny_palette.pal rename to graphics/pokemon/aerodactyl/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/aggron_front_pic.png b/graphics/pokemon/aggron/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/aggron_front_pic.png rename to graphics/pokemon/aggron/anim_front.png diff --git a/graphics/pokemon/back_pics/aggron_back_pic.png b/graphics/pokemon/aggron/back.png similarity index 100% rename from graphics/pokemon/back_pics/aggron_back_pic.png rename to graphics/pokemon/aggron/back.png diff --git a/graphics/pokemon/footprints/aggron_footprint.png b/graphics/pokemon/aggron/footprint.png similarity index 100% rename from graphics/pokemon/footprints/aggron_footprint.png rename to graphics/pokemon/aggron/footprint.png diff --git a/graphics/pokemon/front_pics/aggron_still_front_pic.png b/graphics/pokemon/aggron/front.png similarity index 100% rename from graphics/pokemon/front_pics/aggron_still_front_pic.png rename to graphics/pokemon/aggron/front.png diff --git a/graphics/pokemon/icons/aggron_icon.png b/graphics/pokemon/aggron/icon.png similarity index 100% rename from graphics/pokemon/icons/aggron_icon.png rename to graphics/pokemon/aggron/icon.png diff --git a/graphics/pokemon/palettes/aggron_palette.pal b/graphics/pokemon/aggron/normal.pal similarity index 100% rename from graphics/pokemon/palettes/aggron_palette.pal rename to graphics/pokemon/aggron/normal.pal diff --git a/graphics/pokemon/palettes/aggron_shiny_palette.pal b/graphics/pokemon/aggron/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/aggron_shiny_palette.pal rename to graphics/pokemon/aggron/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/aipom_front_pic.png b/graphics/pokemon/aipom/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/aipom_front_pic.png rename to graphics/pokemon/aipom/anim_front.png diff --git a/graphics/pokemon/back_pics/aipom_back_pic.png b/graphics/pokemon/aipom/back.png similarity index 100% rename from graphics/pokemon/back_pics/aipom_back_pic.png rename to graphics/pokemon/aipom/back.png diff --git a/graphics/pokemon/footprints/aipom_footprint.png b/graphics/pokemon/aipom/footprint.png similarity index 100% rename from graphics/pokemon/footprints/aipom_footprint.png rename to graphics/pokemon/aipom/footprint.png diff --git a/graphics/pokemon/front_pics/aipom_still_front_pic.png b/graphics/pokemon/aipom/front.png similarity index 100% rename from graphics/pokemon/front_pics/aipom_still_front_pic.png rename to graphics/pokemon/aipom/front.png diff --git a/graphics/pokemon/icons/aipom_icon.png b/graphics/pokemon/aipom/icon.png similarity index 100% rename from graphics/pokemon/icons/aipom_icon.png rename to graphics/pokemon/aipom/icon.png diff --git a/graphics/pokemon/palettes/aipom_palette.pal b/graphics/pokemon/aipom/normal.pal similarity index 100% rename from graphics/pokemon/palettes/aipom_palette.pal rename to graphics/pokemon/aipom/normal.pal diff --git a/graphics/pokemon/palettes/aipom_shiny_palette.pal b/graphics/pokemon/aipom/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/aipom_shiny_palette.pal rename to graphics/pokemon/aipom/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/alakazam_front_pic.png b/graphics/pokemon/alakazam/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/alakazam_front_pic.png rename to graphics/pokemon/alakazam/anim_front.png diff --git a/graphics/pokemon/back_pics/alakazam_back_pic.png b/graphics/pokemon/alakazam/back.png similarity index 100% rename from graphics/pokemon/back_pics/alakazam_back_pic.png rename to graphics/pokemon/alakazam/back.png diff --git a/graphics/pokemon/footprints/alakazam_footprint.png b/graphics/pokemon/alakazam/footprint.png similarity index 100% rename from graphics/pokemon/footprints/alakazam_footprint.png rename to graphics/pokemon/alakazam/footprint.png diff --git a/graphics/pokemon/front_pics/alakazam_still_front_pic.png b/graphics/pokemon/alakazam/front.png similarity index 100% rename from graphics/pokemon/front_pics/alakazam_still_front_pic.png rename to graphics/pokemon/alakazam/front.png diff --git a/graphics/pokemon/icons/alakazam_icon.png b/graphics/pokemon/alakazam/icon.png similarity index 100% rename from graphics/pokemon/icons/alakazam_icon.png rename to graphics/pokemon/alakazam/icon.png diff --git a/graphics/pokemon/palettes/alakazam_palette.pal b/graphics/pokemon/alakazam/normal.pal similarity index 100% rename from graphics/pokemon/palettes/alakazam_palette.pal rename to graphics/pokemon/alakazam/normal.pal diff --git a/graphics/pokemon/palettes/alakazam_shiny_palette.pal b/graphics/pokemon/alakazam/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/alakazam_shiny_palette.pal rename to graphics/pokemon/alakazam/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/altaria_front_pic.png b/graphics/pokemon/altaria/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/altaria_front_pic.png rename to graphics/pokemon/altaria/anim_front.png diff --git a/graphics/pokemon/back_pics/altaria_back_pic.png b/graphics/pokemon/altaria/back.png similarity index 100% rename from graphics/pokemon/back_pics/altaria_back_pic.png rename to graphics/pokemon/altaria/back.png diff --git a/graphics/pokemon/footprints/altaria_footprint.png b/graphics/pokemon/altaria/footprint.png similarity index 100% rename from graphics/pokemon/footprints/altaria_footprint.png rename to graphics/pokemon/altaria/footprint.png diff --git a/graphics/pokemon/front_pics/altaria_still_front_pic.png b/graphics/pokemon/altaria/front.png similarity index 100% rename from graphics/pokemon/front_pics/altaria_still_front_pic.png rename to graphics/pokemon/altaria/front.png diff --git a/graphics/pokemon/icons/altaria_icon.png b/graphics/pokemon/altaria/icon.png similarity index 100% rename from graphics/pokemon/icons/altaria_icon.png rename to graphics/pokemon/altaria/icon.png diff --git a/graphics/pokemon/palettes/altaria_palette.pal b/graphics/pokemon/altaria/normal.pal similarity index 100% rename from graphics/pokemon/palettes/altaria_palette.pal rename to graphics/pokemon/altaria/normal.pal diff --git a/graphics/pokemon/palettes/altaria_shiny_palette.pal b/graphics/pokemon/altaria/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/altaria_shiny_palette.pal rename to graphics/pokemon/altaria/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/ampharos_front_pic.png b/graphics/pokemon/ampharos/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/ampharos_front_pic.png rename to graphics/pokemon/ampharos/anim_front.png diff --git a/graphics/pokemon/back_pics/ampharos_back_pic.png b/graphics/pokemon/ampharos/back.png similarity index 100% rename from graphics/pokemon/back_pics/ampharos_back_pic.png rename to graphics/pokemon/ampharos/back.png diff --git a/graphics/pokemon/footprints/ampharos_footprint.png b/graphics/pokemon/ampharos/footprint.png similarity index 100% rename from graphics/pokemon/footprints/ampharos_footprint.png rename to graphics/pokemon/ampharos/footprint.png diff --git a/graphics/pokemon/front_pics/ampharos_still_front_pic.png b/graphics/pokemon/ampharos/front.png similarity index 100% rename from graphics/pokemon/front_pics/ampharos_still_front_pic.png rename to graphics/pokemon/ampharos/front.png diff --git a/graphics/pokemon/icons/ampharos_icon.png b/graphics/pokemon/ampharos/icon.png similarity index 100% rename from graphics/pokemon/icons/ampharos_icon.png rename to graphics/pokemon/ampharos/icon.png diff --git a/graphics/pokemon/palettes/ampharos_palette.pal b/graphics/pokemon/ampharos/normal.pal similarity index 100% rename from graphics/pokemon/palettes/ampharos_palette.pal rename to graphics/pokemon/ampharos/normal.pal diff --git a/graphics/pokemon/palettes/ampharos_shiny_palette.pal b/graphics/pokemon/ampharos/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/ampharos_shiny_palette.pal rename to graphics/pokemon/ampharos/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/anorith_front_pic.png b/graphics/pokemon/anorith/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/anorith_front_pic.png rename to graphics/pokemon/anorith/anim_front.png diff --git a/graphics/pokemon/back_pics/anorith_back_pic.png b/graphics/pokemon/anorith/back.png similarity index 100% rename from graphics/pokemon/back_pics/anorith_back_pic.png rename to graphics/pokemon/anorith/back.png diff --git a/graphics/pokemon/footprints/anorith_footprint.png b/graphics/pokemon/anorith/footprint.png similarity index 100% rename from graphics/pokemon/footprints/anorith_footprint.png rename to graphics/pokemon/anorith/footprint.png diff --git a/graphics/pokemon/front_pics/anorith_still_front_pic.png b/graphics/pokemon/anorith/front.png similarity index 100% rename from graphics/pokemon/front_pics/anorith_still_front_pic.png rename to graphics/pokemon/anorith/front.png diff --git a/graphics/pokemon/icons/anorith_icon.png b/graphics/pokemon/anorith/icon.png similarity index 100% rename from graphics/pokemon/icons/anorith_icon.png rename to graphics/pokemon/anorith/icon.png diff --git a/graphics/pokemon/palettes/anorith_palette.pal b/graphics/pokemon/anorith/normal.pal similarity index 100% rename from graphics/pokemon/palettes/anorith_palette.pal rename to graphics/pokemon/anorith/normal.pal diff --git a/graphics/pokemon/palettes/anorith_shiny_palette.pal b/graphics/pokemon/anorith/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/anorith_shiny_palette.pal rename to graphics/pokemon/anorith/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/arbok_front_pic.png b/graphics/pokemon/arbok/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/arbok_front_pic.png rename to graphics/pokemon/arbok/anim_front.png diff --git a/graphics/pokemon/back_pics/arbok_back_pic.png b/graphics/pokemon/arbok/back.png similarity index 100% rename from graphics/pokemon/back_pics/arbok_back_pic.png rename to graphics/pokemon/arbok/back.png diff --git a/graphics/pokemon/footprints/arbok_footprint.png b/graphics/pokemon/arbok/footprint.png similarity index 100% rename from graphics/pokemon/footprints/arbok_footprint.png rename to graphics/pokemon/arbok/footprint.png diff --git a/graphics/pokemon/front_pics/arbok_still_front_pic.png b/graphics/pokemon/arbok/front.png similarity index 100% rename from graphics/pokemon/front_pics/arbok_still_front_pic.png rename to graphics/pokemon/arbok/front.png diff --git a/graphics/pokemon/icons/arbok_icon.png b/graphics/pokemon/arbok/icon.png similarity index 100% rename from graphics/pokemon/icons/arbok_icon.png rename to graphics/pokemon/arbok/icon.png diff --git a/graphics/pokemon/palettes/arbok_palette.pal b/graphics/pokemon/arbok/normal.pal similarity index 100% rename from graphics/pokemon/palettes/arbok_palette.pal rename to graphics/pokemon/arbok/normal.pal diff --git a/graphics/pokemon/palettes/arbok_shiny_palette.pal b/graphics/pokemon/arbok/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/arbok_shiny_palette.pal rename to graphics/pokemon/arbok/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/arcanine_front_pic.png b/graphics/pokemon/arcanine/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/arcanine_front_pic.png rename to graphics/pokemon/arcanine/anim_front.png diff --git a/graphics/pokemon/back_pics/arcanine_back_pic.png b/graphics/pokemon/arcanine/back.png similarity index 100% rename from graphics/pokemon/back_pics/arcanine_back_pic.png rename to graphics/pokemon/arcanine/back.png diff --git a/graphics/pokemon/footprints/arcanine_footprint.png b/graphics/pokemon/arcanine/footprint.png similarity index 100% rename from graphics/pokemon/footprints/arcanine_footprint.png rename to graphics/pokemon/arcanine/footprint.png diff --git a/graphics/pokemon/front_pics/arcanine_still_front_pic.png b/graphics/pokemon/arcanine/front.png similarity index 100% rename from graphics/pokemon/front_pics/arcanine_still_front_pic.png rename to graphics/pokemon/arcanine/front.png diff --git a/graphics/pokemon/icons/arcanine_icon.png b/graphics/pokemon/arcanine/icon.png similarity index 100% rename from graphics/pokemon/icons/arcanine_icon.png rename to graphics/pokemon/arcanine/icon.png diff --git a/graphics/pokemon/palettes/arcanine_palette.pal b/graphics/pokemon/arcanine/normal.pal similarity index 100% rename from graphics/pokemon/palettes/arcanine_palette.pal rename to graphics/pokemon/arcanine/normal.pal diff --git a/graphics/pokemon/palettes/arcanine_shiny_palette.pal b/graphics/pokemon/arcanine/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/arcanine_shiny_palette.pal rename to graphics/pokemon/arcanine/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/ariados_front_pic.png b/graphics/pokemon/ariados/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/ariados_front_pic.png rename to graphics/pokemon/ariados/anim_front.png diff --git a/graphics/pokemon/back_pics/ariados_back_pic.png b/graphics/pokemon/ariados/back.png similarity index 100% rename from graphics/pokemon/back_pics/ariados_back_pic.png rename to graphics/pokemon/ariados/back.png diff --git a/graphics/pokemon/footprints/ariados_footprint.png b/graphics/pokemon/ariados/footprint.png similarity index 100% rename from graphics/pokemon/footprints/ariados_footprint.png rename to graphics/pokemon/ariados/footprint.png diff --git a/graphics/pokemon/front_pics/ariados_still_front_pic.png b/graphics/pokemon/ariados/front.png similarity index 100% rename from graphics/pokemon/front_pics/ariados_still_front_pic.png rename to graphics/pokemon/ariados/front.png diff --git a/graphics/pokemon/icons/ariados_icon.png b/graphics/pokemon/ariados/icon.png similarity index 100% rename from graphics/pokemon/icons/ariados_icon.png rename to graphics/pokemon/ariados/icon.png diff --git a/graphics/pokemon/palettes/ariados_palette.pal b/graphics/pokemon/ariados/normal.pal similarity index 100% rename from graphics/pokemon/palettes/ariados_palette.pal rename to graphics/pokemon/ariados/normal.pal diff --git a/graphics/pokemon/palettes/ariados_shiny_palette.pal b/graphics/pokemon/ariados/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/ariados_shiny_palette.pal rename to graphics/pokemon/ariados/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/armaldo_front_pic.png b/graphics/pokemon/armaldo/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/armaldo_front_pic.png rename to graphics/pokemon/armaldo/anim_front.png diff --git a/graphics/pokemon/back_pics/armaldo_back_pic.png b/graphics/pokemon/armaldo/back.png similarity index 100% rename from graphics/pokemon/back_pics/armaldo_back_pic.png rename to graphics/pokemon/armaldo/back.png diff --git a/graphics/pokemon/footprints/armaldo_footprint.png b/graphics/pokemon/armaldo/footprint.png similarity index 100% rename from graphics/pokemon/footprints/armaldo_footprint.png rename to graphics/pokemon/armaldo/footprint.png diff --git a/graphics/pokemon/front_pics/armaldo_still_front_pic.png b/graphics/pokemon/armaldo/front.png similarity index 100% rename from graphics/pokemon/front_pics/armaldo_still_front_pic.png rename to graphics/pokemon/armaldo/front.png diff --git a/graphics/pokemon/icons/armaldo_icon.png b/graphics/pokemon/armaldo/icon.png similarity index 100% rename from graphics/pokemon/icons/armaldo_icon.png rename to graphics/pokemon/armaldo/icon.png diff --git a/graphics/pokemon/palettes/armaldo_palette.pal b/graphics/pokemon/armaldo/normal.pal similarity index 100% rename from graphics/pokemon/palettes/armaldo_palette.pal rename to graphics/pokemon/armaldo/normal.pal diff --git a/graphics/pokemon/palettes/armaldo_shiny_palette.pal b/graphics/pokemon/armaldo/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/armaldo_shiny_palette.pal rename to graphics/pokemon/armaldo/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/aron_front_pic.png b/graphics/pokemon/aron/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/aron_front_pic.png rename to graphics/pokemon/aron/anim_front.png diff --git a/graphics/pokemon/back_pics/aron_back_pic.png b/graphics/pokemon/aron/back.png similarity index 100% rename from graphics/pokemon/back_pics/aron_back_pic.png rename to graphics/pokemon/aron/back.png diff --git a/graphics/pokemon/footprints/aron_footprint.png b/graphics/pokemon/aron/footprint.png similarity index 100% rename from graphics/pokemon/footprints/aron_footprint.png rename to graphics/pokemon/aron/footprint.png diff --git a/graphics/pokemon/front_pics/aron_still_front_pic.png b/graphics/pokemon/aron/front.png similarity index 100% rename from graphics/pokemon/front_pics/aron_still_front_pic.png rename to graphics/pokemon/aron/front.png diff --git a/graphics/pokemon/icons/aron_icon.png b/graphics/pokemon/aron/icon.png similarity index 100% rename from graphics/pokemon/icons/aron_icon.png rename to graphics/pokemon/aron/icon.png diff --git a/graphics/pokemon/palettes/aron_palette.pal b/graphics/pokemon/aron/normal.pal similarity index 100% rename from graphics/pokemon/palettes/aron_palette.pal rename to graphics/pokemon/aron/normal.pal diff --git a/graphics/pokemon/palettes/aron_shiny_palette.pal b/graphics/pokemon/aron/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/aron_shiny_palette.pal rename to graphics/pokemon/aron/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/articuno_front_pic.png b/graphics/pokemon/articuno/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/articuno_front_pic.png rename to graphics/pokemon/articuno/anim_front.png diff --git a/graphics/pokemon/back_pics/articuno_back_pic.png b/graphics/pokemon/articuno/back.png similarity index 100% rename from graphics/pokemon/back_pics/articuno_back_pic.png rename to graphics/pokemon/articuno/back.png diff --git a/graphics/pokemon/footprints/articuno_footprint.png b/graphics/pokemon/articuno/footprint.png similarity index 100% rename from graphics/pokemon/footprints/articuno_footprint.png rename to graphics/pokemon/articuno/footprint.png diff --git a/graphics/pokemon/front_pics/articuno_still_front_pic.png b/graphics/pokemon/articuno/front.png similarity index 100% rename from graphics/pokemon/front_pics/articuno_still_front_pic.png rename to graphics/pokemon/articuno/front.png diff --git a/graphics/pokemon/icons/articuno_icon.png b/graphics/pokemon/articuno/icon.png similarity index 100% rename from graphics/pokemon/icons/articuno_icon.png rename to graphics/pokemon/articuno/icon.png diff --git a/graphics/pokemon/palettes/articuno_palette.pal b/graphics/pokemon/articuno/normal.pal similarity index 100% rename from graphics/pokemon/palettes/articuno_palette.pal rename to graphics/pokemon/articuno/normal.pal diff --git a/graphics/pokemon/palettes/articuno_shiny_palette.pal b/graphics/pokemon/articuno/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/articuno_shiny_palette.pal rename to graphics/pokemon/articuno/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/azumarill_front_pic.png b/graphics/pokemon/azumarill/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/azumarill_front_pic.png rename to graphics/pokemon/azumarill/anim_front.png diff --git a/graphics/pokemon/back_pics/azumarill_back_pic.png b/graphics/pokemon/azumarill/back.png similarity index 100% rename from graphics/pokemon/back_pics/azumarill_back_pic.png rename to graphics/pokemon/azumarill/back.png diff --git a/graphics/pokemon/footprints/azumarill_footprint.png b/graphics/pokemon/azumarill/footprint.png similarity index 100% rename from graphics/pokemon/footprints/azumarill_footprint.png rename to graphics/pokemon/azumarill/footprint.png diff --git a/graphics/pokemon/front_pics/azumarill_still_front_pic.png b/graphics/pokemon/azumarill/front.png similarity index 100% rename from graphics/pokemon/front_pics/azumarill_still_front_pic.png rename to graphics/pokemon/azumarill/front.png diff --git a/graphics/pokemon/icons/azumarill_icon.png b/graphics/pokemon/azumarill/icon.png similarity index 100% rename from graphics/pokemon/icons/azumarill_icon.png rename to graphics/pokemon/azumarill/icon.png diff --git a/graphics/pokemon/palettes/azumarill_palette.pal b/graphics/pokemon/azumarill/normal.pal similarity index 100% rename from graphics/pokemon/palettes/azumarill_palette.pal rename to graphics/pokemon/azumarill/normal.pal diff --git a/graphics/pokemon/palettes/azumarill_shiny_palette.pal b/graphics/pokemon/azumarill/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/azumarill_shiny_palette.pal rename to graphics/pokemon/azumarill/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/azurill_front_pic.png b/graphics/pokemon/azurill/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/azurill_front_pic.png rename to graphics/pokemon/azurill/anim_front.png diff --git a/graphics/pokemon/back_pics/azurill_back_pic.png b/graphics/pokemon/azurill/back.png similarity index 100% rename from graphics/pokemon/back_pics/azurill_back_pic.png rename to graphics/pokemon/azurill/back.png diff --git a/graphics/pokemon/footprints/azurill_footprint.png b/graphics/pokemon/azurill/footprint.png similarity index 100% rename from graphics/pokemon/footprints/azurill_footprint.png rename to graphics/pokemon/azurill/footprint.png diff --git a/graphics/pokemon/front_pics/azurill_still_front_pic.png b/graphics/pokemon/azurill/front.png similarity index 100% rename from graphics/pokemon/front_pics/azurill_still_front_pic.png rename to graphics/pokemon/azurill/front.png diff --git a/graphics/pokemon/icons/azurill_icon.png b/graphics/pokemon/azurill/icon.png similarity index 100% rename from graphics/pokemon/icons/azurill_icon.png rename to graphics/pokemon/azurill/icon.png diff --git a/graphics/pokemon/palettes/azurill_palette.pal b/graphics/pokemon/azurill/normal.pal similarity index 100% rename from graphics/pokemon/palettes/azurill_palette.pal rename to graphics/pokemon/azurill/normal.pal diff --git a/graphics/pokemon/palettes/azurill_shiny_palette.pal b/graphics/pokemon/azurill/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/azurill_shiny_palette.pal rename to graphics/pokemon/azurill/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/bagon_front_pic.png b/graphics/pokemon/bagon/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/bagon_front_pic.png rename to graphics/pokemon/bagon/anim_front.png diff --git a/graphics/pokemon/back_pics/bagon_back_pic.png b/graphics/pokemon/bagon/back.png similarity index 100% rename from graphics/pokemon/back_pics/bagon_back_pic.png rename to graphics/pokemon/bagon/back.png diff --git a/graphics/pokemon/footprints/bagon_footprint.png b/graphics/pokemon/bagon/footprint.png similarity index 100% rename from graphics/pokemon/footprints/bagon_footprint.png rename to graphics/pokemon/bagon/footprint.png diff --git a/graphics/pokemon/front_pics/bagon_still_front_pic.png b/graphics/pokemon/bagon/front.png similarity index 100% rename from graphics/pokemon/front_pics/bagon_still_front_pic.png rename to graphics/pokemon/bagon/front.png diff --git a/graphics/pokemon/icons/bagon_icon.png b/graphics/pokemon/bagon/icon.png similarity index 100% rename from graphics/pokemon/icons/bagon_icon.png rename to graphics/pokemon/bagon/icon.png diff --git a/graphics/pokemon/palettes/bagon_palette.pal b/graphics/pokemon/bagon/normal.pal similarity index 100% rename from graphics/pokemon/palettes/bagon_palette.pal rename to graphics/pokemon/bagon/normal.pal diff --git a/graphics/pokemon/palettes/bagon_shiny_palette.pal b/graphics/pokemon/bagon/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/bagon_shiny_palette.pal rename to graphics/pokemon/bagon/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/baltoy_front_pic.png b/graphics/pokemon/baltoy/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/baltoy_front_pic.png rename to graphics/pokemon/baltoy/anim_front.png diff --git a/graphics/pokemon/back_pics/baltoy_back_pic.png b/graphics/pokemon/baltoy/back.png similarity index 100% rename from graphics/pokemon/back_pics/baltoy_back_pic.png rename to graphics/pokemon/baltoy/back.png diff --git a/graphics/pokemon/footprints/baltoy_footprint.png b/graphics/pokemon/baltoy/footprint.png similarity index 100% rename from graphics/pokemon/footprints/baltoy_footprint.png rename to graphics/pokemon/baltoy/footprint.png diff --git a/graphics/pokemon/front_pics/baltoy_still_front_pic.png b/graphics/pokemon/baltoy/front.png similarity index 100% rename from graphics/pokemon/front_pics/baltoy_still_front_pic.png rename to graphics/pokemon/baltoy/front.png diff --git a/graphics/pokemon/icons/baltoy_icon.png b/graphics/pokemon/baltoy/icon.png similarity index 100% rename from graphics/pokemon/icons/baltoy_icon.png rename to graphics/pokemon/baltoy/icon.png diff --git a/graphics/pokemon/palettes/baltoy_palette.pal b/graphics/pokemon/baltoy/normal.pal similarity index 100% rename from graphics/pokemon/palettes/baltoy_palette.pal rename to graphics/pokemon/baltoy/normal.pal diff --git a/graphics/pokemon/palettes/baltoy_shiny_palette.pal b/graphics/pokemon/baltoy/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/baltoy_shiny_palette.pal rename to graphics/pokemon/baltoy/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/banette_front_pic.png b/graphics/pokemon/banette/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/banette_front_pic.png rename to graphics/pokemon/banette/anim_front.png diff --git a/graphics/pokemon/back_pics/banette_back_pic.png b/graphics/pokemon/banette/back.png similarity index 100% rename from graphics/pokemon/back_pics/banette_back_pic.png rename to graphics/pokemon/banette/back.png diff --git a/graphics/pokemon/footprints/banette_footprint.png b/graphics/pokemon/banette/footprint.png similarity index 100% rename from graphics/pokemon/footprints/banette_footprint.png rename to graphics/pokemon/banette/footprint.png diff --git a/graphics/pokemon/front_pics/banette_still_front_pic.png b/graphics/pokemon/banette/front.png similarity index 100% rename from graphics/pokemon/front_pics/banette_still_front_pic.png rename to graphics/pokemon/banette/front.png diff --git a/graphics/pokemon/icons/banette_icon.png b/graphics/pokemon/banette/icon.png similarity index 100% rename from graphics/pokemon/icons/banette_icon.png rename to graphics/pokemon/banette/icon.png diff --git a/graphics/pokemon/palettes/banette_palette.pal b/graphics/pokemon/banette/normal.pal similarity index 100% rename from graphics/pokemon/palettes/banette_palette.pal rename to graphics/pokemon/banette/normal.pal diff --git a/graphics/pokemon/palettes/banette_shiny_palette.pal b/graphics/pokemon/banette/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/banette_shiny_palette.pal rename to graphics/pokemon/banette/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/barboach_front_pic.png b/graphics/pokemon/barboach/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/barboach_front_pic.png rename to graphics/pokemon/barboach/anim_front.png diff --git a/graphics/pokemon/back_pics/barboach_back_pic.png b/graphics/pokemon/barboach/back.png similarity index 100% rename from graphics/pokemon/back_pics/barboach_back_pic.png rename to graphics/pokemon/barboach/back.png diff --git a/graphics/pokemon/footprints/barboach_footprint.png b/graphics/pokemon/barboach/footprint.png similarity index 100% rename from graphics/pokemon/footprints/barboach_footprint.png rename to graphics/pokemon/barboach/footprint.png diff --git a/graphics/pokemon/front_pics/barboach_still_front_pic.png b/graphics/pokemon/barboach/front.png similarity index 100% rename from graphics/pokemon/front_pics/barboach_still_front_pic.png rename to graphics/pokemon/barboach/front.png diff --git a/graphics/pokemon/icons/barboach_icon.png b/graphics/pokemon/barboach/icon.png similarity index 100% rename from graphics/pokemon/icons/barboach_icon.png rename to graphics/pokemon/barboach/icon.png diff --git a/graphics/pokemon/palettes/barboach_palette.pal b/graphics/pokemon/barboach/normal.pal similarity index 100% rename from graphics/pokemon/palettes/barboach_palette.pal rename to graphics/pokemon/barboach/normal.pal diff --git a/graphics/pokemon/palettes/barboach_shiny_palette.pal b/graphics/pokemon/barboach/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/barboach_shiny_palette.pal rename to graphics/pokemon/barboach/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/bayleef_front_pic.png b/graphics/pokemon/bayleef/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/bayleef_front_pic.png rename to graphics/pokemon/bayleef/anim_front.png diff --git a/graphics/pokemon/back_pics/bayleef_back_pic.png b/graphics/pokemon/bayleef/back.png similarity index 100% rename from graphics/pokemon/back_pics/bayleef_back_pic.png rename to graphics/pokemon/bayleef/back.png diff --git a/graphics/pokemon/footprints/bayleef_footprint.png b/graphics/pokemon/bayleef/footprint.png similarity index 100% rename from graphics/pokemon/footprints/bayleef_footprint.png rename to graphics/pokemon/bayleef/footprint.png diff --git a/graphics/pokemon/front_pics/bayleef_still_front_pic.png b/graphics/pokemon/bayleef/front.png similarity index 100% rename from graphics/pokemon/front_pics/bayleef_still_front_pic.png rename to graphics/pokemon/bayleef/front.png diff --git a/graphics/pokemon/icons/bayleef_icon.png b/graphics/pokemon/bayleef/icon.png similarity index 100% rename from graphics/pokemon/icons/bayleef_icon.png rename to graphics/pokemon/bayleef/icon.png diff --git a/graphics/pokemon/palettes/bayleef_palette.pal b/graphics/pokemon/bayleef/normal.pal similarity index 100% rename from graphics/pokemon/palettes/bayleef_palette.pal rename to graphics/pokemon/bayleef/normal.pal diff --git a/graphics/pokemon/palettes/bayleef_shiny_palette.pal b/graphics/pokemon/bayleef/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/bayleef_shiny_palette.pal rename to graphics/pokemon/bayleef/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/beautifly_front_pic.png b/graphics/pokemon/beautifly/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/beautifly_front_pic.png rename to graphics/pokemon/beautifly/anim_front.png diff --git a/graphics/pokemon/back_pics/beautifly_back_pic.png b/graphics/pokemon/beautifly/back.png similarity index 100% rename from graphics/pokemon/back_pics/beautifly_back_pic.png rename to graphics/pokemon/beautifly/back.png diff --git a/graphics/pokemon/footprints/beautifly_footprint.png b/graphics/pokemon/beautifly/footprint.png similarity index 100% rename from graphics/pokemon/footprints/beautifly_footprint.png rename to graphics/pokemon/beautifly/footprint.png diff --git a/graphics/pokemon/front_pics/beautifly_still_front_pic.png b/graphics/pokemon/beautifly/front.png similarity index 100% rename from graphics/pokemon/front_pics/beautifly_still_front_pic.png rename to graphics/pokemon/beautifly/front.png diff --git a/graphics/pokemon/icons/beautifly_icon.png b/graphics/pokemon/beautifly/icon.png similarity index 100% rename from graphics/pokemon/icons/beautifly_icon.png rename to graphics/pokemon/beautifly/icon.png diff --git a/graphics/pokemon/palettes/beautifly_palette.pal b/graphics/pokemon/beautifly/normal.pal similarity index 100% rename from graphics/pokemon/palettes/beautifly_palette.pal rename to graphics/pokemon/beautifly/normal.pal diff --git a/graphics/pokemon/palettes/beautifly_shiny_palette.pal b/graphics/pokemon/beautifly/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/beautifly_shiny_palette.pal rename to graphics/pokemon/beautifly/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/beedrill_front_pic.png b/graphics/pokemon/beedrill/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/beedrill_front_pic.png rename to graphics/pokemon/beedrill/anim_front.png diff --git a/graphics/pokemon/back_pics/beedrill_back_pic.png b/graphics/pokemon/beedrill/back.png similarity index 100% rename from graphics/pokemon/back_pics/beedrill_back_pic.png rename to graphics/pokemon/beedrill/back.png diff --git a/graphics/pokemon/footprints/beedrill_footprint.png b/graphics/pokemon/beedrill/footprint.png similarity index 100% rename from graphics/pokemon/footprints/beedrill_footprint.png rename to graphics/pokemon/beedrill/footprint.png diff --git a/graphics/pokemon/front_pics/beedrill_still_front_pic.png b/graphics/pokemon/beedrill/front.png similarity index 100% rename from graphics/pokemon/front_pics/beedrill_still_front_pic.png rename to graphics/pokemon/beedrill/front.png diff --git a/graphics/pokemon/icons/beedrill_icon.png b/graphics/pokemon/beedrill/icon.png similarity index 100% rename from graphics/pokemon/icons/beedrill_icon.png rename to graphics/pokemon/beedrill/icon.png diff --git a/graphics/pokemon/palettes/beedrill_palette.pal b/graphics/pokemon/beedrill/normal.pal similarity index 100% rename from graphics/pokemon/palettes/beedrill_palette.pal rename to graphics/pokemon/beedrill/normal.pal diff --git a/graphics/pokemon/palettes/beedrill_shiny_palette.pal b/graphics/pokemon/beedrill/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/beedrill_shiny_palette.pal rename to graphics/pokemon/beedrill/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/beldum_front_pic.png b/graphics/pokemon/beldum/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/beldum_front_pic.png rename to graphics/pokemon/beldum/anim_front.png diff --git a/graphics/pokemon/back_pics/beldum_back_pic.png b/graphics/pokemon/beldum/back.png similarity index 100% rename from graphics/pokemon/back_pics/beldum_back_pic.png rename to graphics/pokemon/beldum/back.png diff --git a/graphics/pokemon/footprints/beldum_footprint.png b/graphics/pokemon/beldum/footprint.png similarity index 100% rename from graphics/pokemon/footprints/beldum_footprint.png rename to graphics/pokemon/beldum/footprint.png diff --git a/graphics/pokemon/front_pics/beldum_still_front_pic.png b/graphics/pokemon/beldum/front.png similarity index 100% rename from graphics/pokemon/front_pics/beldum_still_front_pic.png rename to graphics/pokemon/beldum/front.png diff --git a/graphics/pokemon/icons/beldum_icon.png b/graphics/pokemon/beldum/icon.png similarity index 100% rename from graphics/pokemon/icons/beldum_icon.png rename to graphics/pokemon/beldum/icon.png diff --git a/graphics/pokemon/palettes/beldum_palette.pal b/graphics/pokemon/beldum/normal.pal similarity index 100% rename from graphics/pokemon/palettes/beldum_palette.pal rename to graphics/pokemon/beldum/normal.pal diff --git a/graphics/pokemon/palettes/beldum_shiny_palette.pal b/graphics/pokemon/beldum/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/beldum_shiny_palette.pal rename to graphics/pokemon/beldum/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/bellossom_front_pic.png b/graphics/pokemon/bellossom/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/bellossom_front_pic.png rename to graphics/pokemon/bellossom/anim_front.png diff --git a/graphics/pokemon/back_pics/bellossom_back_pic.png b/graphics/pokemon/bellossom/back.png similarity index 100% rename from graphics/pokemon/back_pics/bellossom_back_pic.png rename to graphics/pokemon/bellossom/back.png diff --git a/graphics/pokemon/footprints/bellossom_footprint.png b/graphics/pokemon/bellossom/footprint.png similarity index 100% rename from graphics/pokemon/footprints/bellossom_footprint.png rename to graphics/pokemon/bellossom/footprint.png diff --git a/graphics/pokemon/front_pics/bellossom_still_front_pic.png b/graphics/pokemon/bellossom/front.png similarity index 100% rename from graphics/pokemon/front_pics/bellossom_still_front_pic.png rename to graphics/pokemon/bellossom/front.png diff --git a/graphics/pokemon/icons/bellossom_icon.png b/graphics/pokemon/bellossom/icon.png similarity index 100% rename from graphics/pokemon/icons/bellossom_icon.png rename to graphics/pokemon/bellossom/icon.png diff --git a/graphics/pokemon/palettes/bellossom_palette.pal b/graphics/pokemon/bellossom/normal.pal similarity index 100% rename from graphics/pokemon/palettes/bellossom_palette.pal rename to graphics/pokemon/bellossom/normal.pal diff --git a/graphics/pokemon/palettes/bellossom_shiny_palette.pal b/graphics/pokemon/bellossom/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/bellossom_shiny_palette.pal rename to graphics/pokemon/bellossom/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/bellsprout_front_pic.png b/graphics/pokemon/bellsprout/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/bellsprout_front_pic.png rename to graphics/pokemon/bellsprout/anim_front.png diff --git a/graphics/pokemon/back_pics/bellsprout_back_pic.png b/graphics/pokemon/bellsprout/back.png similarity index 100% rename from graphics/pokemon/back_pics/bellsprout_back_pic.png rename to graphics/pokemon/bellsprout/back.png diff --git a/graphics/pokemon/footprints/bellsprout_footprint.png b/graphics/pokemon/bellsprout/footprint.png similarity index 100% rename from graphics/pokemon/footprints/bellsprout_footprint.png rename to graphics/pokemon/bellsprout/footprint.png diff --git a/graphics/pokemon/front_pics/bellsprout_still_front_pic.png b/graphics/pokemon/bellsprout/front.png similarity index 100% rename from graphics/pokemon/front_pics/bellsprout_still_front_pic.png rename to graphics/pokemon/bellsprout/front.png diff --git a/graphics/pokemon/icons/bellsprout_icon.png b/graphics/pokemon/bellsprout/icon.png similarity index 100% rename from graphics/pokemon/icons/bellsprout_icon.png rename to graphics/pokemon/bellsprout/icon.png diff --git a/graphics/pokemon/palettes/bellsprout_palette.pal b/graphics/pokemon/bellsprout/normal.pal similarity index 100% rename from graphics/pokemon/palettes/bellsprout_palette.pal rename to graphics/pokemon/bellsprout/normal.pal diff --git a/graphics/pokemon/palettes/bellsprout_shiny_palette.pal b/graphics/pokemon/bellsprout/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/bellsprout_shiny_palette.pal rename to graphics/pokemon/bellsprout/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/blastoise_front_pic.png b/graphics/pokemon/blastoise/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/blastoise_front_pic.png rename to graphics/pokemon/blastoise/anim_front.png diff --git a/graphics/pokemon/back_pics/blastoise_back_pic.png b/graphics/pokemon/blastoise/back.png similarity index 100% rename from graphics/pokemon/back_pics/blastoise_back_pic.png rename to graphics/pokemon/blastoise/back.png diff --git a/graphics/pokemon/footprints/blastoise_footprint.png b/graphics/pokemon/blastoise/footprint.png similarity index 100% rename from graphics/pokemon/footprints/blastoise_footprint.png rename to graphics/pokemon/blastoise/footprint.png diff --git a/graphics/pokemon/front_pics/blastoise_still_front_pic.png b/graphics/pokemon/blastoise/front.png similarity index 100% rename from graphics/pokemon/front_pics/blastoise_still_front_pic.png rename to graphics/pokemon/blastoise/front.png diff --git a/graphics/pokemon/icons/blastoise_icon.png b/graphics/pokemon/blastoise/icon.png similarity index 100% rename from graphics/pokemon/icons/blastoise_icon.png rename to graphics/pokemon/blastoise/icon.png diff --git a/graphics/pokemon/palettes/blastoise_palette.pal b/graphics/pokemon/blastoise/normal.pal similarity index 100% rename from graphics/pokemon/palettes/blastoise_palette.pal rename to graphics/pokemon/blastoise/normal.pal diff --git a/graphics/pokemon/palettes/blastoise_shiny_palette.pal b/graphics/pokemon/blastoise/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/blastoise_shiny_palette.pal rename to graphics/pokemon/blastoise/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/blaziken_front_pic.png b/graphics/pokemon/blaziken/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/blaziken_front_pic.png rename to graphics/pokemon/blaziken/anim_front.png diff --git a/graphics/pokemon/back_pics/blaziken_back_pic.png b/graphics/pokemon/blaziken/back.png similarity index 100% rename from graphics/pokemon/back_pics/blaziken_back_pic.png rename to graphics/pokemon/blaziken/back.png diff --git a/graphics/pokemon/footprints/blaziken_footprint.png b/graphics/pokemon/blaziken/footprint.png similarity index 100% rename from graphics/pokemon/footprints/blaziken_footprint.png rename to graphics/pokemon/blaziken/footprint.png diff --git a/graphics/pokemon/front_pics/blaziken_still_front_pic.png b/graphics/pokemon/blaziken/front.png similarity index 100% rename from graphics/pokemon/front_pics/blaziken_still_front_pic.png rename to graphics/pokemon/blaziken/front.png diff --git a/graphics/pokemon/icons/blaziken_icon.png b/graphics/pokemon/blaziken/icon.png similarity index 100% rename from graphics/pokemon/icons/blaziken_icon.png rename to graphics/pokemon/blaziken/icon.png diff --git a/graphics/pokemon/palettes/blaziken_palette.pal b/graphics/pokemon/blaziken/normal.pal similarity index 100% rename from graphics/pokemon/palettes/blaziken_palette.pal rename to graphics/pokemon/blaziken/normal.pal diff --git a/graphics/pokemon/palettes/blaziken_shiny_palette.pal b/graphics/pokemon/blaziken/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/blaziken_shiny_palette.pal rename to graphics/pokemon/blaziken/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/blissey_front_pic.png b/graphics/pokemon/blissey/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/blissey_front_pic.png rename to graphics/pokemon/blissey/anim_front.png diff --git a/graphics/pokemon/back_pics/blissey_back_pic.png b/graphics/pokemon/blissey/back.png similarity index 100% rename from graphics/pokemon/back_pics/blissey_back_pic.png rename to graphics/pokemon/blissey/back.png diff --git a/graphics/pokemon/footprints/blissey_footprint.png b/graphics/pokemon/blissey/footprint.png similarity index 100% rename from graphics/pokemon/footprints/blissey_footprint.png rename to graphics/pokemon/blissey/footprint.png diff --git a/graphics/pokemon/front_pics/blissey_still_front_pic.png b/graphics/pokemon/blissey/front.png similarity index 100% rename from graphics/pokemon/front_pics/blissey_still_front_pic.png rename to graphics/pokemon/blissey/front.png diff --git a/graphics/pokemon/icons/blissey_icon.png b/graphics/pokemon/blissey/icon.png similarity index 100% rename from graphics/pokemon/icons/blissey_icon.png rename to graphics/pokemon/blissey/icon.png diff --git a/graphics/pokemon/palettes/blissey_palette.pal b/graphics/pokemon/blissey/normal.pal similarity index 100% rename from graphics/pokemon/palettes/blissey_palette.pal rename to graphics/pokemon/blissey/normal.pal diff --git a/graphics/pokemon/palettes/blissey_shiny_palette.pal b/graphics/pokemon/blissey/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/blissey_shiny_palette.pal rename to graphics/pokemon/blissey/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/breloom_front_pic.png b/graphics/pokemon/breloom/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/breloom_front_pic.png rename to graphics/pokemon/breloom/anim_front.png diff --git a/graphics/pokemon/back_pics/breloom_back_pic.png b/graphics/pokemon/breloom/back.png similarity index 100% rename from graphics/pokemon/back_pics/breloom_back_pic.png rename to graphics/pokemon/breloom/back.png diff --git a/graphics/pokemon/footprints/breloom_footprint.png b/graphics/pokemon/breloom/footprint.png similarity index 100% rename from graphics/pokemon/footprints/breloom_footprint.png rename to graphics/pokemon/breloom/footprint.png diff --git a/graphics/pokemon/front_pics/breloom_still_front_pic.png b/graphics/pokemon/breloom/front.png similarity index 100% rename from graphics/pokemon/front_pics/breloom_still_front_pic.png rename to graphics/pokemon/breloom/front.png diff --git a/graphics/pokemon/icons/breloom_icon.png b/graphics/pokemon/breloom/icon.png similarity index 100% rename from graphics/pokemon/icons/breloom_icon.png rename to graphics/pokemon/breloom/icon.png diff --git a/graphics/pokemon/palettes/breloom_palette.pal b/graphics/pokemon/breloom/normal.pal similarity index 100% rename from graphics/pokemon/palettes/breloom_palette.pal rename to graphics/pokemon/breloom/normal.pal diff --git a/graphics/pokemon/palettes/breloom_shiny_palette.pal b/graphics/pokemon/breloom/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/breloom_shiny_palette.pal rename to graphics/pokemon/breloom/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/bulbasaur_front_pic.png b/graphics/pokemon/bulbasaur/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/bulbasaur_front_pic.png rename to graphics/pokemon/bulbasaur/anim_front.png diff --git a/graphics/pokemon/back_pics/bulbasaur_back_pic.png b/graphics/pokemon/bulbasaur/back.png similarity index 100% rename from graphics/pokemon/back_pics/bulbasaur_back_pic.png rename to graphics/pokemon/bulbasaur/back.png diff --git a/graphics/pokemon/footprints/bulbasaur_footprint.png b/graphics/pokemon/bulbasaur/footprint.png similarity index 100% rename from graphics/pokemon/footprints/bulbasaur_footprint.png rename to graphics/pokemon/bulbasaur/footprint.png diff --git a/graphics/pokemon/front_pics/bulbasaur_still_front_pic.png b/graphics/pokemon/bulbasaur/front.png similarity index 100% rename from graphics/pokemon/front_pics/bulbasaur_still_front_pic.png rename to graphics/pokemon/bulbasaur/front.png diff --git a/graphics/pokemon/icons/bulbasaur_icon.png b/graphics/pokemon/bulbasaur/icon.png similarity index 100% rename from graphics/pokemon/icons/bulbasaur_icon.png rename to graphics/pokemon/bulbasaur/icon.png diff --git a/graphics/pokemon/palettes/bulbasaur_palette.pal b/graphics/pokemon/bulbasaur/normal.pal similarity index 100% rename from graphics/pokemon/palettes/bulbasaur_palette.pal rename to graphics/pokemon/bulbasaur/normal.pal diff --git a/graphics/pokemon/palettes/bulbasaur_shiny_palette.pal b/graphics/pokemon/bulbasaur/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/bulbasaur_shiny_palette.pal rename to graphics/pokemon/bulbasaur/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/butterfree_front_pic.png b/graphics/pokemon/butterfree/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/butterfree_front_pic.png rename to graphics/pokemon/butterfree/anim_front.png diff --git a/graphics/pokemon/back_pics/butterfree_back_pic.png b/graphics/pokemon/butterfree/back.png similarity index 100% rename from graphics/pokemon/back_pics/butterfree_back_pic.png rename to graphics/pokemon/butterfree/back.png diff --git a/graphics/pokemon/footprints/butterfree_footprint.png b/graphics/pokemon/butterfree/footprint.png similarity index 100% rename from graphics/pokemon/footprints/butterfree_footprint.png rename to graphics/pokemon/butterfree/footprint.png diff --git a/graphics/pokemon/front_pics/butterfree_still_front_pic.png b/graphics/pokemon/butterfree/front.png similarity index 100% rename from graphics/pokemon/front_pics/butterfree_still_front_pic.png rename to graphics/pokemon/butterfree/front.png diff --git a/graphics/pokemon/icons/butterfree_icon.png b/graphics/pokemon/butterfree/icon.png similarity index 100% rename from graphics/pokemon/icons/butterfree_icon.png rename to graphics/pokemon/butterfree/icon.png diff --git a/graphics/pokemon/palettes/butterfree_palette.pal b/graphics/pokemon/butterfree/normal.pal similarity index 100% rename from graphics/pokemon/palettes/butterfree_palette.pal rename to graphics/pokemon/butterfree/normal.pal diff --git a/graphics/pokemon/palettes/butterfree_shiny_palette.pal b/graphics/pokemon/butterfree/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/butterfree_shiny_palette.pal rename to graphics/pokemon/butterfree/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/cacnea_front_pic.png b/graphics/pokemon/cacnea/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/cacnea_front_pic.png rename to graphics/pokemon/cacnea/anim_front.png diff --git a/graphics/pokemon/back_pics/cacnea_back_pic.png b/graphics/pokemon/cacnea/back.png similarity index 100% rename from graphics/pokemon/back_pics/cacnea_back_pic.png rename to graphics/pokemon/cacnea/back.png diff --git a/graphics/pokemon/footprints/cacnea_footprint.png b/graphics/pokemon/cacnea/footprint.png similarity index 100% rename from graphics/pokemon/footprints/cacnea_footprint.png rename to graphics/pokemon/cacnea/footprint.png diff --git a/graphics/pokemon/front_pics/cacnea_still_front_pic.png b/graphics/pokemon/cacnea/front.png similarity index 100% rename from graphics/pokemon/front_pics/cacnea_still_front_pic.png rename to graphics/pokemon/cacnea/front.png diff --git a/graphics/pokemon/icons/cacnea_icon.png b/graphics/pokemon/cacnea/icon.png similarity index 100% rename from graphics/pokemon/icons/cacnea_icon.png rename to graphics/pokemon/cacnea/icon.png diff --git a/graphics/pokemon/palettes/cacnea_palette.pal b/graphics/pokemon/cacnea/normal.pal similarity index 100% rename from graphics/pokemon/palettes/cacnea_palette.pal rename to graphics/pokemon/cacnea/normal.pal diff --git a/graphics/pokemon/palettes/cacnea_shiny_palette.pal b/graphics/pokemon/cacnea/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/cacnea_shiny_palette.pal rename to graphics/pokemon/cacnea/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/cacturne_front_pic.png b/graphics/pokemon/cacturne/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/cacturne_front_pic.png rename to graphics/pokemon/cacturne/anim_front.png diff --git a/graphics/pokemon/back_pics/cacturne_back_pic.png b/graphics/pokemon/cacturne/back.png similarity index 100% rename from graphics/pokemon/back_pics/cacturne_back_pic.png rename to graphics/pokemon/cacturne/back.png diff --git a/graphics/pokemon/footprints/cacturne_footprint.png b/graphics/pokemon/cacturne/footprint.png similarity index 100% rename from graphics/pokemon/footprints/cacturne_footprint.png rename to graphics/pokemon/cacturne/footprint.png diff --git a/graphics/pokemon/front_pics/cacturne_still_front_pic.png b/graphics/pokemon/cacturne/front.png similarity index 100% rename from graphics/pokemon/front_pics/cacturne_still_front_pic.png rename to graphics/pokemon/cacturne/front.png diff --git a/graphics/pokemon/icons/cacturne_icon.png b/graphics/pokemon/cacturne/icon.png similarity index 100% rename from graphics/pokemon/icons/cacturne_icon.png rename to graphics/pokemon/cacturne/icon.png diff --git a/graphics/pokemon/palettes/cacturne_palette.pal b/graphics/pokemon/cacturne/normal.pal similarity index 100% rename from graphics/pokemon/palettes/cacturne_palette.pal rename to graphics/pokemon/cacturne/normal.pal diff --git a/graphics/pokemon/palettes/cacturne_shiny_palette.pal b/graphics/pokemon/cacturne/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/cacturne_shiny_palette.pal rename to graphics/pokemon/cacturne/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/camerupt_front_pic.png b/graphics/pokemon/camerupt/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/camerupt_front_pic.png rename to graphics/pokemon/camerupt/anim_front.png diff --git a/graphics/pokemon/back_pics/camerupt_back_pic.png b/graphics/pokemon/camerupt/back.png similarity index 100% rename from graphics/pokemon/back_pics/camerupt_back_pic.png rename to graphics/pokemon/camerupt/back.png diff --git a/graphics/pokemon/footprints/camerupt_footprint.png b/graphics/pokemon/camerupt/footprint.png similarity index 100% rename from graphics/pokemon/footprints/camerupt_footprint.png rename to graphics/pokemon/camerupt/footprint.png diff --git a/graphics/pokemon/front_pics/camerupt_still_front_pic.png b/graphics/pokemon/camerupt/front.png similarity index 100% rename from graphics/pokemon/front_pics/camerupt_still_front_pic.png rename to graphics/pokemon/camerupt/front.png diff --git a/graphics/pokemon/icons/camerupt_icon.png b/graphics/pokemon/camerupt/icon.png similarity index 100% rename from graphics/pokemon/icons/camerupt_icon.png rename to graphics/pokemon/camerupt/icon.png diff --git a/graphics/pokemon/palettes/camerupt_palette.pal b/graphics/pokemon/camerupt/normal.pal similarity index 100% rename from graphics/pokemon/palettes/camerupt_palette.pal rename to graphics/pokemon/camerupt/normal.pal diff --git a/graphics/pokemon/palettes/camerupt_shiny_palette.pal b/graphics/pokemon/camerupt/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/camerupt_shiny_palette.pal rename to graphics/pokemon/camerupt/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/carvanha_front_pic.png b/graphics/pokemon/carvanha/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/carvanha_front_pic.png rename to graphics/pokemon/carvanha/anim_front.png diff --git a/graphics/pokemon/back_pics/carvanha_back_pic.png b/graphics/pokemon/carvanha/back.png similarity index 100% rename from graphics/pokemon/back_pics/carvanha_back_pic.png rename to graphics/pokemon/carvanha/back.png diff --git a/graphics/pokemon/footprints/carvanha_footprint.png b/graphics/pokemon/carvanha/footprint.png similarity index 100% rename from graphics/pokemon/footprints/carvanha_footprint.png rename to graphics/pokemon/carvanha/footprint.png diff --git a/graphics/pokemon/front_pics/carvanha_still_front_pic.png b/graphics/pokemon/carvanha/front.png similarity index 100% rename from graphics/pokemon/front_pics/carvanha_still_front_pic.png rename to graphics/pokemon/carvanha/front.png diff --git a/graphics/pokemon/icons/carvanha_icon.png b/graphics/pokemon/carvanha/icon.png similarity index 100% rename from graphics/pokemon/icons/carvanha_icon.png rename to graphics/pokemon/carvanha/icon.png diff --git a/graphics/pokemon/palettes/carvanha_palette.pal b/graphics/pokemon/carvanha/normal.pal similarity index 100% rename from graphics/pokemon/palettes/carvanha_palette.pal rename to graphics/pokemon/carvanha/normal.pal diff --git a/graphics/pokemon/palettes/carvanha_shiny_palette.pal b/graphics/pokemon/carvanha/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/carvanha_shiny_palette.pal rename to graphics/pokemon/carvanha/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/cascoon_front_pic.png b/graphics/pokemon/cascoon/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/cascoon_front_pic.png rename to graphics/pokemon/cascoon/anim_front.png diff --git a/graphics/pokemon/back_pics/cascoon_back_pic.png b/graphics/pokemon/cascoon/back.png similarity index 100% rename from graphics/pokemon/back_pics/cascoon_back_pic.png rename to graphics/pokemon/cascoon/back.png diff --git a/graphics/pokemon/footprints/cascoon_footprint.png b/graphics/pokemon/cascoon/footprint.png similarity index 100% rename from graphics/pokemon/footprints/cascoon_footprint.png rename to graphics/pokemon/cascoon/footprint.png diff --git a/graphics/pokemon/front_pics/cascoon_still_front_pic.png b/graphics/pokemon/cascoon/front.png similarity index 100% rename from graphics/pokemon/front_pics/cascoon_still_front_pic.png rename to graphics/pokemon/cascoon/front.png diff --git a/graphics/pokemon/icons/cascoon_icon.png b/graphics/pokemon/cascoon/icon.png similarity index 100% rename from graphics/pokemon/icons/cascoon_icon.png rename to graphics/pokemon/cascoon/icon.png diff --git a/graphics/pokemon/palettes/cascoon_palette.pal b/graphics/pokemon/cascoon/normal.pal similarity index 100% rename from graphics/pokemon/palettes/cascoon_palette.pal rename to graphics/pokemon/cascoon/normal.pal diff --git a/graphics/pokemon/palettes/cascoon_shiny_palette.pal b/graphics/pokemon/cascoon/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/cascoon_shiny_palette.pal rename to graphics/pokemon/cascoon/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/castform_normal_form_front_pic.png b/graphics/pokemon/castform/anim_front_normal_form.png similarity index 100% rename from graphics/pokemon/anim_front_pics/castform_normal_form_front_pic.png rename to graphics/pokemon/castform/anim_front_normal_form.png diff --git a/graphics/pokemon/anim_front_pics/castform_rainy_form_front_pic.png b/graphics/pokemon/castform/anim_front_rainy_form.png similarity index 100% rename from graphics/pokemon/anim_front_pics/castform_rainy_form_front_pic.png rename to graphics/pokemon/castform/anim_front_rainy_form.png diff --git a/graphics/pokemon/anim_front_pics/castform_snowy_form_front_pic.png b/graphics/pokemon/castform/anim_front_snowy_form.png similarity index 100% rename from graphics/pokemon/anim_front_pics/castform_snowy_form_front_pic.png rename to graphics/pokemon/castform/anim_front_snowy_form.png diff --git a/graphics/pokemon/anim_front_pics/castform_sunny_form_front_pic.png b/graphics/pokemon/castform/anim_front_sunny_form.png similarity index 100% rename from graphics/pokemon/anim_front_pics/castform_sunny_form_front_pic.png rename to graphics/pokemon/castform/anim_front_sunny_form.png diff --git a/graphics/pokemon/back_pics/castform_normal_form_back_pic.png b/graphics/pokemon/castform/back_normal_form.png similarity index 100% rename from graphics/pokemon/back_pics/castform_normal_form_back_pic.png rename to graphics/pokemon/castform/back_normal_form.png diff --git a/graphics/pokemon/back_pics/castform_rainy_form_back_pic.png b/graphics/pokemon/castform/back_rainy_form.png similarity index 100% rename from graphics/pokemon/back_pics/castform_rainy_form_back_pic.png rename to graphics/pokemon/castform/back_rainy_form.png diff --git a/graphics/pokemon/back_pics/castform_snowy_form_back_pic.png b/graphics/pokemon/castform/back_snowy_form.png similarity index 100% rename from graphics/pokemon/back_pics/castform_snowy_form_back_pic.png rename to graphics/pokemon/castform/back_snowy_form.png diff --git a/graphics/pokemon/back_pics/castform_sunny_form_back_pic.png b/graphics/pokemon/castform/back_sunny_form.png similarity index 100% rename from graphics/pokemon/back_pics/castform_sunny_form_back_pic.png rename to graphics/pokemon/castform/back_sunny_form.png diff --git a/graphics/pokemon/footprints/castform_footprint.png b/graphics/pokemon/castform/footprint.png similarity index 100% rename from graphics/pokemon/footprints/castform_footprint.png rename to graphics/pokemon/castform/footprint.png diff --git a/graphics/pokemon/front_pics/castform_normal_form_still_front_pic.png b/graphics/pokemon/castform/front_normal_form.png similarity index 100% rename from graphics/pokemon/front_pics/castform_normal_form_still_front_pic.png rename to graphics/pokemon/castform/front_normal_form.png diff --git a/graphics/pokemon/front_pics/castform_rainy_form_still_front_pic.png b/graphics/pokemon/castform/front_rainy_form.png similarity index 100% rename from graphics/pokemon/front_pics/castform_rainy_form_still_front_pic.png rename to graphics/pokemon/castform/front_rainy_form.png diff --git a/graphics/pokemon/front_pics/castform_snowy_form_still_front_pic.png b/graphics/pokemon/castform/front_snowy_form.png similarity index 100% rename from graphics/pokemon/front_pics/castform_snowy_form_still_front_pic.png rename to graphics/pokemon/castform/front_snowy_form.png diff --git a/graphics/pokemon/front_pics/castform_sunny_form_still_front_pic.png b/graphics/pokemon/castform/front_sunny_form.png similarity index 100% rename from graphics/pokemon/front_pics/castform_sunny_form_still_front_pic.png rename to graphics/pokemon/castform/front_sunny_form.png diff --git a/graphics/pokemon/icons/castform_icon.png b/graphics/pokemon/castform/icon.png similarity index 100% rename from graphics/pokemon/icons/castform_icon.png rename to graphics/pokemon/castform/icon.png diff --git a/graphics/pokemon/palettes/castform_normal_form_palette.pal b/graphics/pokemon/castform/normal_normal_form.pal similarity index 100% rename from graphics/pokemon/palettes/castform_normal_form_palette.pal rename to graphics/pokemon/castform/normal_normal_form.pal diff --git a/graphics/pokemon/palettes/castform_rainy_form_palette.pal b/graphics/pokemon/castform/normal_rainy_form.pal similarity index 100% rename from graphics/pokemon/palettes/castform_rainy_form_palette.pal rename to graphics/pokemon/castform/normal_rainy_form.pal diff --git a/graphics/pokemon/palettes/castform_snowy_form_palette.pal b/graphics/pokemon/castform/normal_snowy_form.pal similarity index 100% rename from graphics/pokemon/palettes/castform_snowy_form_palette.pal rename to graphics/pokemon/castform/normal_snowy_form.pal diff --git a/graphics/pokemon/palettes/castform_sunny_form_palette.pal b/graphics/pokemon/castform/normal_sunny_form.pal similarity index 100% rename from graphics/pokemon/palettes/castform_sunny_form_palette.pal rename to graphics/pokemon/castform/normal_sunny_form.pal diff --git a/graphics/pokemon/palettes/castform_normal_form_shiny_palette.pal b/graphics/pokemon/castform/shiny_normal_form.pal similarity index 100% rename from graphics/pokemon/palettes/castform_normal_form_shiny_palette.pal rename to graphics/pokemon/castform/shiny_normal_form.pal diff --git a/graphics/pokemon/palettes/castform_rainy_form_shiny_palette.pal b/graphics/pokemon/castform/shiny_rainy_form.pal similarity index 100% rename from graphics/pokemon/palettes/castform_rainy_form_shiny_palette.pal rename to graphics/pokemon/castform/shiny_rainy_form.pal diff --git a/graphics/pokemon/palettes/castform_snowy_form_shiny_palette.pal b/graphics/pokemon/castform/shiny_snowy_form.pal similarity index 100% rename from graphics/pokemon/palettes/castform_snowy_form_shiny_palette.pal rename to graphics/pokemon/castform/shiny_snowy_form.pal diff --git a/graphics/pokemon/palettes/castform_sunny_form_shiny_palette.pal b/graphics/pokemon/castform/shiny_sunny_form.pal similarity index 100% rename from graphics/pokemon/palettes/castform_sunny_form_shiny_palette.pal rename to graphics/pokemon/castform/shiny_sunny_form.pal diff --git a/graphics/pokemon/anim_front_pics/caterpie_front_pic.png b/graphics/pokemon/caterpie/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/caterpie_front_pic.png rename to graphics/pokemon/caterpie/anim_front.png diff --git a/graphics/pokemon/back_pics/caterpie_back_pic.png b/graphics/pokemon/caterpie/back.png similarity index 100% rename from graphics/pokemon/back_pics/caterpie_back_pic.png rename to graphics/pokemon/caterpie/back.png diff --git a/graphics/pokemon/footprints/caterpie_footprint.png b/graphics/pokemon/caterpie/footprint.png similarity index 100% rename from graphics/pokemon/footprints/caterpie_footprint.png rename to graphics/pokemon/caterpie/footprint.png diff --git a/graphics/pokemon/front_pics/caterpie_still_front_pic.png b/graphics/pokemon/caterpie/front.png similarity index 100% rename from graphics/pokemon/front_pics/caterpie_still_front_pic.png rename to graphics/pokemon/caterpie/front.png diff --git a/graphics/pokemon/icons/caterpie_icon.png b/graphics/pokemon/caterpie/icon.png similarity index 100% rename from graphics/pokemon/icons/caterpie_icon.png rename to graphics/pokemon/caterpie/icon.png diff --git a/graphics/pokemon/palettes/caterpie_palette.pal b/graphics/pokemon/caterpie/normal.pal similarity index 100% rename from graphics/pokemon/palettes/caterpie_palette.pal rename to graphics/pokemon/caterpie/normal.pal diff --git a/graphics/pokemon/palettes/caterpie_shiny_palette.pal b/graphics/pokemon/caterpie/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/caterpie_shiny_palette.pal rename to graphics/pokemon/caterpie/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/celebi_front_pic.png b/graphics/pokemon/celebi/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/celebi_front_pic.png rename to graphics/pokemon/celebi/anim_front.png diff --git a/graphics/pokemon/back_pics/celebi_back_pic.png b/graphics/pokemon/celebi/back.png similarity index 100% rename from graphics/pokemon/back_pics/celebi_back_pic.png rename to graphics/pokemon/celebi/back.png diff --git a/graphics/pokemon/footprints/celebi_footprint.png b/graphics/pokemon/celebi/footprint.png similarity index 100% rename from graphics/pokemon/footprints/celebi_footprint.png rename to graphics/pokemon/celebi/footprint.png diff --git a/graphics/pokemon/front_pics/celebi_still_front_pic.png b/graphics/pokemon/celebi/front.png similarity index 100% rename from graphics/pokemon/front_pics/celebi_still_front_pic.png rename to graphics/pokemon/celebi/front.png diff --git a/graphics/pokemon/icons/celebi_icon.png b/graphics/pokemon/celebi/icon.png similarity index 100% rename from graphics/pokemon/icons/celebi_icon.png rename to graphics/pokemon/celebi/icon.png diff --git a/graphics/pokemon/palettes/celebi_palette.pal b/graphics/pokemon/celebi/normal.pal similarity index 100% rename from graphics/pokemon/palettes/celebi_palette.pal rename to graphics/pokemon/celebi/normal.pal diff --git a/graphics/pokemon/palettes/celebi_shiny_palette.pal b/graphics/pokemon/celebi/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/celebi_shiny_palette.pal rename to graphics/pokemon/celebi/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/chansey_front_pic.png b/graphics/pokemon/chansey/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/chansey_front_pic.png rename to graphics/pokemon/chansey/anim_front.png diff --git a/graphics/pokemon/back_pics/chansey_back_pic.png b/graphics/pokemon/chansey/back.png similarity index 100% rename from graphics/pokemon/back_pics/chansey_back_pic.png rename to graphics/pokemon/chansey/back.png diff --git a/graphics/pokemon/footprints/chansey_footprint.png b/graphics/pokemon/chansey/footprint.png similarity index 100% rename from graphics/pokemon/footprints/chansey_footprint.png rename to graphics/pokemon/chansey/footprint.png diff --git a/graphics/pokemon/front_pics/chansey_still_front_pic.png b/graphics/pokemon/chansey/front.png similarity index 100% rename from graphics/pokemon/front_pics/chansey_still_front_pic.png rename to graphics/pokemon/chansey/front.png diff --git a/graphics/pokemon/icons/chansey_icon.png b/graphics/pokemon/chansey/icon.png similarity index 100% rename from graphics/pokemon/icons/chansey_icon.png rename to graphics/pokemon/chansey/icon.png diff --git a/graphics/pokemon/palettes/chansey_palette.pal b/graphics/pokemon/chansey/normal.pal similarity index 100% rename from graphics/pokemon/palettes/chansey_palette.pal rename to graphics/pokemon/chansey/normal.pal diff --git a/graphics/pokemon/palettes/chansey_shiny_palette.pal b/graphics/pokemon/chansey/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/chansey_shiny_palette.pal rename to graphics/pokemon/chansey/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/charizard_front_pic.png b/graphics/pokemon/charizard/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/charizard_front_pic.png rename to graphics/pokemon/charizard/anim_front.png diff --git a/graphics/pokemon/back_pics/charizard_back_pic.png b/graphics/pokemon/charizard/back.png similarity index 100% rename from graphics/pokemon/back_pics/charizard_back_pic.png rename to graphics/pokemon/charizard/back.png diff --git a/graphics/pokemon/footprints/charizard_footprint.png b/graphics/pokemon/charizard/footprint.png similarity index 100% rename from graphics/pokemon/footprints/charizard_footprint.png rename to graphics/pokemon/charizard/footprint.png diff --git a/graphics/pokemon/front_pics/charizard_still_front_pic.png b/graphics/pokemon/charizard/front.png similarity index 100% rename from graphics/pokemon/front_pics/charizard_still_front_pic.png rename to graphics/pokemon/charizard/front.png diff --git a/graphics/pokemon/icons/charizard_icon.png b/graphics/pokemon/charizard/icon.png similarity index 100% rename from graphics/pokemon/icons/charizard_icon.png rename to graphics/pokemon/charizard/icon.png diff --git a/graphics/pokemon/palettes/charizard_palette.pal b/graphics/pokemon/charizard/normal.pal similarity index 100% rename from graphics/pokemon/palettes/charizard_palette.pal rename to graphics/pokemon/charizard/normal.pal diff --git a/graphics/pokemon/palettes/charizard_shiny_palette.pal b/graphics/pokemon/charizard/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/charizard_shiny_palette.pal rename to graphics/pokemon/charizard/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/charmander_front_pic.png b/graphics/pokemon/charmander/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/charmander_front_pic.png rename to graphics/pokemon/charmander/anim_front.png diff --git a/graphics/pokemon/back_pics/charmander_back_pic.png b/graphics/pokemon/charmander/back.png similarity index 100% rename from graphics/pokemon/back_pics/charmander_back_pic.png rename to graphics/pokemon/charmander/back.png diff --git a/graphics/pokemon/footprints/charmander_footprint.png b/graphics/pokemon/charmander/footprint.png similarity index 100% rename from graphics/pokemon/footprints/charmander_footprint.png rename to graphics/pokemon/charmander/footprint.png diff --git a/graphics/pokemon/front_pics/charmander_still_front_pic.png b/graphics/pokemon/charmander/front.png similarity index 100% rename from graphics/pokemon/front_pics/charmander_still_front_pic.png rename to graphics/pokemon/charmander/front.png diff --git a/graphics/pokemon/icons/charmander_icon.png b/graphics/pokemon/charmander/icon.png similarity index 100% rename from graphics/pokemon/icons/charmander_icon.png rename to graphics/pokemon/charmander/icon.png diff --git a/graphics/pokemon/palettes/charmander_palette.pal b/graphics/pokemon/charmander/normal.pal similarity index 100% rename from graphics/pokemon/palettes/charmander_palette.pal rename to graphics/pokemon/charmander/normal.pal diff --git a/graphics/pokemon/palettes/charmander_shiny_palette.pal b/graphics/pokemon/charmander/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/charmander_shiny_palette.pal rename to graphics/pokemon/charmander/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/charmeleon_front_pic.png b/graphics/pokemon/charmeleon/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/charmeleon_front_pic.png rename to graphics/pokemon/charmeleon/anim_front.png diff --git a/graphics/pokemon/back_pics/charmeleon_back_pic.png b/graphics/pokemon/charmeleon/back.png similarity index 100% rename from graphics/pokemon/back_pics/charmeleon_back_pic.png rename to graphics/pokemon/charmeleon/back.png diff --git a/graphics/pokemon/footprints/charmeleon_footprint.png b/graphics/pokemon/charmeleon/footprint.png similarity index 100% rename from graphics/pokemon/footprints/charmeleon_footprint.png rename to graphics/pokemon/charmeleon/footprint.png diff --git a/graphics/pokemon/front_pics/charmeleon_still_front_pic.png b/graphics/pokemon/charmeleon/front.png similarity index 100% rename from graphics/pokemon/front_pics/charmeleon_still_front_pic.png rename to graphics/pokemon/charmeleon/front.png diff --git a/graphics/pokemon/icons/charmeleon_icon.png b/graphics/pokemon/charmeleon/icon.png similarity index 100% rename from graphics/pokemon/icons/charmeleon_icon.png rename to graphics/pokemon/charmeleon/icon.png diff --git a/graphics/pokemon/palettes/charmeleon_palette.pal b/graphics/pokemon/charmeleon/normal.pal similarity index 100% rename from graphics/pokemon/palettes/charmeleon_palette.pal rename to graphics/pokemon/charmeleon/normal.pal diff --git a/graphics/pokemon/palettes/charmeleon_shiny_palette.pal b/graphics/pokemon/charmeleon/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/charmeleon_shiny_palette.pal rename to graphics/pokemon/charmeleon/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/chikorita_front_pic.png b/graphics/pokemon/chikorita/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/chikorita_front_pic.png rename to graphics/pokemon/chikorita/anim_front.png diff --git a/graphics/pokemon/back_pics/chikorita_back_pic.png b/graphics/pokemon/chikorita/back.png similarity index 100% rename from graphics/pokemon/back_pics/chikorita_back_pic.png rename to graphics/pokemon/chikorita/back.png diff --git a/graphics/pokemon/footprints/chikorita_footprint.png b/graphics/pokemon/chikorita/footprint.png similarity index 100% rename from graphics/pokemon/footprints/chikorita_footprint.png rename to graphics/pokemon/chikorita/footprint.png diff --git a/graphics/pokemon/front_pics/chikorita_still_front_pic.png b/graphics/pokemon/chikorita/front.png similarity index 100% rename from graphics/pokemon/front_pics/chikorita_still_front_pic.png rename to graphics/pokemon/chikorita/front.png diff --git a/graphics/pokemon/icons/chikorita_icon.png b/graphics/pokemon/chikorita/icon.png similarity index 100% rename from graphics/pokemon/icons/chikorita_icon.png rename to graphics/pokemon/chikorita/icon.png diff --git a/graphics/pokemon/palettes/chikorita_palette.pal b/graphics/pokemon/chikorita/normal.pal similarity index 100% rename from graphics/pokemon/palettes/chikorita_palette.pal rename to graphics/pokemon/chikorita/normal.pal diff --git a/graphics/pokemon/palettes/chikorita_shiny_palette.pal b/graphics/pokemon/chikorita/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/chikorita_shiny_palette.pal rename to graphics/pokemon/chikorita/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/chimecho_front_pic.png b/graphics/pokemon/chimecho/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/chimecho_front_pic.png rename to graphics/pokemon/chimecho/anim_front.png diff --git a/graphics/pokemon/back_pics/chimecho_back_pic.png b/graphics/pokemon/chimecho/back.png similarity index 100% rename from graphics/pokemon/back_pics/chimecho_back_pic.png rename to graphics/pokemon/chimecho/back.png diff --git a/graphics/pokemon/footprints/chimecho_footprint.png b/graphics/pokemon/chimecho/footprint.png similarity index 100% rename from graphics/pokemon/footprints/chimecho_footprint.png rename to graphics/pokemon/chimecho/footprint.png diff --git a/graphics/pokemon/front_pics/chimecho_still_front_pic.png b/graphics/pokemon/chimecho/front.png similarity index 100% rename from graphics/pokemon/front_pics/chimecho_still_front_pic.png rename to graphics/pokemon/chimecho/front.png diff --git a/graphics/pokemon/icons/chimecho_icon.png b/graphics/pokemon/chimecho/icon.png similarity index 100% rename from graphics/pokemon/icons/chimecho_icon.png rename to graphics/pokemon/chimecho/icon.png diff --git a/graphics/pokemon/palettes/chimecho_palette.pal b/graphics/pokemon/chimecho/normal.pal similarity index 100% rename from graphics/pokemon/palettes/chimecho_palette.pal rename to graphics/pokemon/chimecho/normal.pal diff --git a/graphics/pokemon/palettes/chimecho_shiny_palette.pal b/graphics/pokemon/chimecho/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/chimecho_shiny_palette.pal rename to graphics/pokemon/chimecho/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/chinchou_front_pic.png b/graphics/pokemon/chinchou/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/chinchou_front_pic.png rename to graphics/pokemon/chinchou/anim_front.png diff --git a/graphics/pokemon/back_pics/chinchou_back_pic.png b/graphics/pokemon/chinchou/back.png similarity index 100% rename from graphics/pokemon/back_pics/chinchou_back_pic.png rename to graphics/pokemon/chinchou/back.png diff --git a/graphics/pokemon/footprints/chinchou_footprint.png b/graphics/pokemon/chinchou/footprint.png similarity index 100% rename from graphics/pokemon/footprints/chinchou_footprint.png rename to graphics/pokemon/chinchou/footprint.png diff --git a/graphics/pokemon/front_pics/chinchou_still_front_pic.png b/graphics/pokemon/chinchou/front.png similarity index 100% rename from graphics/pokemon/front_pics/chinchou_still_front_pic.png rename to graphics/pokemon/chinchou/front.png diff --git a/graphics/pokemon/icons/chinchou_icon.png b/graphics/pokemon/chinchou/icon.png similarity index 100% rename from graphics/pokemon/icons/chinchou_icon.png rename to graphics/pokemon/chinchou/icon.png diff --git a/graphics/pokemon/palettes/chinchou_palette.pal b/graphics/pokemon/chinchou/normal.pal similarity index 100% rename from graphics/pokemon/palettes/chinchou_palette.pal rename to graphics/pokemon/chinchou/normal.pal diff --git a/graphics/pokemon/palettes/chinchou_shiny_palette.pal b/graphics/pokemon/chinchou/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/chinchou_shiny_palette.pal rename to graphics/pokemon/chinchou/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/circled_question_mark_front_pic.png b/graphics/pokemon/circled_question_mark/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/circled_question_mark_front_pic.png rename to graphics/pokemon/circled_question_mark/anim_front.png diff --git a/graphics/pokemon/back_pics/circled_question_mark_back_pic.png b/graphics/pokemon/circled_question_mark/back.png similarity index 100% rename from graphics/pokemon/back_pics/circled_question_mark_back_pic.png rename to graphics/pokemon/circled_question_mark/back.png diff --git a/graphics/pokemon/front_pics/circled_question_mark_still_front_pic.png b/graphics/pokemon/circled_question_mark/front.png similarity index 100% rename from graphics/pokemon/front_pics/circled_question_mark_still_front_pic.png rename to graphics/pokemon/circled_question_mark/front.png diff --git a/graphics/pokemon/palettes/circled_question_mark_palette.pal b/graphics/pokemon/circled_question_mark/normal.pal similarity index 100% rename from graphics/pokemon/palettes/circled_question_mark_palette.pal rename to graphics/pokemon/circled_question_mark/normal.pal diff --git a/graphics/pokemon/palettes/circled_question_mark_shiny_palette.pal b/graphics/pokemon/circled_question_mark/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/circled_question_mark_shiny_palette.pal rename to graphics/pokemon/circled_question_mark/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/clamperl_front_pic.png b/graphics/pokemon/clamperl/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/clamperl_front_pic.png rename to graphics/pokemon/clamperl/anim_front.png diff --git a/graphics/pokemon/back_pics/clamperl_back_pic.png b/graphics/pokemon/clamperl/back.png similarity index 100% rename from graphics/pokemon/back_pics/clamperl_back_pic.png rename to graphics/pokemon/clamperl/back.png diff --git a/graphics/pokemon/footprints/clamperl_footprint.png b/graphics/pokemon/clamperl/footprint.png similarity index 100% rename from graphics/pokemon/footprints/clamperl_footprint.png rename to graphics/pokemon/clamperl/footprint.png diff --git a/graphics/pokemon/front_pics/clamperl_still_front_pic.png b/graphics/pokemon/clamperl/front.png similarity index 100% rename from graphics/pokemon/front_pics/clamperl_still_front_pic.png rename to graphics/pokemon/clamperl/front.png diff --git a/graphics/pokemon/icons/clamperl_icon.png b/graphics/pokemon/clamperl/icon.png similarity index 100% rename from graphics/pokemon/icons/clamperl_icon.png rename to graphics/pokemon/clamperl/icon.png diff --git a/graphics/pokemon/palettes/clamperl_palette.pal b/graphics/pokemon/clamperl/normal.pal similarity index 100% rename from graphics/pokemon/palettes/clamperl_palette.pal rename to graphics/pokemon/clamperl/normal.pal diff --git a/graphics/pokemon/palettes/clamperl_shiny_palette.pal b/graphics/pokemon/clamperl/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/clamperl_shiny_palette.pal rename to graphics/pokemon/clamperl/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/claydol_front_pic.png b/graphics/pokemon/claydol/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/claydol_front_pic.png rename to graphics/pokemon/claydol/anim_front.png diff --git a/graphics/pokemon/back_pics/claydol_back_pic.png b/graphics/pokemon/claydol/back.png similarity index 100% rename from graphics/pokemon/back_pics/claydol_back_pic.png rename to graphics/pokemon/claydol/back.png diff --git a/graphics/pokemon/footprints/claydol_footprint.png b/graphics/pokemon/claydol/footprint.png similarity index 100% rename from graphics/pokemon/footprints/claydol_footprint.png rename to graphics/pokemon/claydol/footprint.png diff --git a/graphics/pokemon/front_pics/claydol_still_front_pic.png b/graphics/pokemon/claydol/front.png similarity index 100% rename from graphics/pokemon/front_pics/claydol_still_front_pic.png rename to graphics/pokemon/claydol/front.png diff --git a/graphics/pokemon/icons/claydol_icon.png b/graphics/pokemon/claydol/icon.png similarity index 100% rename from graphics/pokemon/icons/claydol_icon.png rename to graphics/pokemon/claydol/icon.png diff --git a/graphics/pokemon/palettes/claydol_palette.pal b/graphics/pokemon/claydol/normal.pal similarity index 100% rename from graphics/pokemon/palettes/claydol_palette.pal rename to graphics/pokemon/claydol/normal.pal diff --git a/graphics/pokemon/palettes/claydol_shiny_palette.pal b/graphics/pokemon/claydol/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/claydol_shiny_palette.pal rename to graphics/pokemon/claydol/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/clefable_front_pic.png b/graphics/pokemon/clefable/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/clefable_front_pic.png rename to graphics/pokemon/clefable/anim_front.png diff --git a/graphics/pokemon/back_pics/clefable_back_pic.png b/graphics/pokemon/clefable/back.png similarity index 100% rename from graphics/pokemon/back_pics/clefable_back_pic.png rename to graphics/pokemon/clefable/back.png diff --git a/graphics/pokemon/footprints/clefable_footprint.png b/graphics/pokemon/clefable/footprint.png similarity index 100% rename from graphics/pokemon/footprints/clefable_footprint.png rename to graphics/pokemon/clefable/footprint.png diff --git a/graphics/pokemon/front_pics/clefable_still_front_pic.png b/graphics/pokemon/clefable/front.png similarity index 100% rename from graphics/pokemon/front_pics/clefable_still_front_pic.png rename to graphics/pokemon/clefable/front.png diff --git a/graphics/pokemon/icons/clefable_icon.png b/graphics/pokemon/clefable/icon.png similarity index 100% rename from graphics/pokemon/icons/clefable_icon.png rename to graphics/pokemon/clefable/icon.png diff --git a/graphics/pokemon/palettes/clefable_palette.pal b/graphics/pokemon/clefable/normal.pal similarity index 100% rename from graphics/pokemon/palettes/clefable_palette.pal rename to graphics/pokemon/clefable/normal.pal diff --git a/graphics/pokemon/palettes/clefable_shiny_palette.pal b/graphics/pokemon/clefable/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/clefable_shiny_palette.pal rename to graphics/pokemon/clefable/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/clefairy_front_pic.png b/graphics/pokemon/clefairy/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/clefairy_front_pic.png rename to graphics/pokemon/clefairy/anim_front.png diff --git a/graphics/pokemon/back_pics/clefairy_back_pic.png b/graphics/pokemon/clefairy/back.png similarity index 100% rename from graphics/pokemon/back_pics/clefairy_back_pic.png rename to graphics/pokemon/clefairy/back.png diff --git a/graphics/pokemon/footprints/clefairy_footprint.png b/graphics/pokemon/clefairy/footprint.png similarity index 100% rename from graphics/pokemon/footprints/clefairy_footprint.png rename to graphics/pokemon/clefairy/footprint.png diff --git a/graphics/pokemon/front_pics/clefairy_still_front_pic.png b/graphics/pokemon/clefairy/front.png similarity index 100% rename from graphics/pokemon/front_pics/clefairy_still_front_pic.png rename to graphics/pokemon/clefairy/front.png diff --git a/graphics/pokemon/icons/clefairy_icon.png b/graphics/pokemon/clefairy/icon.png similarity index 100% rename from graphics/pokemon/icons/clefairy_icon.png rename to graphics/pokemon/clefairy/icon.png diff --git a/graphics/pokemon/palettes/clefairy_palette.pal b/graphics/pokemon/clefairy/normal.pal similarity index 100% rename from graphics/pokemon/palettes/clefairy_palette.pal rename to graphics/pokemon/clefairy/normal.pal diff --git a/graphics/pokemon/palettes/clefairy_shiny_palette.pal b/graphics/pokemon/clefairy/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/clefairy_shiny_palette.pal rename to graphics/pokemon/clefairy/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/cleffa_front_pic.png b/graphics/pokemon/cleffa/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/cleffa_front_pic.png rename to graphics/pokemon/cleffa/anim_front.png diff --git a/graphics/pokemon/back_pics/cleffa_back_pic.png b/graphics/pokemon/cleffa/back.png similarity index 100% rename from graphics/pokemon/back_pics/cleffa_back_pic.png rename to graphics/pokemon/cleffa/back.png diff --git a/graphics/pokemon/footprints/cleffa_footprint.png b/graphics/pokemon/cleffa/footprint.png similarity index 100% rename from graphics/pokemon/footprints/cleffa_footprint.png rename to graphics/pokemon/cleffa/footprint.png diff --git a/graphics/pokemon/front_pics/cleffa_still_front_pic.png b/graphics/pokemon/cleffa/front.png similarity index 100% rename from graphics/pokemon/front_pics/cleffa_still_front_pic.png rename to graphics/pokemon/cleffa/front.png diff --git a/graphics/pokemon/icons/cleffa_icon.png b/graphics/pokemon/cleffa/icon.png similarity index 100% rename from graphics/pokemon/icons/cleffa_icon.png rename to graphics/pokemon/cleffa/icon.png diff --git a/graphics/pokemon/palettes/cleffa_palette.pal b/graphics/pokemon/cleffa/normal.pal similarity index 100% rename from graphics/pokemon/palettes/cleffa_palette.pal rename to graphics/pokemon/cleffa/normal.pal diff --git a/graphics/pokemon/palettes/cleffa_shiny_palette.pal b/graphics/pokemon/cleffa/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/cleffa_shiny_palette.pal rename to graphics/pokemon/cleffa/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/cloyster_front_pic.png b/graphics/pokemon/cloyster/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/cloyster_front_pic.png rename to graphics/pokemon/cloyster/anim_front.png diff --git a/graphics/pokemon/back_pics/cloyster_back_pic.png b/graphics/pokemon/cloyster/back.png similarity index 100% rename from graphics/pokemon/back_pics/cloyster_back_pic.png rename to graphics/pokemon/cloyster/back.png diff --git a/graphics/pokemon/footprints/cloyster_footprint.png b/graphics/pokemon/cloyster/footprint.png similarity index 100% rename from graphics/pokemon/footprints/cloyster_footprint.png rename to graphics/pokemon/cloyster/footprint.png diff --git a/graphics/pokemon/front_pics/cloyster_still_front_pic.png b/graphics/pokemon/cloyster/front.png similarity index 100% rename from graphics/pokemon/front_pics/cloyster_still_front_pic.png rename to graphics/pokemon/cloyster/front.png diff --git a/graphics/pokemon/icons/cloyster_icon.png b/graphics/pokemon/cloyster/icon.png similarity index 100% rename from graphics/pokemon/icons/cloyster_icon.png rename to graphics/pokemon/cloyster/icon.png diff --git a/graphics/pokemon/palettes/cloyster_palette.pal b/graphics/pokemon/cloyster/normal.pal similarity index 100% rename from graphics/pokemon/palettes/cloyster_palette.pal rename to graphics/pokemon/cloyster/normal.pal diff --git a/graphics/pokemon/palettes/cloyster_shiny_palette.pal b/graphics/pokemon/cloyster/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/cloyster_shiny_palette.pal rename to graphics/pokemon/cloyster/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/combusken_front_pic.png b/graphics/pokemon/combusken/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/combusken_front_pic.png rename to graphics/pokemon/combusken/anim_front.png diff --git a/graphics/pokemon/back_pics/combusken_back_pic.png b/graphics/pokemon/combusken/back.png similarity index 100% rename from graphics/pokemon/back_pics/combusken_back_pic.png rename to graphics/pokemon/combusken/back.png diff --git a/graphics/pokemon/footprints/combusken_footprint.png b/graphics/pokemon/combusken/footprint.png similarity index 100% rename from graphics/pokemon/footprints/combusken_footprint.png rename to graphics/pokemon/combusken/footprint.png diff --git a/graphics/pokemon/front_pics/combusken_still_front_pic.png b/graphics/pokemon/combusken/front.png similarity index 100% rename from graphics/pokemon/front_pics/combusken_still_front_pic.png rename to graphics/pokemon/combusken/front.png diff --git a/graphics/pokemon/icons/combusken_icon.png b/graphics/pokemon/combusken/icon.png similarity index 100% rename from graphics/pokemon/icons/combusken_icon.png rename to graphics/pokemon/combusken/icon.png diff --git a/graphics/pokemon/palettes/combusken_palette.pal b/graphics/pokemon/combusken/normal.pal similarity index 100% rename from graphics/pokemon/palettes/combusken_palette.pal rename to graphics/pokemon/combusken/normal.pal diff --git a/graphics/pokemon/palettes/combusken_shiny_palette.pal b/graphics/pokemon/combusken/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/combusken_shiny_palette.pal rename to graphics/pokemon/combusken/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/corphish_front_pic.png b/graphics/pokemon/corphish/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/corphish_front_pic.png rename to graphics/pokemon/corphish/anim_front.png diff --git a/graphics/pokemon/back_pics/corphish_back_pic.png b/graphics/pokemon/corphish/back.png similarity index 100% rename from graphics/pokemon/back_pics/corphish_back_pic.png rename to graphics/pokemon/corphish/back.png diff --git a/graphics/pokemon/footprints/corphish_footprint.png b/graphics/pokemon/corphish/footprint.png similarity index 100% rename from graphics/pokemon/footprints/corphish_footprint.png rename to graphics/pokemon/corphish/footprint.png diff --git a/graphics/pokemon/front_pics/corphish_still_front_pic.png b/graphics/pokemon/corphish/front.png similarity index 100% rename from graphics/pokemon/front_pics/corphish_still_front_pic.png rename to graphics/pokemon/corphish/front.png diff --git a/graphics/pokemon/icons/corphish_icon.png b/graphics/pokemon/corphish/icon.png similarity index 100% rename from graphics/pokemon/icons/corphish_icon.png rename to graphics/pokemon/corphish/icon.png diff --git a/graphics/pokemon/palettes/corphish_palette.pal b/graphics/pokemon/corphish/normal.pal similarity index 100% rename from graphics/pokemon/palettes/corphish_palette.pal rename to graphics/pokemon/corphish/normal.pal diff --git a/graphics/pokemon/palettes/corphish_shiny_palette.pal b/graphics/pokemon/corphish/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/corphish_shiny_palette.pal rename to graphics/pokemon/corphish/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/corsola_front_pic.png b/graphics/pokemon/corsola/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/corsola_front_pic.png rename to graphics/pokemon/corsola/anim_front.png diff --git a/graphics/pokemon/back_pics/corsola_back_pic.png b/graphics/pokemon/corsola/back.png similarity index 100% rename from graphics/pokemon/back_pics/corsola_back_pic.png rename to graphics/pokemon/corsola/back.png diff --git a/graphics/pokemon/footprints/corsola_footprint.png b/graphics/pokemon/corsola/footprint.png similarity index 100% rename from graphics/pokemon/footprints/corsola_footprint.png rename to graphics/pokemon/corsola/footprint.png diff --git a/graphics/pokemon/front_pics/corsola_still_front_pic.png b/graphics/pokemon/corsola/front.png similarity index 100% rename from graphics/pokemon/front_pics/corsola_still_front_pic.png rename to graphics/pokemon/corsola/front.png diff --git a/graphics/pokemon/icons/corsola_icon.png b/graphics/pokemon/corsola/icon.png similarity index 100% rename from graphics/pokemon/icons/corsola_icon.png rename to graphics/pokemon/corsola/icon.png diff --git a/graphics/pokemon/palettes/corsola_palette.pal b/graphics/pokemon/corsola/normal.pal similarity index 100% rename from graphics/pokemon/palettes/corsola_palette.pal rename to graphics/pokemon/corsola/normal.pal diff --git a/graphics/pokemon/palettes/corsola_shiny_palette.pal b/graphics/pokemon/corsola/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/corsola_shiny_palette.pal rename to graphics/pokemon/corsola/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/cradily_front_pic.png b/graphics/pokemon/cradily/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/cradily_front_pic.png rename to graphics/pokemon/cradily/anim_front.png diff --git a/graphics/pokemon/back_pics/cradily_back_pic.png b/graphics/pokemon/cradily/back.png similarity index 100% rename from graphics/pokemon/back_pics/cradily_back_pic.png rename to graphics/pokemon/cradily/back.png diff --git a/graphics/pokemon/footprints/cradily_footprint.png b/graphics/pokemon/cradily/footprint.png similarity index 100% rename from graphics/pokemon/footprints/cradily_footprint.png rename to graphics/pokemon/cradily/footprint.png diff --git a/graphics/pokemon/front_pics/cradily_still_front_pic.png b/graphics/pokemon/cradily/front.png similarity index 100% rename from graphics/pokemon/front_pics/cradily_still_front_pic.png rename to graphics/pokemon/cradily/front.png diff --git a/graphics/pokemon/icons/cradily_icon.png b/graphics/pokemon/cradily/icon.png similarity index 100% rename from graphics/pokemon/icons/cradily_icon.png rename to graphics/pokemon/cradily/icon.png diff --git a/graphics/pokemon/palettes/cradily_palette.pal b/graphics/pokemon/cradily/normal.pal similarity index 100% rename from graphics/pokemon/palettes/cradily_palette.pal rename to graphics/pokemon/cradily/normal.pal diff --git a/graphics/pokemon/palettes/cradily_shiny_palette.pal b/graphics/pokemon/cradily/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/cradily_shiny_palette.pal rename to graphics/pokemon/cradily/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/crawdaunt_front_pic.png b/graphics/pokemon/crawdaunt/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/crawdaunt_front_pic.png rename to graphics/pokemon/crawdaunt/anim_front.png diff --git a/graphics/pokemon/back_pics/crawdaunt_back_pic.png b/graphics/pokemon/crawdaunt/back.png similarity index 100% rename from graphics/pokemon/back_pics/crawdaunt_back_pic.png rename to graphics/pokemon/crawdaunt/back.png diff --git a/graphics/pokemon/footprints/crawdaunt_footprint.png b/graphics/pokemon/crawdaunt/footprint.png similarity index 100% rename from graphics/pokemon/footprints/crawdaunt_footprint.png rename to graphics/pokemon/crawdaunt/footprint.png diff --git a/graphics/pokemon/front_pics/crawdaunt_still_front_pic.png b/graphics/pokemon/crawdaunt/front.png similarity index 100% rename from graphics/pokemon/front_pics/crawdaunt_still_front_pic.png rename to graphics/pokemon/crawdaunt/front.png diff --git a/graphics/pokemon/icons/crawdaunt_icon.png b/graphics/pokemon/crawdaunt/icon.png similarity index 100% rename from graphics/pokemon/icons/crawdaunt_icon.png rename to graphics/pokemon/crawdaunt/icon.png diff --git a/graphics/pokemon/palettes/crawdaunt_palette.pal b/graphics/pokemon/crawdaunt/normal.pal similarity index 100% rename from graphics/pokemon/palettes/crawdaunt_palette.pal rename to graphics/pokemon/crawdaunt/normal.pal diff --git a/graphics/pokemon/palettes/crawdaunt_shiny_palette.pal b/graphics/pokemon/crawdaunt/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/crawdaunt_shiny_palette.pal rename to graphics/pokemon/crawdaunt/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/crobat_front_pic.png b/graphics/pokemon/crobat/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/crobat_front_pic.png rename to graphics/pokemon/crobat/anim_front.png diff --git a/graphics/pokemon/back_pics/crobat_back_pic.png b/graphics/pokemon/crobat/back.png similarity index 100% rename from graphics/pokemon/back_pics/crobat_back_pic.png rename to graphics/pokemon/crobat/back.png diff --git a/graphics/pokemon/footprints/crobat_footprint.png b/graphics/pokemon/crobat/footprint.png similarity index 100% rename from graphics/pokemon/footprints/crobat_footprint.png rename to graphics/pokemon/crobat/footprint.png diff --git a/graphics/pokemon/front_pics/crobat_still_front_pic.png b/graphics/pokemon/crobat/front.png similarity index 100% rename from graphics/pokemon/front_pics/crobat_still_front_pic.png rename to graphics/pokemon/crobat/front.png diff --git a/graphics/pokemon/icons/crobat_icon.png b/graphics/pokemon/crobat/icon.png similarity index 100% rename from graphics/pokemon/icons/crobat_icon.png rename to graphics/pokemon/crobat/icon.png diff --git a/graphics/pokemon/palettes/crobat_palette.pal b/graphics/pokemon/crobat/normal.pal similarity index 100% rename from graphics/pokemon/palettes/crobat_palette.pal rename to graphics/pokemon/crobat/normal.pal diff --git a/graphics/pokemon/palettes/crobat_shiny_palette.pal b/graphics/pokemon/crobat/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/crobat_shiny_palette.pal rename to graphics/pokemon/crobat/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/croconaw_front_pic.png b/graphics/pokemon/croconaw/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/croconaw_front_pic.png rename to graphics/pokemon/croconaw/anim_front.png diff --git a/graphics/pokemon/back_pics/croconaw_back_pic.png b/graphics/pokemon/croconaw/back.png similarity index 100% rename from graphics/pokemon/back_pics/croconaw_back_pic.png rename to graphics/pokemon/croconaw/back.png diff --git a/graphics/pokemon/footprints/croconaw_footprint.png b/graphics/pokemon/croconaw/footprint.png similarity index 100% rename from graphics/pokemon/footprints/croconaw_footprint.png rename to graphics/pokemon/croconaw/footprint.png diff --git a/graphics/pokemon/front_pics/croconaw_still_front_pic.png b/graphics/pokemon/croconaw/front.png similarity index 100% rename from graphics/pokemon/front_pics/croconaw_still_front_pic.png rename to graphics/pokemon/croconaw/front.png diff --git a/graphics/pokemon/icons/croconaw_icon.png b/graphics/pokemon/croconaw/icon.png similarity index 100% rename from graphics/pokemon/icons/croconaw_icon.png rename to graphics/pokemon/croconaw/icon.png diff --git a/graphics/pokemon/palettes/croconaw_palette.pal b/graphics/pokemon/croconaw/normal.pal similarity index 100% rename from graphics/pokemon/palettes/croconaw_palette.pal rename to graphics/pokemon/croconaw/normal.pal diff --git a/graphics/pokemon/palettes/croconaw_shiny_palette.pal b/graphics/pokemon/croconaw/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/croconaw_shiny_palette.pal rename to graphics/pokemon/croconaw/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/cubone_front_pic.png b/graphics/pokemon/cubone/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/cubone_front_pic.png rename to graphics/pokemon/cubone/anim_front.png diff --git a/graphics/pokemon/back_pics/cubone_back_pic.png b/graphics/pokemon/cubone/back.png similarity index 100% rename from graphics/pokemon/back_pics/cubone_back_pic.png rename to graphics/pokemon/cubone/back.png diff --git a/graphics/pokemon/footprints/cubone_footprint.png b/graphics/pokemon/cubone/footprint.png similarity index 100% rename from graphics/pokemon/footprints/cubone_footprint.png rename to graphics/pokemon/cubone/footprint.png diff --git a/graphics/pokemon/front_pics/cubone_still_front_pic.png b/graphics/pokemon/cubone/front.png similarity index 100% rename from graphics/pokemon/front_pics/cubone_still_front_pic.png rename to graphics/pokemon/cubone/front.png diff --git a/graphics/pokemon/icons/cubone_icon.png b/graphics/pokemon/cubone/icon.png similarity index 100% rename from graphics/pokemon/icons/cubone_icon.png rename to graphics/pokemon/cubone/icon.png diff --git a/graphics/pokemon/palettes/cubone_palette.pal b/graphics/pokemon/cubone/normal.pal similarity index 100% rename from graphics/pokemon/palettes/cubone_palette.pal rename to graphics/pokemon/cubone/normal.pal diff --git a/graphics/pokemon/palettes/cubone_shiny_palette.pal b/graphics/pokemon/cubone/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/cubone_shiny_palette.pal rename to graphics/pokemon/cubone/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/cyndaquil_front_pic.png b/graphics/pokemon/cyndaquil/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/cyndaquil_front_pic.png rename to graphics/pokemon/cyndaquil/anim_front.png diff --git a/graphics/pokemon/back_pics/cyndaquil_back_pic.png b/graphics/pokemon/cyndaquil/back.png similarity index 100% rename from graphics/pokemon/back_pics/cyndaquil_back_pic.png rename to graphics/pokemon/cyndaquil/back.png diff --git a/graphics/pokemon/footprints/cyndaquil_footprint.png b/graphics/pokemon/cyndaquil/footprint.png similarity index 100% rename from graphics/pokemon/footprints/cyndaquil_footprint.png rename to graphics/pokemon/cyndaquil/footprint.png diff --git a/graphics/pokemon/front_pics/cyndaquil_still_front_pic.png b/graphics/pokemon/cyndaquil/front.png similarity index 100% rename from graphics/pokemon/front_pics/cyndaquil_still_front_pic.png rename to graphics/pokemon/cyndaquil/front.png diff --git a/graphics/pokemon/icons/cyndaquil_icon.png b/graphics/pokemon/cyndaquil/icon.png similarity index 100% rename from graphics/pokemon/icons/cyndaquil_icon.png rename to graphics/pokemon/cyndaquil/icon.png diff --git a/graphics/pokemon/palettes/cyndaquil_palette.pal b/graphics/pokemon/cyndaquil/normal.pal similarity index 100% rename from graphics/pokemon/palettes/cyndaquil_palette.pal rename to graphics/pokemon/cyndaquil/normal.pal diff --git a/graphics/pokemon/palettes/cyndaquil_shiny_palette.pal b/graphics/pokemon/cyndaquil/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/cyndaquil_shiny_palette.pal rename to graphics/pokemon/cyndaquil/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/delcatty_front_pic.png b/graphics/pokemon/delcatty/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/delcatty_front_pic.png rename to graphics/pokemon/delcatty/anim_front.png diff --git a/graphics/pokemon/back_pics/delcatty_back_pic.png b/graphics/pokemon/delcatty/back.png similarity index 100% rename from graphics/pokemon/back_pics/delcatty_back_pic.png rename to graphics/pokemon/delcatty/back.png diff --git a/graphics/pokemon/footprints/delcatty_footprint.png b/graphics/pokemon/delcatty/footprint.png similarity index 100% rename from graphics/pokemon/footprints/delcatty_footprint.png rename to graphics/pokemon/delcatty/footprint.png diff --git a/graphics/pokemon/front_pics/delcatty_still_front_pic.png b/graphics/pokemon/delcatty/front.png similarity index 100% rename from graphics/pokemon/front_pics/delcatty_still_front_pic.png rename to graphics/pokemon/delcatty/front.png diff --git a/graphics/pokemon/icons/delcatty_icon.png b/graphics/pokemon/delcatty/icon.png similarity index 100% rename from graphics/pokemon/icons/delcatty_icon.png rename to graphics/pokemon/delcatty/icon.png diff --git a/graphics/pokemon/palettes/delcatty_palette.pal b/graphics/pokemon/delcatty/normal.pal similarity index 100% rename from graphics/pokemon/palettes/delcatty_palette.pal rename to graphics/pokemon/delcatty/normal.pal diff --git a/graphics/pokemon/palettes/delcatty_shiny_palette.pal b/graphics/pokemon/delcatty/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/delcatty_shiny_palette.pal rename to graphics/pokemon/delcatty/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/delibird_front_pic.png b/graphics/pokemon/delibird/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/delibird_front_pic.png rename to graphics/pokemon/delibird/anim_front.png diff --git a/graphics/pokemon/back_pics/delibird_back_pic.png b/graphics/pokemon/delibird/back.png similarity index 100% rename from graphics/pokemon/back_pics/delibird_back_pic.png rename to graphics/pokemon/delibird/back.png diff --git a/graphics/pokemon/footprints/delibird_footprint.png b/graphics/pokemon/delibird/footprint.png similarity index 100% rename from graphics/pokemon/footprints/delibird_footprint.png rename to graphics/pokemon/delibird/footprint.png diff --git a/graphics/pokemon/front_pics/delibird_still_front_pic.png b/graphics/pokemon/delibird/front.png similarity index 100% rename from graphics/pokemon/front_pics/delibird_still_front_pic.png rename to graphics/pokemon/delibird/front.png diff --git a/graphics/pokemon/icons/delibird_icon.png b/graphics/pokemon/delibird/icon.png similarity index 100% rename from graphics/pokemon/icons/delibird_icon.png rename to graphics/pokemon/delibird/icon.png diff --git a/graphics/pokemon/palettes/delibird_palette.pal b/graphics/pokemon/delibird/normal.pal similarity index 100% rename from graphics/pokemon/palettes/delibird_palette.pal rename to graphics/pokemon/delibird/normal.pal diff --git a/graphics/pokemon/palettes/delibird_shiny_palette.pal b/graphics/pokemon/delibird/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/delibird_shiny_palette.pal rename to graphics/pokemon/delibird/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/deoxys_front_pic.png b/graphics/pokemon/deoxys/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/deoxys_front_pic.png rename to graphics/pokemon/deoxys/anim_front.png diff --git a/graphics/pokemon/back_pics/deoxys_back_pic.png b/graphics/pokemon/deoxys/back.png similarity index 100% rename from graphics/pokemon/back_pics/deoxys_back_pic.png rename to graphics/pokemon/deoxys/back.png diff --git a/graphics/pokemon/footprints/deoxys_footprint.png b/graphics/pokemon/deoxys/footprint.png similarity index 100% rename from graphics/pokemon/footprints/deoxys_footprint.png rename to graphics/pokemon/deoxys/footprint.png diff --git a/graphics/pokemon/front_pics/deoxys_still_front_pic.png b/graphics/pokemon/deoxys/front.png similarity index 100% rename from graphics/pokemon/front_pics/deoxys_still_front_pic.png rename to graphics/pokemon/deoxys/front.png diff --git a/graphics/pokemon/icons/deoxys_icon.png b/graphics/pokemon/deoxys/icon.png similarity index 100% rename from graphics/pokemon/icons/deoxys_icon.png rename to graphics/pokemon/deoxys/icon.png diff --git a/graphics/pokemon/icons/deoxys_speed_icon.png b/graphics/pokemon/deoxys/icon_speed.png similarity index 100% rename from graphics/pokemon/icons/deoxys_speed_icon.png rename to graphics/pokemon/deoxys/icon_speed.png diff --git a/graphics/pokemon/palettes/deoxys_palette.pal b/graphics/pokemon/deoxys/normal.pal similarity index 100% rename from graphics/pokemon/palettes/deoxys_palette.pal rename to graphics/pokemon/deoxys/normal.pal diff --git a/graphics/pokemon/palettes/deoxys_shiny_palette.pal b/graphics/pokemon/deoxys/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/deoxys_shiny_palette.pal rename to graphics/pokemon/deoxys/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/dewgong_front_pic.png b/graphics/pokemon/dewgong/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/dewgong_front_pic.png rename to graphics/pokemon/dewgong/anim_front.png diff --git a/graphics/pokemon/back_pics/dewgong_back_pic.png b/graphics/pokemon/dewgong/back.png similarity index 100% rename from graphics/pokemon/back_pics/dewgong_back_pic.png rename to graphics/pokemon/dewgong/back.png diff --git a/graphics/pokemon/footprints/dewgong_footprint.png b/graphics/pokemon/dewgong/footprint.png similarity index 100% rename from graphics/pokemon/footprints/dewgong_footprint.png rename to graphics/pokemon/dewgong/footprint.png diff --git a/graphics/pokemon/front_pics/dewgong_still_front_pic.png b/graphics/pokemon/dewgong/front.png similarity index 100% rename from graphics/pokemon/front_pics/dewgong_still_front_pic.png rename to graphics/pokemon/dewgong/front.png diff --git a/graphics/pokemon/icons/dewgong_icon.png b/graphics/pokemon/dewgong/icon.png similarity index 100% rename from graphics/pokemon/icons/dewgong_icon.png rename to graphics/pokemon/dewgong/icon.png diff --git a/graphics/pokemon/palettes/dewgong_palette.pal b/graphics/pokemon/dewgong/normal.pal similarity index 100% rename from graphics/pokemon/palettes/dewgong_palette.pal rename to graphics/pokemon/dewgong/normal.pal diff --git a/graphics/pokemon/palettes/dewgong_shiny_palette.pal b/graphics/pokemon/dewgong/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/dewgong_shiny_palette.pal rename to graphics/pokemon/dewgong/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/diglett_front_pic.png b/graphics/pokemon/diglett/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/diglett_front_pic.png rename to graphics/pokemon/diglett/anim_front.png diff --git a/graphics/pokemon/back_pics/diglett_back_pic.png b/graphics/pokemon/diglett/back.png similarity index 100% rename from graphics/pokemon/back_pics/diglett_back_pic.png rename to graphics/pokemon/diglett/back.png diff --git a/graphics/pokemon/footprints/diglett_footprint.png b/graphics/pokemon/diglett/footprint.png similarity index 100% rename from graphics/pokemon/footprints/diglett_footprint.png rename to graphics/pokemon/diglett/footprint.png diff --git a/graphics/pokemon/front_pics/diglett_still_front_pic.png b/graphics/pokemon/diglett/front.png similarity index 100% rename from graphics/pokemon/front_pics/diglett_still_front_pic.png rename to graphics/pokemon/diglett/front.png diff --git a/graphics/pokemon/icons/diglett_icon.png b/graphics/pokemon/diglett/icon.png similarity index 100% rename from graphics/pokemon/icons/diglett_icon.png rename to graphics/pokemon/diglett/icon.png diff --git a/graphics/pokemon/palettes/diglett_palette.pal b/graphics/pokemon/diglett/normal.pal similarity index 100% rename from graphics/pokemon/palettes/diglett_palette.pal rename to graphics/pokemon/diglett/normal.pal diff --git a/graphics/pokemon/palettes/diglett_shiny_palette.pal b/graphics/pokemon/diglett/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/diglett_shiny_palette.pal rename to graphics/pokemon/diglett/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/ditto_front_pic.png b/graphics/pokemon/ditto/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/ditto_front_pic.png rename to graphics/pokemon/ditto/anim_front.png diff --git a/graphics/pokemon/back_pics/ditto_back_pic.png b/graphics/pokemon/ditto/back.png similarity index 100% rename from graphics/pokemon/back_pics/ditto_back_pic.png rename to graphics/pokemon/ditto/back.png diff --git a/graphics/pokemon/footprints/ditto_footprint.png b/graphics/pokemon/ditto/footprint.png similarity index 100% rename from graphics/pokemon/footprints/ditto_footprint.png rename to graphics/pokemon/ditto/footprint.png diff --git a/graphics/pokemon/front_pics/ditto_still_front_pic.png b/graphics/pokemon/ditto/front.png similarity index 100% rename from graphics/pokemon/front_pics/ditto_still_front_pic.png rename to graphics/pokemon/ditto/front.png diff --git a/graphics/pokemon/icons/ditto_icon.png b/graphics/pokemon/ditto/icon.png similarity index 100% rename from graphics/pokemon/icons/ditto_icon.png rename to graphics/pokemon/ditto/icon.png diff --git a/graphics/pokemon/palettes/ditto_palette.pal b/graphics/pokemon/ditto/normal.pal similarity index 100% rename from graphics/pokemon/palettes/ditto_palette.pal rename to graphics/pokemon/ditto/normal.pal diff --git a/graphics/pokemon/palettes/ditto_shiny_palette.pal b/graphics/pokemon/ditto/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/ditto_shiny_palette.pal rename to graphics/pokemon/ditto/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/dodrio_front_pic.png b/graphics/pokemon/dodrio/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/dodrio_front_pic.png rename to graphics/pokemon/dodrio/anim_front.png diff --git a/graphics/pokemon/back_pics/dodrio_back_pic.png b/graphics/pokemon/dodrio/back.png similarity index 100% rename from graphics/pokemon/back_pics/dodrio_back_pic.png rename to graphics/pokemon/dodrio/back.png diff --git a/graphics/pokemon/footprints/dodrio_footprint.png b/graphics/pokemon/dodrio/footprint.png similarity index 100% rename from graphics/pokemon/footprints/dodrio_footprint.png rename to graphics/pokemon/dodrio/footprint.png diff --git a/graphics/pokemon/front_pics/dodrio_still_front_pic.png b/graphics/pokemon/dodrio/front.png similarity index 100% rename from graphics/pokemon/front_pics/dodrio_still_front_pic.png rename to graphics/pokemon/dodrio/front.png diff --git a/graphics/pokemon/icons/dodrio_icon.png b/graphics/pokemon/dodrio/icon.png similarity index 100% rename from graphics/pokemon/icons/dodrio_icon.png rename to graphics/pokemon/dodrio/icon.png diff --git a/graphics/pokemon/palettes/dodrio_palette.pal b/graphics/pokemon/dodrio/normal.pal similarity index 100% rename from graphics/pokemon/palettes/dodrio_palette.pal rename to graphics/pokemon/dodrio/normal.pal diff --git a/graphics/pokemon/palettes/dodrio_shiny_palette.pal b/graphics/pokemon/dodrio/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/dodrio_shiny_palette.pal rename to graphics/pokemon/dodrio/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/doduo_front_pic.png b/graphics/pokemon/doduo/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/doduo_front_pic.png rename to graphics/pokemon/doduo/anim_front.png diff --git a/graphics/pokemon/back_pics/doduo_back_pic.png b/graphics/pokemon/doduo/back.png similarity index 100% rename from graphics/pokemon/back_pics/doduo_back_pic.png rename to graphics/pokemon/doduo/back.png diff --git a/graphics/pokemon/footprints/doduo_footprint.png b/graphics/pokemon/doduo/footprint.png similarity index 100% rename from graphics/pokemon/footprints/doduo_footprint.png rename to graphics/pokemon/doduo/footprint.png diff --git a/graphics/pokemon/front_pics/doduo_still_front_pic.png b/graphics/pokemon/doduo/front.png similarity index 100% rename from graphics/pokemon/front_pics/doduo_still_front_pic.png rename to graphics/pokemon/doduo/front.png diff --git a/graphics/pokemon/icons/doduo_icon.png b/graphics/pokemon/doduo/icon.png similarity index 100% rename from graphics/pokemon/icons/doduo_icon.png rename to graphics/pokemon/doduo/icon.png diff --git a/graphics/pokemon/palettes/doduo_palette.pal b/graphics/pokemon/doduo/normal.pal similarity index 100% rename from graphics/pokemon/palettes/doduo_palette.pal rename to graphics/pokemon/doduo/normal.pal diff --git a/graphics/pokemon/palettes/doduo_shiny_palette.pal b/graphics/pokemon/doduo/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/doduo_shiny_palette.pal rename to graphics/pokemon/doduo/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/donphan_front_pic.png b/graphics/pokemon/donphan/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/donphan_front_pic.png rename to graphics/pokemon/donphan/anim_front.png diff --git a/graphics/pokemon/back_pics/donphan_back_pic.png b/graphics/pokemon/donphan/back.png similarity index 100% rename from graphics/pokemon/back_pics/donphan_back_pic.png rename to graphics/pokemon/donphan/back.png diff --git a/graphics/pokemon/footprints/donphan_footprint.png b/graphics/pokemon/donphan/footprint.png similarity index 100% rename from graphics/pokemon/footprints/donphan_footprint.png rename to graphics/pokemon/donphan/footprint.png diff --git a/graphics/pokemon/front_pics/donphan_still_front_pic.png b/graphics/pokemon/donphan/front.png similarity index 100% rename from graphics/pokemon/front_pics/donphan_still_front_pic.png rename to graphics/pokemon/donphan/front.png diff --git a/graphics/pokemon/icons/donphan_icon.png b/graphics/pokemon/donphan/icon.png similarity index 100% rename from graphics/pokemon/icons/donphan_icon.png rename to graphics/pokemon/donphan/icon.png diff --git a/graphics/pokemon/palettes/donphan_palette.pal b/graphics/pokemon/donphan/normal.pal similarity index 100% rename from graphics/pokemon/palettes/donphan_palette.pal rename to graphics/pokemon/donphan/normal.pal diff --git a/graphics/pokemon/palettes/donphan_shiny_palette.pal b/graphics/pokemon/donphan/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/donphan_shiny_palette.pal rename to graphics/pokemon/donphan/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/double_question_mark_front_pic.png b/graphics/pokemon/double_question_mark/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/double_question_mark_front_pic.png rename to graphics/pokemon/double_question_mark/anim_front.png diff --git a/graphics/pokemon/back_pics/double_question_mark_back_pic.png b/graphics/pokemon/double_question_mark/back.png similarity index 100% rename from graphics/pokemon/back_pics/double_question_mark_back_pic.png rename to graphics/pokemon/double_question_mark/back.png diff --git a/graphics/pokemon/front_pics/double_question_mark_still_front_pic.png b/graphics/pokemon/double_question_mark/front.png similarity index 100% rename from graphics/pokemon/front_pics/double_question_mark_still_front_pic.png rename to graphics/pokemon/double_question_mark/front.png diff --git a/graphics/pokemon/palettes/double_question_mark_palette.pal b/graphics/pokemon/double_question_mark/normal.pal similarity index 100% rename from graphics/pokemon/palettes/double_question_mark_palette.pal rename to graphics/pokemon/double_question_mark/normal.pal diff --git a/graphics/pokemon/palettes/double_question_mark_shiny_palette.pal b/graphics/pokemon/double_question_mark/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/double_question_mark_shiny_palette.pal rename to graphics/pokemon/double_question_mark/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/dragonair_front_pic.png b/graphics/pokemon/dragonair/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/dragonair_front_pic.png rename to graphics/pokemon/dragonair/anim_front.png diff --git a/graphics/pokemon/back_pics/dragonair_back_pic.png b/graphics/pokemon/dragonair/back.png similarity index 100% rename from graphics/pokemon/back_pics/dragonair_back_pic.png rename to graphics/pokemon/dragonair/back.png diff --git a/graphics/pokemon/footprints/dragonair_footprint.png b/graphics/pokemon/dragonair/footprint.png similarity index 100% rename from graphics/pokemon/footprints/dragonair_footprint.png rename to graphics/pokemon/dragonair/footprint.png diff --git a/graphics/pokemon/front_pics/dragonair_still_front_pic.png b/graphics/pokemon/dragonair/front.png similarity index 100% rename from graphics/pokemon/front_pics/dragonair_still_front_pic.png rename to graphics/pokemon/dragonair/front.png diff --git a/graphics/pokemon/icons/dragonair_icon.png b/graphics/pokemon/dragonair/icon.png similarity index 100% rename from graphics/pokemon/icons/dragonair_icon.png rename to graphics/pokemon/dragonair/icon.png diff --git a/graphics/pokemon/palettes/dragonair_palette.pal b/graphics/pokemon/dragonair/normal.pal similarity index 100% rename from graphics/pokemon/palettes/dragonair_palette.pal rename to graphics/pokemon/dragonair/normal.pal diff --git a/graphics/pokemon/palettes/dragonair_shiny_palette.pal b/graphics/pokemon/dragonair/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/dragonair_shiny_palette.pal rename to graphics/pokemon/dragonair/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/dragonite_front_pic.png b/graphics/pokemon/dragonite/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/dragonite_front_pic.png rename to graphics/pokemon/dragonite/anim_front.png diff --git a/graphics/pokemon/back_pics/dragonite_back_pic.png b/graphics/pokemon/dragonite/back.png similarity index 100% rename from graphics/pokemon/back_pics/dragonite_back_pic.png rename to graphics/pokemon/dragonite/back.png diff --git a/graphics/pokemon/footprints/dragonite_footprint.png b/graphics/pokemon/dragonite/footprint.png similarity index 100% rename from graphics/pokemon/footprints/dragonite_footprint.png rename to graphics/pokemon/dragonite/footprint.png diff --git a/graphics/pokemon/front_pics/dragonite_still_front_pic.png b/graphics/pokemon/dragonite/front.png similarity index 100% rename from graphics/pokemon/front_pics/dragonite_still_front_pic.png rename to graphics/pokemon/dragonite/front.png diff --git a/graphics/pokemon/icons/dragonite_icon.png b/graphics/pokemon/dragonite/icon.png similarity index 100% rename from graphics/pokemon/icons/dragonite_icon.png rename to graphics/pokemon/dragonite/icon.png diff --git a/graphics/pokemon/palettes/dragonite_palette.pal b/graphics/pokemon/dragonite/normal.pal similarity index 100% rename from graphics/pokemon/palettes/dragonite_palette.pal rename to graphics/pokemon/dragonite/normal.pal diff --git a/graphics/pokemon/palettes/dragonite_shiny_palette.pal b/graphics/pokemon/dragonite/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/dragonite_shiny_palette.pal rename to graphics/pokemon/dragonite/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/dratini_front_pic.png b/graphics/pokemon/dratini/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/dratini_front_pic.png rename to graphics/pokemon/dratini/anim_front.png diff --git a/graphics/pokemon/back_pics/dratini_back_pic.png b/graphics/pokemon/dratini/back.png similarity index 100% rename from graphics/pokemon/back_pics/dratini_back_pic.png rename to graphics/pokemon/dratini/back.png diff --git a/graphics/pokemon/footprints/dratini_footprint.png b/graphics/pokemon/dratini/footprint.png similarity index 100% rename from graphics/pokemon/footprints/dratini_footprint.png rename to graphics/pokemon/dratini/footprint.png diff --git a/graphics/pokemon/front_pics/dratini_still_front_pic.png b/graphics/pokemon/dratini/front.png similarity index 100% rename from graphics/pokemon/front_pics/dratini_still_front_pic.png rename to graphics/pokemon/dratini/front.png diff --git a/graphics/pokemon/icons/dratini_icon.png b/graphics/pokemon/dratini/icon.png similarity index 100% rename from graphics/pokemon/icons/dratini_icon.png rename to graphics/pokemon/dratini/icon.png diff --git a/graphics/pokemon/palettes/dratini_palette.pal b/graphics/pokemon/dratini/normal.pal similarity index 100% rename from graphics/pokemon/palettes/dratini_palette.pal rename to graphics/pokemon/dratini/normal.pal diff --git a/graphics/pokemon/palettes/dratini_shiny_palette.pal b/graphics/pokemon/dratini/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/dratini_shiny_palette.pal rename to graphics/pokemon/dratini/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/drowzee_front_pic.png b/graphics/pokemon/drowzee/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/drowzee_front_pic.png rename to graphics/pokemon/drowzee/anim_front.png diff --git a/graphics/pokemon/back_pics/drowzee_back_pic.png b/graphics/pokemon/drowzee/back.png similarity index 100% rename from graphics/pokemon/back_pics/drowzee_back_pic.png rename to graphics/pokemon/drowzee/back.png diff --git a/graphics/pokemon/footprints/drowzee_footprint.png b/graphics/pokemon/drowzee/footprint.png similarity index 100% rename from graphics/pokemon/footprints/drowzee_footprint.png rename to graphics/pokemon/drowzee/footprint.png diff --git a/graphics/pokemon/front_pics/drowzee_still_front_pic.png b/graphics/pokemon/drowzee/front.png similarity index 100% rename from graphics/pokemon/front_pics/drowzee_still_front_pic.png rename to graphics/pokemon/drowzee/front.png diff --git a/graphics/pokemon/icons/drowzee_icon.png b/graphics/pokemon/drowzee/icon.png similarity index 100% rename from graphics/pokemon/icons/drowzee_icon.png rename to graphics/pokemon/drowzee/icon.png diff --git a/graphics/pokemon/palettes/drowzee_palette.pal b/graphics/pokemon/drowzee/normal.pal similarity index 100% rename from graphics/pokemon/palettes/drowzee_palette.pal rename to graphics/pokemon/drowzee/normal.pal diff --git a/graphics/pokemon/palettes/drowzee_shiny_palette.pal b/graphics/pokemon/drowzee/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/drowzee_shiny_palette.pal rename to graphics/pokemon/drowzee/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/dugtrio_front_pic.png b/graphics/pokemon/dugtrio/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/dugtrio_front_pic.png rename to graphics/pokemon/dugtrio/anim_front.png diff --git a/graphics/pokemon/back_pics/dugtrio_back_pic.png b/graphics/pokemon/dugtrio/back.png similarity index 100% rename from graphics/pokemon/back_pics/dugtrio_back_pic.png rename to graphics/pokemon/dugtrio/back.png diff --git a/graphics/pokemon/footprints/dugtrio_footprint.png b/graphics/pokemon/dugtrio/footprint.png similarity index 100% rename from graphics/pokemon/footprints/dugtrio_footprint.png rename to graphics/pokemon/dugtrio/footprint.png diff --git a/graphics/pokemon/front_pics/dugtrio_still_front_pic.png b/graphics/pokemon/dugtrio/front.png similarity index 100% rename from graphics/pokemon/front_pics/dugtrio_still_front_pic.png rename to graphics/pokemon/dugtrio/front.png diff --git a/graphics/pokemon/icons/dugtrio_icon.png b/graphics/pokemon/dugtrio/icon.png similarity index 100% rename from graphics/pokemon/icons/dugtrio_icon.png rename to graphics/pokemon/dugtrio/icon.png diff --git a/graphics/pokemon/palettes/dugtrio_palette.pal b/graphics/pokemon/dugtrio/normal.pal similarity index 100% rename from graphics/pokemon/palettes/dugtrio_palette.pal rename to graphics/pokemon/dugtrio/normal.pal diff --git a/graphics/pokemon/palettes/dugtrio_shiny_palette.pal b/graphics/pokemon/dugtrio/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/dugtrio_shiny_palette.pal rename to graphics/pokemon/dugtrio/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/dunsparce_front_pic.png b/graphics/pokemon/dunsparce/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/dunsparce_front_pic.png rename to graphics/pokemon/dunsparce/anim_front.png diff --git a/graphics/pokemon/back_pics/dunsparce_back_pic.png b/graphics/pokemon/dunsparce/back.png similarity index 100% rename from graphics/pokemon/back_pics/dunsparce_back_pic.png rename to graphics/pokemon/dunsparce/back.png diff --git a/graphics/pokemon/footprints/dunsparce_footprint.png b/graphics/pokemon/dunsparce/footprint.png similarity index 100% rename from graphics/pokemon/footprints/dunsparce_footprint.png rename to graphics/pokemon/dunsparce/footprint.png diff --git a/graphics/pokemon/front_pics/dunsparce_still_front_pic.png b/graphics/pokemon/dunsparce/front.png similarity index 100% rename from graphics/pokemon/front_pics/dunsparce_still_front_pic.png rename to graphics/pokemon/dunsparce/front.png diff --git a/graphics/pokemon/icons/dunsparce_icon.png b/graphics/pokemon/dunsparce/icon.png similarity index 100% rename from graphics/pokemon/icons/dunsparce_icon.png rename to graphics/pokemon/dunsparce/icon.png diff --git a/graphics/pokemon/palettes/dunsparce_palette.pal b/graphics/pokemon/dunsparce/normal.pal similarity index 100% rename from graphics/pokemon/palettes/dunsparce_palette.pal rename to graphics/pokemon/dunsparce/normal.pal diff --git a/graphics/pokemon/palettes/dunsparce_shiny_palette.pal b/graphics/pokemon/dunsparce/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/dunsparce_shiny_palette.pal rename to graphics/pokemon/dunsparce/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/dusclops_front_pic.png b/graphics/pokemon/dusclops/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/dusclops_front_pic.png rename to graphics/pokemon/dusclops/anim_front.png diff --git a/graphics/pokemon/back_pics/dusclops_back_pic.png b/graphics/pokemon/dusclops/back.png similarity index 100% rename from graphics/pokemon/back_pics/dusclops_back_pic.png rename to graphics/pokemon/dusclops/back.png diff --git a/graphics/pokemon/footprints/dusclops_footprint.png b/graphics/pokemon/dusclops/footprint.png similarity index 100% rename from graphics/pokemon/footprints/dusclops_footprint.png rename to graphics/pokemon/dusclops/footprint.png diff --git a/graphics/pokemon/front_pics/dusclops_still_front_pic.png b/graphics/pokemon/dusclops/front.png similarity index 100% rename from graphics/pokemon/front_pics/dusclops_still_front_pic.png rename to graphics/pokemon/dusclops/front.png diff --git a/graphics/pokemon/icons/dusclops_icon.png b/graphics/pokemon/dusclops/icon.png similarity index 100% rename from graphics/pokemon/icons/dusclops_icon.png rename to graphics/pokemon/dusclops/icon.png diff --git a/graphics/pokemon/palettes/dusclops_palette.pal b/graphics/pokemon/dusclops/normal.pal similarity index 100% rename from graphics/pokemon/palettes/dusclops_palette.pal rename to graphics/pokemon/dusclops/normal.pal diff --git a/graphics/pokemon/palettes/dusclops_shiny_palette.pal b/graphics/pokemon/dusclops/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/dusclops_shiny_palette.pal rename to graphics/pokemon/dusclops/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/duskull_front_pic.png b/graphics/pokemon/duskull/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/duskull_front_pic.png rename to graphics/pokemon/duskull/anim_front.png diff --git a/graphics/pokemon/back_pics/duskull_back_pic.png b/graphics/pokemon/duskull/back.png similarity index 100% rename from graphics/pokemon/back_pics/duskull_back_pic.png rename to graphics/pokemon/duskull/back.png diff --git a/graphics/pokemon/footprints/duskull_footprint.png b/graphics/pokemon/duskull/footprint.png similarity index 100% rename from graphics/pokemon/footprints/duskull_footprint.png rename to graphics/pokemon/duskull/footprint.png diff --git a/graphics/pokemon/front_pics/duskull_still_front_pic.png b/graphics/pokemon/duskull/front.png similarity index 100% rename from graphics/pokemon/front_pics/duskull_still_front_pic.png rename to graphics/pokemon/duskull/front.png diff --git a/graphics/pokemon/icons/duskull_icon.png b/graphics/pokemon/duskull/icon.png similarity index 100% rename from graphics/pokemon/icons/duskull_icon.png rename to graphics/pokemon/duskull/icon.png diff --git a/graphics/pokemon/palettes/duskull_palette.pal b/graphics/pokemon/duskull/normal.pal similarity index 100% rename from graphics/pokemon/palettes/duskull_palette.pal rename to graphics/pokemon/duskull/normal.pal diff --git a/graphics/pokemon/palettes/duskull_shiny_palette.pal b/graphics/pokemon/duskull/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/duskull_shiny_palette.pal rename to graphics/pokemon/duskull/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/dustox_front_pic.png b/graphics/pokemon/dustox/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/dustox_front_pic.png rename to graphics/pokemon/dustox/anim_front.png diff --git a/graphics/pokemon/back_pics/dustox_back_pic.png b/graphics/pokemon/dustox/back.png similarity index 100% rename from graphics/pokemon/back_pics/dustox_back_pic.png rename to graphics/pokemon/dustox/back.png diff --git a/graphics/pokemon/footprints/dustox_footprint.png b/graphics/pokemon/dustox/footprint.png similarity index 100% rename from graphics/pokemon/footprints/dustox_footprint.png rename to graphics/pokemon/dustox/footprint.png diff --git a/graphics/pokemon/front_pics/dustox_still_front_pic.png b/graphics/pokemon/dustox/front.png similarity index 100% rename from graphics/pokemon/front_pics/dustox_still_front_pic.png rename to graphics/pokemon/dustox/front.png diff --git a/graphics/pokemon/icons/dustox_icon.png b/graphics/pokemon/dustox/icon.png similarity index 100% rename from graphics/pokemon/icons/dustox_icon.png rename to graphics/pokemon/dustox/icon.png diff --git a/graphics/pokemon/palettes/dustox_palette.pal b/graphics/pokemon/dustox/normal.pal similarity index 100% rename from graphics/pokemon/palettes/dustox_palette.pal rename to graphics/pokemon/dustox/normal.pal diff --git a/graphics/pokemon/palettes/dustox_shiny_palette.pal b/graphics/pokemon/dustox/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/dustox_shiny_palette.pal rename to graphics/pokemon/dustox/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/eevee_front_pic.png b/graphics/pokemon/eevee/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/eevee_front_pic.png rename to graphics/pokemon/eevee/anim_front.png diff --git a/graphics/pokemon/back_pics/eevee_back_pic.png b/graphics/pokemon/eevee/back.png similarity index 100% rename from graphics/pokemon/back_pics/eevee_back_pic.png rename to graphics/pokemon/eevee/back.png diff --git a/graphics/pokemon/footprints/eevee_footprint.png b/graphics/pokemon/eevee/footprint.png similarity index 100% rename from graphics/pokemon/footprints/eevee_footprint.png rename to graphics/pokemon/eevee/footprint.png diff --git a/graphics/pokemon/front_pics/eevee_still_front_pic.png b/graphics/pokemon/eevee/front.png similarity index 100% rename from graphics/pokemon/front_pics/eevee_still_front_pic.png rename to graphics/pokemon/eevee/front.png diff --git a/graphics/pokemon/icons/eevee_icon.png b/graphics/pokemon/eevee/icon.png similarity index 100% rename from graphics/pokemon/icons/eevee_icon.png rename to graphics/pokemon/eevee/icon.png diff --git a/graphics/pokemon/palettes/eevee_palette.pal b/graphics/pokemon/eevee/normal.pal similarity index 100% rename from graphics/pokemon/palettes/eevee_palette.pal rename to graphics/pokemon/eevee/normal.pal diff --git a/graphics/pokemon/palettes/eevee_shiny_palette.pal b/graphics/pokemon/eevee/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/eevee_shiny_palette.pal rename to graphics/pokemon/eevee/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/egg_front_pic.png b/graphics/pokemon/egg/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/egg_front_pic.png rename to graphics/pokemon/egg/anim_front.png diff --git a/graphics/pokemon/front_pics/egg_still_front_pic.png b/graphics/pokemon/egg/front.png similarity index 100% rename from graphics/pokemon/front_pics/egg_still_front_pic.png rename to graphics/pokemon/egg/front.png diff --git a/graphics/pokemon/icons/egg_icon.png b/graphics/pokemon/egg/icon.png similarity index 100% rename from graphics/pokemon/icons/egg_icon.png rename to graphics/pokemon/egg/icon.png diff --git a/graphics/pokemon/palettes/egg_palette.pal b/graphics/pokemon/egg/normal.pal similarity index 100% rename from graphics/pokemon/palettes/egg_palette.pal rename to graphics/pokemon/egg/normal.pal diff --git a/graphics/pokemon/anim_front_pics/ekans_front_pic.png b/graphics/pokemon/ekans/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/ekans_front_pic.png rename to graphics/pokemon/ekans/anim_front.png diff --git a/graphics/pokemon/back_pics/ekans_back_pic.png b/graphics/pokemon/ekans/back.png similarity index 100% rename from graphics/pokemon/back_pics/ekans_back_pic.png rename to graphics/pokemon/ekans/back.png diff --git a/graphics/pokemon/footprints/ekans_footprint.png b/graphics/pokemon/ekans/footprint.png similarity index 100% rename from graphics/pokemon/footprints/ekans_footprint.png rename to graphics/pokemon/ekans/footprint.png diff --git a/graphics/pokemon/front_pics/ekans_still_front_pic.png b/graphics/pokemon/ekans/front.png similarity index 100% rename from graphics/pokemon/front_pics/ekans_still_front_pic.png rename to graphics/pokemon/ekans/front.png diff --git a/graphics/pokemon/icons/ekans_icon.png b/graphics/pokemon/ekans/icon.png similarity index 100% rename from graphics/pokemon/icons/ekans_icon.png rename to graphics/pokemon/ekans/icon.png diff --git a/graphics/pokemon/palettes/ekans_palette.pal b/graphics/pokemon/ekans/normal.pal similarity index 100% rename from graphics/pokemon/palettes/ekans_palette.pal rename to graphics/pokemon/ekans/normal.pal diff --git a/graphics/pokemon/palettes/ekans_shiny_palette.pal b/graphics/pokemon/ekans/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/ekans_shiny_palette.pal rename to graphics/pokemon/ekans/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/electabuzz_front_pic.png b/graphics/pokemon/electabuzz/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/electabuzz_front_pic.png rename to graphics/pokemon/electabuzz/anim_front.png diff --git a/graphics/pokemon/back_pics/electabuzz_back_pic.png b/graphics/pokemon/electabuzz/back.png similarity index 100% rename from graphics/pokemon/back_pics/electabuzz_back_pic.png rename to graphics/pokemon/electabuzz/back.png diff --git a/graphics/pokemon/footprints/electabuzz_footprint.png b/graphics/pokemon/electabuzz/footprint.png similarity index 100% rename from graphics/pokemon/footprints/electabuzz_footprint.png rename to graphics/pokemon/electabuzz/footprint.png diff --git a/graphics/pokemon/front_pics/electabuzz_still_front_pic.png b/graphics/pokemon/electabuzz/front.png similarity index 100% rename from graphics/pokemon/front_pics/electabuzz_still_front_pic.png rename to graphics/pokemon/electabuzz/front.png diff --git a/graphics/pokemon/icons/electabuzz_icon.png b/graphics/pokemon/electabuzz/icon.png similarity index 100% rename from graphics/pokemon/icons/electabuzz_icon.png rename to graphics/pokemon/electabuzz/icon.png diff --git a/graphics/pokemon/palettes/electabuzz_palette.pal b/graphics/pokemon/electabuzz/normal.pal similarity index 100% rename from graphics/pokemon/palettes/electabuzz_palette.pal rename to graphics/pokemon/electabuzz/normal.pal diff --git a/graphics/pokemon/palettes/electabuzz_shiny_palette.pal b/graphics/pokemon/electabuzz/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/electabuzz_shiny_palette.pal rename to graphics/pokemon/electabuzz/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/electrike_front_pic.png b/graphics/pokemon/electrike/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/electrike_front_pic.png rename to graphics/pokemon/electrike/anim_front.png diff --git a/graphics/pokemon/back_pics/electrike_back_pic.png b/graphics/pokemon/electrike/back.png similarity index 100% rename from graphics/pokemon/back_pics/electrike_back_pic.png rename to graphics/pokemon/electrike/back.png diff --git a/graphics/pokemon/footprints/electrike_footprint.png b/graphics/pokemon/electrike/footprint.png similarity index 100% rename from graphics/pokemon/footprints/electrike_footprint.png rename to graphics/pokemon/electrike/footprint.png diff --git a/graphics/pokemon/front_pics/electrike_still_front_pic.png b/graphics/pokemon/electrike/front.png similarity index 100% rename from graphics/pokemon/front_pics/electrike_still_front_pic.png rename to graphics/pokemon/electrike/front.png diff --git a/graphics/pokemon/icons/electrike_icon.png b/graphics/pokemon/electrike/icon.png similarity index 100% rename from graphics/pokemon/icons/electrike_icon.png rename to graphics/pokemon/electrike/icon.png diff --git a/graphics/pokemon/palettes/electrike_palette.pal b/graphics/pokemon/electrike/normal.pal similarity index 100% rename from graphics/pokemon/palettes/electrike_palette.pal rename to graphics/pokemon/electrike/normal.pal diff --git a/graphics/pokemon/palettes/electrike_shiny_palette.pal b/graphics/pokemon/electrike/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/electrike_shiny_palette.pal rename to graphics/pokemon/electrike/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/electrode_front_pic.png b/graphics/pokemon/electrode/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/electrode_front_pic.png rename to graphics/pokemon/electrode/anim_front.png diff --git a/graphics/pokemon/back_pics/electrode_back_pic.png b/graphics/pokemon/electrode/back.png similarity index 100% rename from graphics/pokemon/back_pics/electrode_back_pic.png rename to graphics/pokemon/electrode/back.png diff --git a/graphics/pokemon/footprints/electrode_footprint.png b/graphics/pokemon/electrode/footprint.png similarity index 100% rename from graphics/pokemon/footprints/electrode_footprint.png rename to graphics/pokemon/electrode/footprint.png diff --git a/graphics/pokemon/front_pics/electrode_still_front_pic.png b/graphics/pokemon/electrode/front.png similarity index 100% rename from graphics/pokemon/front_pics/electrode_still_front_pic.png rename to graphics/pokemon/electrode/front.png diff --git a/graphics/pokemon/icons/electrode_icon.png b/graphics/pokemon/electrode/icon.png similarity index 100% rename from graphics/pokemon/icons/electrode_icon.png rename to graphics/pokemon/electrode/icon.png diff --git a/graphics/pokemon/palettes/electrode_palette.pal b/graphics/pokemon/electrode/normal.pal similarity index 100% rename from graphics/pokemon/palettes/electrode_palette.pal rename to graphics/pokemon/electrode/normal.pal diff --git a/graphics/pokemon/palettes/electrode_shiny_palette.pal b/graphics/pokemon/electrode/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/electrode_shiny_palette.pal rename to graphics/pokemon/electrode/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/elekid_front_pic.png b/graphics/pokemon/elekid/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/elekid_front_pic.png rename to graphics/pokemon/elekid/anim_front.png diff --git a/graphics/pokemon/back_pics/elekid_back_pic.png b/graphics/pokemon/elekid/back.png similarity index 100% rename from graphics/pokemon/back_pics/elekid_back_pic.png rename to graphics/pokemon/elekid/back.png diff --git a/graphics/pokemon/footprints/elekid_footprint.png b/graphics/pokemon/elekid/footprint.png similarity index 100% rename from graphics/pokemon/footprints/elekid_footprint.png rename to graphics/pokemon/elekid/footprint.png diff --git a/graphics/pokemon/front_pics/elekid_still_front_pic.png b/graphics/pokemon/elekid/front.png similarity index 100% rename from graphics/pokemon/front_pics/elekid_still_front_pic.png rename to graphics/pokemon/elekid/front.png diff --git a/graphics/pokemon/icons/elekid_icon.png b/graphics/pokemon/elekid/icon.png similarity index 100% rename from graphics/pokemon/icons/elekid_icon.png rename to graphics/pokemon/elekid/icon.png diff --git a/graphics/pokemon/palettes/elekid_palette.pal b/graphics/pokemon/elekid/normal.pal similarity index 100% rename from graphics/pokemon/palettes/elekid_palette.pal rename to graphics/pokemon/elekid/normal.pal diff --git a/graphics/pokemon/palettes/elekid_shiny_palette.pal b/graphics/pokemon/elekid/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/elekid_shiny_palette.pal rename to graphics/pokemon/elekid/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/entei_front_pic.png b/graphics/pokemon/entei/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/entei_front_pic.png rename to graphics/pokemon/entei/anim_front.png diff --git a/graphics/pokemon/back_pics/entei_back_pic.png b/graphics/pokemon/entei/back.png similarity index 100% rename from graphics/pokemon/back_pics/entei_back_pic.png rename to graphics/pokemon/entei/back.png diff --git a/graphics/pokemon/footprints/entei_footprint.png b/graphics/pokemon/entei/footprint.png similarity index 100% rename from graphics/pokemon/footprints/entei_footprint.png rename to graphics/pokemon/entei/footprint.png diff --git a/graphics/pokemon/front_pics/entei_still_front_pic.png b/graphics/pokemon/entei/front.png similarity index 100% rename from graphics/pokemon/front_pics/entei_still_front_pic.png rename to graphics/pokemon/entei/front.png diff --git a/graphics/pokemon/icons/entei_icon.png b/graphics/pokemon/entei/icon.png similarity index 100% rename from graphics/pokemon/icons/entei_icon.png rename to graphics/pokemon/entei/icon.png diff --git a/graphics/pokemon/palettes/entei_palette.pal b/graphics/pokemon/entei/normal.pal similarity index 100% rename from graphics/pokemon/palettes/entei_palette.pal rename to graphics/pokemon/entei/normal.pal diff --git a/graphics/pokemon/palettes/entei_shiny_palette.pal b/graphics/pokemon/entei/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/entei_shiny_palette.pal rename to graphics/pokemon/entei/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/espeon_front_pic.png b/graphics/pokemon/espeon/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/espeon_front_pic.png rename to graphics/pokemon/espeon/anim_front.png diff --git a/graphics/pokemon/back_pics/espeon_back_pic.png b/graphics/pokemon/espeon/back.png similarity index 100% rename from graphics/pokemon/back_pics/espeon_back_pic.png rename to graphics/pokemon/espeon/back.png diff --git a/graphics/pokemon/footprints/espeon_footprint.png b/graphics/pokemon/espeon/footprint.png similarity index 100% rename from graphics/pokemon/footprints/espeon_footprint.png rename to graphics/pokemon/espeon/footprint.png diff --git a/graphics/pokemon/front_pics/espeon_still_front_pic.png b/graphics/pokemon/espeon/front.png similarity index 100% rename from graphics/pokemon/front_pics/espeon_still_front_pic.png rename to graphics/pokemon/espeon/front.png diff --git a/graphics/pokemon/icons/espeon_icon.png b/graphics/pokemon/espeon/icon.png similarity index 100% rename from graphics/pokemon/icons/espeon_icon.png rename to graphics/pokemon/espeon/icon.png diff --git a/graphics/pokemon/palettes/espeon_palette.pal b/graphics/pokemon/espeon/normal.pal similarity index 100% rename from graphics/pokemon/palettes/espeon_palette.pal rename to graphics/pokemon/espeon/normal.pal diff --git a/graphics/pokemon/palettes/espeon_shiny_palette.pal b/graphics/pokemon/espeon/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/espeon_shiny_palette.pal rename to graphics/pokemon/espeon/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/exeggcute_front_pic.png b/graphics/pokemon/exeggcute/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/exeggcute_front_pic.png rename to graphics/pokemon/exeggcute/anim_front.png diff --git a/graphics/pokemon/back_pics/exeggcute_back_pic.png b/graphics/pokemon/exeggcute/back.png similarity index 100% rename from graphics/pokemon/back_pics/exeggcute_back_pic.png rename to graphics/pokemon/exeggcute/back.png diff --git a/graphics/pokemon/footprints/exeggcute_footprint.png b/graphics/pokemon/exeggcute/footprint.png similarity index 100% rename from graphics/pokemon/footprints/exeggcute_footprint.png rename to graphics/pokemon/exeggcute/footprint.png diff --git a/graphics/pokemon/front_pics/exeggcute_still_front_pic.png b/graphics/pokemon/exeggcute/front.png similarity index 100% rename from graphics/pokemon/front_pics/exeggcute_still_front_pic.png rename to graphics/pokemon/exeggcute/front.png diff --git a/graphics/pokemon/icons/exeggcute_icon.png b/graphics/pokemon/exeggcute/icon.png similarity index 100% rename from graphics/pokemon/icons/exeggcute_icon.png rename to graphics/pokemon/exeggcute/icon.png diff --git a/graphics/pokemon/palettes/exeggcute_palette.pal b/graphics/pokemon/exeggcute/normal.pal similarity index 100% rename from graphics/pokemon/palettes/exeggcute_palette.pal rename to graphics/pokemon/exeggcute/normal.pal diff --git a/graphics/pokemon/palettes/exeggcute_shiny_palette.pal b/graphics/pokemon/exeggcute/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/exeggcute_shiny_palette.pal rename to graphics/pokemon/exeggcute/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/exeggutor_front_pic.png b/graphics/pokemon/exeggutor/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/exeggutor_front_pic.png rename to graphics/pokemon/exeggutor/anim_front.png diff --git a/graphics/pokemon/back_pics/exeggutor_back_pic.png b/graphics/pokemon/exeggutor/back.png similarity index 100% rename from graphics/pokemon/back_pics/exeggutor_back_pic.png rename to graphics/pokemon/exeggutor/back.png diff --git a/graphics/pokemon/footprints/exeggutor_footprint.png b/graphics/pokemon/exeggutor/footprint.png similarity index 100% rename from graphics/pokemon/footprints/exeggutor_footprint.png rename to graphics/pokemon/exeggutor/footprint.png diff --git a/graphics/pokemon/front_pics/exeggutor_still_front_pic.png b/graphics/pokemon/exeggutor/front.png similarity index 100% rename from graphics/pokemon/front_pics/exeggutor_still_front_pic.png rename to graphics/pokemon/exeggutor/front.png diff --git a/graphics/pokemon/icons/exeggutor_icon.png b/graphics/pokemon/exeggutor/icon.png similarity index 100% rename from graphics/pokemon/icons/exeggutor_icon.png rename to graphics/pokemon/exeggutor/icon.png diff --git a/graphics/pokemon/palettes/exeggutor_palette.pal b/graphics/pokemon/exeggutor/normal.pal similarity index 100% rename from graphics/pokemon/palettes/exeggutor_palette.pal rename to graphics/pokemon/exeggutor/normal.pal diff --git a/graphics/pokemon/palettes/exeggutor_shiny_palette.pal b/graphics/pokemon/exeggutor/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/exeggutor_shiny_palette.pal rename to graphics/pokemon/exeggutor/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/exploud_front_pic.png b/graphics/pokemon/exploud/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/exploud_front_pic.png rename to graphics/pokemon/exploud/anim_front.png diff --git a/graphics/pokemon/back_pics/exploud_back_pic.png b/graphics/pokemon/exploud/back.png similarity index 100% rename from graphics/pokemon/back_pics/exploud_back_pic.png rename to graphics/pokemon/exploud/back.png diff --git a/graphics/pokemon/footprints/exploud_footprint.png b/graphics/pokemon/exploud/footprint.png similarity index 100% rename from graphics/pokemon/footprints/exploud_footprint.png rename to graphics/pokemon/exploud/footprint.png diff --git a/graphics/pokemon/front_pics/exploud_still_front_pic.png b/graphics/pokemon/exploud/front.png similarity index 100% rename from graphics/pokemon/front_pics/exploud_still_front_pic.png rename to graphics/pokemon/exploud/front.png diff --git a/graphics/pokemon/icons/exploud_icon.png b/graphics/pokemon/exploud/icon.png similarity index 100% rename from graphics/pokemon/icons/exploud_icon.png rename to graphics/pokemon/exploud/icon.png diff --git a/graphics/pokemon/palettes/exploud_palette.pal b/graphics/pokemon/exploud/normal.pal similarity index 100% rename from graphics/pokemon/palettes/exploud_palette.pal rename to graphics/pokemon/exploud/normal.pal diff --git a/graphics/pokemon/palettes/exploud_shiny_palette.pal b/graphics/pokemon/exploud/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/exploud_shiny_palette.pal rename to graphics/pokemon/exploud/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/farfetch_d_front_pic.png b/graphics/pokemon/farfetch_d/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/farfetch_d_front_pic.png rename to graphics/pokemon/farfetch_d/anim_front.png diff --git a/graphics/pokemon/back_pics/farfetch_d_back_pic.png b/graphics/pokemon/farfetch_d/back.png similarity index 100% rename from graphics/pokemon/back_pics/farfetch_d_back_pic.png rename to graphics/pokemon/farfetch_d/back.png diff --git a/graphics/pokemon/footprints/farfetch_d_footprint.png b/graphics/pokemon/farfetch_d/footprint.png similarity index 100% rename from graphics/pokemon/footprints/farfetch_d_footprint.png rename to graphics/pokemon/farfetch_d/footprint.png diff --git a/graphics/pokemon/front_pics/farfetch_d_still_front_pic.png b/graphics/pokemon/farfetch_d/front.png similarity index 100% rename from graphics/pokemon/front_pics/farfetch_d_still_front_pic.png rename to graphics/pokemon/farfetch_d/front.png diff --git a/graphics/pokemon/icons/farfetch_d_icon.png b/graphics/pokemon/farfetch_d/icon.png similarity index 100% rename from graphics/pokemon/icons/farfetch_d_icon.png rename to graphics/pokemon/farfetch_d/icon.png diff --git a/graphics/pokemon/palettes/farfetch_d_palette.pal b/graphics/pokemon/farfetch_d/normal.pal similarity index 100% rename from graphics/pokemon/palettes/farfetch_d_palette.pal rename to graphics/pokemon/farfetch_d/normal.pal diff --git a/graphics/pokemon/palettes/farfetch_d_shiny_palette.pal b/graphics/pokemon/farfetch_d/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/farfetch_d_shiny_palette.pal rename to graphics/pokemon/farfetch_d/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/fearow_front_pic.png b/graphics/pokemon/fearow/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/fearow_front_pic.png rename to graphics/pokemon/fearow/anim_front.png diff --git a/graphics/pokemon/back_pics/fearow_back_pic.png b/graphics/pokemon/fearow/back.png similarity index 100% rename from graphics/pokemon/back_pics/fearow_back_pic.png rename to graphics/pokemon/fearow/back.png diff --git a/graphics/pokemon/footprints/fearow_footprint.png b/graphics/pokemon/fearow/footprint.png similarity index 100% rename from graphics/pokemon/footprints/fearow_footprint.png rename to graphics/pokemon/fearow/footprint.png diff --git a/graphics/pokemon/front_pics/fearow_still_front_pic.png b/graphics/pokemon/fearow/front.png similarity index 100% rename from graphics/pokemon/front_pics/fearow_still_front_pic.png rename to graphics/pokemon/fearow/front.png diff --git a/graphics/pokemon/icons/fearow_icon.png b/graphics/pokemon/fearow/icon.png similarity index 100% rename from graphics/pokemon/icons/fearow_icon.png rename to graphics/pokemon/fearow/icon.png diff --git a/graphics/pokemon/palettes/fearow_palette.pal b/graphics/pokemon/fearow/normal.pal similarity index 100% rename from graphics/pokemon/palettes/fearow_palette.pal rename to graphics/pokemon/fearow/normal.pal diff --git a/graphics/pokemon/palettes/fearow_shiny_palette.pal b/graphics/pokemon/fearow/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/fearow_shiny_palette.pal rename to graphics/pokemon/fearow/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/feebas_front_pic.png b/graphics/pokemon/feebas/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/feebas_front_pic.png rename to graphics/pokemon/feebas/anim_front.png diff --git a/graphics/pokemon/back_pics/feebas_back_pic.png b/graphics/pokemon/feebas/back.png similarity index 100% rename from graphics/pokemon/back_pics/feebas_back_pic.png rename to graphics/pokemon/feebas/back.png diff --git a/graphics/pokemon/footprints/feebas_footprint.png b/graphics/pokemon/feebas/footprint.png similarity index 100% rename from graphics/pokemon/footprints/feebas_footprint.png rename to graphics/pokemon/feebas/footprint.png diff --git a/graphics/pokemon/front_pics/feebas_still_front_pic.png b/graphics/pokemon/feebas/front.png similarity index 100% rename from graphics/pokemon/front_pics/feebas_still_front_pic.png rename to graphics/pokemon/feebas/front.png diff --git a/graphics/pokemon/icons/feebas_icon.png b/graphics/pokemon/feebas/icon.png similarity index 100% rename from graphics/pokemon/icons/feebas_icon.png rename to graphics/pokemon/feebas/icon.png diff --git a/graphics/pokemon/palettes/feebas_palette.pal b/graphics/pokemon/feebas/normal.pal similarity index 100% rename from graphics/pokemon/palettes/feebas_palette.pal rename to graphics/pokemon/feebas/normal.pal diff --git a/graphics/pokemon/palettes/feebas_shiny_palette.pal b/graphics/pokemon/feebas/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/feebas_shiny_palette.pal rename to graphics/pokemon/feebas/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/feraligatr_front_pic.png b/graphics/pokemon/feraligatr/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/feraligatr_front_pic.png rename to graphics/pokemon/feraligatr/anim_front.png diff --git a/graphics/pokemon/back_pics/feraligatr_back_pic.png b/graphics/pokemon/feraligatr/back.png similarity index 100% rename from graphics/pokemon/back_pics/feraligatr_back_pic.png rename to graphics/pokemon/feraligatr/back.png diff --git a/graphics/pokemon/footprints/feraligatr_footprint.png b/graphics/pokemon/feraligatr/footprint.png similarity index 100% rename from graphics/pokemon/footprints/feraligatr_footprint.png rename to graphics/pokemon/feraligatr/footprint.png diff --git a/graphics/pokemon/front_pics/feraligatr_still_front_pic.png b/graphics/pokemon/feraligatr/front.png similarity index 100% rename from graphics/pokemon/front_pics/feraligatr_still_front_pic.png rename to graphics/pokemon/feraligatr/front.png diff --git a/graphics/pokemon/icons/feraligatr_icon.png b/graphics/pokemon/feraligatr/icon.png similarity index 100% rename from graphics/pokemon/icons/feraligatr_icon.png rename to graphics/pokemon/feraligatr/icon.png diff --git a/graphics/pokemon/palettes/feraligatr_palette.pal b/graphics/pokemon/feraligatr/normal.pal similarity index 100% rename from graphics/pokemon/palettes/feraligatr_palette.pal rename to graphics/pokemon/feraligatr/normal.pal diff --git a/graphics/pokemon/palettes/feraligatr_shiny_palette.pal b/graphics/pokemon/feraligatr/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/feraligatr_shiny_palette.pal rename to graphics/pokemon/feraligatr/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/flaaffy_front_pic.png b/graphics/pokemon/flaaffy/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/flaaffy_front_pic.png rename to graphics/pokemon/flaaffy/anim_front.png diff --git a/graphics/pokemon/back_pics/flaaffy_back_pic.png b/graphics/pokemon/flaaffy/back.png similarity index 100% rename from graphics/pokemon/back_pics/flaaffy_back_pic.png rename to graphics/pokemon/flaaffy/back.png diff --git a/graphics/pokemon/footprints/flaaffy_footprint.png b/graphics/pokemon/flaaffy/footprint.png similarity index 100% rename from graphics/pokemon/footprints/flaaffy_footprint.png rename to graphics/pokemon/flaaffy/footprint.png diff --git a/graphics/pokemon/front_pics/flaaffy_still_front_pic.png b/graphics/pokemon/flaaffy/front.png similarity index 100% rename from graphics/pokemon/front_pics/flaaffy_still_front_pic.png rename to graphics/pokemon/flaaffy/front.png diff --git a/graphics/pokemon/icons/flaaffy_icon.png b/graphics/pokemon/flaaffy/icon.png similarity index 100% rename from graphics/pokemon/icons/flaaffy_icon.png rename to graphics/pokemon/flaaffy/icon.png diff --git a/graphics/pokemon/palettes/flaaffy_palette.pal b/graphics/pokemon/flaaffy/normal.pal similarity index 100% rename from graphics/pokemon/palettes/flaaffy_palette.pal rename to graphics/pokemon/flaaffy/normal.pal diff --git a/graphics/pokemon/palettes/flaaffy_shiny_palette.pal b/graphics/pokemon/flaaffy/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/flaaffy_shiny_palette.pal rename to graphics/pokemon/flaaffy/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/flareon_front_pic.png b/graphics/pokemon/flareon/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/flareon_front_pic.png rename to graphics/pokemon/flareon/anim_front.png diff --git a/graphics/pokemon/back_pics/flareon_back_pic.png b/graphics/pokemon/flareon/back.png similarity index 100% rename from graphics/pokemon/back_pics/flareon_back_pic.png rename to graphics/pokemon/flareon/back.png diff --git a/graphics/pokemon/footprints/flareon_footprint.png b/graphics/pokemon/flareon/footprint.png similarity index 100% rename from graphics/pokemon/footprints/flareon_footprint.png rename to graphics/pokemon/flareon/footprint.png diff --git a/graphics/pokemon/front_pics/flareon_still_front_pic.png b/graphics/pokemon/flareon/front.png similarity index 100% rename from graphics/pokemon/front_pics/flareon_still_front_pic.png rename to graphics/pokemon/flareon/front.png diff --git a/graphics/pokemon/icons/flareon_icon.png b/graphics/pokemon/flareon/icon.png similarity index 100% rename from graphics/pokemon/icons/flareon_icon.png rename to graphics/pokemon/flareon/icon.png diff --git a/graphics/pokemon/palettes/flareon_palette.pal b/graphics/pokemon/flareon/normal.pal similarity index 100% rename from graphics/pokemon/palettes/flareon_palette.pal rename to graphics/pokemon/flareon/normal.pal diff --git a/graphics/pokemon/palettes/flareon_shiny_palette.pal b/graphics/pokemon/flareon/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/flareon_shiny_palette.pal rename to graphics/pokemon/flareon/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/flygon_front_pic.png b/graphics/pokemon/flygon/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/flygon_front_pic.png rename to graphics/pokemon/flygon/anim_front.png diff --git a/graphics/pokemon/back_pics/flygon_back_pic.png b/graphics/pokemon/flygon/back.png similarity index 100% rename from graphics/pokemon/back_pics/flygon_back_pic.png rename to graphics/pokemon/flygon/back.png diff --git a/graphics/pokemon/footprints/flygon_footprint.png b/graphics/pokemon/flygon/footprint.png similarity index 100% rename from graphics/pokemon/footprints/flygon_footprint.png rename to graphics/pokemon/flygon/footprint.png diff --git a/graphics/pokemon/front_pics/flygon_still_front_pic.png b/graphics/pokemon/flygon/front.png similarity index 100% rename from graphics/pokemon/front_pics/flygon_still_front_pic.png rename to graphics/pokemon/flygon/front.png diff --git a/graphics/pokemon/icons/flygon_icon.png b/graphics/pokemon/flygon/icon.png similarity index 100% rename from graphics/pokemon/icons/flygon_icon.png rename to graphics/pokemon/flygon/icon.png diff --git a/graphics/pokemon/palettes/flygon_palette.pal b/graphics/pokemon/flygon/normal.pal similarity index 100% rename from graphics/pokemon/palettes/flygon_palette.pal rename to graphics/pokemon/flygon/normal.pal diff --git a/graphics/pokemon/palettes/flygon_shiny_palette.pal b/graphics/pokemon/flygon/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/flygon_shiny_palette.pal rename to graphics/pokemon/flygon/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/forretress_front_pic.png b/graphics/pokemon/forretress/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/forretress_front_pic.png rename to graphics/pokemon/forretress/anim_front.png diff --git a/graphics/pokemon/back_pics/forretress_back_pic.png b/graphics/pokemon/forretress/back.png similarity index 100% rename from graphics/pokemon/back_pics/forretress_back_pic.png rename to graphics/pokemon/forretress/back.png diff --git a/graphics/pokemon/footprints/forretress_footprint.png b/graphics/pokemon/forretress/footprint.png similarity index 100% rename from graphics/pokemon/footprints/forretress_footprint.png rename to graphics/pokemon/forretress/footprint.png diff --git a/graphics/pokemon/front_pics/forretress_still_front_pic.png b/graphics/pokemon/forretress/front.png similarity index 100% rename from graphics/pokemon/front_pics/forretress_still_front_pic.png rename to graphics/pokemon/forretress/front.png diff --git a/graphics/pokemon/icons/forretress_icon.png b/graphics/pokemon/forretress/icon.png similarity index 100% rename from graphics/pokemon/icons/forretress_icon.png rename to graphics/pokemon/forretress/icon.png diff --git a/graphics/pokemon/palettes/forretress_palette.pal b/graphics/pokemon/forretress/normal.pal similarity index 100% rename from graphics/pokemon/palettes/forretress_palette.pal rename to graphics/pokemon/forretress/normal.pal diff --git a/graphics/pokemon/palettes/forretress_shiny_palette.pal b/graphics/pokemon/forretress/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/forretress_shiny_palette.pal rename to graphics/pokemon/forretress/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/furret_front_pic.png b/graphics/pokemon/furret/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/furret_front_pic.png rename to graphics/pokemon/furret/anim_front.png diff --git a/graphics/pokemon/back_pics/furret_back_pic.png b/graphics/pokemon/furret/back.png similarity index 100% rename from graphics/pokemon/back_pics/furret_back_pic.png rename to graphics/pokemon/furret/back.png diff --git a/graphics/pokemon/footprints/furret_footprint.png b/graphics/pokemon/furret/footprint.png similarity index 100% rename from graphics/pokemon/footprints/furret_footprint.png rename to graphics/pokemon/furret/footprint.png diff --git a/graphics/pokemon/front_pics/furret_still_front_pic.png b/graphics/pokemon/furret/front.png similarity index 100% rename from graphics/pokemon/front_pics/furret_still_front_pic.png rename to graphics/pokemon/furret/front.png diff --git a/graphics/pokemon/icons/furret_icon.png b/graphics/pokemon/furret/icon.png similarity index 100% rename from graphics/pokemon/icons/furret_icon.png rename to graphics/pokemon/furret/icon.png diff --git a/graphics/pokemon/palettes/furret_palette.pal b/graphics/pokemon/furret/normal.pal similarity index 100% rename from graphics/pokemon/palettes/furret_palette.pal rename to graphics/pokemon/furret/normal.pal diff --git a/graphics/pokemon/palettes/furret_shiny_palette.pal b/graphics/pokemon/furret/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/furret_shiny_palette.pal rename to graphics/pokemon/furret/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/gardevoir_front_pic.png b/graphics/pokemon/gardevoir/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/gardevoir_front_pic.png rename to graphics/pokemon/gardevoir/anim_front.png diff --git a/graphics/pokemon/back_pics/gardevoir_back_pic.png b/graphics/pokemon/gardevoir/back.png similarity index 100% rename from graphics/pokemon/back_pics/gardevoir_back_pic.png rename to graphics/pokemon/gardevoir/back.png diff --git a/graphics/pokemon/footprints/gardevoir_footprint.png b/graphics/pokemon/gardevoir/footprint.png similarity index 100% rename from graphics/pokemon/footprints/gardevoir_footprint.png rename to graphics/pokemon/gardevoir/footprint.png diff --git a/graphics/pokemon/front_pics/gardevoir_still_front_pic.png b/graphics/pokemon/gardevoir/front.png similarity index 100% rename from graphics/pokemon/front_pics/gardevoir_still_front_pic.png rename to graphics/pokemon/gardevoir/front.png diff --git a/graphics/pokemon/icons/gardevoir_icon.png b/graphics/pokemon/gardevoir/icon.png similarity index 100% rename from graphics/pokemon/icons/gardevoir_icon.png rename to graphics/pokemon/gardevoir/icon.png diff --git a/graphics/pokemon/palettes/gardevoir_palette.pal b/graphics/pokemon/gardevoir/normal.pal similarity index 100% rename from graphics/pokemon/palettes/gardevoir_palette.pal rename to graphics/pokemon/gardevoir/normal.pal diff --git a/graphics/pokemon/palettes/gardevoir_shiny_palette.pal b/graphics/pokemon/gardevoir/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/gardevoir_shiny_palette.pal rename to graphics/pokemon/gardevoir/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/gastly_front_pic.png b/graphics/pokemon/gastly/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/gastly_front_pic.png rename to graphics/pokemon/gastly/anim_front.png diff --git a/graphics/pokemon/back_pics/gastly_back_pic.png b/graphics/pokemon/gastly/back.png similarity index 100% rename from graphics/pokemon/back_pics/gastly_back_pic.png rename to graphics/pokemon/gastly/back.png diff --git a/graphics/pokemon/footprints/gastly_footprint.png b/graphics/pokemon/gastly/footprint.png similarity index 100% rename from graphics/pokemon/footprints/gastly_footprint.png rename to graphics/pokemon/gastly/footprint.png diff --git a/graphics/pokemon/front_pics/gastly_still_front_pic.png b/graphics/pokemon/gastly/front.png similarity index 100% rename from graphics/pokemon/front_pics/gastly_still_front_pic.png rename to graphics/pokemon/gastly/front.png diff --git a/graphics/pokemon/icons/gastly_icon.png b/graphics/pokemon/gastly/icon.png similarity index 100% rename from graphics/pokemon/icons/gastly_icon.png rename to graphics/pokemon/gastly/icon.png diff --git a/graphics/pokemon/palettes/gastly_palette.pal b/graphics/pokemon/gastly/normal.pal similarity index 100% rename from graphics/pokemon/palettes/gastly_palette.pal rename to graphics/pokemon/gastly/normal.pal diff --git a/graphics/pokemon/palettes/gastly_shiny_palette.pal b/graphics/pokemon/gastly/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/gastly_shiny_palette.pal rename to graphics/pokemon/gastly/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/gengar_front_pic.png b/graphics/pokemon/gengar/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/gengar_front_pic.png rename to graphics/pokemon/gengar/anim_front.png diff --git a/graphics/pokemon/back_pics/gengar_back_pic.png b/graphics/pokemon/gengar/back.png similarity index 100% rename from graphics/pokemon/back_pics/gengar_back_pic.png rename to graphics/pokemon/gengar/back.png diff --git a/graphics/pokemon/footprints/gengar_footprint.png b/graphics/pokemon/gengar/footprint.png similarity index 100% rename from graphics/pokemon/footprints/gengar_footprint.png rename to graphics/pokemon/gengar/footprint.png diff --git a/graphics/pokemon/front_pics/gengar_still_front_pic.png b/graphics/pokemon/gengar/front.png similarity index 100% rename from graphics/pokemon/front_pics/gengar_still_front_pic.png rename to graphics/pokemon/gengar/front.png diff --git a/graphics/pokemon/icons/gengar_icon.png b/graphics/pokemon/gengar/icon.png similarity index 100% rename from graphics/pokemon/icons/gengar_icon.png rename to graphics/pokemon/gengar/icon.png diff --git a/graphics/pokemon/palettes/gengar_palette.pal b/graphics/pokemon/gengar/normal.pal similarity index 100% rename from graphics/pokemon/palettes/gengar_palette.pal rename to graphics/pokemon/gengar/normal.pal diff --git a/graphics/pokemon/palettes/gengar_shiny_palette.pal b/graphics/pokemon/gengar/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/gengar_shiny_palette.pal rename to graphics/pokemon/gengar/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/geodude_front_pic.png b/graphics/pokemon/geodude/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/geodude_front_pic.png rename to graphics/pokemon/geodude/anim_front.png diff --git a/graphics/pokemon/back_pics/geodude_back_pic.png b/graphics/pokemon/geodude/back.png similarity index 100% rename from graphics/pokemon/back_pics/geodude_back_pic.png rename to graphics/pokemon/geodude/back.png diff --git a/graphics/pokemon/footprints/geodude_footprint.png b/graphics/pokemon/geodude/footprint.png similarity index 100% rename from graphics/pokemon/footprints/geodude_footprint.png rename to graphics/pokemon/geodude/footprint.png diff --git a/graphics/pokemon/front_pics/geodude_still_front_pic.png b/graphics/pokemon/geodude/front.png similarity index 100% rename from graphics/pokemon/front_pics/geodude_still_front_pic.png rename to graphics/pokemon/geodude/front.png diff --git a/graphics/pokemon/icons/geodude_icon.png b/graphics/pokemon/geodude/icon.png similarity index 100% rename from graphics/pokemon/icons/geodude_icon.png rename to graphics/pokemon/geodude/icon.png diff --git a/graphics/pokemon/palettes/geodude_palette.pal b/graphics/pokemon/geodude/normal.pal similarity index 100% rename from graphics/pokemon/palettes/geodude_palette.pal rename to graphics/pokemon/geodude/normal.pal diff --git a/graphics/pokemon/palettes/geodude_shiny_palette.pal b/graphics/pokemon/geodude/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/geodude_shiny_palette.pal rename to graphics/pokemon/geodude/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/girafarig_front_pic.png b/graphics/pokemon/girafarig/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/girafarig_front_pic.png rename to graphics/pokemon/girafarig/anim_front.png diff --git a/graphics/pokemon/back_pics/girafarig_back_pic.png b/graphics/pokemon/girafarig/back.png similarity index 100% rename from graphics/pokemon/back_pics/girafarig_back_pic.png rename to graphics/pokemon/girafarig/back.png diff --git a/graphics/pokemon/footprints/girafarig_footprint.png b/graphics/pokemon/girafarig/footprint.png similarity index 100% rename from graphics/pokemon/footprints/girafarig_footprint.png rename to graphics/pokemon/girafarig/footprint.png diff --git a/graphics/pokemon/front_pics/girafarig_still_front_pic.png b/graphics/pokemon/girafarig/front.png similarity index 100% rename from graphics/pokemon/front_pics/girafarig_still_front_pic.png rename to graphics/pokemon/girafarig/front.png diff --git a/graphics/pokemon/icons/girafarig_icon.png b/graphics/pokemon/girafarig/icon.png similarity index 100% rename from graphics/pokemon/icons/girafarig_icon.png rename to graphics/pokemon/girafarig/icon.png diff --git a/graphics/pokemon/palettes/girafarig_palette.pal b/graphics/pokemon/girafarig/normal.pal similarity index 100% rename from graphics/pokemon/palettes/girafarig_palette.pal rename to graphics/pokemon/girafarig/normal.pal diff --git a/graphics/pokemon/palettes/girafarig_shiny_palette.pal b/graphics/pokemon/girafarig/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/girafarig_shiny_palette.pal rename to graphics/pokemon/girafarig/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/glalie_front_pic.png b/graphics/pokemon/glalie/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/glalie_front_pic.png rename to graphics/pokemon/glalie/anim_front.png diff --git a/graphics/pokemon/back_pics/glalie_back_pic.png b/graphics/pokemon/glalie/back.png similarity index 100% rename from graphics/pokemon/back_pics/glalie_back_pic.png rename to graphics/pokemon/glalie/back.png diff --git a/graphics/pokemon/footprints/glalie_footprint.png b/graphics/pokemon/glalie/footprint.png similarity index 100% rename from graphics/pokemon/footprints/glalie_footprint.png rename to graphics/pokemon/glalie/footprint.png diff --git a/graphics/pokemon/front_pics/glalie_still_front_pic.png b/graphics/pokemon/glalie/front.png similarity index 100% rename from graphics/pokemon/front_pics/glalie_still_front_pic.png rename to graphics/pokemon/glalie/front.png diff --git a/graphics/pokemon/icons/glalie_icon.png b/graphics/pokemon/glalie/icon.png similarity index 100% rename from graphics/pokemon/icons/glalie_icon.png rename to graphics/pokemon/glalie/icon.png diff --git a/graphics/pokemon/palettes/glalie_palette.pal b/graphics/pokemon/glalie/normal.pal similarity index 100% rename from graphics/pokemon/palettes/glalie_palette.pal rename to graphics/pokemon/glalie/normal.pal diff --git a/graphics/pokemon/palettes/glalie_shiny_palette.pal b/graphics/pokemon/glalie/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/glalie_shiny_palette.pal rename to graphics/pokemon/glalie/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/gligar_front_pic.png b/graphics/pokemon/gligar/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/gligar_front_pic.png rename to graphics/pokemon/gligar/anim_front.png diff --git a/graphics/pokemon/back_pics/gligar_back_pic.png b/graphics/pokemon/gligar/back.png similarity index 100% rename from graphics/pokemon/back_pics/gligar_back_pic.png rename to graphics/pokemon/gligar/back.png diff --git a/graphics/pokemon/footprints/gligar_footprint.png b/graphics/pokemon/gligar/footprint.png similarity index 100% rename from graphics/pokemon/footprints/gligar_footprint.png rename to graphics/pokemon/gligar/footprint.png diff --git a/graphics/pokemon/front_pics/gligar_still_front_pic.png b/graphics/pokemon/gligar/front.png similarity index 100% rename from graphics/pokemon/front_pics/gligar_still_front_pic.png rename to graphics/pokemon/gligar/front.png diff --git a/graphics/pokemon/icons/gligar_icon.png b/graphics/pokemon/gligar/icon.png similarity index 100% rename from graphics/pokemon/icons/gligar_icon.png rename to graphics/pokemon/gligar/icon.png diff --git a/graphics/pokemon/palettes/gligar_palette.pal b/graphics/pokemon/gligar/normal.pal similarity index 100% rename from graphics/pokemon/palettes/gligar_palette.pal rename to graphics/pokemon/gligar/normal.pal diff --git a/graphics/pokemon/palettes/gligar_shiny_palette.pal b/graphics/pokemon/gligar/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/gligar_shiny_palette.pal rename to graphics/pokemon/gligar/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/gloom_front_pic.png b/graphics/pokemon/gloom/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/gloom_front_pic.png rename to graphics/pokemon/gloom/anim_front.png diff --git a/graphics/pokemon/back_pics/gloom_back_pic.png b/graphics/pokemon/gloom/back.png similarity index 100% rename from graphics/pokemon/back_pics/gloom_back_pic.png rename to graphics/pokemon/gloom/back.png diff --git a/graphics/pokemon/footprints/gloom_footprint.png b/graphics/pokemon/gloom/footprint.png similarity index 100% rename from graphics/pokemon/footprints/gloom_footprint.png rename to graphics/pokemon/gloom/footprint.png diff --git a/graphics/pokemon/front_pics/gloom_still_front_pic.png b/graphics/pokemon/gloom/front.png similarity index 100% rename from graphics/pokemon/front_pics/gloom_still_front_pic.png rename to graphics/pokemon/gloom/front.png diff --git a/graphics/pokemon/icons/gloom_icon.png b/graphics/pokemon/gloom/icon.png similarity index 100% rename from graphics/pokemon/icons/gloom_icon.png rename to graphics/pokemon/gloom/icon.png diff --git a/graphics/pokemon/palettes/gloom_palette.pal b/graphics/pokemon/gloom/normal.pal similarity index 100% rename from graphics/pokemon/palettes/gloom_palette.pal rename to graphics/pokemon/gloom/normal.pal diff --git a/graphics/pokemon/palettes/gloom_shiny_palette.pal b/graphics/pokemon/gloom/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/gloom_shiny_palette.pal rename to graphics/pokemon/gloom/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/golbat_front_pic.png b/graphics/pokemon/golbat/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/golbat_front_pic.png rename to graphics/pokemon/golbat/anim_front.png diff --git a/graphics/pokemon/back_pics/golbat_back_pic.png b/graphics/pokemon/golbat/back.png similarity index 100% rename from graphics/pokemon/back_pics/golbat_back_pic.png rename to graphics/pokemon/golbat/back.png diff --git a/graphics/pokemon/footprints/golbat_footprint.png b/graphics/pokemon/golbat/footprint.png similarity index 100% rename from graphics/pokemon/footprints/golbat_footprint.png rename to graphics/pokemon/golbat/footprint.png diff --git a/graphics/pokemon/front_pics/golbat_still_front_pic.png b/graphics/pokemon/golbat/front.png similarity index 100% rename from graphics/pokemon/front_pics/golbat_still_front_pic.png rename to graphics/pokemon/golbat/front.png diff --git a/graphics/pokemon/icons/golbat_icon.png b/graphics/pokemon/golbat/icon.png similarity index 100% rename from graphics/pokemon/icons/golbat_icon.png rename to graphics/pokemon/golbat/icon.png diff --git a/graphics/pokemon/palettes/golbat_palette.pal b/graphics/pokemon/golbat/normal.pal similarity index 100% rename from graphics/pokemon/palettes/golbat_palette.pal rename to graphics/pokemon/golbat/normal.pal diff --git a/graphics/pokemon/palettes/golbat_shiny_palette.pal b/graphics/pokemon/golbat/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/golbat_shiny_palette.pal rename to graphics/pokemon/golbat/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/goldeen_front_pic.png b/graphics/pokemon/goldeen/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/goldeen_front_pic.png rename to graphics/pokemon/goldeen/anim_front.png diff --git a/graphics/pokemon/back_pics/goldeen_back_pic.png b/graphics/pokemon/goldeen/back.png similarity index 100% rename from graphics/pokemon/back_pics/goldeen_back_pic.png rename to graphics/pokemon/goldeen/back.png diff --git a/graphics/pokemon/footprints/goldeen_footprint.png b/graphics/pokemon/goldeen/footprint.png similarity index 100% rename from graphics/pokemon/footprints/goldeen_footprint.png rename to graphics/pokemon/goldeen/footprint.png diff --git a/graphics/pokemon/front_pics/goldeen_still_front_pic.png b/graphics/pokemon/goldeen/front.png similarity index 100% rename from graphics/pokemon/front_pics/goldeen_still_front_pic.png rename to graphics/pokemon/goldeen/front.png diff --git a/graphics/pokemon/icons/goldeen_icon.png b/graphics/pokemon/goldeen/icon.png similarity index 100% rename from graphics/pokemon/icons/goldeen_icon.png rename to graphics/pokemon/goldeen/icon.png diff --git a/graphics/pokemon/palettes/goldeen_palette.pal b/graphics/pokemon/goldeen/normal.pal similarity index 100% rename from graphics/pokemon/palettes/goldeen_palette.pal rename to graphics/pokemon/goldeen/normal.pal diff --git a/graphics/pokemon/palettes/goldeen_shiny_palette.pal b/graphics/pokemon/goldeen/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/goldeen_shiny_palette.pal rename to graphics/pokemon/goldeen/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/golduck_front_pic.png b/graphics/pokemon/golduck/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/golduck_front_pic.png rename to graphics/pokemon/golduck/anim_front.png diff --git a/graphics/pokemon/back_pics/golduck_back_pic.png b/graphics/pokemon/golduck/back.png similarity index 100% rename from graphics/pokemon/back_pics/golduck_back_pic.png rename to graphics/pokemon/golduck/back.png diff --git a/graphics/pokemon/footprints/golduck_footprint.png b/graphics/pokemon/golduck/footprint.png similarity index 100% rename from graphics/pokemon/footprints/golduck_footprint.png rename to graphics/pokemon/golduck/footprint.png diff --git a/graphics/pokemon/front_pics/golduck_still_front_pic.png b/graphics/pokemon/golduck/front.png similarity index 100% rename from graphics/pokemon/front_pics/golduck_still_front_pic.png rename to graphics/pokemon/golduck/front.png diff --git a/graphics/pokemon/icons/golduck_icon.png b/graphics/pokemon/golduck/icon.png similarity index 100% rename from graphics/pokemon/icons/golduck_icon.png rename to graphics/pokemon/golduck/icon.png diff --git a/graphics/pokemon/palettes/golduck_palette.pal b/graphics/pokemon/golduck/normal.pal similarity index 100% rename from graphics/pokemon/palettes/golduck_palette.pal rename to graphics/pokemon/golduck/normal.pal diff --git a/graphics/pokemon/palettes/golduck_shiny_palette.pal b/graphics/pokemon/golduck/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/golduck_shiny_palette.pal rename to graphics/pokemon/golduck/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/golem_front_pic.png b/graphics/pokemon/golem/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/golem_front_pic.png rename to graphics/pokemon/golem/anim_front.png diff --git a/graphics/pokemon/back_pics/golem_back_pic.png b/graphics/pokemon/golem/back.png similarity index 100% rename from graphics/pokemon/back_pics/golem_back_pic.png rename to graphics/pokemon/golem/back.png diff --git a/graphics/pokemon/footprints/golem_footprint.png b/graphics/pokemon/golem/footprint.png similarity index 100% rename from graphics/pokemon/footprints/golem_footprint.png rename to graphics/pokemon/golem/footprint.png diff --git a/graphics/pokemon/front_pics/golem_still_front_pic.png b/graphics/pokemon/golem/front.png similarity index 100% rename from graphics/pokemon/front_pics/golem_still_front_pic.png rename to graphics/pokemon/golem/front.png diff --git a/graphics/pokemon/icons/golem_icon.png b/graphics/pokemon/golem/icon.png similarity index 100% rename from graphics/pokemon/icons/golem_icon.png rename to graphics/pokemon/golem/icon.png diff --git a/graphics/pokemon/palettes/golem_palette.pal b/graphics/pokemon/golem/normal.pal similarity index 100% rename from graphics/pokemon/palettes/golem_palette.pal rename to graphics/pokemon/golem/normal.pal diff --git a/graphics/pokemon/palettes/golem_shiny_palette.pal b/graphics/pokemon/golem/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/golem_shiny_palette.pal rename to graphics/pokemon/golem/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/gorebyss_front_pic.png b/graphics/pokemon/gorebyss/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/gorebyss_front_pic.png rename to graphics/pokemon/gorebyss/anim_front.png diff --git a/graphics/pokemon/back_pics/gorebyss_back_pic.png b/graphics/pokemon/gorebyss/back.png similarity index 100% rename from graphics/pokemon/back_pics/gorebyss_back_pic.png rename to graphics/pokemon/gorebyss/back.png diff --git a/graphics/pokemon/footprints/gorebyss_footprint.png b/graphics/pokemon/gorebyss/footprint.png similarity index 100% rename from graphics/pokemon/footprints/gorebyss_footprint.png rename to graphics/pokemon/gorebyss/footprint.png diff --git a/graphics/pokemon/front_pics/gorebyss_still_front_pic.png b/graphics/pokemon/gorebyss/front.png similarity index 100% rename from graphics/pokemon/front_pics/gorebyss_still_front_pic.png rename to graphics/pokemon/gorebyss/front.png diff --git a/graphics/pokemon/icons/gorebyss_icon.png b/graphics/pokemon/gorebyss/icon.png similarity index 100% rename from graphics/pokemon/icons/gorebyss_icon.png rename to graphics/pokemon/gorebyss/icon.png diff --git a/graphics/pokemon/palettes/gorebyss_palette.pal b/graphics/pokemon/gorebyss/normal.pal similarity index 100% rename from graphics/pokemon/palettes/gorebyss_palette.pal rename to graphics/pokemon/gorebyss/normal.pal diff --git a/graphics/pokemon/palettes/gorebyss_shiny_palette.pal b/graphics/pokemon/gorebyss/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/gorebyss_shiny_palette.pal rename to graphics/pokemon/gorebyss/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/granbull_front_pic.png b/graphics/pokemon/granbull/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/granbull_front_pic.png rename to graphics/pokemon/granbull/anim_front.png diff --git a/graphics/pokemon/back_pics/granbull_back_pic.png b/graphics/pokemon/granbull/back.png similarity index 100% rename from graphics/pokemon/back_pics/granbull_back_pic.png rename to graphics/pokemon/granbull/back.png diff --git a/graphics/pokemon/footprints/granbull_footprint.png b/graphics/pokemon/granbull/footprint.png similarity index 100% rename from graphics/pokemon/footprints/granbull_footprint.png rename to graphics/pokemon/granbull/footprint.png diff --git a/graphics/pokemon/front_pics/granbull_still_front_pic.png b/graphics/pokemon/granbull/front.png similarity index 100% rename from graphics/pokemon/front_pics/granbull_still_front_pic.png rename to graphics/pokemon/granbull/front.png diff --git a/graphics/pokemon/icons/granbull_icon.png b/graphics/pokemon/granbull/icon.png similarity index 100% rename from graphics/pokemon/icons/granbull_icon.png rename to graphics/pokemon/granbull/icon.png diff --git a/graphics/pokemon/palettes/granbull_palette.pal b/graphics/pokemon/granbull/normal.pal similarity index 100% rename from graphics/pokemon/palettes/granbull_palette.pal rename to graphics/pokemon/granbull/normal.pal diff --git a/graphics/pokemon/palettes/granbull_shiny_palette.pal b/graphics/pokemon/granbull/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/granbull_shiny_palette.pal rename to graphics/pokemon/granbull/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/graveler_front_pic.png b/graphics/pokemon/graveler/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/graveler_front_pic.png rename to graphics/pokemon/graveler/anim_front.png diff --git a/graphics/pokemon/back_pics/graveler_back_pic.png b/graphics/pokemon/graveler/back.png similarity index 100% rename from graphics/pokemon/back_pics/graveler_back_pic.png rename to graphics/pokemon/graveler/back.png diff --git a/graphics/pokemon/footprints/graveler_footprint.png b/graphics/pokemon/graveler/footprint.png similarity index 100% rename from graphics/pokemon/footprints/graveler_footprint.png rename to graphics/pokemon/graveler/footprint.png diff --git a/graphics/pokemon/front_pics/graveler_still_front_pic.png b/graphics/pokemon/graveler/front.png similarity index 100% rename from graphics/pokemon/front_pics/graveler_still_front_pic.png rename to graphics/pokemon/graveler/front.png diff --git a/graphics/pokemon/icons/graveler_icon.png b/graphics/pokemon/graveler/icon.png similarity index 100% rename from graphics/pokemon/icons/graveler_icon.png rename to graphics/pokemon/graveler/icon.png diff --git a/graphics/pokemon/palettes/graveler_palette.pal b/graphics/pokemon/graveler/normal.pal similarity index 100% rename from graphics/pokemon/palettes/graveler_palette.pal rename to graphics/pokemon/graveler/normal.pal diff --git a/graphics/pokemon/palettes/graveler_shiny_palette.pal b/graphics/pokemon/graveler/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/graveler_shiny_palette.pal rename to graphics/pokemon/graveler/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/grimer_front_pic.png b/graphics/pokemon/grimer/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/grimer_front_pic.png rename to graphics/pokemon/grimer/anim_front.png diff --git a/graphics/pokemon/back_pics/grimer_back_pic.png b/graphics/pokemon/grimer/back.png similarity index 100% rename from graphics/pokemon/back_pics/grimer_back_pic.png rename to graphics/pokemon/grimer/back.png diff --git a/graphics/pokemon/footprints/grimer_footprint.png b/graphics/pokemon/grimer/footprint.png similarity index 100% rename from graphics/pokemon/footprints/grimer_footprint.png rename to graphics/pokemon/grimer/footprint.png diff --git a/graphics/pokemon/front_pics/grimer_still_front_pic.png b/graphics/pokemon/grimer/front.png similarity index 100% rename from graphics/pokemon/front_pics/grimer_still_front_pic.png rename to graphics/pokemon/grimer/front.png diff --git a/graphics/pokemon/icons/grimer_icon.png b/graphics/pokemon/grimer/icon.png similarity index 100% rename from graphics/pokemon/icons/grimer_icon.png rename to graphics/pokemon/grimer/icon.png diff --git a/graphics/pokemon/palettes/grimer_palette.pal b/graphics/pokemon/grimer/normal.pal similarity index 100% rename from graphics/pokemon/palettes/grimer_palette.pal rename to graphics/pokemon/grimer/normal.pal diff --git a/graphics/pokemon/palettes/grimer_shiny_palette.pal b/graphics/pokemon/grimer/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/grimer_shiny_palette.pal rename to graphics/pokemon/grimer/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/groudon_front_pic.png b/graphics/pokemon/groudon/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/groudon_front_pic.png rename to graphics/pokemon/groudon/anim_front.png diff --git a/graphics/pokemon/back_pics/groudon_back_pic.png b/graphics/pokemon/groudon/back.png similarity index 100% rename from graphics/pokemon/back_pics/groudon_back_pic.png rename to graphics/pokemon/groudon/back.png diff --git a/graphics/pokemon/footprints/groudon_footprint.png b/graphics/pokemon/groudon/footprint.png similarity index 100% rename from graphics/pokemon/footprints/groudon_footprint.png rename to graphics/pokemon/groudon/footprint.png diff --git a/graphics/pokemon/front_pics/groudon_still_front_pic.png b/graphics/pokemon/groudon/front.png similarity index 100% rename from graphics/pokemon/front_pics/groudon_still_front_pic.png rename to graphics/pokemon/groudon/front.png diff --git a/graphics/pokemon/icons/groudon_icon.png b/graphics/pokemon/groudon/icon.png similarity index 100% rename from graphics/pokemon/icons/groudon_icon.png rename to graphics/pokemon/groudon/icon.png diff --git a/graphics/pokemon/palettes/groudon_palette.pal b/graphics/pokemon/groudon/normal.pal similarity index 100% rename from graphics/pokemon/palettes/groudon_palette.pal rename to graphics/pokemon/groudon/normal.pal diff --git a/graphics/pokemon/palettes/groudon_shiny_palette.pal b/graphics/pokemon/groudon/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/groudon_shiny_palette.pal rename to graphics/pokemon/groudon/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/grovyle_front_pic.png b/graphics/pokemon/grovyle/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/grovyle_front_pic.png rename to graphics/pokemon/grovyle/anim_front.png diff --git a/graphics/pokemon/back_pics/grovyle_back_pic.png b/graphics/pokemon/grovyle/back.png similarity index 100% rename from graphics/pokemon/back_pics/grovyle_back_pic.png rename to graphics/pokemon/grovyle/back.png diff --git a/graphics/pokemon/footprints/grovyle_footprint.png b/graphics/pokemon/grovyle/footprint.png similarity index 100% rename from graphics/pokemon/footprints/grovyle_footprint.png rename to graphics/pokemon/grovyle/footprint.png diff --git a/graphics/pokemon/front_pics/grovyle_still_front_pic.png b/graphics/pokemon/grovyle/front.png similarity index 100% rename from graphics/pokemon/front_pics/grovyle_still_front_pic.png rename to graphics/pokemon/grovyle/front.png diff --git a/graphics/pokemon/icons/grovyle_icon.png b/graphics/pokemon/grovyle/icon.png similarity index 100% rename from graphics/pokemon/icons/grovyle_icon.png rename to graphics/pokemon/grovyle/icon.png diff --git a/graphics/pokemon/palettes/grovyle_palette.pal b/graphics/pokemon/grovyle/normal.pal similarity index 100% rename from graphics/pokemon/palettes/grovyle_palette.pal rename to graphics/pokemon/grovyle/normal.pal diff --git a/graphics/pokemon/palettes/grovyle_shiny_palette.pal b/graphics/pokemon/grovyle/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/grovyle_shiny_palette.pal rename to graphics/pokemon/grovyle/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/growlithe_front_pic.png b/graphics/pokemon/growlithe/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/growlithe_front_pic.png rename to graphics/pokemon/growlithe/anim_front.png diff --git a/graphics/pokemon/back_pics/growlithe_back_pic.png b/graphics/pokemon/growlithe/back.png similarity index 100% rename from graphics/pokemon/back_pics/growlithe_back_pic.png rename to graphics/pokemon/growlithe/back.png diff --git a/graphics/pokemon/footprints/growlithe_footprint.png b/graphics/pokemon/growlithe/footprint.png similarity index 100% rename from graphics/pokemon/footprints/growlithe_footprint.png rename to graphics/pokemon/growlithe/footprint.png diff --git a/graphics/pokemon/front_pics/growlithe_still_front_pic.png b/graphics/pokemon/growlithe/front.png similarity index 100% rename from graphics/pokemon/front_pics/growlithe_still_front_pic.png rename to graphics/pokemon/growlithe/front.png diff --git a/graphics/pokemon/icons/growlithe_icon.png b/graphics/pokemon/growlithe/icon.png similarity index 100% rename from graphics/pokemon/icons/growlithe_icon.png rename to graphics/pokemon/growlithe/icon.png diff --git a/graphics/pokemon/palettes/growlithe_palette.pal b/graphics/pokemon/growlithe/normal.pal similarity index 100% rename from graphics/pokemon/palettes/growlithe_palette.pal rename to graphics/pokemon/growlithe/normal.pal diff --git a/graphics/pokemon/palettes/growlithe_shiny_palette.pal b/graphics/pokemon/growlithe/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/growlithe_shiny_palette.pal rename to graphics/pokemon/growlithe/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/grumpig_front_pic.png b/graphics/pokemon/grumpig/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/grumpig_front_pic.png rename to graphics/pokemon/grumpig/anim_front.png diff --git a/graphics/pokemon/back_pics/grumpig_back_pic.png b/graphics/pokemon/grumpig/back.png similarity index 100% rename from graphics/pokemon/back_pics/grumpig_back_pic.png rename to graphics/pokemon/grumpig/back.png diff --git a/graphics/pokemon/footprints/grumpig_footprint.png b/graphics/pokemon/grumpig/footprint.png similarity index 100% rename from graphics/pokemon/footprints/grumpig_footprint.png rename to graphics/pokemon/grumpig/footprint.png diff --git a/graphics/pokemon/front_pics/grumpig_still_front_pic.png b/graphics/pokemon/grumpig/front.png similarity index 100% rename from graphics/pokemon/front_pics/grumpig_still_front_pic.png rename to graphics/pokemon/grumpig/front.png diff --git a/graphics/pokemon/icons/grumpig_icon.png b/graphics/pokemon/grumpig/icon.png similarity index 100% rename from graphics/pokemon/icons/grumpig_icon.png rename to graphics/pokemon/grumpig/icon.png diff --git a/graphics/pokemon/palettes/grumpig_palette.pal b/graphics/pokemon/grumpig/normal.pal similarity index 100% rename from graphics/pokemon/palettes/grumpig_palette.pal rename to graphics/pokemon/grumpig/normal.pal diff --git a/graphics/pokemon/palettes/grumpig_shiny_palette.pal b/graphics/pokemon/grumpig/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/grumpig_shiny_palette.pal rename to graphics/pokemon/grumpig/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/gulpin_front_pic.png b/graphics/pokemon/gulpin/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/gulpin_front_pic.png rename to graphics/pokemon/gulpin/anim_front.png diff --git a/graphics/pokemon/back_pics/gulpin_back_pic.png b/graphics/pokemon/gulpin/back.png similarity index 100% rename from graphics/pokemon/back_pics/gulpin_back_pic.png rename to graphics/pokemon/gulpin/back.png diff --git a/graphics/pokemon/footprints/gulpin_footprint.png b/graphics/pokemon/gulpin/footprint.png similarity index 100% rename from graphics/pokemon/footprints/gulpin_footprint.png rename to graphics/pokemon/gulpin/footprint.png diff --git a/graphics/pokemon/front_pics/gulpin_still_front_pic.png b/graphics/pokemon/gulpin/front.png similarity index 100% rename from graphics/pokemon/front_pics/gulpin_still_front_pic.png rename to graphics/pokemon/gulpin/front.png diff --git a/graphics/pokemon/icons/gulpin_icon.png b/graphics/pokemon/gulpin/icon.png similarity index 100% rename from graphics/pokemon/icons/gulpin_icon.png rename to graphics/pokemon/gulpin/icon.png diff --git a/graphics/pokemon/palettes/gulpin_palette.pal b/graphics/pokemon/gulpin/normal.pal similarity index 100% rename from graphics/pokemon/palettes/gulpin_palette.pal rename to graphics/pokemon/gulpin/normal.pal diff --git a/graphics/pokemon/palettes/gulpin_shiny_palette.pal b/graphics/pokemon/gulpin/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/gulpin_shiny_palette.pal rename to graphics/pokemon/gulpin/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/gyarados_front_pic.png b/graphics/pokemon/gyarados/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/gyarados_front_pic.png rename to graphics/pokemon/gyarados/anim_front.png diff --git a/graphics/pokemon/back_pics/gyarados_back_pic.png b/graphics/pokemon/gyarados/back.png similarity index 100% rename from graphics/pokemon/back_pics/gyarados_back_pic.png rename to graphics/pokemon/gyarados/back.png diff --git a/graphics/pokemon/footprints/gyarados_footprint.png b/graphics/pokemon/gyarados/footprint.png similarity index 100% rename from graphics/pokemon/footprints/gyarados_footprint.png rename to graphics/pokemon/gyarados/footprint.png diff --git a/graphics/pokemon/front_pics/gyarados_still_front_pic.png b/graphics/pokemon/gyarados/front.png similarity index 100% rename from graphics/pokemon/front_pics/gyarados_still_front_pic.png rename to graphics/pokemon/gyarados/front.png diff --git a/graphics/pokemon/icons/gyarados_icon.png b/graphics/pokemon/gyarados/icon.png similarity index 100% rename from graphics/pokemon/icons/gyarados_icon.png rename to graphics/pokemon/gyarados/icon.png diff --git a/graphics/pokemon/palettes/gyarados_palette.pal b/graphics/pokemon/gyarados/normal.pal similarity index 100% rename from graphics/pokemon/palettes/gyarados_palette.pal rename to graphics/pokemon/gyarados/normal.pal diff --git a/graphics/pokemon/palettes/gyarados_shiny_palette.pal b/graphics/pokemon/gyarados/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/gyarados_shiny_palette.pal rename to graphics/pokemon/gyarados/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/hariyama_front_pic.png b/graphics/pokemon/hariyama/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/hariyama_front_pic.png rename to graphics/pokemon/hariyama/anim_front.png diff --git a/graphics/pokemon/back_pics/hariyama_back_pic.png b/graphics/pokemon/hariyama/back.png similarity index 100% rename from graphics/pokemon/back_pics/hariyama_back_pic.png rename to graphics/pokemon/hariyama/back.png diff --git a/graphics/pokemon/footprints/hariyama_footprint.png b/graphics/pokemon/hariyama/footprint.png similarity index 100% rename from graphics/pokemon/footprints/hariyama_footprint.png rename to graphics/pokemon/hariyama/footprint.png diff --git a/graphics/pokemon/front_pics/hariyama_still_front_pic.png b/graphics/pokemon/hariyama/front.png similarity index 100% rename from graphics/pokemon/front_pics/hariyama_still_front_pic.png rename to graphics/pokemon/hariyama/front.png diff --git a/graphics/pokemon/icons/hariyama_icon.png b/graphics/pokemon/hariyama/icon.png similarity index 100% rename from graphics/pokemon/icons/hariyama_icon.png rename to graphics/pokemon/hariyama/icon.png diff --git a/graphics/pokemon/palettes/hariyama_palette.pal b/graphics/pokemon/hariyama/normal.pal similarity index 100% rename from graphics/pokemon/palettes/hariyama_palette.pal rename to graphics/pokemon/hariyama/normal.pal diff --git a/graphics/pokemon/palettes/hariyama_shiny_palette.pal b/graphics/pokemon/hariyama/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/hariyama_shiny_palette.pal rename to graphics/pokemon/hariyama/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/haunter_front_pic.png b/graphics/pokemon/haunter/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/haunter_front_pic.png rename to graphics/pokemon/haunter/anim_front.png diff --git a/graphics/pokemon/back_pics/haunter_back_pic.png b/graphics/pokemon/haunter/back.png similarity index 100% rename from graphics/pokemon/back_pics/haunter_back_pic.png rename to graphics/pokemon/haunter/back.png diff --git a/graphics/pokemon/footprints/haunter_footprint.png b/graphics/pokemon/haunter/footprint.png similarity index 100% rename from graphics/pokemon/footprints/haunter_footprint.png rename to graphics/pokemon/haunter/footprint.png diff --git a/graphics/pokemon/front_pics/haunter_still_front_pic.png b/graphics/pokemon/haunter/front.png similarity index 100% rename from graphics/pokemon/front_pics/haunter_still_front_pic.png rename to graphics/pokemon/haunter/front.png diff --git a/graphics/pokemon/icons/haunter_icon.png b/graphics/pokemon/haunter/icon.png similarity index 100% rename from graphics/pokemon/icons/haunter_icon.png rename to graphics/pokemon/haunter/icon.png diff --git a/graphics/pokemon/palettes/haunter_palette.pal b/graphics/pokemon/haunter/normal.pal similarity index 100% rename from graphics/pokemon/palettes/haunter_palette.pal rename to graphics/pokemon/haunter/normal.pal diff --git a/graphics/pokemon/palettes/haunter_shiny_palette.pal b/graphics/pokemon/haunter/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/haunter_shiny_palette.pal rename to graphics/pokemon/haunter/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/heracross_front_pic.png b/graphics/pokemon/heracross/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/heracross_front_pic.png rename to graphics/pokemon/heracross/anim_front.png diff --git a/graphics/pokemon/back_pics/heracross_back_pic.png b/graphics/pokemon/heracross/back.png similarity index 100% rename from graphics/pokemon/back_pics/heracross_back_pic.png rename to graphics/pokemon/heracross/back.png diff --git a/graphics/pokemon/footprints/heracross_footprint.png b/graphics/pokemon/heracross/footprint.png similarity index 100% rename from graphics/pokemon/footprints/heracross_footprint.png rename to graphics/pokemon/heracross/footprint.png diff --git a/graphics/pokemon/front_pics/heracross_still_front_pic.png b/graphics/pokemon/heracross/front.png similarity index 100% rename from graphics/pokemon/front_pics/heracross_still_front_pic.png rename to graphics/pokemon/heracross/front.png diff --git a/graphics/pokemon/icons/heracross_icon.png b/graphics/pokemon/heracross/icon.png similarity index 100% rename from graphics/pokemon/icons/heracross_icon.png rename to graphics/pokemon/heracross/icon.png diff --git a/graphics/pokemon/palettes/heracross_palette.pal b/graphics/pokemon/heracross/normal.pal similarity index 100% rename from graphics/pokemon/palettes/heracross_palette.pal rename to graphics/pokemon/heracross/normal.pal diff --git a/graphics/pokemon/palettes/heracross_shiny_palette.pal b/graphics/pokemon/heracross/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/heracross_shiny_palette.pal rename to graphics/pokemon/heracross/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/hitmonchan_front_pic.png b/graphics/pokemon/hitmonchan/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/hitmonchan_front_pic.png rename to graphics/pokemon/hitmonchan/anim_front.png diff --git a/graphics/pokemon/back_pics/hitmonchan_back_pic.png b/graphics/pokemon/hitmonchan/back.png similarity index 100% rename from graphics/pokemon/back_pics/hitmonchan_back_pic.png rename to graphics/pokemon/hitmonchan/back.png diff --git a/graphics/pokemon/footprints/hitmonchan_footprint.png b/graphics/pokemon/hitmonchan/footprint.png similarity index 100% rename from graphics/pokemon/footprints/hitmonchan_footprint.png rename to graphics/pokemon/hitmonchan/footprint.png diff --git a/graphics/pokemon/front_pics/hitmonchan_still_front_pic.png b/graphics/pokemon/hitmonchan/front.png similarity index 100% rename from graphics/pokemon/front_pics/hitmonchan_still_front_pic.png rename to graphics/pokemon/hitmonchan/front.png diff --git a/graphics/pokemon/icons/hitmonchan_icon.png b/graphics/pokemon/hitmonchan/icon.png similarity index 100% rename from graphics/pokemon/icons/hitmonchan_icon.png rename to graphics/pokemon/hitmonchan/icon.png diff --git a/graphics/pokemon/palettes/hitmonchan_palette.pal b/graphics/pokemon/hitmonchan/normal.pal similarity index 100% rename from graphics/pokemon/palettes/hitmonchan_palette.pal rename to graphics/pokemon/hitmonchan/normal.pal diff --git a/graphics/pokemon/palettes/hitmonchan_shiny_palette.pal b/graphics/pokemon/hitmonchan/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/hitmonchan_shiny_palette.pal rename to graphics/pokemon/hitmonchan/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/hitmonlee_front_pic.png b/graphics/pokemon/hitmonlee/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/hitmonlee_front_pic.png rename to graphics/pokemon/hitmonlee/anim_front.png diff --git a/graphics/pokemon/back_pics/hitmonlee_back_pic.png b/graphics/pokemon/hitmonlee/back.png similarity index 100% rename from graphics/pokemon/back_pics/hitmonlee_back_pic.png rename to graphics/pokemon/hitmonlee/back.png diff --git a/graphics/pokemon/footprints/hitmonlee_footprint.png b/graphics/pokemon/hitmonlee/footprint.png similarity index 100% rename from graphics/pokemon/footprints/hitmonlee_footprint.png rename to graphics/pokemon/hitmonlee/footprint.png diff --git a/graphics/pokemon/front_pics/hitmonlee_still_front_pic.png b/graphics/pokemon/hitmonlee/front.png similarity index 100% rename from graphics/pokemon/front_pics/hitmonlee_still_front_pic.png rename to graphics/pokemon/hitmonlee/front.png diff --git a/graphics/pokemon/icons/hitmonlee_icon.png b/graphics/pokemon/hitmonlee/icon.png similarity index 100% rename from graphics/pokemon/icons/hitmonlee_icon.png rename to graphics/pokemon/hitmonlee/icon.png diff --git a/graphics/pokemon/palettes/hitmonlee_palette.pal b/graphics/pokemon/hitmonlee/normal.pal similarity index 100% rename from graphics/pokemon/palettes/hitmonlee_palette.pal rename to graphics/pokemon/hitmonlee/normal.pal diff --git a/graphics/pokemon/palettes/hitmonlee_shiny_palette.pal b/graphics/pokemon/hitmonlee/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/hitmonlee_shiny_palette.pal rename to graphics/pokemon/hitmonlee/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/hitmontop_front_pic.png b/graphics/pokemon/hitmontop/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/hitmontop_front_pic.png rename to graphics/pokemon/hitmontop/anim_front.png diff --git a/graphics/pokemon/back_pics/hitmontop_back_pic.png b/graphics/pokemon/hitmontop/back.png similarity index 100% rename from graphics/pokemon/back_pics/hitmontop_back_pic.png rename to graphics/pokemon/hitmontop/back.png diff --git a/graphics/pokemon/footprints/hitmontop_footprint.png b/graphics/pokemon/hitmontop/footprint.png similarity index 100% rename from graphics/pokemon/footprints/hitmontop_footprint.png rename to graphics/pokemon/hitmontop/footprint.png diff --git a/graphics/pokemon/front_pics/hitmontop_still_front_pic.png b/graphics/pokemon/hitmontop/front.png similarity index 100% rename from graphics/pokemon/front_pics/hitmontop_still_front_pic.png rename to graphics/pokemon/hitmontop/front.png diff --git a/graphics/pokemon/icons/hitmontop_icon.png b/graphics/pokemon/hitmontop/icon.png similarity index 100% rename from graphics/pokemon/icons/hitmontop_icon.png rename to graphics/pokemon/hitmontop/icon.png diff --git a/graphics/pokemon/palettes/hitmontop_palette.pal b/graphics/pokemon/hitmontop/normal.pal similarity index 100% rename from graphics/pokemon/palettes/hitmontop_palette.pal rename to graphics/pokemon/hitmontop/normal.pal diff --git a/graphics/pokemon/palettes/hitmontop_shiny_palette.pal b/graphics/pokemon/hitmontop/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/hitmontop_shiny_palette.pal rename to graphics/pokemon/hitmontop/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/ho_oh_front_pic.png b/graphics/pokemon/ho_oh/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/ho_oh_front_pic.png rename to graphics/pokemon/ho_oh/anim_front.png diff --git a/graphics/pokemon/back_pics/ho_oh_back_pic.png b/graphics/pokemon/ho_oh/back.png similarity index 100% rename from graphics/pokemon/back_pics/ho_oh_back_pic.png rename to graphics/pokemon/ho_oh/back.png diff --git a/graphics/pokemon/footprints/ho_oh_footprint.png b/graphics/pokemon/ho_oh/footprint.png similarity index 100% rename from graphics/pokemon/footprints/ho_oh_footprint.png rename to graphics/pokemon/ho_oh/footprint.png diff --git a/graphics/pokemon/front_pics/ho_oh_still_front_pic.png b/graphics/pokemon/ho_oh/front.png similarity index 100% rename from graphics/pokemon/front_pics/ho_oh_still_front_pic.png rename to graphics/pokemon/ho_oh/front.png diff --git a/graphics/pokemon/icons/ho_oh_icon.png b/graphics/pokemon/ho_oh/icon.png similarity index 100% rename from graphics/pokemon/icons/ho_oh_icon.png rename to graphics/pokemon/ho_oh/icon.png diff --git a/graphics/pokemon/palettes/ho_oh_palette.pal b/graphics/pokemon/ho_oh/normal.pal similarity index 100% rename from graphics/pokemon/palettes/ho_oh_palette.pal rename to graphics/pokemon/ho_oh/normal.pal diff --git a/graphics/pokemon/palettes/ho_oh_shiny_palette.pal b/graphics/pokemon/ho_oh/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/ho_oh_shiny_palette.pal rename to graphics/pokemon/ho_oh/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/hoothoot_front_pic.png b/graphics/pokemon/hoothoot/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/hoothoot_front_pic.png rename to graphics/pokemon/hoothoot/anim_front.png diff --git a/graphics/pokemon/back_pics/hoothoot_back_pic.png b/graphics/pokemon/hoothoot/back.png similarity index 100% rename from graphics/pokemon/back_pics/hoothoot_back_pic.png rename to graphics/pokemon/hoothoot/back.png diff --git a/graphics/pokemon/footprints/hoothoot_footprint.png b/graphics/pokemon/hoothoot/footprint.png similarity index 100% rename from graphics/pokemon/footprints/hoothoot_footprint.png rename to graphics/pokemon/hoothoot/footprint.png diff --git a/graphics/pokemon/front_pics/hoothoot_still_front_pic.png b/graphics/pokemon/hoothoot/front.png similarity index 100% rename from graphics/pokemon/front_pics/hoothoot_still_front_pic.png rename to graphics/pokemon/hoothoot/front.png diff --git a/graphics/pokemon/icons/hoothoot_icon.png b/graphics/pokemon/hoothoot/icon.png similarity index 100% rename from graphics/pokemon/icons/hoothoot_icon.png rename to graphics/pokemon/hoothoot/icon.png diff --git a/graphics/pokemon/palettes/hoothoot_palette.pal b/graphics/pokemon/hoothoot/normal.pal similarity index 100% rename from graphics/pokemon/palettes/hoothoot_palette.pal rename to graphics/pokemon/hoothoot/normal.pal diff --git a/graphics/pokemon/palettes/hoothoot_shiny_palette.pal b/graphics/pokemon/hoothoot/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/hoothoot_shiny_palette.pal rename to graphics/pokemon/hoothoot/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/hoppip_front_pic.png b/graphics/pokemon/hoppip/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/hoppip_front_pic.png rename to graphics/pokemon/hoppip/anim_front.png diff --git a/graphics/pokemon/back_pics/hoppip_back_pic.png b/graphics/pokemon/hoppip/back.png similarity index 100% rename from graphics/pokemon/back_pics/hoppip_back_pic.png rename to graphics/pokemon/hoppip/back.png diff --git a/graphics/pokemon/footprints/hoppip_footprint.png b/graphics/pokemon/hoppip/footprint.png similarity index 100% rename from graphics/pokemon/footprints/hoppip_footprint.png rename to graphics/pokemon/hoppip/footprint.png diff --git a/graphics/pokemon/front_pics/hoppip_still_front_pic.png b/graphics/pokemon/hoppip/front.png similarity index 100% rename from graphics/pokemon/front_pics/hoppip_still_front_pic.png rename to graphics/pokemon/hoppip/front.png diff --git a/graphics/pokemon/icons/hoppip_icon.png b/graphics/pokemon/hoppip/icon.png similarity index 100% rename from graphics/pokemon/icons/hoppip_icon.png rename to graphics/pokemon/hoppip/icon.png diff --git a/graphics/pokemon/palettes/hoppip_palette.pal b/graphics/pokemon/hoppip/normal.pal similarity index 100% rename from graphics/pokemon/palettes/hoppip_palette.pal rename to graphics/pokemon/hoppip/normal.pal diff --git a/graphics/pokemon/palettes/hoppip_shiny_palette.pal b/graphics/pokemon/hoppip/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/hoppip_shiny_palette.pal rename to graphics/pokemon/hoppip/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/horsea_front_pic.png b/graphics/pokemon/horsea/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/horsea_front_pic.png rename to graphics/pokemon/horsea/anim_front.png diff --git a/graphics/pokemon/back_pics/horsea_back_pic.png b/graphics/pokemon/horsea/back.png similarity index 100% rename from graphics/pokemon/back_pics/horsea_back_pic.png rename to graphics/pokemon/horsea/back.png diff --git a/graphics/pokemon/footprints/horsea_footprint.png b/graphics/pokemon/horsea/footprint.png similarity index 100% rename from graphics/pokemon/footprints/horsea_footprint.png rename to graphics/pokemon/horsea/footprint.png diff --git a/graphics/pokemon/front_pics/horsea_still_front_pic.png b/graphics/pokemon/horsea/front.png similarity index 100% rename from graphics/pokemon/front_pics/horsea_still_front_pic.png rename to graphics/pokemon/horsea/front.png diff --git a/graphics/pokemon/icons/horsea_icon.png b/graphics/pokemon/horsea/icon.png similarity index 100% rename from graphics/pokemon/icons/horsea_icon.png rename to graphics/pokemon/horsea/icon.png diff --git a/graphics/pokemon/palettes/horsea_palette.pal b/graphics/pokemon/horsea/normal.pal similarity index 100% rename from graphics/pokemon/palettes/horsea_palette.pal rename to graphics/pokemon/horsea/normal.pal diff --git a/graphics/pokemon/palettes/horsea_shiny_palette.pal b/graphics/pokemon/horsea/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/horsea_shiny_palette.pal rename to graphics/pokemon/horsea/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/houndoom_front_pic.png b/graphics/pokemon/houndoom/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/houndoom_front_pic.png rename to graphics/pokemon/houndoom/anim_front.png diff --git a/graphics/pokemon/back_pics/houndoom_back_pic.png b/graphics/pokemon/houndoom/back.png similarity index 100% rename from graphics/pokemon/back_pics/houndoom_back_pic.png rename to graphics/pokemon/houndoom/back.png diff --git a/graphics/pokemon/footprints/houndoom_footprint.png b/graphics/pokemon/houndoom/footprint.png similarity index 100% rename from graphics/pokemon/footprints/houndoom_footprint.png rename to graphics/pokemon/houndoom/footprint.png diff --git a/graphics/pokemon/front_pics/houndoom_still_front_pic.png b/graphics/pokemon/houndoom/front.png similarity index 100% rename from graphics/pokemon/front_pics/houndoom_still_front_pic.png rename to graphics/pokemon/houndoom/front.png diff --git a/graphics/pokemon/icons/houndoom_icon.png b/graphics/pokemon/houndoom/icon.png similarity index 100% rename from graphics/pokemon/icons/houndoom_icon.png rename to graphics/pokemon/houndoom/icon.png diff --git a/graphics/pokemon/palettes/houndoom_palette.pal b/graphics/pokemon/houndoom/normal.pal similarity index 100% rename from graphics/pokemon/palettes/houndoom_palette.pal rename to graphics/pokemon/houndoom/normal.pal diff --git a/graphics/pokemon/palettes/houndoom_shiny_palette.pal b/graphics/pokemon/houndoom/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/houndoom_shiny_palette.pal rename to graphics/pokemon/houndoom/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/houndour_front_pic.png b/graphics/pokemon/houndour/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/houndour_front_pic.png rename to graphics/pokemon/houndour/anim_front.png diff --git a/graphics/pokemon/back_pics/houndour_back_pic.png b/graphics/pokemon/houndour/back.png similarity index 100% rename from graphics/pokemon/back_pics/houndour_back_pic.png rename to graphics/pokemon/houndour/back.png diff --git a/graphics/pokemon/footprints/houndour_footprint.png b/graphics/pokemon/houndour/footprint.png similarity index 100% rename from graphics/pokemon/footprints/houndour_footprint.png rename to graphics/pokemon/houndour/footprint.png diff --git a/graphics/pokemon/front_pics/houndour_still_front_pic.png b/graphics/pokemon/houndour/front.png similarity index 100% rename from graphics/pokemon/front_pics/houndour_still_front_pic.png rename to graphics/pokemon/houndour/front.png diff --git a/graphics/pokemon/icons/houndour_icon.png b/graphics/pokemon/houndour/icon.png similarity index 100% rename from graphics/pokemon/icons/houndour_icon.png rename to graphics/pokemon/houndour/icon.png diff --git a/graphics/pokemon/palettes/houndour_palette.pal b/graphics/pokemon/houndour/normal.pal similarity index 100% rename from graphics/pokemon/palettes/houndour_palette.pal rename to graphics/pokemon/houndour/normal.pal diff --git a/graphics/pokemon/palettes/houndour_shiny_palette.pal b/graphics/pokemon/houndour/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/houndour_shiny_palette.pal rename to graphics/pokemon/houndour/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/huntail_front_pic.png b/graphics/pokemon/huntail/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/huntail_front_pic.png rename to graphics/pokemon/huntail/anim_front.png diff --git a/graphics/pokemon/back_pics/huntail_back_pic.png b/graphics/pokemon/huntail/back.png similarity index 100% rename from graphics/pokemon/back_pics/huntail_back_pic.png rename to graphics/pokemon/huntail/back.png diff --git a/graphics/pokemon/footprints/huntail_footprint.png b/graphics/pokemon/huntail/footprint.png similarity index 100% rename from graphics/pokemon/footprints/huntail_footprint.png rename to graphics/pokemon/huntail/footprint.png diff --git a/graphics/pokemon/front_pics/huntail_still_front_pic.png b/graphics/pokemon/huntail/front.png similarity index 100% rename from graphics/pokemon/front_pics/huntail_still_front_pic.png rename to graphics/pokemon/huntail/front.png diff --git a/graphics/pokemon/icons/huntail_icon.png b/graphics/pokemon/huntail/icon.png similarity index 100% rename from graphics/pokemon/icons/huntail_icon.png rename to graphics/pokemon/huntail/icon.png diff --git a/graphics/pokemon/palettes/huntail_palette.pal b/graphics/pokemon/huntail/normal.pal similarity index 100% rename from graphics/pokemon/palettes/huntail_palette.pal rename to graphics/pokemon/huntail/normal.pal diff --git a/graphics/pokemon/palettes/huntail_shiny_palette.pal b/graphics/pokemon/huntail/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/huntail_shiny_palette.pal rename to graphics/pokemon/huntail/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/hypno_front_pic.png b/graphics/pokemon/hypno/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/hypno_front_pic.png rename to graphics/pokemon/hypno/anim_front.png diff --git a/graphics/pokemon/back_pics/hypno_back_pic.png b/graphics/pokemon/hypno/back.png similarity index 100% rename from graphics/pokemon/back_pics/hypno_back_pic.png rename to graphics/pokemon/hypno/back.png diff --git a/graphics/pokemon/footprints/hypno_footprint.png b/graphics/pokemon/hypno/footprint.png similarity index 100% rename from graphics/pokemon/footprints/hypno_footprint.png rename to graphics/pokemon/hypno/footprint.png diff --git a/graphics/pokemon/front_pics/hypno_still_front_pic.png b/graphics/pokemon/hypno/front.png similarity index 100% rename from graphics/pokemon/front_pics/hypno_still_front_pic.png rename to graphics/pokemon/hypno/front.png diff --git a/graphics/pokemon/icons/hypno_icon.png b/graphics/pokemon/hypno/icon.png similarity index 100% rename from graphics/pokemon/icons/hypno_icon.png rename to graphics/pokemon/hypno/icon.png diff --git a/graphics/pokemon/palettes/hypno_palette.pal b/graphics/pokemon/hypno/normal.pal similarity index 100% rename from graphics/pokemon/palettes/hypno_palette.pal rename to graphics/pokemon/hypno/normal.pal diff --git a/graphics/pokemon/palettes/hypno_shiny_palette.pal b/graphics/pokemon/hypno/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/hypno_shiny_palette.pal rename to graphics/pokemon/hypno/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/igglybuff_front_pic.png b/graphics/pokemon/igglybuff/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/igglybuff_front_pic.png rename to graphics/pokemon/igglybuff/anim_front.png diff --git a/graphics/pokemon/back_pics/igglybuff_back_pic.png b/graphics/pokemon/igglybuff/back.png similarity index 100% rename from graphics/pokemon/back_pics/igglybuff_back_pic.png rename to graphics/pokemon/igglybuff/back.png diff --git a/graphics/pokemon/footprints/igglybuff_footprint.png b/graphics/pokemon/igglybuff/footprint.png similarity index 100% rename from graphics/pokemon/footprints/igglybuff_footprint.png rename to graphics/pokemon/igglybuff/footprint.png diff --git a/graphics/pokemon/front_pics/igglybuff_still_front_pic.png b/graphics/pokemon/igglybuff/front.png similarity index 100% rename from graphics/pokemon/front_pics/igglybuff_still_front_pic.png rename to graphics/pokemon/igglybuff/front.png diff --git a/graphics/pokemon/icons/igglybuff_icon.png b/graphics/pokemon/igglybuff/icon.png similarity index 100% rename from graphics/pokemon/icons/igglybuff_icon.png rename to graphics/pokemon/igglybuff/icon.png diff --git a/graphics/pokemon/palettes/igglybuff_palette.pal b/graphics/pokemon/igglybuff/normal.pal similarity index 100% rename from graphics/pokemon/palettes/igglybuff_palette.pal rename to graphics/pokemon/igglybuff/normal.pal diff --git a/graphics/pokemon/palettes/igglybuff_shiny_palette.pal b/graphics/pokemon/igglybuff/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/igglybuff_shiny_palette.pal rename to graphics/pokemon/igglybuff/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/illumise_front_pic.png b/graphics/pokemon/illumise/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/illumise_front_pic.png rename to graphics/pokemon/illumise/anim_front.png diff --git a/graphics/pokemon/back_pics/illumise_back_pic.png b/graphics/pokemon/illumise/back.png similarity index 100% rename from graphics/pokemon/back_pics/illumise_back_pic.png rename to graphics/pokemon/illumise/back.png diff --git a/graphics/pokemon/footprints/illumise_footprint.png b/graphics/pokemon/illumise/footprint.png similarity index 100% rename from graphics/pokemon/footprints/illumise_footprint.png rename to graphics/pokemon/illumise/footprint.png diff --git a/graphics/pokemon/front_pics/illumise_still_front_pic.png b/graphics/pokemon/illumise/front.png similarity index 100% rename from graphics/pokemon/front_pics/illumise_still_front_pic.png rename to graphics/pokemon/illumise/front.png diff --git a/graphics/pokemon/icons/illumise_icon.png b/graphics/pokemon/illumise/icon.png similarity index 100% rename from graphics/pokemon/icons/illumise_icon.png rename to graphics/pokemon/illumise/icon.png diff --git a/graphics/pokemon/palettes/illumise_palette.pal b/graphics/pokemon/illumise/normal.pal similarity index 100% rename from graphics/pokemon/palettes/illumise_palette.pal rename to graphics/pokemon/illumise/normal.pal diff --git a/graphics/pokemon/palettes/illumise_shiny_palette.pal b/graphics/pokemon/illumise/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/illumise_shiny_palette.pal rename to graphics/pokemon/illumise/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/ivysaur_front_pic.png b/graphics/pokemon/ivysaur/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/ivysaur_front_pic.png rename to graphics/pokemon/ivysaur/anim_front.png diff --git a/graphics/pokemon/back_pics/ivysaur_back_pic.png b/graphics/pokemon/ivysaur/back.png similarity index 100% rename from graphics/pokemon/back_pics/ivysaur_back_pic.png rename to graphics/pokemon/ivysaur/back.png diff --git a/graphics/pokemon/footprints/ivysaur_footprint.png b/graphics/pokemon/ivysaur/footprint.png similarity index 100% rename from graphics/pokemon/footprints/ivysaur_footprint.png rename to graphics/pokemon/ivysaur/footprint.png diff --git a/graphics/pokemon/front_pics/ivysaur_still_front_pic.png b/graphics/pokemon/ivysaur/front.png similarity index 100% rename from graphics/pokemon/front_pics/ivysaur_still_front_pic.png rename to graphics/pokemon/ivysaur/front.png diff --git a/graphics/pokemon/icons/ivysaur_icon.png b/graphics/pokemon/ivysaur/icon.png similarity index 100% rename from graphics/pokemon/icons/ivysaur_icon.png rename to graphics/pokemon/ivysaur/icon.png diff --git a/graphics/pokemon/palettes/ivysaur_palette.pal b/graphics/pokemon/ivysaur/normal.pal similarity index 100% rename from graphics/pokemon/palettes/ivysaur_palette.pal rename to graphics/pokemon/ivysaur/normal.pal diff --git a/graphics/pokemon/palettes/ivysaur_shiny_palette.pal b/graphics/pokemon/ivysaur/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/ivysaur_shiny_palette.pal rename to graphics/pokemon/ivysaur/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/jigglypuff_front_pic.png b/graphics/pokemon/jigglypuff/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/jigglypuff_front_pic.png rename to graphics/pokemon/jigglypuff/anim_front.png diff --git a/graphics/pokemon/back_pics/jigglypuff_back_pic.png b/graphics/pokemon/jigglypuff/back.png similarity index 100% rename from graphics/pokemon/back_pics/jigglypuff_back_pic.png rename to graphics/pokemon/jigglypuff/back.png diff --git a/graphics/pokemon/footprints/jigglypuff_footprint.png b/graphics/pokemon/jigglypuff/footprint.png similarity index 100% rename from graphics/pokemon/footprints/jigglypuff_footprint.png rename to graphics/pokemon/jigglypuff/footprint.png diff --git a/graphics/pokemon/front_pics/jigglypuff_still_front_pic.png b/graphics/pokemon/jigglypuff/front.png similarity index 100% rename from graphics/pokemon/front_pics/jigglypuff_still_front_pic.png rename to graphics/pokemon/jigglypuff/front.png diff --git a/graphics/pokemon/icons/jigglypuff_icon.png b/graphics/pokemon/jigglypuff/icon.png similarity index 100% rename from graphics/pokemon/icons/jigglypuff_icon.png rename to graphics/pokemon/jigglypuff/icon.png diff --git a/graphics/pokemon/palettes/jigglypuff_palette.pal b/graphics/pokemon/jigglypuff/normal.pal similarity index 100% rename from graphics/pokemon/palettes/jigglypuff_palette.pal rename to graphics/pokemon/jigglypuff/normal.pal diff --git a/graphics/pokemon/palettes/jigglypuff_shiny_palette.pal b/graphics/pokemon/jigglypuff/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/jigglypuff_shiny_palette.pal rename to graphics/pokemon/jigglypuff/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/jirachi_front_pic.png b/graphics/pokemon/jirachi/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/jirachi_front_pic.png rename to graphics/pokemon/jirachi/anim_front.png diff --git a/graphics/pokemon/back_pics/jirachi_back_pic.png b/graphics/pokemon/jirachi/back.png similarity index 100% rename from graphics/pokemon/back_pics/jirachi_back_pic.png rename to graphics/pokemon/jirachi/back.png diff --git a/graphics/pokemon/footprints/jirachi_footprint.png b/graphics/pokemon/jirachi/footprint.png similarity index 100% rename from graphics/pokemon/footprints/jirachi_footprint.png rename to graphics/pokemon/jirachi/footprint.png diff --git a/graphics/pokemon/front_pics/jirachi_still_front_pic.png b/graphics/pokemon/jirachi/front.png similarity index 100% rename from graphics/pokemon/front_pics/jirachi_still_front_pic.png rename to graphics/pokemon/jirachi/front.png diff --git a/graphics/pokemon/icons/jirachi_icon.png b/graphics/pokemon/jirachi/icon.png similarity index 100% rename from graphics/pokemon/icons/jirachi_icon.png rename to graphics/pokemon/jirachi/icon.png diff --git a/graphics/pokemon/palettes/jirachi_palette.pal b/graphics/pokemon/jirachi/normal.pal similarity index 100% rename from graphics/pokemon/palettes/jirachi_palette.pal rename to graphics/pokemon/jirachi/normal.pal diff --git a/graphics/pokemon/palettes/jirachi_shiny_palette.pal b/graphics/pokemon/jirachi/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/jirachi_shiny_palette.pal rename to graphics/pokemon/jirachi/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/jolteon_front_pic.png b/graphics/pokemon/jolteon/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/jolteon_front_pic.png rename to graphics/pokemon/jolteon/anim_front.png diff --git a/graphics/pokemon/back_pics/jolteon_back_pic.png b/graphics/pokemon/jolteon/back.png similarity index 100% rename from graphics/pokemon/back_pics/jolteon_back_pic.png rename to graphics/pokemon/jolteon/back.png diff --git a/graphics/pokemon/footprints/jolteon_footprint.png b/graphics/pokemon/jolteon/footprint.png similarity index 100% rename from graphics/pokemon/footprints/jolteon_footprint.png rename to graphics/pokemon/jolteon/footprint.png diff --git a/graphics/pokemon/front_pics/jolteon_still_front_pic.png b/graphics/pokemon/jolteon/front.png similarity index 100% rename from graphics/pokemon/front_pics/jolteon_still_front_pic.png rename to graphics/pokemon/jolteon/front.png diff --git a/graphics/pokemon/icons/jolteon_icon.png b/graphics/pokemon/jolteon/icon.png similarity index 100% rename from graphics/pokemon/icons/jolteon_icon.png rename to graphics/pokemon/jolteon/icon.png diff --git a/graphics/pokemon/palettes/jolteon_palette.pal b/graphics/pokemon/jolteon/normal.pal similarity index 100% rename from graphics/pokemon/palettes/jolteon_palette.pal rename to graphics/pokemon/jolteon/normal.pal diff --git a/graphics/pokemon/palettes/jolteon_shiny_palette.pal b/graphics/pokemon/jolteon/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/jolteon_shiny_palette.pal rename to graphics/pokemon/jolteon/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/jumpluff_front_pic.png b/graphics/pokemon/jumpluff/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/jumpluff_front_pic.png rename to graphics/pokemon/jumpluff/anim_front.png diff --git a/graphics/pokemon/back_pics/jumpluff_back_pic.png b/graphics/pokemon/jumpluff/back.png similarity index 100% rename from graphics/pokemon/back_pics/jumpluff_back_pic.png rename to graphics/pokemon/jumpluff/back.png diff --git a/graphics/pokemon/footprints/jumpluff_footprint.png b/graphics/pokemon/jumpluff/footprint.png similarity index 100% rename from graphics/pokemon/footprints/jumpluff_footprint.png rename to graphics/pokemon/jumpluff/footprint.png diff --git a/graphics/pokemon/front_pics/jumpluff_still_front_pic.png b/graphics/pokemon/jumpluff/front.png similarity index 100% rename from graphics/pokemon/front_pics/jumpluff_still_front_pic.png rename to graphics/pokemon/jumpluff/front.png diff --git a/graphics/pokemon/icons/jumpluff_icon.png b/graphics/pokemon/jumpluff/icon.png similarity index 100% rename from graphics/pokemon/icons/jumpluff_icon.png rename to graphics/pokemon/jumpluff/icon.png diff --git a/graphics/pokemon/palettes/jumpluff_palette.pal b/graphics/pokemon/jumpluff/normal.pal similarity index 100% rename from graphics/pokemon/palettes/jumpluff_palette.pal rename to graphics/pokemon/jumpluff/normal.pal diff --git a/graphics/pokemon/palettes/jumpluff_shiny_palette.pal b/graphics/pokemon/jumpluff/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/jumpluff_shiny_palette.pal rename to graphics/pokemon/jumpluff/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/jynx_front_pic.png b/graphics/pokemon/jynx/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/jynx_front_pic.png rename to graphics/pokemon/jynx/anim_front.png diff --git a/graphics/pokemon/back_pics/jynx_back_pic.png b/graphics/pokemon/jynx/back.png similarity index 100% rename from graphics/pokemon/back_pics/jynx_back_pic.png rename to graphics/pokemon/jynx/back.png diff --git a/graphics/pokemon/footprints/jynx_footprint.png b/graphics/pokemon/jynx/footprint.png similarity index 100% rename from graphics/pokemon/footprints/jynx_footprint.png rename to graphics/pokemon/jynx/footprint.png diff --git a/graphics/pokemon/front_pics/jynx_still_front_pic.png b/graphics/pokemon/jynx/front.png similarity index 100% rename from graphics/pokemon/front_pics/jynx_still_front_pic.png rename to graphics/pokemon/jynx/front.png diff --git a/graphics/pokemon/icons/jynx_icon.png b/graphics/pokemon/jynx/icon.png similarity index 100% rename from graphics/pokemon/icons/jynx_icon.png rename to graphics/pokemon/jynx/icon.png diff --git a/graphics/pokemon/palettes/jynx_palette.pal b/graphics/pokemon/jynx/normal.pal similarity index 100% rename from graphics/pokemon/palettes/jynx_palette.pal rename to graphics/pokemon/jynx/normal.pal diff --git a/graphics/pokemon/palettes/jynx_shiny_palette.pal b/graphics/pokemon/jynx/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/jynx_shiny_palette.pal rename to graphics/pokemon/jynx/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/kabuto_front_pic.png b/graphics/pokemon/kabuto/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/kabuto_front_pic.png rename to graphics/pokemon/kabuto/anim_front.png diff --git a/graphics/pokemon/back_pics/kabuto_back_pic.png b/graphics/pokemon/kabuto/back.png similarity index 100% rename from graphics/pokemon/back_pics/kabuto_back_pic.png rename to graphics/pokemon/kabuto/back.png diff --git a/graphics/pokemon/footprints/kabuto_footprint.png b/graphics/pokemon/kabuto/footprint.png similarity index 100% rename from graphics/pokemon/footprints/kabuto_footprint.png rename to graphics/pokemon/kabuto/footprint.png diff --git a/graphics/pokemon/front_pics/kabuto_still_front_pic.png b/graphics/pokemon/kabuto/front.png similarity index 100% rename from graphics/pokemon/front_pics/kabuto_still_front_pic.png rename to graphics/pokemon/kabuto/front.png diff --git a/graphics/pokemon/icons/kabuto_icon.png b/graphics/pokemon/kabuto/icon.png similarity index 100% rename from graphics/pokemon/icons/kabuto_icon.png rename to graphics/pokemon/kabuto/icon.png diff --git a/graphics/pokemon/palettes/kabuto_palette.pal b/graphics/pokemon/kabuto/normal.pal similarity index 100% rename from graphics/pokemon/palettes/kabuto_palette.pal rename to graphics/pokemon/kabuto/normal.pal diff --git a/graphics/pokemon/palettes/kabuto_shiny_palette.pal b/graphics/pokemon/kabuto/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/kabuto_shiny_palette.pal rename to graphics/pokemon/kabuto/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/kabutops_front_pic.png b/graphics/pokemon/kabutops/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/kabutops_front_pic.png rename to graphics/pokemon/kabutops/anim_front.png diff --git a/graphics/pokemon/back_pics/kabutops_back_pic.png b/graphics/pokemon/kabutops/back.png similarity index 100% rename from graphics/pokemon/back_pics/kabutops_back_pic.png rename to graphics/pokemon/kabutops/back.png diff --git a/graphics/pokemon/footprints/kabutops_footprint.png b/graphics/pokemon/kabutops/footprint.png similarity index 100% rename from graphics/pokemon/footprints/kabutops_footprint.png rename to graphics/pokemon/kabutops/footprint.png diff --git a/graphics/pokemon/front_pics/kabutops_still_front_pic.png b/graphics/pokemon/kabutops/front.png similarity index 100% rename from graphics/pokemon/front_pics/kabutops_still_front_pic.png rename to graphics/pokemon/kabutops/front.png diff --git a/graphics/pokemon/icons/kabutops_icon.png b/graphics/pokemon/kabutops/icon.png similarity index 100% rename from graphics/pokemon/icons/kabutops_icon.png rename to graphics/pokemon/kabutops/icon.png diff --git a/graphics/pokemon/palettes/kabutops_palette.pal b/graphics/pokemon/kabutops/normal.pal similarity index 100% rename from graphics/pokemon/palettes/kabutops_palette.pal rename to graphics/pokemon/kabutops/normal.pal diff --git a/graphics/pokemon/palettes/kabutops_shiny_palette.pal b/graphics/pokemon/kabutops/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/kabutops_shiny_palette.pal rename to graphics/pokemon/kabutops/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/kadabra_front_pic.png b/graphics/pokemon/kadabra/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/kadabra_front_pic.png rename to graphics/pokemon/kadabra/anim_front.png diff --git a/graphics/pokemon/back_pics/kadabra_back_pic.png b/graphics/pokemon/kadabra/back.png similarity index 100% rename from graphics/pokemon/back_pics/kadabra_back_pic.png rename to graphics/pokemon/kadabra/back.png diff --git a/graphics/pokemon/footprints/kadabra_footprint.png b/graphics/pokemon/kadabra/footprint.png similarity index 100% rename from graphics/pokemon/footprints/kadabra_footprint.png rename to graphics/pokemon/kadabra/footprint.png diff --git a/graphics/pokemon/front_pics/kadabra_still_front_pic.png b/graphics/pokemon/kadabra/front.png similarity index 100% rename from graphics/pokemon/front_pics/kadabra_still_front_pic.png rename to graphics/pokemon/kadabra/front.png diff --git a/graphics/pokemon/icons/kadabra_icon.png b/graphics/pokemon/kadabra/icon.png similarity index 100% rename from graphics/pokemon/icons/kadabra_icon.png rename to graphics/pokemon/kadabra/icon.png diff --git a/graphics/pokemon/palettes/kadabra_palette.pal b/graphics/pokemon/kadabra/normal.pal similarity index 100% rename from graphics/pokemon/palettes/kadabra_palette.pal rename to graphics/pokemon/kadabra/normal.pal diff --git a/graphics/pokemon/palettes/kadabra_shiny_palette.pal b/graphics/pokemon/kadabra/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/kadabra_shiny_palette.pal rename to graphics/pokemon/kadabra/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/kakuna_front_pic.png b/graphics/pokemon/kakuna/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/kakuna_front_pic.png rename to graphics/pokemon/kakuna/anim_front.png diff --git a/graphics/pokemon/back_pics/kakuna_back_pic.png b/graphics/pokemon/kakuna/back.png similarity index 100% rename from graphics/pokemon/back_pics/kakuna_back_pic.png rename to graphics/pokemon/kakuna/back.png diff --git a/graphics/pokemon/footprints/kakuna_footprint.png b/graphics/pokemon/kakuna/footprint.png similarity index 100% rename from graphics/pokemon/footprints/kakuna_footprint.png rename to graphics/pokemon/kakuna/footprint.png diff --git a/graphics/pokemon/front_pics/kakuna_still_front_pic.png b/graphics/pokemon/kakuna/front.png similarity index 100% rename from graphics/pokemon/front_pics/kakuna_still_front_pic.png rename to graphics/pokemon/kakuna/front.png diff --git a/graphics/pokemon/icons/kakuna_icon.png b/graphics/pokemon/kakuna/icon.png similarity index 100% rename from graphics/pokemon/icons/kakuna_icon.png rename to graphics/pokemon/kakuna/icon.png diff --git a/graphics/pokemon/palettes/kakuna_palette.pal b/graphics/pokemon/kakuna/normal.pal similarity index 100% rename from graphics/pokemon/palettes/kakuna_palette.pal rename to graphics/pokemon/kakuna/normal.pal diff --git a/graphics/pokemon/palettes/kakuna_shiny_palette.pal b/graphics/pokemon/kakuna/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/kakuna_shiny_palette.pal rename to graphics/pokemon/kakuna/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/kangaskhan_front_pic.png b/graphics/pokemon/kangaskhan/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/kangaskhan_front_pic.png rename to graphics/pokemon/kangaskhan/anim_front.png diff --git a/graphics/pokemon/back_pics/kangaskhan_back_pic.png b/graphics/pokemon/kangaskhan/back.png similarity index 100% rename from graphics/pokemon/back_pics/kangaskhan_back_pic.png rename to graphics/pokemon/kangaskhan/back.png diff --git a/graphics/pokemon/footprints/kangaskhan_footprint.png b/graphics/pokemon/kangaskhan/footprint.png similarity index 100% rename from graphics/pokemon/footprints/kangaskhan_footprint.png rename to graphics/pokemon/kangaskhan/footprint.png diff --git a/graphics/pokemon/front_pics/kangaskhan_still_front_pic.png b/graphics/pokemon/kangaskhan/front.png similarity index 100% rename from graphics/pokemon/front_pics/kangaskhan_still_front_pic.png rename to graphics/pokemon/kangaskhan/front.png diff --git a/graphics/pokemon/icons/kangaskhan_icon.png b/graphics/pokemon/kangaskhan/icon.png similarity index 100% rename from graphics/pokemon/icons/kangaskhan_icon.png rename to graphics/pokemon/kangaskhan/icon.png diff --git a/graphics/pokemon/palettes/kangaskhan_palette.pal b/graphics/pokemon/kangaskhan/normal.pal similarity index 100% rename from graphics/pokemon/palettes/kangaskhan_palette.pal rename to graphics/pokemon/kangaskhan/normal.pal diff --git a/graphics/pokemon/palettes/kangaskhan_shiny_palette.pal b/graphics/pokemon/kangaskhan/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/kangaskhan_shiny_palette.pal rename to graphics/pokemon/kangaskhan/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/kecleon_front_pic.png b/graphics/pokemon/kecleon/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/kecleon_front_pic.png rename to graphics/pokemon/kecleon/anim_front.png diff --git a/graphics/pokemon/back_pics/kecleon_back_pic.png b/graphics/pokemon/kecleon/back.png similarity index 100% rename from graphics/pokemon/back_pics/kecleon_back_pic.png rename to graphics/pokemon/kecleon/back.png diff --git a/graphics/pokemon/footprints/kecleon_footprint.png b/graphics/pokemon/kecleon/footprint.png similarity index 100% rename from graphics/pokemon/footprints/kecleon_footprint.png rename to graphics/pokemon/kecleon/footprint.png diff --git a/graphics/pokemon/front_pics/kecleon_still_front_pic.png b/graphics/pokemon/kecleon/front.png similarity index 100% rename from graphics/pokemon/front_pics/kecleon_still_front_pic.png rename to graphics/pokemon/kecleon/front.png diff --git a/graphics/pokemon/icons/kecleon_icon.png b/graphics/pokemon/kecleon/icon.png similarity index 100% rename from graphics/pokemon/icons/kecleon_icon.png rename to graphics/pokemon/kecleon/icon.png diff --git a/graphics/pokemon/palettes/kecleon_palette.pal b/graphics/pokemon/kecleon/normal.pal similarity index 100% rename from graphics/pokemon/palettes/kecleon_palette.pal rename to graphics/pokemon/kecleon/normal.pal diff --git a/graphics/pokemon/palettes/kecleon_shiny_palette.pal b/graphics/pokemon/kecleon/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/kecleon_shiny_palette.pal rename to graphics/pokemon/kecleon/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/kingdra_front_pic.png b/graphics/pokemon/kingdra/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/kingdra_front_pic.png rename to graphics/pokemon/kingdra/anim_front.png diff --git a/graphics/pokemon/back_pics/kingdra_back_pic.png b/graphics/pokemon/kingdra/back.png similarity index 100% rename from graphics/pokemon/back_pics/kingdra_back_pic.png rename to graphics/pokemon/kingdra/back.png diff --git a/graphics/pokemon/footprints/kingdra_footprint.png b/graphics/pokemon/kingdra/footprint.png similarity index 100% rename from graphics/pokemon/footprints/kingdra_footprint.png rename to graphics/pokemon/kingdra/footprint.png diff --git a/graphics/pokemon/front_pics/kingdra_still_front_pic.png b/graphics/pokemon/kingdra/front.png similarity index 100% rename from graphics/pokemon/front_pics/kingdra_still_front_pic.png rename to graphics/pokemon/kingdra/front.png diff --git a/graphics/pokemon/icons/kingdra_icon.png b/graphics/pokemon/kingdra/icon.png similarity index 100% rename from graphics/pokemon/icons/kingdra_icon.png rename to graphics/pokemon/kingdra/icon.png diff --git a/graphics/pokemon/palettes/kingdra_palette.pal b/graphics/pokemon/kingdra/normal.pal similarity index 100% rename from graphics/pokemon/palettes/kingdra_palette.pal rename to graphics/pokemon/kingdra/normal.pal diff --git a/graphics/pokemon/palettes/kingdra_shiny_palette.pal b/graphics/pokemon/kingdra/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/kingdra_shiny_palette.pal rename to graphics/pokemon/kingdra/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/kingler_front_pic.png b/graphics/pokemon/kingler/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/kingler_front_pic.png rename to graphics/pokemon/kingler/anim_front.png diff --git a/graphics/pokemon/back_pics/kingler_back_pic.png b/graphics/pokemon/kingler/back.png similarity index 100% rename from graphics/pokemon/back_pics/kingler_back_pic.png rename to graphics/pokemon/kingler/back.png diff --git a/graphics/pokemon/footprints/kingler_footprint.png b/graphics/pokemon/kingler/footprint.png similarity index 100% rename from graphics/pokemon/footprints/kingler_footprint.png rename to graphics/pokemon/kingler/footprint.png diff --git a/graphics/pokemon/front_pics/kingler_still_front_pic.png b/graphics/pokemon/kingler/front.png similarity index 100% rename from graphics/pokemon/front_pics/kingler_still_front_pic.png rename to graphics/pokemon/kingler/front.png diff --git a/graphics/pokemon/icons/kingler_icon.png b/graphics/pokemon/kingler/icon.png similarity index 100% rename from graphics/pokemon/icons/kingler_icon.png rename to graphics/pokemon/kingler/icon.png diff --git a/graphics/pokemon/palettes/kingler_palette.pal b/graphics/pokemon/kingler/normal.pal similarity index 100% rename from graphics/pokemon/palettes/kingler_palette.pal rename to graphics/pokemon/kingler/normal.pal diff --git a/graphics/pokemon/palettes/kingler_shiny_palette.pal b/graphics/pokemon/kingler/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/kingler_shiny_palette.pal rename to graphics/pokemon/kingler/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/kirlia_front_pic.png b/graphics/pokemon/kirlia/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/kirlia_front_pic.png rename to graphics/pokemon/kirlia/anim_front.png diff --git a/graphics/pokemon/back_pics/kirlia_back_pic.png b/graphics/pokemon/kirlia/back.png similarity index 100% rename from graphics/pokemon/back_pics/kirlia_back_pic.png rename to graphics/pokemon/kirlia/back.png diff --git a/graphics/pokemon/footprints/kirlia_footprint.png b/graphics/pokemon/kirlia/footprint.png similarity index 100% rename from graphics/pokemon/footprints/kirlia_footprint.png rename to graphics/pokemon/kirlia/footprint.png diff --git a/graphics/pokemon/front_pics/kirlia_still_front_pic.png b/graphics/pokemon/kirlia/front.png similarity index 100% rename from graphics/pokemon/front_pics/kirlia_still_front_pic.png rename to graphics/pokemon/kirlia/front.png diff --git a/graphics/pokemon/icons/kirlia_icon.png b/graphics/pokemon/kirlia/icon.png similarity index 100% rename from graphics/pokemon/icons/kirlia_icon.png rename to graphics/pokemon/kirlia/icon.png diff --git a/graphics/pokemon/palettes/kirlia_palette.pal b/graphics/pokemon/kirlia/normal.pal similarity index 100% rename from graphics/pokemon/palettes/kirlia_palette.pal rename to graphics/pokemon/kirlia/normal.pal diff --git a/graphics/pokemon/palettes/kirlia_shiny_palette.pal b/graphics/pokemon/kirlia/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/kirlia_shiny_palette.pal rename to graphics/pokemon/kirlia/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/koffing_front_pic.png b/graphics/pokemon/koffing/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/koffing_front_pic.png rename to graphics/pokemon/koffing/anim_front.png diff --git a/graphics/pokemon/back_pics/koffing_back_pic.png b/graphics/pokemon/koffing/back.png similarity index 100% rename from graphics/pokemon/back_pics/koffing_back_pic.png rename to graphics/pokemon/koffing/back.png diff --git a/graphics/pokemon/footprints/koffing_footprint.png b/graphics/pokemon/koffing/footprint.png similarity index 100% rename from graphics/pokemon/footprints/koffing_footprint.png rename to graphics/pokemon/koffing/footprint.png diff --git a/graphics/pokemon/front_pics/koffing_still_front_pic.png b/graphics/pokemon/koffing/front.png similarity index 100% rename from graphics/pokemon/front_pics/koffing_still_front_pic.png rename to graphics/pokemon/koffing/front.png diff --git a/graphics/pokemon/icons/koffing_icon.png b/graphics/pokemon/koffing/icon.png similarity index 100% rename from graphics/pokemon/icons/koffing_icon.png rename to graphics/pokemon/koffing/icon.png diff --git a/graphics/pokemon/palettes/koffing_palette.pal b/graphics/pokemon/koffing/normal.pal similarity index 100% rename from graphics/pokemon/palettes/koffing_palette.pal rename to graphics/pokemon/koffing/normal.pal diff --git a/graphics/pokemon/palettes/koffing_shiny_palette.pal b/graphics/pokemon/koffing/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/koffing_shiny_palette.pal rename to graphics/pokemon/koffing/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/krabby_front_pic.png b/graphics/pokemon/krabby/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/krabby_front_pic.png rename to graphics/pokemon/krabby/anim_front.png diff --git a/graphics/pokemon/back_pics/krabby_back_pic.png b/graphics/pokemon/krabby/back.png similarity index 100% rename from graphics/pokemon/back_pics/krabby_back_pic.png rename to graphics/pokemon/krabby/back.png diff --git a/graphics/pokemon/footprints/krabby_footprint.png b/graphics/pokemon/krabby/footprint.png similarity index 100% rename from graphics/pokemon/footprints/krabby_footprint.png rename to graphics/pokemon/krabby/footprint.png diff --git a/graphics/pokemon/front_pics/krabby_still_front_pic.png b/graphics/pokemon/krabby/front.png similarity index 100% rename from graphics/pokemon/front_pics/krabby_still_front_pic.png rename to graphics/pokemon/krabby/front.png diff --git a/graphics/pokemon/icons/krabby_icon.png b/graphics/pokemon/krabby/icon.png similarity index 100% rename from graphics/pokemon/icons/krabby_icon.png rename to graphics/pokemon/krabby/icon.png diff --git a/graphics/pokemon/palettes/krabby_palette.pal b/graphics/pokemon/krabby/normal.pal similarity index 100% rename from graphics/pokemon/palettes/krabby_palette.pal rename to graphics/pokemon/krabby/normal.pal diff --git a/graphics/pokemon/palettes/krabby_shiny_palette.pal b/graphics/pokemon/krabby/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/krabby_shiny_palette.pal rename to graphics/pokemon/krabby/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/kyogre_front_pic.png b/graphics/pokemon/kyogre/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/kyogre_front_pic.png rename to graphics/pokemon/kyogre/anim_front.png diff --git a/graphics/pokemon/back_pics/kyogre_back_pic.png b/graphics/pokemon/kyogre/back.png similarity index 100% rename from graphics/pokemon/back_pics/kyogre_back_pic.png rename to graphics/pokemon/kyogre/back.png diff --git a/graphics/pokemon/footprints/kyogre_footprint.png b/graphics/pokemon/kyogre/footprint.png similarity index 100% rename from graphics/pokemon/footprints/kyogre_footprint.png rename to graphics/pokemon/kyogre/footprint.png diff --git a/graphics/pokemon/front_pics/kyogre_still_front_pic.png b/graphics/pokemon/kyogre/front.png similarity index 100% rename from graphics/pokemon/front_pics/kyogre_still_front_pic.png rename to graphics/pokemon/kyogre/front.png diff --git a/graphics/pokemon/icons/kyogre_icon.png b/graphics/pokemon/kyogre/icon.png similarity index 100% rename from graphics/pokemon/icons/kyogre_icon.png rename to graphics/pokemon/kyogre/icon.png diff --git a/graphics/pokemon/palettes/kyogre_palette.pal b/graphics/pokemon/kyogre/normal.pal similarity index 100% rename from graphics/pokemon/palettes/kyogre_palette.pal rename to graphics/pokemon/kyogre/normal.pal diff --git a/graphics/pokemon/palettes/kyogre_shiny_palette.pal b/graphics/pokemon/kyogre/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/kyogre_shiny_palette.pal rename to graphics/pokemon/kyogre/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/lairon_front_pic.png b/graphics/pokemon/lairon/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/lairon_front_pic.png rename to graphics/pokemon/lairon/anim_front.png diff --git a/graphics/pokemon/back_pics/lairon_back_pic.png b/graphics/pokemon/lairon/back.png similarity index 100% rename from graphics/pokemon/back_pics/lairon_back_pic.png rename to graphics/pokemon/lairon/back.png diff --git a/graphics/pokemon/footprints/lairon_footprint.png b/graphics/pokemon/lairon/footprint.png similarity index 100% rename from graphics/pokemon/footprints/lairon_footprint.png rename to graphics/pokemon/lairon/footprint.png diff --git a/graphics/pokemon/front_pics/lairon_still_front_pic.png b/graphics/pokemon/lairon/front.png similarity index 100% rename from graphics/pokemon/front_pics/lairon_still_front_pic.png rename to graphics/pokemon/lairon/front.png diff --git a/graphics/pokemon/icons/lairon_icon.png b/graphics/pokemon/lairon/icon.png similarity index 100% rename from graphics/pokemon/icons/lairon_icon.png rename to graphics/pokemon/lairon/icon.png diff --git a/graphics/pokemon/palettes/lairon_palette.pal b/graphics/pokemon/lairon/normal.pal similarity index 100% rename from graphics/pokemon/palettes/lairon_palette.pal rename to graphics/pokemon/lairon/normal.pal diff --git a/graphics/pokemon/palettes/lairon_shiny_palette.pal b/graphics/pokemon/lairon/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/lairon_shiny_palette.pal rename to graphics/pokemon/lairon/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/lanturn_front_pic.png b/graphics/pokemon/lanturn/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/lanturn_front_pic.png rename to graphics/pokemon/lanturn/anim_front.png diff --git a/graphics/pokemon/back_pics/lanturn_back_pic.png b/graphics/pokemon/lanturn/back.png similarity index 100% rename from graphics/pokemon/back_pics/lanturn_back_pic.png rename to graphics/pokemon/lanturn/back.png diff --git a/graphics/pokemon/footprints/lanturn_footprint.png b/graphics/pokemon/lanturn/footprint.png similarity index 100% rename from graphics/pokemon/footprints/lanturn_footprint.png rename to graphics/pokemon/lanturn/footprint.png diff --git a/graphics/pokemon/front_pics/lanturn_still_front_pic.png b/graphics/pokemon/lanturn/front.png similarity index 100% rename from graphics/pokemon/front_pics/lanturn_still_front_pic.png rename to graphics/pokemon/lanturn/front.png diff --git a/graphics/pokemon/icons/lanturn_icon.png b/graphics/pokemon/lanturn/icon.png similarity index 100% rename from graphics/pokemon/icons/lanturn_icon.png rename to graphics/pokemon/lanturn/icon.png diff --git a/graphics/pokemon/palettes/lanturn_palette.pal b/graphics/pokemon/lanturn/normal.pal similarity index 100% rename from graphics/pokemon/palettes/lanturn_palette.pal rename to graphics/pokemon/lanturn/normal.pal diff --git a/graphics/pokemon/palettes/lanturn_shiny_palette.pal b/graphics/pokemon/lanturn/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/lanturn_shiny_palette.pal rename to graphics/pokemon/lanturn/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/lapras_front_pic.png b/graphics/pokemon/lapras/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/lapras_front_pic.png rename to graphics/pokemon/lapras/anim_front.png diff --git a/graphics/pokemon/back_pics/lapras_back_pic.png b/graphics/pokemon/lapras/back.png similarity index 100% rename from graphics/pokemon/back_pics/lapras_back_pic.png rename to graphics/pokemon/lapras/back.png diff --git a/graphics/pokemon/footprints/lapras_footprint.png b/graphics/pokemon/lapras/footprint.png similarity index 100% rename from graphics/pokemon/footprints/lapras_footprint.png rename to graphics/pokemon/lapras/footprint.png diff --git a/graphics/pokemon/front_pics/lapras_still_front_pic.png b/graphics/pokemon/lapras/front.png similarity index 100% rename from graphics/pokemon/front_pics/lapras_still_front_pic.png rename to graphics/pokemon/lapras/front.png diff --git a/graphics/pokemon/icons/lapras_icon.png b/graphics/pokemon/lapras/icon.png similarity index 100% rename from graphics/pokemon/icons/lapras_icon.png rename to graphics/pokemon/lapras/icon.png diff --git a/graphics/pokemon/palettes/lapras_palette.pal b/graphics/pokemon/lapras/normal.pal similarity index 100% rename from graphics/pokemon/palettes/lapras_palette.pal rename to graphics/pokemon/lapras/normal.pal diff --git a/graphics/pokemon/palettes/lapras_shiny_palette.pal b/graphics/pokemon/lapras/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/lapras_shiny_palette.pal rename to graphics/pokemon/lapras/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/larvitar_front_pic.png b/graphics/pokemon/larvitar/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/larvitar_front_pic.png rename to graphics/pokemon/larvitar/anim_front.png diff --git a/graphics/pokemon/back_pics/larvitar_back_pic.png b/graphics/pokemon/larvitar/back.png similarity index 100% rename from graphics/pokemon/back_pics/larvitar_back_pic.png rename to graphics/pokemon/larvitar/back.png diff --git a/graphics/pokemon/footprints/larvitar_footprint.png b/graphics/pokemon/larvitar/footprint.png similarity index 100% rename from graphics/pokemon/footprints/larvitar_footprint.png rename to graphics/pokemon/larvitar/footprint.png diff --git a/graphics/pokemon/front_pics/larvitar_still_front_pic.png b/graphics/pokemon/larvitar/front.png similarity index 100% rename from graphics/pokemon/front_pics/larvitar_still_front_pic.png rename to graphics/pokemon/larvitar/front.png diff --git a/graphics/pokemon/icons/larvitar_icon.png b/graphics/pokemon/larvitar/icon.png similarity index 100% rename from graphics/pokemon/icons/larvitar_icon.png rename to graphics/pokemon/larvitar/icon.png diff --git a/graphics/pokemon/palettes/larvitar_palette.pal b/graphics/pokemon/larvitar/normal.pal similarity index 100% rename from graphics/pokemon/palettes/larvitar_palette.pal rename to graphics/pokemon/larvitar/normal.pal diff --git a/graphics/pokemon/palettes/larvitar_shiny_palette.pal b/graphics/pokemon/larvitar/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/larvitar_shiny_palette.pal rename to graphics/pokemon/larvitar/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/latias_front_pic.png b/graphics/pokemon/latias/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/latias_front_pic.png rename to graphics/pokemon/latias/anim_front.png diff --git a/graphics/pokemon/back_pics/latias_back_pic.png b/graphics/pokemon/latias/back.png similarity index 100% rename from graphics/pokemon/back_pics/latias_back_pic.png rename to graphics/pokemon/latias/back.png diff --git a/graphics/pokemon/footprints/latias_footprint.png b/graphics/pokemon/latias/footprint.png similarity index 100% rename from graphics/pokemon/footprints/latias_footprint.png rename to graphics/pokemon/latias/footprint.png diff --git a/graphics/pokemon/front_pics/latias_still_front_pic.png b/graphics/pokemon/latias/front.png similarity index 100% rename from graphics/pokemon/front_pics/latias_still_front_pic.png rename to graphics/pokemon/latias/front.png diff --git a/graphics/pokemon/icons/latias_icon.png b/graphics/pokemon/latias/icon.png similarity index 100% rename from graphics/pokemon/icons/latias_icon.png rename to graphics/pokemon/latias/icon.png diff --git a/graphics/pokemon/palettes/latias_palette.pal b/graphics/pokemon/latias/normal.pal similarity index 100% rename from graphics/pokemon/palettes/latias_palette.pal rename to graphics/pokemon/latias/normal.pal diff --git a/graphics/pokemon/palettes/latias_shiny_palette.pal b/graphics/pokemon/latias/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/latias_shiny_palette.pal rename to graphics/pokemon/latias/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/latios_front_pic.png b/graphics/pokemon/latios/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/latios_front_pic.png rename to graphics/pokemon/latios/anim_front.png diff --git a/graphics/pokemon/back_pics/latios_back_pic.png b/graphics/pokemon/latios/back.png similarity index 100% rename from graphics/pokemon/back_pics/latios_back_pic.png rename to graphics/pokemon/latios/back.png diff --git a/graphics/pokemon/footprints/latios_footprint.png b/graphics/pokemon/latios/footprint.png similarity index 100% rename from graphics/pokemon/footprints/latios_footprint.png rename to graphics/pokemon/latios/footprint.png diff --git a/graphics/pokemon/front_pics/latios_still_front_pic.png b/graphics/pokemon/latios/front.png similarity index 100% rename from graphics/pokemon/front_pics/latios_still_front_pic.png rename to graphics/pokemon/latios/front.png diff --git a/graphics/pokemon/icons/latios_icon.png b/graphics/pokemon/latios/icon.png similarity index 100% rename from graphics/pokemon/icons/latios_icon.png rename to graphics/pokemon/latios/icon.png diff --git a/graphics/pokemon/palettes/latios_palette.pal b/graphics/pokemon/latios/normal.pal similarity index 100% rename from graphics/pokemon/palettes/latios_palette.pal rename to graphics/pokemon/latios/normal.pal diff --git a/graphics/pokemon/palettes/latios_shiny_palette.pal b/graphics/pokemon/latios/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/latios_shiny_palette.pal rename to graphics/pokemon/latios/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/ledian_front_pic.png b/graphics/pokemon/ledian/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/ledian_front_pic.png rename to graphics/pokemon/ledian/anim_front.png diff --git a/graphics/pokemon/back_pics/ledian_back_pic.png b/graphics/pokemon/ledian/back.png similarity index 100% rename from graphics/pokemon/back_pics/ledian_back_pic.png rename to graphics/pokemon/ledian/back.png diff --git a/graphics/pokemon/footprints/ledian_footprint.png b/graphics/pokemon/ledian/footprint.png similarity index 100% rename from graphics/pokemon/footprints/ledian_footprint.png rename to graphics/pokemon/ledian/footprint.png diff --git a/graphics/pokemon/front_pics/ledian_still_front_pic.png b/graphics/pokemon/ledian/front.png similarity index 100% rename from graphics/pokemon/front_pics/ledian_still_front_pic.png rename to graphics/pokemon/ledian/front.png diff --git a/graphics/pokemon/icons/ledian_icon.png b/graphics/pokemon/ledian/icon.png similarity index 100% rename from graphics/pokemon/icons/ledian_icon.png rename to graphics/pokemon/ledian/icon.png diff --git a/graphics/pokemon/palettes/ledian_palette.pal b/graphics/pokemon/ledian/normal.pal similarity index 100% rename from graphics/pokemon/palettes/ledian_palette.pal rename to graphics/pokemon/ledian/normal.pal diff --git a/graphics/pokemon/palettes/ledian_shiny_palette.pal b/graphics/pokemon/ledian/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/ledian_shiny_palette.pal rename to graphics/pokemon/ledian/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/ledyba_front_pic.png b/graphics/pokemon/ledyba/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/ledyba_front_pic.png rename to graphics/pokemon/ledyba/anim_front.png diff --git a/graphics/pokemon/back_pics/ledyba_back_pic.png b/graphics/pokemon/ledyba/back.png similarity index 100% rename from graphics/pokemon/back_pics/ledyba_back_pic.png rename to graphics/pokemon/ledyba/back.png diff --git a/graphics/pokemon/footprints/ledyba_footprint.png b/graphics/pokemon/ledyba/footprint.png similarity index 100% rename from graphics/pokemon/footprints/ledyba_footprint.png rename to graphics/pokemon/ledyba/footprint.png diff --git a/graphics/pokemon/front_pics/ledyba_still_front_pic.png b/graphics/pokemon/ledyba/front.png similarity index 100% rename from graphics/pokemon/front_pics/ledyba_still_front_pic.png rename to graphics/pokemon/ledyba/front.png diff --git a/graphics/pokemon/icons/ledyba_icon.png b/graphics/pokemon/ledyba/icon.png similarity index 100% rename from graphics/pokemon/icons/ledyba_icon.png rename to graphics/pokemon/ledyba/icon.png diff --git a/graphics/pokemon/palettes/ledyba_palette.pal b/graphics/pokemon/ledyba/normal.pal similarity index 100% rename from graphics/pokemon/palettes/ledyba_palette.pal rename to graphics/pokemon/ledyba/normal.pal diff --git a/graphics/pokemon/palettes/ledyba_shiny_palette.pal b/graphics/pokemon/ledyba/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/ledyba_shiny_palette.pal rename to graphics/pokemon/ledyba/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/lickitung_front_pic.png b/graphics/pokemon/lickitung/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/lickitung_front_pic.png rename to graphics/pokemon/lickitung/anim_front.png diff --git a/graphics/pokemon/back_pics/lickitung_back_pic.png b/graphics/pokemon/lickitung/back.png similarity index 100% rename from graphics/pokemon/back_pics/lickitung_back_pic.png rename to graphics/pokemon/lickitung/back.png diff --git a/graphics/pokemon/footprints/lickitung_footprint.png b/graphics/pokemon/lickitung/footprint.png similarity index 100% rename from graphics/pokemon/footprints/lickitung_footprint.png rename to graphics/pokemon/lickitung/footprint.png diff --git a/graphics/pokemon/front_pics/lickitung_still_front_pic.png b/graphics/pokemon/lickitung/front.png similarity index 100% rename from graphics/pokemon/front_pics/lickitung_still_front_pic.png rename to graphics/pokemon/lickitung/front.png diff --git a/graphics/pokemon/icons/lickitung_icon.png b/graphics/pokemon/lickitung/icon.png similarity index 100% rename from graphics/pokemon/icons/lickitung_icon.png rename to graphics/pokemon/lickitung/icon.png diff --git a/graphics/pokemon/palettes/lickitung_palette.pal b/graphics/pokemon/lickitung/normal.pal similarity index 100% rename from graphics/pokemon/palettes/lickitung_palette.pal rename to graphics/pokemon/lickitung/normal.pal diff --git a/graphics/pokemon/palettes/lickitung_shiny_palette.pal b/graphics/pokemon/lickitung/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/lickitung_shiny_palette.pal rename to graphics/pokemon/lickitung/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/lileep_front_pic.png b/graphics/pokemon/lileep/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/lileep_front_pic.png rename to graphics/pokemon/lileep/anim_front.png diff --git a/graphics/pokemon/back_pics/lileep_back_pic.png b/graphics/pokemon/lileep/back.png similarity index 100% rename from graphics/pokemon/back_pics/lileep_back_pic.png rename to graphics/pokemon/lileep/back.png diff --git a/graphics/pokemon/footprints/lileep_footprint.png b/graphics/pokemon/lileep/footprint.png similarity index 100% rename from graphics/pokemon/footprints/lileep_footprint.png rename to graphics/pokemon/lileep/footprint.png diff --git a/graphics/pokemon/front_pics/lileep_still_front_pic.png b/graphics/pokemon/lileep/front.png similarity index 100% rename from graphics/pokemon/front_pics/lileep_still_front_pic.png rename to graphics/pokemon/lileep/front.png diff --git a/graphics/pokemon/icons/lileep_icon.png b/graphics/pokemon/lileep/icon.png similarity index 100% rename from graphics/pokemon/icons/lileep_icon.png rename to graphics/pokemon/lileep/icon.png diff --git a/graphics/pokemon/palettes/lileep_palette.pal b/graphics/pokemon/lileep/normal.pal similarity index 100% rename from graphics/pokemon/palettes/lileep_palette.pal rename to graphics/pokemon/lileep/normal.pal diff --git a/graphics/pokemon/palettes/lileep_shiny_palette.pal b/graphics/pokemon/lileep/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/lileep_shiny_palette.pal rename to graphics/pokemon/lileep/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/linoone_front_pic.png b/graphics/pokemon/linoone/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/linoone_front_pic.png rename to graphics/pokemon/linoone/anim_front.png diff --git a/graphics/pokemon/back_pics/linoone_back_pic.png b/graphics/pokemon/linoone/back.png similarity index 100% rename from graphics/pokemon/back_pics/linoone_back_pic.png rename to graphics/pokemon/linoone/back.png diff --git a/graphics/pokemon/footprints/linoone_footprint.png b/graphics/pokemon/linoone/footprint.png similarity index 100% rename from graphics/pokemon/footprints/linoone_footprint.png rename to graphics/pokemon/linoone/footprint.png diff --git a/graphics/pokemon/front_pics/linoone_still_front_pic.png b/graphics/pokemon/linoone/front.png similarity index 100% rename from graphics/pokemon/front_pics/linoone_still_front_pic.png rename to graphics/pokemon/linoone/front.png diff --git a/graphics/pokemon/icons/linoone_icon.png b/graphics/pokemon/linoone/icon.png similarity index 100% rename from graphics/pokemon/icons/linoone_icon.png rename to graphics/pokemon/linoone/icon.png diff --git a/graphics/pokemon/palettes/linoone_palette.pal b/graphics/pokemon/linoone/normal.pal similarity index 100% rename from graphics/pokemon/palettes/linoone_palette.pal rename to graphics/pokemon/linoone/normal.pal diff --git a/graphics/pokemon/palettes/linoone_shiny_palette.pal b/graphics/pokemon/linoone/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/linoone_shiny_palette.pal rename to graphics/pokemon/linoone/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/lombre_front_pic.png b/graphics/pokemon/lombre/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/lombre_front_pic.png rename to graphics/pokemon/lombre/anim_front.png diff --git a/graphics/pokemon/back_pics/lombre_back_pic.png b/graphics/pokemon/lombre/back.png similarity index 100% rename from graphics/pokemon/back_pics/lombre_back_pic.png rename to graphics/pokemon/lombre/back.png diff --git a/graphics/pokemon/footprints/lombre_footprint.png b/graphics/pokemon/lombre/footprint.png similarity index 100% rename from graphics/pokemon/footprints/lombre_footprint.png rename to graphics/pokemon/lombre/footprint.png diff --git a/graphics/pokemon/front_pics/lombre_still_front_pic.png b/graphics/pokemon/lombre/front.png similarity index 100% rename from graphics/pokemon/front_pics/lombre_still_front_pic.png rename to graphics/pokemon/lombre/front.png diff --git a/graphics/pokemon/icons/lombre_icon.png b/graphics/pokemon/lombre/icon.png similarity index 100% rename from graphics/pokemon/icons/lombre_icon.png rename to graphics/pokemon/lombre/icon.png diff --git a/graphics/pokemon/palettes/lombre_palette.pal b/graphics/pokemon/lombre/normal.pal similarity index 100% rename from graphics/pokemon/palettes/lombre_palette.pal rename to graphics/pokemon/lombre/normal.pal diff --git a/graphics/pokemon/palettes/lombre_shiny_palette.pal b/graphics/pokemon/lombre/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/lombre_shiny_palette.pal rename to graphics/pokemon/lombre/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/lotad_front_pic.png b/graphics/pokemon/lotad/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/lotad_front_pic.png rename to graphics/pokemon/lotad/anim_front.png diff --git a/graphics/pokemon/back_pics/lotad_back_pic.png b/graphics/pokemon/lotad/back.png similarity index 100% rename from graphics/pokemon/back_pics/lotad_back_pic.png rename to graphics/pokemon/lotad/back.png diff --git a/graphics/pokemon/footprints/lotad_footprint.png b/graphics/pokemon/lotad/footprint.png similarity index 100% rename from graphics/pokemon/footprints/lotad_footprint.png rename to graphics/pokemon/lotad/footprint.png diff --git a/graphics/pokemon/front_pics/lotad_still_front_pic.png b/graphics/pokemon/lotad/front.png similarity index 100% rename from graphics/pokemon/front_pics/lotad_still_front_pic.png rename to graphics/pokemon/lotad/front.png diff --git a/graphics/pokemon/icons/lotad_icon.png b/graphics/pokemon/lotad/icon.png similarity index 100% rename from graphics/pokemon/icons/lotad_icon.png rename to graphics/pokemon/lotad/icon.png diff --git a/graphics/pokemon/palettes/lotad_palette.pal b/graphics/pokemon/lotad/normal.pal similarity index 100% rename from graphics/pokemon/palettes/lotad_palette.pal rename to graphics/pokemon/lotad/normal.pal diff --git a/graphics/pokemon/palettes/lotad_shiny_palette.pal b/graphics/pokemon/lotad/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/lotad_shiny_palette.pal rename to graphics/pokemon/lotad/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/loudred_front_pic.png b/graphics/pokemon/loudred/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/loudred_front_pic.png rename to graphics/pokemon/loudred/anim_front.png diff --git a/graphics/pokemon/back_pics/loudred_back_pic.png b/graphics/pokemon/loudred/back.png similarity index 100% rename from graphics/pokemon/back_pics/loudred_back_pic.png rename to graphics/pokemon/loudred/back.png diff --git a/graphics/pokemon/footprints/loudred_footprint.png b/graphics/pokemon/loudred/footprint.png similarity index 100% rename from graphics/pokemon/footprints/loudred_footprint.png rename to graphics/pokemon/loudred/footprint.png diff --git a/graphics/pokemon/front_pics/loudred_still_front_pic.png b/graphics/pokemon/loudred/front.png similarity index 100% rename from graphics/pokemon/front_pics/loudred_still_front_pic.png rename to graphics/pokemon/loudred/front.png diff --git a/graphics/pokemon/icons/loudred_icon.png b/graphics/pokemon/loudred/icon.png similarity index 100% rename from graphics/pokemon/icons/loudred_icon.png rename to graphics/pokemon/loudred/icon.png diff --git a/graphics/pokemon/palettes/loudred_palette.pal b/graphics/pokemon/loudred/normal.pal similarity index 100% rename from graphics/pokemon/palettes/loudred_palette.pal rename to graphics/pokemon/loudred/normal.pal diff --git a/graphics/pokemon/palettes/loudred_shiny_palette.pal b/graphics/pokemon/loudred/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/loudred_shiny_palette.pal rename to graphics/pokemon/loudred/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/ludicolo_front_pic.png b/graphics/pokemon/ludicolo/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/ludicolo_front_pic.png rename to graphics/pokemon/ludicolo/anim_front.png diff --git a/graphics/pokemon/back_pics/ludicolo_back_pic.png b/graphics/pokemon/ludicolo/back.png similarity index 100% rename from graphics/pokemon/back_pics/ludicolo_back_pic.png rename to graphics/pokemon/ludicolo/back.png diff --git a/graphics/pokemon/footprints/ludicolo_footprint.png b/graphics/pokemon/ludicolo/footprint.png similarity index 100% rename from graphics/pokemon/footprints/ludicolo_footprint.png rename to graphics/pokemon/ludicolo/footprint.png diff --git a/graphics/pokemon/front_pics/ludicolo_still_front_pic.png b/graphics/pokemon/ludicolo/front.png similarity index 100% rename from graphics/pokemon/front_pics/ludicolo_still_front_pic.png rename to graphics/pokemon/ludicolo/front.png diff --git a/graphics/pokemon/icons/ludicolo_icon.png b/graphics/pokemon/ludicolo/icon.png similarity index 100% rename from graphics/pokemon/icons/ludicolo_icon.png rename to graphics/pokemon/ludicolo/icon.png diff --git a/graphics/pokemon/palettes/ludicolo_palette.pal b/graphics/pokemon/ludicolo/normal.pal similarity index 100% rename from graphics/pokemon/palettes/ludicolo_palette.pal rename to graphics/pokemon/ludicolo/normal.pal diff --git a/graphics/pokemon/palettes/ludicolo_shiny_palette.pal b/graphics/pokemon/ludicolo/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/ludicolo_shiny_palette.pal rename to graphics/pokemon/ludicolo/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/lugia_front_pic.png b/graphics/pokemon/lugia/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/lugia_front_pic.png rename to graphics/pokemon/lugia/anim_front.png diff --git a/graphics/pokemon/back_pics/lugia_back_pic.png b/graphics/pokemon/lugia/back.png similarity index 100% rename from graphics/pokemon/back_pics/lugia_back_pic.png rename to graphics/pokemon/lugia/back.png diff --git a/graphics/pokemon/footprints/lugia_footprint.png b/graphics/pokemon/lugia/footprint.png similarity index 100% rename from graphics/pokemon/footprints/lugia_footprint.png rename to graphics/pokemon/lugia/footprint.png diff --git a/graphics/pokemon/front_pics/lugia_still_front_pic.png b/graphics/pokemon/lugia/front.png similarity index 100% rename from graphics/pokemon/front_pics/lugia_still_front_pic.png rename to graphics/pokemon/lugia/front.png diff --git a/graphics/pokemon/icons/lugia_icon.png b/graphics/pokemon/lugia/icon.png similarity index 100% rename from graphics/pokemon/icons/lugia_icon.png rename to graphics/pokemon/lugia/icon.png diff --git a/graphics/pokemon/palettes/lugia_palette.pal b/graphics/pokemon/lugia/normal.pal similarity index 100% rename from graphics/pokemon/palettes/lugia_palette.pal rename to graphics/pokemon/lugia/normal.pal diff --git a/graphics/pokemon/palettes/lugia_shiny_palette.pal b/graphics/pokemon/lugia/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/lugia_shiny_palette.pal rename to graphics/pokemon/lugia/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/lunatone_front_pic.png b/graphics/pokemon/lunatone/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/lunatone_front_pic.png rename to graphics/pokemon/lunatone/anim_front.png diff --git a/graphics/pokemon/back_pics/lunatone_back_pic.png b/graphics/pokemon/lunatone/back.png similarity index 100% rename from graphics/pokemon/back_pics/lunatone_back_pic.png rename to graphics/pokemon/lunatone/back.png diff --git a/graphics/pokemon/footprints/lunatone_footprint.png b/graphics/pokemon/lunatone/footprint.png similarity index 100% rename from graphics/pokemon/footprints/lunatone_footprint.png rename to graphics/pokemon/lunatone/footprint.png diff --git a/graphics/pokemon/front_pics/lunatone_still_front_pic.png b/graphics/pokemon/lunatone/front.png similarity index 100% rename from graphics/pokemon/front_pics/lunatone_still_front_pic.png rename to graphics/pokemon/lunatone/front.png diff --git a/graphics/pokemon/icons/lunatone_icon.png b/graphics/pokemon/lunatone/icon.png similarity index 100% rename from graphics/pokemon/icons/lunatone_icon.png rename to graphics/pokemon/lunatone/icon.png diff --git a/graphics/pokemon/palettes/lunatone_palette.pal b/graphics/pokemon/lunatone/normal.pal similarity index 100% rename from graphics/pokemon/palettes/lunatone_palette.pal rename to graphics/pokemon/lunatone/normal.pal diff --git a/graphics/pokemon/palettes/lunatone_shiny_palette.pal b/graphics/pokemon/lunatone/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/lunatone_shiny_palette.pal rename to graphics/pokemon/lunatone/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/luvdisc_front_pic.png b/graphics/pokemon/luvdisc/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/luvdisc_front_pic.png rename to graphics/pokemon/luvdisc/anim_front.png diff --git a/graphics/pokemon/back_pics/luvdisc_back_pic.png b/graphics/pokemon/luvdisc/back.png similarity index 100% rename from graphics/pokemon/back_pics/luvdisc_back_pic.png rename to graphics/pokemon/luvdisc/back.png diff --git a/graphics/pokemon/footprints/luvdisc_footprint.png b/graphics/pokemon/luvdisc/footprint.png similarity index 100% rename from graphics/pokemon/footprints/luvdisc_footprint.png rename to graphics/pokemon/luvdisc/footprint.png diff --git a/graphics/pokemon/front_pics/luvdisc_still_front_pic.png b/graphics/pokemon/luvdisc/front.png similarity index 100% rename from graphics/pokemon/front_pics/luvdisc_still_front_pic.png rename to graphics/pokemon/luvdisc/front.png diff --git a/graphics/pokemon/icons/luvdisc_icon.png b/graphics/pokemon/luvdisc/icon.png similarity index 100% rename from graphics/pokemon/icons/luvdisc_icon.png rename to graphics/pokemon/luvdisc/icon.png diff --git a/graphics/pokemon/palettes/luvdisc_palette.pal b/graphics/pokemon/luvdisc/normal.pal similarity index 100% rename from graphics/pokemon/palettes/luvdisc_palette.pal rename to graphics/pokemon/luvdisc/normal.pal diff --git a/graphics/pokemon/palettes/luvdisc_shiny_palette.pal b/graphics/pokemon/luvdisc/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/luvdisc_shiny_palette.pal rename to graphics/pokemon/luvdisc/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/machamp_front_pic.png b/graphics/pokemon/machamp/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/machamp_front_pic.png rename to graphics/pokemon/machamp/anim_front.png diff --git a/graphics/pokemon/back_pics/machamp_back_pic.png b/graphics/pokemon/machamp/back.png similarity index 100% rename from graphics/pokemon/back_pics/machamp_back_pic.png rename to graphics/pokemon/machamp/back.png diff --git a/graphics/pokemon/footprints/machamp_footprint.png b/graphics/pokemon/machamp/footprint.png similarity index 100% rename from graphics/pokemon/footprints/machamp_footprint.png rename to graphics/pokemon/machamp/footprint.png diff --git a/graphics/pokemon/front_pics/machamp_still_front_pic.png b/graphics/pokemon/machamp/front.png similarity index 100% rename from graphics/pokemon/front_pics/machamp_still_front_pic.png rename to graphics/pokemon/machamp/front.png diff --git a/graphics/pokemon/icons/machamp_icon.png b/graphics/pokemon/machamp/icon.png similarity index 100% rename from graphics/pokemon/icons/machamp_icon.png rename to graphics/pokemon/machamp/icon.png diff --git a/graphics/pokemon/palettes/machamp_palette.pal b/graphics/pokemon/machamp/normal.pal similarity index 100% rename from graphics/pokemon/palettes/machamp_palette.pal rename to graphics/pokemon/machamp/normal.pal diff --git a/graphics/pokemon/palettes/machamp_shiny_palette.pal b/graphics/pokemon/machamp/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/machamp_shiny_palette.pal rename to graphics/pokemon/machamp/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/machoke_front_pic.png b/graphics/pokemon/machoke/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/machoke_front_pic.png rename to graphics/pokemon/machoke/anim_front.png diff --git a/graphics/pokemon/back_pics/machoke_back_pic.png b/graphics/pokemon/machoke/back.png similarity index 100% rename from graphics/pokemon/back_pics/machoke_back_pic.png rename to graphics/pokemon/machoke/back.png diff --git a/graphics/pokemon/footprints/machoke_footprint.png b/graphics/pokemon/machoke/footprint.png similarity index 100% rename from graphics/pokemon/footprints/machoke_footprint.png rename to graphics/pokemon/machoke/footprint.png diff --git a/graphics/pokemon/front_pics/machoke_still_front_pic.png b/graphics/pokemon/machoke/front.png similarity index 100% rename from graphics/pokemon/front_pics/machoke_still_front_pic.png rename to graphics/pokemon/machoke/front.png diff --git a/graphics/pokemon/icons/machoke_icon.png b/graphics/pokemon/machoke/icon.png similarity index 100% rename from graphics/pokemon/icons/machoke_icon.png rename to graphics/pokemon/machoke/icon.png diff --git a/graphics/pokemon/palettes/machoke_palette.pal b/graphics/pokemon/machoke/normal.pal similarity index 100% rename from graphics/pokemon/palettes/machoke_palette.pal rename to graphics/pokemon/machoke/normal.pal diff --git a/graphics/pokemon/palettes/machoke_shiny_palette.pal b/graphics/pokemon/machoke/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/machoke_shiny_palette.pal rename to graphics/pokemon/machoke/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/machop_front_pic.png b/graphics/pokemon/machop/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/machop_front_pic.png rename to graphics/pokemon/machop/anim_front.png diff --git a/graphics/pokemon/back_pics/machop_back_pic.png b/graphics/pokemon/machop/back.png similarity index 100% rename from graphics/pokemon/back_pics/machop_back_pic.png rename to graphics/pokemon/machop/back.png diff --git a/graphics/pokemon/footprints/machop_footprint.png b/graphics/pokemon/machop/footprint.png similarity index 100% rename from graphics/pokemon/footprints/machop_footprint.png rename to graphics/pokemon/machop/footprint.png diff --git a/graphics/pokemon/front_pics/machop_still_front_pic.png b/graphics/pokemon/machop/front.png similarity index 100% rename from graphics/pokemon/front_pics/machop_still_front_pic.png rename to graphics/pokemon/machop/front.png diff --git a/graphics/pokemon/icons/machop_icon.png b/graphics/pokemon/machop/icon.png similarity index 100% rename from graphics/pokemon/icons/machop_icon.png rename to graphics/pokemon/machop/icon.png diff --git a/graphics/pokemon/palettes/machop_palette.pal b/graphics/pokemon/machop/normal.pal similarity index 100% rename from graphics/pokemon/palettes/machop_palette.pal rename to graphics/pokemon/machop/normal.pal diff --git a/graphics/pokemon/palettes/machop_shiny_palette.pal b/graphics/pokemon/machop/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/machop_shiny_palette.pal rename to graphics/pokemon/machop/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/magby_front_pic.png b/graphics/pokemon/magby/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/magby_front_pic.png rename to graphics/pokemon/magby/anim_front.png diff --git a/graphics/pokemon/back_pics/magby_back_pic.png b/graphics/pokemon/magby/back.png similarity index 100% rename from graphics/pokemon/back_pics/magby_back_pic.png rename to graphics/pokemon/magby/back.png diff --git a/graphics/pokemon/footprints/magby_footprint.png b/graphics/pokemon/magby/footprint.png similarity index 100% rename from graphics/pokemon/footprints/magby_footprint.png rename to graphics/pokemon/magby/footprint.png diff --git a/graphics/pokemon/front_pics/magby_still_front_pic.png b/graphics/pokemon/magby/front.png similarity index 100% rename from graphics/pokemon/front_pics/magby_still_front_pic.png rename to graphics/pokemon/magby/front.png diff --git a/graphics/pokemon/icons/magby_icon.png b/graphics/pokemon/magby/icon.png similarity index 100% rename from graphics/pokemon/icons/magby_icon.png rename to graphics/pokemon/magby/icon.png diff --git a/graphics/pokemon/palettes/magby_palette.pal b/graphics/pokemon/magby/normal.pal similarity index 100% rename from graphics/pokemon/palettes/magby_palette.pal rename to graphics/pokemon/magby/normal.pal diff --git a/graphics/pokemon/palettes/magby_shiny_palette.pal b/graphics/pokemon/magby/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/magby_shiny_palette.pal rename to graphics/pokemon/magby/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/magcargo_front_pic.png b/graphics/pokemon/magcargo/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/magcargo_front_pic.png rename to graphics/pokemon/magcargo/anim_front.png diff --git a/graphics/pokemon/back_pics/magcargo_back_pic.png b/graphics/pokemon/magcargo/back.png similarity index 100% rename from graphics/pokemon/back_pics/magcargo_back_pic.png rename to graphics/pokemon/magcargo/back.png diff --git a/graphics/pokemon/footprints/magcargo_footprint.png b/graphics/pokemon/magcargo/footprint.png similarity index 100% rename from graphics/pokemon/footprints/magcargo_footprint.png rename to graphics/pokemon/magcargo/footprint.png diff --git a/graphics/pokemon/front_pics/magcargo_still_front_pic.png b/graphics/pokemon/magcargo/front.png similarity index 100% rename from graphics/pokemon/front_pics/magcargo_still_front_pic.png rename to graphics/pokemon/magcargo/front.png diff --git a/graphics/pokemon/icons/magcargo_icon.png b/graphics/pokemon/magcargo/icon.png similarity index 100% rename from graphics/pokemon/icons/magcargo_icon.png rename to graphics/pokemon/magcargo/icon.png diff --git a/graphics/pokemon/palettes/magcargo_palette.pal b/graphics/pokemon/magcargo/normal.pal similarity index 100% rename from graphics/pokemon/palettes/magcargo_palette.pal rename to graphics/pokemon/magcargo/normal.pal diff --git a/graphics/pokemon/palettes/magcargo_shiny_palette.pal b/graphics/pokemon/magcargo/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/magcargo_shiny_palette.pal rename to graphics/pokemon/magcargo/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/magikarp_front_pic.png b/graphics/pokemon/magikarp/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/magikarp_front_pic.png rename to graphics/pokemon/magikarp/anim_front.png diff --git a/graphics/pokemon/back_pics/magikarp_back_pic.png b/graphics/pokemon/magikarp/back.png similarity index 100% rename from graphics/pokemon/back_pics/magikarp_back_pic.png rename to graphics/pokemon/magikarp/back.png diff --git a/graphics/pokemon/footprints/magikarp_footprint.png b/graphics/pokemon/magikarp/footprint.png similarity index 100% rename from graphics/pokemon/footprints/magikarp_footprint.png rename to graphics/pokemon/magikarp/footprint.png diff --git a/graphics/pokemon/front_pics/magikarp_still_front_pic.png b/graphics/pokemon/magikarp/front.png similarity index 100% rename from graphics/pokemon/front_pics/magikarp_still_front_pic.png rename to graphics/pokemon/magikarp/front.png diff --git a/graphics/pokemon/icons/magikarp_icon.png b/graphics/pokemon/magikarp/icon.png similarity index 100% rename from graphics/pokemon/icons/magikarp_icon.png rename to graphics/pokemon/magikarp/icon.png diff --git a/graphics/pokemon/palettes/magikarp_palette.pal b/graphics/pokemon/magikarp/normal.pal similarity index 100% rename from graphics/pokemon/palettes/magikarp_palette.pal rename to graphics/pokemon/magikarp/normal.pal diff --git a/graphics/pokemon/palettes/magikarp_shiny_palette.pal b/graphics/pokemon/magikarp/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/magikarp_shiny_palette.pal rename to graphics/pokemon/magikarp/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/magmar_front_pic.png b/graphics/pokemon/magmar/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/magmar_front_pic.png rename to graphics/pokemon/magmar/anim_front.png diff --git a/graphics/pokemon/back_pics/magmar_back_pic.png b/graphics/pokemon/magmar/back.png similarity index 100% rename from graphics/pokemon/back_pics/magmar_back_pic.png rename to graphics/pokemon/magmar/back.png diff --git a/graphics/pokemon/footprints/magmar_footprint.png b/graphics/pokemon/magmar/footprint.png similarity index 100% rename from graphics/pokemon/footprints/magmar_footprint.png rename to graphics/pokemon/magmar/footprint.png diff --git a/graphics/pokemon/front_pics/magmar_still_front_pic.png b/graphics/pokemon/magmar/front.png similarity index 100% rename from graphics/pokemon/front_pics/magmar_still_front_pic.png rename to graphics/pokemon/magmar/front.png diff --git a/graphics/pokemon/icons/magmar_icon.png b/graphics/pokemon/magmar/icon.png similarity index 100% rename from graphics/pokemon/icons/magmar_icon.png rename to graphics/pokemon/magmar/icon.png diff --git a/graphics/pokemon/palettes/magmar_palette.pal b/graphics/pokemon/magmar/normal.pal similarity index 100% rename from graphics/pokemon/palettes/magmar_palette.pal rename to graphics/pokemon/magmar/normal.pal diff --git a/graphics/pokemon/palettes/magmar_shiny_palette.pal b/graphics/pokemon/magmar/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/magmar_shiny_palette.pal rename to graphics/pokemon/magmar/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/magnemite_front_pic.png b/graphics/pokemon/magnemite/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/magnemite_front_pic.png rename to graphics/pokemon/magnemite/anim_front.png diff --git a/graphics/pokemon/back_pics/magnemite_back_pic.png b/graphics/pokemon/magnemite/back.png similarity index 100% rename from graphics/pokemon/back_pics/magnemite_back_pic.png rename to graphics/pokemon/magnemite/back.png diff --git a/graphics/pokemon/footprints/magnemite_footprint.png b/graphics/pokemon/magnemite/footprint.png similarity index 100% rename from graphics/pokemon/footprints/magnemite_footprint.png rename to graphics/pokemon/magnemite/footprint.png diff --git a/graphics/pokemon/front_pics/magnemite_still_front_pic.png b/graphics/pokemon/magnemite/front.png similarity index 100% rename from graphics/pokemon/front_pics/magnemite_still_front_pic.png rename to graphics/pokemon/magnemite/front.png diff --git a/graphics/pokemon/icons/magnemite_icon.png b/graphics/pokemon/magnemite/icon.png similarity index 100% rename from graphics/pokemon/icons/magnemite_icon.png rename to graphics/pokemon/magnemite/icon.png diff --git a/graphics/pokemon/palettes/magnemite_palette.pal b/graphics/pokemon/magnemite/normal.pal similarity index 100% rename from graphics/pokemon/palettes/magnemite_palette.pal rename to graphics/pokemon/magnemite/normal.pal diff --git a/graphics/pokemon/palettes/magnemite_shiny_palette.pal b/graphics/pokemon/magnemite/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/magnemite_shiny_palette.pal rename to graphics/pokemon/magnemite/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/magneton_front_pic.png b/graphics/pokemon/magneton/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/magneton_front_pic.png rename to graphics/pokemon/magneton/anim_front.png diff --git a/graphics/pokemon/back_pics/magneton_back_pic.png b/graphics/pokemon/magneton/back.png similarity index 100% rename from graphics/pokemon/back_pics/magneton_back_pic.png rename to graphics/pokemon/magneton/back.png diff --git a/graphics/pokemon/footprints/magneton_footprint.png b/graphics/pokemon/magneton/footprint.png similarity index 100% rename from graphics/pokemon/footprints/magneton_footprint.png rename to graphics/pokemon/magneton/footprint.png diff --git a/graphics/pokemon/front_pics/magneton_still_front_pic.png b/graphics/pokemon/magneton/front.png similarity index 100% rename from graphics/pokemon/front_pics/magneton_still_front_pic.png rename to graphics/pokemon/magneton/front.png diff --git a/graphics/pokemon/icons/magneton_icon.png b/graphics/pokemon/magneton/icon.png similarity index 100% rename from graphics/pokemon/icons/magneton_icon.png rename to graphics/pokemon/magneton/icon.png diff --git a/graphics/pokemon/palettes/magneton_palette.pal b/graphics/pokemon/magneton/normal.pal similarity index 100% rename from graphics/pokemon/palettes/magneton_palette.pal rename to graphics/pokemon/magneton/normal.pal diff --git a/graphics/pokemon/palettes/magneton_shiny_palette.pal b/graphics/pokemon/magneton/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/magneton_shiny_palette.pal rename to graphics/pokemon/magneton/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/makuhita_front_pic.png b/graphics/pokemon/makuhita/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/makuhita_front_pic.png rename to graphics/pokemon/makuhita/anim_front.png diff --git a/graphics/pokemon/back_pics/makuhita_back_pic.png b/graphics/pokemon/makuhita/back.png similarity index 100% rename from graphics/pokemon/back_pics/makuhita_back_pic.png rename to graphics/pokemon/makuhita/back.png diff --git a/graphics/pokemon/footprints/makuhita_footprint.png b/graphics/pokemon/makuhita/footprint.png similarity index 100% rename from graphics/pokemon/footprints/makuhita_footprint.png rename to graphics/pokemon/makuhita/footprint.png diff --git a/graphics/pokemon/front_pics/makuhita_still_front_pic.png b/graphics/pokemon/makuhita/front.png similarity index 100% rename from graphics/pokemon/front_pics/makuhita_still_front_pic.png rename to graphics/pokemon/makuhita/front.png diff --git a/graphics/pokemon/icons/makuhita_icon.png b/graphics/pokemon/makuhita/icon.png similarity index 100% rename from graphics/pokemon/icons/makuhita_icon.png rename to graphics/pokemon/makuhita/icon.png diff --git a/graphics/pokemon/palettes/makuhita_palette.pal b/graphics/pokemon/makuhita/normal.pal similarity index 100% rename from graphics/pokemon/palettes/makuhita_palette.pal rename to graphics/pokemon/makuhita/normal.pal diff --git a/graphics/pokemon/palettes/makuhita_shiny_palette.pal b/graphics/pokemon/makuhita/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/makuhita_shiny_palette.pal rename to graphics/pokemon/makuhita/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/manectric_front_pic.png b/graphics/pokemon/manectric/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/manectric_front_pic.png rename to graphics/pokemon/manectric/anim_front.png diff --git a/graphics/pokemon/back_pics/manectric_back_pic.png b/graphics/pokemon/manectric/back.png similarity index 100% rename from graphics/pokemon/back_pics/manectric_back_pic.png rename to graphics/pokemon/manectric/back.png diff --git a/graphics/pokemon/footprints/manectric_footprint.png b/graphics/pokemon/manectric/footprint.png similarity index 100% rename from graphics/pokemon/footprints/manectric_footprint.png rename to graphics/pokemon/manectric/footprint.png diff --git a/graphics/pokemon/front_pics/manectric_still_front_pic.png b/graphics/pokemon/manectric/front.png similarity index 100% rename from graphics/pokemon/front_pics/manectric_still_front_pic.png rename to graphics/pokemon/manectric/front.png diff --git a/graphics/pokemon/icons/manectric_icon.png b/graphics/pokemon/manectric/icon.png similarity index 100% rename from graphics/pokemon/icons/manectric_icon.png rename to graphics/pokemon/manectric/icon.png diff --git a/graphics/pokemon/palettes/manectric_palette.pal b/graphics/pokemon/manectric/normal.pal similarity index 100% rename from graphics/pokemon/palettes/manectric_palette.pal rename to graphics/pokemon/manectric/normal.pal diff --git a/graphics/pokemon/palettes/manectric_shiny_palette.pal b/graphics/pokemon/manectric/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/manectric_shiny_palette.pal rename to graphics/pokemon/manectric/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/mankey_front_pic.png b/graphics/pokemon/mankey/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/mankey_front_pic.png rename to graphics/pokemon/mankey/anim_front.png diff --git a/graphics/pokemon/back_pics/mankey_back_pic.png b/graphics/pokemon/mankey/back.png similarity index 100% rename from graphics/pokemon/back_pics/mankey_back_pic.png rename to graphics/pokemon/mankey/back.png diff --git a/graphics/pokemon/footprints/mankey_footprint.png b/graphics/pokemon/mankey/footprint.png similarity index 100% rename from graphics/pokemon/footprints/mankey_footprint.png rename to graphics/pokemon/mankey/footprint.png diff --git a/graphics/pokemon/front_pics/mankey_still_front_pic.png b/graphics/pokemon/mankey/front.png similarity index 100% rename from graphics/pokemon/front_pics/mankey_still_front_pic.png rename to graphics/pokemon/mankey/front.png diff --git a/graphics/pokemon/icons/mankey_icon.png b/graphics/pokemon/mankey/icon.png similarity index 100% rename from graphics/pokemon/icons/mankey_icon.png rename to graphics/pokemon/mankey/icon.png diff --git a/graphics/pokemon/palettes/mankey_palette.pal b/graphics/pokemon/mankey/normal.pal similarity index 100% rename from graphics/pokemon/palettes/mankey_palette.pal rename to graphics/pokemon/mankey/normal.pal diff --git a/graphics/pokemon/palettes/mankey_shiny_palette.pal b/graphics/pokemon/mankey/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/mankey_shiny_palette.pal rename to graphics/pokemon/mankey/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/mantine_front_pic.png b/graphics/pokemon/mantine/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/mantine_front_pic.png rename to graphics/pokemon/mantine/anim_front.png diff --git a/graphics/pokemon/back_pics/mantine_back_pic.png b/graphics/pokemon/mantine/back.png similarity index 100% rename from graphics/pokemon/back_pics/mantine_back_pic.png rename to graphics/pokemon/mantine/back.png diff --git a/graphics/pokemon/footprints/mantine_footprint.png b/graphics/pokemon/mantine/footprint.png similarity index 100% rename from graphics/pokemon/footprints/mantine_footprint.png rename to graphics/pokemon/mantine/footprint.png diff --git a/graphics/pokemon/front_pics/mantine_still_front_pic.png b/graphics/pokemon/mantine/front.png similarity index 100% rename from graphics/pokemon/front_pics/mantine_still_front_pic.png rename to graphics/pokemon/mantine/front.png diff --git a/graphics/pokemon/icons/mantine_icon.png b/graphics/pokemon/mantine/icon.png similarity index 100% rename from graphics/pokemon/icons/mantine_icon.png rename to graphics/pokemon/mantine/icon.png diff --git a/graphics/pokemon/palettes/mantine_palette.pal b/graphics/pokemon/mantine/normal.pal similarity index 100% rename from graphics/pokemon/palettes/mantine_palette.pal rename to graphics/pokemon/mantine/normal.pal diff --git a/graphics/pokemon/palettes/mantine_shiny_palette.pal b/graphics/pokemon/mantine/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/mantine_shiny_palette.pal rename to graphics/pokemon/mantine/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/mareep_front_pic.png b/graphics/pokemon/mareep/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/mareep_front_pic.png rename to graphics/pokemon/mareep/anim_front.png diff --git a/graphics/pokemon/back_pics/mareep_back_pic.png b/graphics/pokemon/mareep/back.png similarity index 100% rename from graphics/pokemon/back_pics/mareep_back_pic.png rename to graphics/pokemon/mareep/back.png diff --git a/graphics/pokemon/footprints/mareep_footprint.png b/graphics/pokemon/mareep/footprint.png similarity index 100% rename from graphics/pokemon/footprints/mareep_footprint.png rename to graphics/pokemon/mareep/footprint.png diff --git a/graphics/pokemon/front_pics/mareep_still_front_pic.png b/graphics/pokemon/mareep/front.png similarity index 100% rename from graphics/pokemon/front_pics/mareep_still_front_pic.png rename to graphics/pokemon/mareep/front.png diff --git a/graphics/pokemon/icons/mareep_icon.png b/graphics/pokemon/mareep/icon.png similarity index 100% rename from graphics/pokemon/icons/mareep_icon.png rename to graphics/pokemon/mareep/icon.png diff --git a/graphics/pokemon/palettes/mareep_palette.pal b/graphics/pokemon/mareep/normal.pal similarity index 100% rename from graphics/pokemon/palettes/mareep_palette.pal rename to graphics/pokemon/mareep/normal.pal diff --git a/graphics/pokemon/palettes/mareep_shiny_palette.pal b/graphics/pokemon/mareep/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/mareep_shiny_palette.pal rename to graphics/pokemon/mareep/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/marill_front_pic.png b/graphics/pokemon/marill/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/marill_front_pic.png rename to graphics/pokemon/marill/anim_front.png diff --git a/graphics/pokemon/back_pics/marill_back_pic.png b/graphics/pokemon/marill/back.png similarity index 100% rename from graphics/pokemon/back_pics/marill_back_pic.png rename to graphics/pokemon/marill/back.png diff --git a/graphics/pokemon/footprints/marill_footprint.png b/graphics/pokemon/marill/footprint.png similarity index 100% rename from graphics/pokemon/footprints/marill_footprint.png rename to graphics/pokemon/marill/footprint.png diff --git a/graphics/pokemon/front_pics/marill_still_front_pic.png b/graphics/pokemon/marill/front.png similarity index 100% rename from graphics/pokemon/front_pics/marill_still_front_pic.png rename to graphics/pokemon/marill/front.png diff --git a/graphics/pokemon/icons/marill_icon.png b/graphics/pokemon/marill/icon.png similarity index 100% rename from graphics/pokemon/icons/marill_icon.png rename to graphics/pokemon/marill/icon.png diff --git a/graphics/pokemon/palettes/marill_palette.pal b/graphics/pokemon/marill/normal.pal similarity index 100% rename from graphics/pokemon/palettes/marill_palette.pal rename to graphics/pokemon/marill/normal.pal diff --git a/graphics/pokemon/palettes/marill_shiny_palette.pal b/graphics/pokemon/marill/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/marill_shiny_palette.pal rename to graphics/pokemon/marill/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/marowak_front_pic.png b/graphics/pokemon/marowak/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/marowak_front_pic.png rename to graphics/pokemon/marowak/anim_front.png diff --git a/graphics/pokemon/back_pics/marowak_back_pic.png b/graphics/pokemon/marowak/back.png similarity index 100% rename from graphics/pokemon/back_pics/marowak_back_pic.png rename to graphics/pokemon/marowak/back.png diff --git a/graphics/pokemon/footprints/marowak_footprint.png b/graphics/pokemon/marowak/footprint.png similarity index 100% rename from graphics/pokemon/footprints/marowak_footprint.png rename to graphics/pokemon/marowak/footprint.png diff --git a/graphics/pokemon/front_pics/marowak_still_front_pic.png b/graphics/pokemon/marowak/front.png similarity index 100% rename from graphics/pokemon/front_pics/marowak_still_front_pic.png rename to graphics/pokemon/marowak/front.png diff --git a/graphics/pokemon/icons/marowak_icon.png b/graphics/pokemon/marowak/icon.png similarity index 100% rename from graphics/pokemon/icons/marowak_icon.png rename to graphics/pokemon/marowak/icon.png diff --git a/graphics/pokemon/palettes/marowak_palette.pal b/graphics/pokemon/marowak/normal.pal similarity index 100% rename from graphics/pokemon/palettes/marowak_palette.pal rename to graphics/pokemon/marowak/normal.pal diff --git a/graphics/pokemon/palettes/marowak_shiny_palette.pal b/graphics/pokemon/marowak/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/marowak_shiny_palette.pal rename to graphics/pokemon/marowak/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/marshtomp_front_pic.png b/graphics/pokemon/marshtomp/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/marshtomp_front_pic.png rename to graphics/pokemon/marshtomp/anim_front.png diff --git a/graphics/pokemon/back_pics/marshtomp_back_pic.png b/graphics/pokemon/marshtomp/back.png similarity index 100% rename from graphics/pokemon/back_pics/marshtomp_back_pic.png rename to graphics/pokemon/marshtomp/back.png diff --git a/graphics/pokemon/footprints/marshtomp_footprint.png b/graphics/pokemon/marshtomp/footprint.png similarity index 100% rename from graphics/pokemon/footprints/marshtomp_footprint.png rename to graphics/pokemon/marshtomp/footprint.png diff --git a/graphics/pokemon/front_pics/marshtomp_still_front_pic.png b/graphics/pokemon/marshtomp/front.png similarity index 100% rename from graphics/pokemon/front_pics/marshtomp_still_front_pic.png rename to graphics/pokemon/marshtomp/front.png diff --git a/graphics/pokemon/icons/marshtomp_icon.png b/graphics/pokemon/marshtomp/icon.png similarity index 100% rename from graphics/pokemon/icons/marshtomp_icon.png rename to graphics/pokemon/marshtomp/icon.png diff --git a/graphics/pokemon/palettes/marshtomp_palette.pal b/graphics/pokemon/marshtomp/normal.pal similarity index 100% rename from graphics/pokemon/palettes/marshtomp_palette.pal rename to graphics/pokemon/marshtomp/normal.pal diff --git a/graphics/pokemon/palettes/marshtomp_shiny_palette.pal b/graphics/pokemon/marshtomp/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/marshtomp_shiny_palette.pal rename to graphics/pokemon/marshtomp/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/masquerain_front_pic.png b/graphics/pokemon/masquerain/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/masquerain_front_pic.png rename to graphics/pokemon/masquerain/anim_front.png diff --git a/graphics/pokemon/back_pics/masquerain_back_pic.png b/graphics/pokemon/masquerain/back.png similarity index 100% rename from graphics/pokemon/back_pics/masquerain_back_pic.png rename to graphics/pokemon/masquerain/back.png diff --git a/graphics/pokemon/footprints/masquerain_footprint.png b/graphics/pokemon/masquerain/footprint.png similarity index 100% rename from graphics/pokemon/footprints/masquerain_footprint.png rename to graphics/pokemon/masquerain/footprint.png diff --git a/graphics/pokemon/front_pics/masquerain_still_front_pic.png b/graphics/pokemon/masquerain/front.png similarity index 100% rename from graphics/pokemon/front_pics/masquerain_still_front_pic.png rename to graphics/pokemon/masquerain/front.png diff --git a/graphics/pokemon/icons/masquerain_icon.png b/graphics/pokemon/masquerain/icon.png similarity index 100% rename from graphics/pokemon/icons/masquerain_icon.png rename to graphics/pokemon/masquerain/icon.png diff --git a/graphics/pokemon/palettes/masquerain_palette.pal b/graphics/pokemon/masquerain/normal.pal similarity index 100% rename from graphics/pokemon/palettes/masquerain_palette.pal rename to graphics/pokemon/masquerain/normal.pal diff --git a/graphics/pokemon/palettes/masquerain_shiny_palette.pal b/graphics/pokemon/masquerain/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/masquerain_shiny_palette.pal rename to graphics/pokemon/masquerain/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/mawile_front_pic.png b/graphics/pokemon/mawile/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/mawile_front_pic.png rename to graphics/pokemon/mawile/anim_front.png diff --git a/graphics/pokemon/back_pics/mawile_back_pic.png b/graphics/pokemon/mawile/back.png similarity index 100% rename from graphics/pokemon/back_pics/mawile_back_pic.png rename to graphics/pokemon/mawile/back.png diff --git a/graphics/pokemon/footprints/mawile_footprint.png b/graphics/pokemon/mawile/footprint.png similarity index 100% rename from graphics/pokemon/footprints/mawile_footprint.png rename to graphics/pokemon/mawile/footprint.png diff --git a/graphics/pokemon/front_pics/mawile_still_front_pic.png b/graphics/pokemon/mawile/front.png similarity index 100% rename from graphics/pokemon/front_pics/mawile_still_front_pic.png rename to graphics/pokemon/mawile/front.png diff --git a/graphics/pokemon/icons/mawile_icon.png b/graphics/pokemon/mawile/icon.png similarity index 100% rename from graphics/pokemon/icons/mawile_icon.png rename to graphics/pokemon/mawile/icon.png diff --git a/graphics/pokemon/palettes/mawile_palette.pal b/graphics/pokemon/mawile/normal.pal similarity index 100% rename from graphics/pokemon/palettes/mawile_palette.pal rename to graphics/pokemon/mawile/normal.pal diff --git a/graphics/pokemon/palettes/mawile_shiny_palette.pal b/graphics/pokemon/mawile/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/mawile_shiny_palette.pal rename to graphics/pokemon/mawile/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/medicham_front_pic.png b/graphics/pokemon/medicham/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/medicham_front_pic.png rename to graphics/pokemon/medicham/anim_front.png diff --git a/graphics/pokemon/back_pics/medicham_back_pic.png b/graphics/pokemon/medicham/back.png similarity index 100% rename from graphics/pokemon/back_pics/medicham_back_pic.png rename to graphics/pokemon/medicham/back.png diff --git a/graphics/pokemon/footprints/medicham_footprint.png b/graphics/pokemon/medicham/footprint.png similarity index 100% rename from graphics/pokemon/footprints/medicham_footprint.png rename to graphics/pokemon/medicham/footprint.png diff --git a/graphics/pokemon/front_pics/medicham_still_front_pic.png b/graphics/pokemon/medicham/front.png similarity index 100% rename from graphics/pokemon/front_pics/medicham_still_front_pic.png rename to graphics/pokemon/medicham/front.png diff --git a/graphics/pokemon/icons/medicham_icon.png b/graphics/pokemon/medicham/icon.png similarity index 100% rename from graphics/pokemon/icons/medicham_icon.png rename to graphics/pokemon/medicham/icon.png diff --git a/graphics/pokemon/palettes/medicham_palette.pal b/graphics/pokemon/medicham/normal.pal similarity index 100% rename from graphics/pokemon/palettes/medicham_palette.pal rename to graphics/pokemon/medicham/normal.pal diff --git a/graphics/pokemon/palettes/medicham_shiny_palette.pal b/graphics/pokemon/medicham/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/medicham_shiny_palette.pal rename to graphics/pokemon/medicham/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/meditite_front_pic.png b/graphics/pokemon/meditite/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/meditite_front_pic.png rename to graphics/pokemon/meditite/anim_front.png diff --git a/graphics/pokemon/back_pics/meditite_back_pic.png b/graphics/pokemon/meditite/back.png similarity index 100% rename from graphics/pokemon/back_pics/meditite_back_pic.png rename to graphics/pokemon/meditite/back.png diff --git a/graphics/pokemon/footprints/meditite_footprint.png b/graphics/pokemon/meditite/footprint.png similarity index 100% rename from graphics/pokemon/footprints/meditite_footprint.png rename to graphics/pokemon/meditite/footprint.png diff --git a/graphics/pokemon/front_pics/meditite_still_front_pic.png b/graphics/pokemon/meditite/front.png similarity index 100% rename from graphics/pokemon/front_pics/meditite_still_front_pic.png rename to graphics/pokemon/meditite/front.png diff --git a/graphics/pokemon/icons/meditite_icon.png b/graphics/pokemon/meditite/icon.png similarity index 100% rename from graphics/pokemon/icons/meditite_icon.png rename to graphics/pokemon/meditite/icon.png diff --git a/graphics/pokemon/palettes/meditite_palette.pal b/graphics/pokemon/meditite/normal.pal similarity index 100% rename from graphics/pokemon/palettes/meditite_palette.pal rename to graphics/pokemon/meditite/normal.pal diff --git a/graphics/pokemon/palettes/meditite_shiny_palette.pal b/graphics/pokemon/meditite/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/meditite_shiny_palette.pal rename to graphics/pokemon/meditite/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/meganium_front_pic.png b/graphics/pokemon/meganium/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/meganium_front_pic.png rename to graphics/pokemon/meganium/anim_front.png diff --git a/graphics/pokemon/back_pics/meganium_back_pic.png b/graphics/pokemon/meganium/back.png similarity index 100% rename from graphics/pokemon/back_pics/meganium_back_pic.png rename to graphics/pokemon/meganium/back.png diff --git a/graphics/pokemon/footprints/meganium_footprint.png b/graphics/pokemon/meganium/footprint.png similarity index 100% rename from graphics/pokemon/footprints/meganium_footprint.png rename to graphics/pokemon/meganium/footprint.png diff --git a/graphics/pokemon/front_pics/meganium_still_front_pic.png b/graphics/pokemon/meganium/front.png similarity index 100% rename from graphics/pokemon/front_pics/meganium_still_front_pic.png rename to graphics/pokemon/meganium/front.png diff --git a/graphics/pokemon/icons/meganium_icon.png b/graphics/pokemon/meganium/icon.png similarity index 100% rename from graphics/pokemon/icons/meganium_icon.png rename to graphics/pokemon/meganium/icon.png diff --git a/graphics/pokemon/palettes/meganium_palette.pal b/graphics/pokemon/meganium/normal.pal similarity index 100% rename from graphics/pokemon/palettes/meganium_palette.pal rename to graphics/pokemon/meganium/normal.pal diff --git a/graphics/pokemon/palettes/meganium_shiny_palette.pal b/graphics/pokemon/meganium/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/meganium_shiny_palette.pal rename to graphics/pokemon/meganium/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/meowth_front_pic.png b/graphics/pokemon/meowth/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/meowth_front_pic.png rename to graphics/pokemon/meowth/anim_front.png diff --git a/graphics/pokemon/back_pics/meowth_back_pic.png b/graphics/pokemon/meowth/back.png similarity index 100% rename from graphics/pokemon/back_pics/meowth_back_pic.png rename to graphics/pokemon/meowth/back.png diff --git a/graphics/pokemon/footprints/meowth_footprint.png b/graphics/pokemon/meowth/footprint.png similarity index 100% rename from graphics/pokemon/footprints/meowth_footprint.png rename to graphics/pokemon/meowth/footprint.png diff --git a/graphics/pokemon/front_pics/meowth_still_front_pic.png b/graphics/pokemon/meowth/front.png similarity index 100% rename from graphics/pokemon/front_pics/meowth_still_front_pic.png rename to graphics/pokemon/meowth/front.png diff --git a/graphics/pokemon/icons/meowth_icon.png b/graphics/pokemon/meowth/icon.png similarity index 100% rename from graphics/pokemon/icons/meowth_icon.png rename to graphics/pokemon/meowth/icon.png diff --git a/graphics/pokemon/palettes/meowth_palette.pal b/graphics/pokemon/meowth/normal.pal similarity index 100% rename from graphics/pokemon/palettes/meowth_palette.pal rename to graphics/pokemon/meowth/normal.pal diff --git a/graphics/pokemon/palettes/meowth_shiny_palette.pal b/graphics/pokemon/meowth/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/meowth_shiny_palette.pal rename to graphics/pokemon/meowth/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/metagross_front_pic.png b/graphics/pokemon/metagross/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/metagross_front_pic.png rename to graphics/pokemon/metagross/anim_front.png diff --git a/graphics/pokemon/back_pics/metagross_back_pic.png b/graphics/pokemon/metagross/back.png similarity index 100% rename from graphics/pokemon/back_pics/metagross_back_pic.png rename to graphics/pokemon/metagross/back.png diff --git a/graphics/pokemon/footprints/metagross_footprint.png b/graphics/pokemon/metagross/footprint.png similarity index 100% rename from graphics/pokemon/footprints/metagross_footprint.png rename to graphics/pokemon/metagross/footprint.png diff --git a/graphics/pokemon/front_pics/metagross_still_front_pic.png b/graphics/pokemon/metagross/front.png similarity index 100% rename from graphics/pokemon/front_pics/metagross_still_front_pic.png rename to graphics/pokemon/metagross/front.png diff --git a/graphics/pokemon/icons/metagross_icon.png b/graphics/pokemon/metagross/icon.png similarity index 100% rename from graphics/pokemon/icons/metagross_icon.png rename to graphics/pokemon/metagross/icon.png diff --git a/graphics/pokemon/palettes/metagross_palette.pal b/graphics/pokemon/metagross/normal.pal similarity index 100% rename from graphics/pokemon/palettes/metagross_palette.pal rename to graphics/pokemon/metagross/normal.pal diff --git a/graphics/pokemon/palettes/metagross_shiny_palette.pal b/graphics/pokemon/metagross/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/metagross_shiny_palette.pal rename to graphics/pokemon/metagross/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/metang_front_pic.png b/graphics/pokemon/metang/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/metang_front_pic.png rename to graphics/pokemon/metang/anim_front.png diff --git a/graphics/pokemon/back_pics/metang_back_pic.png b/graphics/pokemon/metang/back.png similarity index 100% rename from graphics/pokemon/back_pics/metang_back_pic.png rename to graphics/pokemon/metang/back.png diff --git a/graphics/pokemon/footprints/metang_footprint.png b/graphics/pokemon/metang/footprint.png similarity index 100% rename from graphics/pokemon/footprints/metang_footprint.png rename to graphics/pokemon/metang/footprint.png diff --git a/graphics/pokemon/front_pics/metang_still_front_pic.png b/graphics/pokemon/metang/front.png similarity index 100% rename from graphics/pokemon/front_pics/metang_still_front_pic.png rename to graphics/pokemon/metang/front.png diff --git a/graphics/pokemon/icons/metang_icon.png b/graphics/pokemon/metang/icon.png similarity index 100% rename from graphics/pokemon/icons/metang_icon.png rename to graphics/pokemon/metang/icon.png diff --git a/graphics/pokemon/palettes/metang_palette.pal b/graphics/pokemon/metang/normal.pal similarity index 100% rename from graphics/pokemon/palettes/metang_palette.pal rename to graphics/pokemon/metang/normal.pal diff --git a/graphics/pokemon/palettes/metang_shiny_palette.pal b/graphics/pokemon/metang/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/metang_shiny_palette.pal rename to graphics/pokemon/metang/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/metapod_front_pic.png b/graphics/pokemon/metapod/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/metapod_front_pic.png rename to graphics/pokemon/metapod/anim_front.png diff --git a/graphics/pokemon/back_pics/metapod_back_pic.png b/graphics/pokemon/metapod/back.png similarity index 100% rename from graphics/pokemon/back_pics/metapod_back_pic.png rename to graphics/pokemon/metapod/back.png diff --git a/graphics/pokemon/footprints/metapod_footprint.png b/graphics/pokemon/metapod/footprint.png similarity index 100% rename from graphics/pokemon/footprints/metapod_footprint.png rename to graphics/pokemon/metapod/footprint.png diff --git a/graphics/pokemon/front_pics/metapod_still_front_pic.png b/graphics/pokemon/metapod/front.png similarity index 100% rename from graphics/pokemon/front_pics/metapod_still_front_pic.png rename to graphics/pokemon/metapod/front.png diff --git a/graphics/pokemon/icons/metapod_icon.png b/graphics/pokemon/metapod/icon.png similarity index 100% rename from graphics/pokemon/icons/metapod_icon.png rename to graphics/pokemon/metapod/icon.png diff --git a/graphics/pokemon/palettes/metapod_palette.pal b/graphics/pokemon/metapod/normal.pal similarity index 100% rename from graphics/pokemon/palettes/metapod_palette.pal rename to graphics/pokemon/metapod/normal.pal diff --git a/graphics/pokemon/palettes/metapod_shiny_palette.pal b/graphics/pokemon/metapod/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/metapod_shiny_palette.pal rename to graphics/pokemon/metapod/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/mew_front_pic.png b/graphics/pokemon/mew/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/mew_front_pic.png rename to graphics/pokemon/mew/anim_front.png diff --git a/graphics/pokemon/back_pics/mew_back_pic.png b/graphics/pokemon/mew/back.png similarity index 100% rename from graphics/pokemon/back_pics/mew_back_pic.png rename to graphics/pokemon/mew/back.png diff --git a/graphics/pokemon/footprints/mew_footprint.png b/graphics/pokemon/mew/footprint.png similarity index 100% rename from graphics/pokemon/footprints/mew_footprint.png rename to graphics/pokemon/mew/footprint.png diff --git a/graphics/pokemon/front_pics/mew_still_front_pic.png b/graphics/pokemon/mew/front.png similarity index 100% rename from graphics/pokemon/front_pics/mew_still_front_pic.png rename to graphics/pokemon/mew/front.png diff --git a/graphics/pokemon/icons/mew_icon.png b/graphics/pokemon/mew/icon.png similarity index 100% rename from graphics/pokemon/icons/mew_icon.png rename to graphics/pokemon/mew/icon.png diff --git a/graphics/pokemon/palettes/mew_palette.pal b/graphics/pokemon/mew/normal.pal similarity index 100% rename from graphics/pokemon/palettes/mew_palette.pal rename to graphics/pokemon/mew/normal.pal diff --git a/graphics/pokemon/palettes/mew_shiny_palette.pal b/graphics/pokemon/mew/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/mew_shiny_palette.pal rename to graphics/pokemon/mew/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/mewtwo_front_pic.png b/graphics/pokemon/mewtwo/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/mewtwo_front_pic.png rename to graphics/pokemon/mewtwo/anim_front.png diff --git a/graphics/pokemon/back_pics/mewtwo_back_pic.png b/graphics/pokemon/mewtwo/back.png similarity index 100% rename from graphics/pokemon/back_pics/mewtwo_back_pic.png rename to graphics/pokemon/mewtwo/back.png diff --git a/graphics/pokemon/footprints/mewtwo_footprint.png b/graphics/pokemon/mewtwo/footprint.png similarity index 100% rename from graphics/pokemon/footprints/mewtwo_footprint.png rename to graphics/pokemon/mewtwo/footprint.png diff --git a/graphics/pokemon/front_pics/mewtwo_still_front_pic.png b/graphics/pokemon/mewtwo/front.png similarity index 100% rename from graphics/pokemon/front_pics/mewtwo_still_front_pic.png rename to graphics/pokemon/mewtwo/front.png diff --git a/graphics/pokemon/icons/mewtwo_icon.png b/graphics/pokemon/mewtwo/icon.png similarity index 100% rename from graphics/pokemon/icons/mewtwo_icon.png rename to graphics/pokemon/mewtwo/icon.png diff --git a/graphics/pokemon/palettes/mewtwo_palette.pal b/graphics/pokemon/mewtwo/normal.pal similarity index 100% rename from graphics/pokemon/palettes/mewtwo_palette.pal rename to graphics/pokemon/mewtwo/normal.pal diff --git a/graphics/pokemon/palettes/mewtwo_shiny_palette.pal b/graphics/pokemon/mewtwo/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/mewtwo_shiny_palette.pal rename to graphics/pokemon/mewtwo/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/mightyena_front_pic.png b/graphics/pokemon/mightyena/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/mightyena_front_pic.png rename to graphics/pokemon/mightyena/anim_front.png diff --git a/graphics/pokemon/back_pics/mightyena_back_pic.png b/graphics/pokemon/mightyena/back.png similarity index 100% rename from graphics/pokemon/back_pics/mightyena_back_pic.png rename to graphics/pokemon/mightyena/back.png diff --git a/graphics/pokemon/footprints/mightyena_footprint.png b/graphics/pokemon/mightyena/footprint.png similarity index 100% rename from graphics/pokemon/footprints/mightyena_footprint.png rename to graphics/pokemon/mightyena/footprint.png diff --git a/graphics/pokemon/front_pics/mightyena_still_front_pic.png b/graphics/pokemon/mightyena/front.png similarity index 100% rename from graphics/pokemon/front_pics/mightyena_still_front_pic.png rename to graphics/pokemon/mightyena/front.png diff --git a/graphics/pokemon/icons/mightyena_icon.png b/graphics/pokemon/mightyena/icon.png similarity index 100% rename from graphics/pokemon/icons/mightyena_icon.png rename to graphics/pokemon/mightyena/icon.png diff --git a/graphics/pokemon/palettes/mightyena_palette.pal b/graphics/pokemon/mightyena/normal.pal similarity index 100% rename from graphics/pokemon/palettes/mightyena_palette.pal rename to graphics/pokemon/mightyena/normal.pal diff --git a/graphics/pokemon/palettes/mightyena_shiny_palette.pal b/graphics/pokemon/mightyena/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/mightyena_shiny_palette.pal rename to graphics/pokemon/mightyena/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/milotic_front_pic.png b/graphics/pokemon/milotic/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/milotic_front_pic.png rename to graphics/pokemon/milotic/anim_front.png diff --git a/graphics/pokemon/back_pics/milotic_back_pic.png b/graphics/pokemon/milotic/back.png similarity index 100% rename from graphics/pokemon/back_pics/milotic_back_pic.png rename to graphics/pokemon/milotic/back.png diff --git a/graphics/pokemon/footprints/milotic_footprint.png b/graphics/pokemon/milotic/footprint.png similarity index 100% rename from graphics/pokemon/footprints/milotic_footprint.png rename to graphics/pokemon/milotic/footprint.png diff --git a/graphics/pokemon/front_pics/milotic_still_front_pic.png b/graphics/pokemon/milotic/front.png similarity index 100% rename from graphics/pokemon/front_pics/milotic_still_front_pic.png rename to graphics/pokemon/milotic/front.png diff --git a/graphics/pokemon/icons/milotic_icon.png b/graphics/pokemon/milotic/icon.png similarity index 100% rename from graphics/pokemon/icons/milotic_icon.png rename to graphics/pokemon/milotic/icon.png diff --git a/graphics/pokemon/palettes/milotic_palette.pal b/graphics/pokemon/milotic/normal.pal similarity index 100% rename from graphics/pokemon/palettes/milotic_palette.pal rename to graphics/pokemon/milotic/normal.pal diff --git a/graphics/pokemon/palettes/milotic_shiny_palette.pal b/graphics/pokemon/milotic/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/milotic_shiny_palette.pal rename to graphics/pokemon/milotic/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/miltank_front_pic.png b/graphics/pokemon/miltank/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/miltank_front_pic.png rename to graphics/pokemon/miltank/anim_front.png diff --git a/graphics/pokemon/back_pics/miltank_back_pic.png b/graphics/pokemon/miltank/back.png similarity index 100% rename from graphics/pokemon/back_pics/miltank_back_pic.png rename to graphics/pokemon/miltank/back.png diff --git a/graphics/pokemon/footprints/miltank_footprint.png b/graphics/pokemon/miltank/footprint.png similarity index 100% rename from graphics/pokemon/footprints/miltank_footprint.png rename to graphics/pokemon/miltank/footprint.png diff --git a/graphics/pokemon/front_pics/miltank_still_front_pic.png b/graphics/pokemon/miltank/front.png similarity index 100% rename from graphics/pokemon/front_pics/miltank_still_front_pic.png rename to graphics/pokemon/miltank/front.png diff --git a/graphics/pokemon/icons/miltank_icon.png b/graphics/pokemon/miltank/icon.png similarity index 100% rename from graphics/pokemon/icons/miltank_icon.png rename to graphics/pokemon/miltank/icon.png diff --git a/graphics/pokemon/palettes/miltank_palette.pal b/graphics/pokemon/miltank/normal.pal similarity index 100% rename from graphics/pokemon/palettes/miltank_palette.pal rename to graphics/pokemon/miltank/normal.pal diff --git a/graphics/pokemon/palettes/miltank_shiny_palette.pal b/graphics/pokemon/miltank/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/miltank_shiny_palette.pal rename to graphics/pokemon/miltank/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/minun_front_pic.png b/graphics/pokemon/minun/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/minun_front_pic.png rename to graphics/pokemon/minun/anim_front.png diff --git a/graphics/pokemon/back_pics/minun_back_pic.png b/graphics/pokemon/minun/back.png similarity index 100% rename from graphics/pokemon/back_pics/minun_back_pic.png rename to graphics/pokemon/minun/back.png diff --git a/graphics/pokemon/footprints/minun_footprint.png b/graphics/pokemon/minun/footprint.png similarity index 100% rename from graphics/pokemon/footprints/minun_footprint.png rename to graphics/pokemon/minun/footprint.png diff --git a/graphics/pokemon/front_pics/minun_still_front_pic.png b/graphics/pokemon/minun/front.png similarity index 100% rename from graphics/pokemon/front_pics/minun_still_front_pic.png rename to graphics/pokemon/minun/front.png diff --git a/graphics/pokemon/icons/minun_icon.png b/graphics/pokemon/minun/icon.png similarity index 100% rename from graphics/pokemon/icons/minun_icon.png rename to graphics/pokemon/minun/icon.png diff --git a/graphics/pokemon/palettes/minun_palette.pal b/graphics/pokemon/minun/normal.pal similarity index 100% rename from graphics/pokemon/palettes/minun_palette.pal rename to graphics/pokemon/minun/normal.pal diff --git a/graphics/pokemon/palettes/minun_shiny_palette.pal b/graphics/pokemon/minun/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/minun_shiny_palette.pal rename to graphics/pokemon/minun/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/misdreavus_front_pic.png b/graphics/pokemon/misdreavus/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/misdreavus_front_pic.png rename to graphics/pokemon/misdreavus/anim_front.png diff --git a/graphics/pokemon/back_pics/misdreavus_back_pic.png b/graphics/pokemon/misdreavus/back.png similarity index 100% rename from graphics/pokemon/back_pics/misdreavus_back_pic.png rename to graphics/pokemon/misdreavus/back.png diff --git a/graphics/pokemon/footprints/misdreavus_footprint.png b/graphics/pokemon/misdreavus/footprint.png similarity index 100% rename from graphics/pokemon/footprints/misdreavus_footprint.png rename to graphics/pokemon/misdreavus/footprint.png diff --git a/graphics/pokemon/front_pics/misdreavus_still_front_pic.png b/graphics/pokemon/misdreavus/front.png similarity index 100% rename from graphics/pokemon/front_pics/misdreavus_still_front_pic.png rename to graphics/pokemon/misdreavus/front.png diff --git a/graphics/pokemon/icons/misdreavus_icon.png b/graphics/pokemon/misdreavus/icon.png similarity index 100% rename from graphics/pokemon/icons/misdreavus_icon.png rename to graphics/pokemon/misdreavus/icon.png diff --git a/graphics/pokemon/palettes/misdreavus_palette.pal b/graphics/pokemon/misdreavus/normal.pal similarity index 100% rename from graphics/pokemon/palettes/misdreavus_palette.pal rename to graphics/pokemon/misdreavus/normal.pal diff --git a/graphics/pokemon/palettes/misdreavus_shiny_palette.pal b/graphics/pokemon/misdreavus/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/misdreavus_shiny_palette.pal rename to graphics/pokemon/misdreavus/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/moltres_front_pic.png b/graphics/pokemon/moltres/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/moltres_front_pic.png rename to graphics/pokemon/moltres/anim_front.png diff --git a/graphics/pokemon/back_pics/moltres_back_pic.png b/graphics/pokemon/moltres/back.png similarity index 100% rename from graphics/pokemon/back_pics/moltres_back_pic.png rename to graphics/pokemon/moltres/back.png diff --git a/graphics/pokemon/footprints/moltres_footprint.png b/graphics/pokemon/moltres/footprint.png similarity index 100% rename from graphics/pokemon/footprints/moltres_footprint.png rename to graphics/pokemon/moltres/footprint.png diff --git a/graphics/pokemon/front_pics/moltres_still_front_pic.png b/graphics/pokemon/moltres/front.png similarity index 100% rename from graphics/pokemon/front_pics/moltres_still_front_pic.png rename to graphics/pokemon/moltres/front.png diff --git a/graphics/pokemon/icons/moltres_icon.png b/graphics/pokemon/moltres/icon.png similarity index 100% rename from graphics/pokemon/icons/moltres_icon.png rename to graphics/pokemon/moltres/icon.png diff --git a/graphics/pokemon/palettes/moltres_palette.pal b/graphics/pokemon/moltres/normal.pal similarity index 100% rename from graphics/pokemon/palettes/moltres_palette.pal rename to graphics/pokemon/moltres/normal.pal diff --git a/graphics/pokemon/palettes/moltres_shiny_palette.pal b/graphics/pokemon/moltres/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/moltres_shiny_palette.pal rename to graphics/pokemon/moltres/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/mr_mime_front_pic.png b/graphics/pokemon/mr_mime/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/mr_mime_front_pic.png rename to graphics/pokemon/mr_mime/anim_front.png diff --git a/graphics/pokemon/back_pics/mr_mime_back_pic.png b/graphics/pokemon/mr_mime/back.png similarity index 100% rename from graphics/pokemon/back_pics/mr_mime_back_pic.png rename to graphics/pokemon/mr_mime/back.png diff --git a/graphics/pokemon/footprints/mr_mime_footprint.png b/graphics/pokemon/mr_mime/footprint.png similarity index 100% rename from graphics/pokemon/footprints/mr_mime_footprint.png rename to graphics/pokemon/mr_mime/footprint.png diff --git a/graphics/pokemon/front_pics/mr_mime_still_front_pic.png b/graphics/pokemon/mr_mime/front.png similarity index 100% rename from graphics/pokemon/front_pics/mr_mime_still_front_pic.png rename to graphics/pokemon/mr_mime/front.png diff --git a/graphics/pokemon/icons/mr_mime_icon.png b/graphics/pokemon/mr_mime/icon.png similarity index 100% rename from graphics/pokemon/icons/mr_mime_icon.png rename to graphics/pokemon/mr_mime/icon.png diff --git a/graphics/pokemon/palettes/mr_mime_palette.pal b/graphics/pokemon/mr_mime/normal.pal similarity index 100% rename from graphics/pokemon/palettes/mr_mime_palette.pal rename to graphics/pokemon/mr_mime/normal.pal diff --git a/graphics/pokemon/palettes/mr_mime_shiny_palette.pal b/graphics/pokemon/mr_mime/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/mr_mime_shiny_palette.pal rename to graphics/pokemon/mr_mime/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/mudkip_front_pic.png b/graphics/pokemon/mudkip/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/mudkip_front_pic.png rename to graphics/pokemon/mudkip/anim_front.png diff --git a/graphics/pokemon/back_pics/mudkip_back_pic.png b/graphics/pokemon/mudkip/back.png similarity index 100% rename from graphics/pokemon/back_pics/mudkip_back_pic.png rename to graphics/pokemon/mudkip/back.png diff --git a/graphics/pokemon/footprints/mudkip_footprint.png b/graphics/pokemon/mudkip/footprint.png similarity index 100% rename from graphics/pokemon/footprints/mudkip_footprint.png rename to graphics/pokemon/mudkip/footprint.png diff --git a/graphics/pokemon/front_pics/mudkip_still_front_pic.png b/graphics/pokemon/mudkip/front.png similarity index 100% rename from graphics/pokemon/front_pics/mudkip_still_front_pic.png rename to graphics/pokemon/mudkip/front.png diff --git a/graphics/pokemon/icons/mudkip_icon.png b/graphics/pokemon/mudkip/icon.png similarity index 100% rename from graphics/pokemon/icons/mudkip_icon.png rename to graphics/pokemon/mudkip/icon.png diff --git a/graphics/pokemon/palettes/mudkip_palette.pal b/graphics/pokemon/mudkip/normal.pal similarity index 100% rename from graphics/pokemon/palettes/mudkip_palette.pal rename to graphics/pokemon/mudkip/normal.pal diff --git a/graphics/pokemon/palettes/mudkip_shiny_palette.pal b/graphics/pokemon/mudkip/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/mudkip_shiny_palette.pal rename to graphics/pokemon/mudkip/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/muk_front_pic.png b/graphics/pokemon/muk/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/muk_front_pic.png rename to graphics/pokemon/muk/anim_front.png diff --git a/graphics/pokemon/back_pics/muk_back_pic.png b/graphics/pokemon/muk/back.png similarity index 100% rename from graphics/pokemon/back_pics/muk_back_pic.png rename to graphics/pokemon/muk/back.png diff --git a/graphics/pokemon/footprints/muk_footprint.png b/graphics/pokemon/muk/footprint.png similarity index 100% rename from graphics/pokemon/footprints/muk_footprint.png rename to graphics/pokemon/muk/footprint.png diff --git a/graphics/pokemon/front_pics/muk_still_front_pic.png b/graphics/pokemon/muk/front.png similarity index 100% rename from graphics/pokemon/front_pics/muk_still_front_pic.png rename to graphics/pokemon/muk/front.png diff --git a/graphics/pokemon/icons/muk_icon.png b/graphics/pokemon/muk/icon.png similarity index 100% rename from graphics/pokemon/icons/muk_icon.png rename to graphics/pokemon/muk/icon.png diff --git a/graphics/pokemon/palettes/muk_palette.pal b/graphics/pokemon/muk/normal.pal similarity index 100% rename from graphics/pokemon/palettes/muk_palette.pal rename to graphics/pokemon/muk/normal.pal diff --git a/graphics/pokemon/palettes/muk_shiny_palette.pal b/graphics/pokemon/muk/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/muk_shiny_palette.pal rename to graphics/pokemon/muk/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/murkrow_front_pic.png b/graphics/pokemon/murkrow/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/murkrow_front_pic.png rename to graphics/pokemon/murkrow/anim_front.png diff --git a/graphics/pokemon/back_pics/murkrow_back_pic.png b/graphics/pokemon/murkrow/back.png similarity index 100% rename from graphics/pokemon/back_pics/murkrow_back_pic.png rename to graphics/pokemon/murkrow/back.png diff --git a/graphics/pokemon/footprints/murkrow_footprint.png b/graphics/pokemon/murkrow/footprint.png similarity index 100% rename from graphics/pokemon/footprints/murkrow_footprint.png rename to graphics/pokemon/murkrow/footprint.png diff --git a/graphics/pokemon/front_pics/murkrow_still_front_pic.png b/graphics/pokemon/murkrow/front.png similarity index 100% rename from graphics/pokemon/front_pics/murkrow_still_front_pic.png rename to graphics/pokemon/murkrow/front.png diff --git a/graphics/pokemon/icons/murkrow_icon.png b/graphics/pokemon/murkrow/icon.png similarity index 100% rename from graphics/pokemon/icons/murkrow_icon.png rename to graphics/pokemon/murkrow/icon.png diff --git a/graphics/pokemon/palettes/murkrow_palette.pal b/graphics/pokemon/murkrow/normal.pal similarity index 100% rename from graphics/pokemon/palettes/murkrow_palette.pal rename to graphics/pokemon/murkrow/normal.pal diff --git a/graphics/pokemon/palettes/murkrow_shiny_palette.pal b/graphics/pokemon/murkrow/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/murkrow_shiny_palette.pal rename to graphics/pokemon/murkrow/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/natu_front_pic.png b/graphics/pokemon/natu/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/natu_front_pic.png rename to graphics/pokemon/natu/anim_front.png diff --git a/graphics/pokemon/back_pics/natu_back_pic.png b/graphics/pokemon/natu/back.png similarity index 100% rename from graphics/pokemon/back_pics/natu_back_pic.png rename to graphics/pokemon/natu/back.png diff --git a/graphics/pokemon/footprints/natu_footprint.png b/graphics/pokemon/natu/footprint.png similarity index 100% rename from graphics/pokemon/footprints/natu_footprint.png rename to graphics/pokemon/natu/footprint.png diff --git a/graphics/pokemon/front_pics/natu_still_front_pic.png b/graphics/pokemon/natu/front.png similarity index 100% rename from graphics/pokemon/front_pics/natu_still_front_pic.png rename to graphics/pokemon/natu/front.png diff --git a/graphics/pokemon/icons/natu_icon.png b/graphics/pokemon/natu/icon.png similarity index 100% rename from graphics/pokemon/icons/natu_icon.png rename to graphics/pokemon/natu/icon.png diff --git a/graphics/pokemon/palettes/natu_palette.pal b/graphics/pokemon/natu/normal.pal similarity index 100% rename from graphics/pokemon/palettes/natu_palette.pal rename to graphics/pokemon/natu/normal.pal diff --git a/graphics/pokemon/palettes/natu_shiny_palette.pal b/graphics/pokemon/natu/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/natu_shiny_palette.pal rename to graphics/pokemon/natu/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/nidoking_front_pic.png b/graphics/pokemon/nidoking/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/nidoking_front_pic.png rename to graphics/pokemon/nidoking/anim_front.png diff --git a/graphics/pokemon/back_pics/nidoking_back_pic.png b/graphics/pokemon/nidoking/back.png similarity index 100% rename from graphics/pokemon/back_pics/nidoking_back_pic.png rename to graphics/pokemon/nidoking/back.png diff --git a/graphics/pokemon/footprints/nidoking_footprint.png b/graphics/pokemon/nidoking/footprint.png similarity index 100% rename from graphics/pokemon/footprints/nidoking_footprint.png rename to graphics/pokemon/nidoking/footprint.png diff --git a/graphics/pokemon/front_pics/nidoking_still_front_pic.png b/graphics/pokemon/nidoking/front.png similarity index 100% rename from graphics/pokemon/front_pics/nidoking_still_front_pic.png rename to graphics/pokemon/nidoking/front.png diff --git a/graphics/pokemon/icons/nidoking_icon.png b/graphics/pokemon/nidoking/icon.png similarity index 100% rename from graphics/pokemon/icons/nidoking_icon.png rename to graphics/pokemon/nidoking/icon.png diff --git a/graphics/pokemon/palettes/nidoking_palette.pal b/graphics/pokemon/nidoking/normal.pal similarity index 100% rename from graphics/pokemon/palettes/nidoking_palette.pal rename to graphics/pokemon/nidoking/normal.pal diff --git a/graphics/pokemon/palettes/nidoking_shiny_palette.pal b/graphics/pokemon/nidoking/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/nidoking_shiny_palette.pal rename to graphics/pokemon/nidoking/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/nidoqueen_front_pic.png b/graphics/pokemon/nidoqueen/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/nidoqueen_front_pic.png rename to graphics/pokemon/nidoqueen/anim_front.png diff --git a/graphics/pokemon/back_pics/nidoqueen_back_pic.png b/graphics/pokemon/nidoqueen/back.png similarity index 100% rename from graphics/pokemon/back_pics/nidoqueen_back_pic.png rename to graphics/pokemon/nidoqueen/back.png diff --git a/graphics/pokemon/footprints/nidoqueen_footprint.png b/graphics/pokemon/nidoqueen/footprint.png similarity index 100% rename from graphics/pokemon/footprints/nidoqueen_footprint.png rename to graphics/pokemon/nidoqueen/footprint.png diff --git a/graphics/pokemon/front_pics/nidoqueen_still_front_pic.png b/graphics/pokemon/nidoqueen/front.png similarity index 100% rename from graphics/pokemon/front_pics/nidoqueen_still_front_pic.png rename to graphics/pokemon/nidoqueen/front.png diff --git a/graphics/pokemon/icons/nidoqueen_icon.png b/graphics/pokemon/nidoqueen/icon.png similarity index 100% rename from graphics/pokemon/icons/nidoqueen_icon.png rename to graphics/pokemon/nidoqueen/icon.png diff --git a/graphics/pokemon/palettes/nidoqueen_palette.pal b/graphics/pokemon/nidoqueen/normal.pal similarity index 100% rename from graphics/pokemon/palettes/nidoqueen_palette.pal rename to graphics/pokemon/nidoqueen/normal.pal diff --git a/graphics/pokemon/palettes/nidoqueen_shiny_palette.pal b/graphics/pokemon/nidoqueen/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/nidoqueen_shiny_palette.pal rename to graphics/pokemon/nidoqueen/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/nidoran_f_front_pic.png b/graphics/pokemon/nidoran_f/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/nidoran_f_front_pic.png rename to graphics/pokemon/nidoran_f/anim_front.png diff --git a/graphics/pokemon/back_pics/nidoran_f_back_pic.png b/graphics/pokemon/nidoran_f/back.png similarity index 100% rename from graphics/pokemon/back_pics/nidoran_f_back_pic.png rename to graphics/pokemon/nidoran_f/back.png diff --git a/graphics/pokemon/footprints/nidoran_f_footprint.png b/graphics/pokemon/nidoran_f/footprint.png similarity index 100% rename from graphics/pokemon/footprints/nidoran_f_footprint.png rename to graphics/pokemon/nidoran_f/footprint.png diff --git a/graphics/pokemon/front_pics/nidoran_f_still_front_pic.png b/graphics/pokemon/nidoran_f/front.png similarity index 100% rename from graphics/pokemon/front_pics/nidoran_f_still_front_pic.png rename to graphics/pokemon/nidoran_f/front.png diff --git a/graphics/pokemon/icons/nidoran_f_icon.png b/graphics/pokemon/nidoran_f/icon.png similarity index 100% rename from graphics/pokemon/icons/nidoran_f_icon.png rename to graphics/pokemon/nidoran_f/icon.png diff --git a/graphics/pokemon/palettes/nidoran_f_palette.pal b/graphics/pokemon/nidoran_f/normal.pal similarity index 100% rename from graphics/pokemon/palettes/nidoran_f_palette.pal rename to graphics/pokemon/nidoran_f/normal.pal diff --git a/graphics/pokemon/palettes/nidoran_f_shiny_palette.pal b/graphics/pokemon/nidoran_f/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/nidoran_f_shiny_palette.pal rename to graphics/pokemon/nidoran_f/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/nidoran_m_front_pic.png b/graphics/pokemon/nidoran_m/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/nidoran_m_front_pic.png rename to graphics/pokemon/nidoran_m/anim_front.png diff --git a/graphics/pokemon/back_pics/nidoran_m_back_pic.png b/graphics/pokemon/nidoran_m/back.png similarity index 100% rename from graphics/pokemon/back_pics/nidoran_m_back_pic.png rename to graphics/pokemon/nidoran_m/back.png diff --git a/graphics/pokemon/footprints/nidoran_m_footprint.png b/graphics/pokemon/nidoran_m/footprint.png similarity index 100% rename from graphics/pokemon/footprints/nidoran_m_footprint.png rename to graphics/pokemon/nidoran_m/footprint.png diff --git a/graphics/pokemon/front_pics/nidoran_m_still_front_pic.png b/graphics/pokemon/nidoran_m/front.png similarity index 100% rename from graphics/pokemon/front_pics/nidoran_m_still_front_pic.png rename to graphics/pokemon/nidoran_m/front.png diff --git a/graphics/pokemon/icons/nidoran_m_icon.png b/graphics/pokemon/nidoran_m/icon.png similarity index 100% rename from graphics/pokemon/icons/nidoran_m_icon.png rename to graphics/pokemon/nidoran_m/icon.png diff --git a/graphics/pokemon/palettes/nidoran_m_palette.pal b/graphics/pokemon/nidoran_m/normal.pal similarity index 100% rename from graphics/pokemon/palettes/nidoran_m_palette.pal rename to graphics/pokemon/nidoran_m/normal.pal diff --git a/graphics/pokemon/palettes/nidoran_m_shiny_palette.pal b/graphics/pokemon/nidoran_m/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/nidoran_m_shiny_palette.pal rename to graphics/pokemon/nidoran_m/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/nidorina_front_pic.png b/graphics/pokemon/nidorina/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/nidorina_front_pic.png rename to graphics/pokemon/nidorina/anim_front.png diff --git a/graphics/pokemon/back_pics/nidorina_back_pic.png b/graphics/pokemon/nidorina/back.png similarity index 100% rename from graphics/pokemon/back_pics/nidorina_back_pic.png rename to graphics/pokemon/nidorina/back.png diff --git a/graphics/pokemon/footprints/nidorina_footprint.png b/graphics/pokemon/nidorina/footprint.png similarity index 100% rename from graphics/pokemon/footprints/nidorina_footprint.png rename to graphics/pokemon/nidorina/footprint.png diff --git a/graphics/pokemon/front_pics/nidorina_still_front_pic.png b/graphics/pokemon/nidorina/front.png similarity index 100% rename from graphics/pokemon/front_pics/nidorina_still_front_pic.png rename to graphics/pokemon/nidorina/front.png diff --git a/graphics/pokemon/icons/nidorina_icon.png b/graphics/pokemon/nidorina/icon.png similarity index 100% rename from graphics/pokemon/icons/nidorina_icon.png rename to graphics/pokemon/nidorina/icon.png diff --git a/graphics/pokemon/palettes/nidorina_palette.pal b/graphics/pokemon/nidorina/normal.pal similarity index 100% rename from graphics/pokemon/palettes/nidorina_palette.pal rename to graphics/pokemon/nidorina/normal.pal diff --git a/graphics/pokemon/palettes/nidorina_shiny_palette.pal b/graphics/pokemon/nidorina/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/nidorina_shiny_palette.pal rename to graphics/pokemon/nidorina/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/nidorino_front_pic.png b/graphics/pokemon/nidorino/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/nidorino_front_pic.png rename to graphics/pokemon/nidorino/anim_front.png diff --git a/graphics/pokemon/back_pics/nidorino_back_pic.png b/graphics/pokemon/nidorino/back.png similarity index 100% rename from graphics/pokemon/back_pics/nidorino_back_pic.png rename to graphics/pokemon/nidorino/back.png diff --git a/graphics/pokemon/footprints/nidorino_footprint.png b/graphics/pokemon/nidorino/footprint.png similarity index 100% rename from graphics/pokemon/footprints/nidorino_footprint.png rename to graphics/pokemon/nidorino/footprint.png diff --git a/graphics/pokemon/front_pics/nidorino_still_front_pic.png b/graphics/pokemon/nidorino/front.png similarity index 100% rename from graphics/pokemon/front_pics/nidorino_still_front_pic.png rename to graphics/pokemon/nidorino/front.png diff --git a/graphics/pokemon/icons/nidorino_icon.png b/graphics/pokemon/nidorino/icon.png similarity index 100% rename from graphics/pokemon/icons/nidorino_icon.png rename to graphics/pokemon/nidorino/icon.png diff --git a/graphics/pokemon/palettes/nidorino_palette.pal b/graphics/pokemon/nidorino/normal.pal similarity index 100% rename from graphics/pokemon/palettes/nidorino_palette.pal rename to graphics/pokemon/nidorino/normal.pal diff --git a/graphics/pokemon/palettes/nidorino_shiny_palette.pal b/graphics/pokemon/nidorino/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/nidorino_shiny_palette.pal rename to graphics/pokemon/nidorino/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/nincada_front_pic.png b/graphics/pokemon/nincada/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/nincada_front_pic.png rename to graphics/pokemon/nincada/anim_front.png diff --git a/graphics/pokemon/back_pics/nincada_back_pic.png b/graphics/pokemon/nincada/back.png similarity index 100% rename from graphics/pokemon/back_pics/nincada_back_pic.png rename to graphics/pokemon/nincada/back.png diff --git a/graphics/pokemon/footprints/nincada_footprint.png b/graphics/pokemon/nincada/footprint.png similarity index 100% rename from graphics/pokemon/footprints/nincada_footprint.png rename to graphics/pokemon/nincada/footprint.png diff --git a/graphics/pokemon/front_pics/nincada_still_front_pic.png b/graphics/pokemon/nincada/front.png similarity index 100% rename from graphics/pokemon/front_pics/nincada_still_front_pic.png rename to graphics/pokemon/nincada/front.png diff --git a/graphics/pokemon/icons/nincada_icon.png b/graphics/pokemon/nincada/icon.png similarity index 100% rename from graphics/pokemon/icons/nincada_icon.png rename to graphics/pokemon/nincada/icon.png diff --git a/graphics/pokemon/palettes/nincada_palette.pal b/graphics/pokemon/nincada/normal.pal similarity index 100% rename from graphics/pokemon/palettes/nincada_palette.pal rename to graphics/pokemon/nincada/normal.pal diff --git a/graphics/pokemon/palettes/nincada_shiny_palette.pal b/graphics/pokemon/nincada/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/nincada_shiny_palette.pal rename to graphics/pokemon/nincada/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/ninetales_front_pic.png b/graphics/pokemon/ninetales/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/ninetales_front_pic.png rename to graphics/pokemon/ninetales/anim_front.png diff --git a/graphics/pokemon/back_pics/ninetales_back_pic.png b/graphics/pokemon/ninetales/back.png similarity index 100% rename from graphics/pokemon/back_pics/ninetales_back_pic.png rename to graphics/pokemon/ninetales/back.png diff --git a/graphics/pokemon/footprints/ninetales_footprint.png b/graphics/pokemon/ninetales/footprint.png similarity index 100% rename from graphics/pokemon/footprints/ninetales_footprint.png rename to graphics/pokemon/ninetales/footprint.png diff --git a/graphics/pokemon/front_pics/ninetales_still_front_pic.png b/graphics/pokemon/ninetales/front.png similarity index 100% rename from graphics/pokemon/front_pics/ninetales_still_front_pic.png rename to graphics/pokemon/ninetales/front.png diff --git a/graphics/pokemon/icons/ninetales_icon.png b/graphics/pokemon/ninetales/icon.png similarity index 100% rename from graphics/pokemon/icons/ninetales_icon.png rename to graphics/pokemon/ninetales/icon.png diff --git a/graphics/pokemon/palettes/ninetales_palette.pal b/graphics/pokemon/ninetales/normal.pal similarity index 100% rename from graphics/pokemon/palettes/ninetales_palette.pal rename to graphics/pokemon/ninetales/normal.pal diff --git a/graphics/pokemon/palettes/ninetales_shiny_palette.pal b/graphics/pokemon/ninetales/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/ninetales_shiny_palette.pal rename to graphics/pokemon/ninetales/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/ninjask_front_pic.png b/graphics/pokemon/ninjask/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/ninjask_front_pic.png rename to graphics/pokemon/ninjask/anim_front.png diff --git a/graphics/pokemon/back_pics/ninjask_back_pic.png b/graphics/pokemon/ninjask/back.png similarity index 100% rename from graphics/pokemon/back_pics/ninjask_back_pic.png rename to graphics/pokemon/ninjask/back.png diff --git a/graphics/pokemon/footprints/ninjask_footprint.png b/graphics/pokemon/ninjask/footprint.png similarity index 100% rename from graphics/pokemon/footprints/ninjask_footprint.png rename to graphics/pokemon/ninjask/footprint.png diff --git a/graphics/pokemon/front_pics/ninjask_still_front_pic.png b/graphics/pokemon/ninjask/front.png similarity index 100% rename from graphics/pokemon/front_pics/ninjask_still_front_pic.png rename to graphics/pokemon/ninjask/front.png diff --git a/graphics/pokemon/icons/ninjask_icon.png b/graphics/pokemon/ninjask/icon.png similarity index 100% rename from graphics/pokemon/icons/ninjask_icon.png rename to graphics/pokemon/ninjask/icon.png diff --git a/graphics/pokemon/palettes/ninjask_palette.pal b/graphics/pokemon/ninjask/normal.pal similarity index 100% rename from graphics/pokemon/palettes/ninjask_palette.pal rename to graphics/pokemon/ninjask/normal.pal diff --git a/graphics/pokemon/palettes/ninjask_shiny_palette.pal b/graphics/pokemon/ninjask/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/ninjask_shiny_palette.pal rename to graphics/pokemon/ninjask/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/noctowl_front_pic.png b/graphics/pokemon/noctowl/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/noctowl_front_pic.png rename to graphics/pokemon/noctowl/anim_front.png diff --git a/graphics/pokemon/back_pics/noctowl_back_pic.png b/graphics/pokemon/noctowl/back.png similarity index 100% rename from graphics/pokemon/back_pics/noctowl_back_pic.png rename to graphics/pokemon/noctowl/back.png diff --git a/graphics/pokemon/footprints/noctowl_footprint.png b/graphics/pokemon/noctowl/footprint.png similarity index 100% rename from graphics/pokemon/footprints/noctowl_footprint.png rename to graphics/pokemon/noctowl/footprint.png diff --git a/graphics/pokemon/front_pics/noctowl_still_front_pic.png b/graphics/pokemon/noctowl/front.png similarity index 100% rename from graphics/pokemon/front_pics/noctowl_still_front_pic.png rename to graphics/pokemon/noctowl/front.png diff --git a/graphics/pokemon/icons/noctowl_icon.png b/graphics/pokemon/noctowl/icon.png similarity index 100% rename from graphics/pokemon/icons/noctowl_icon.png rename to graphics/pokemon/noctowl/icon.png diff --git a/graphics/pokemon/palettes/noctowl_palette.pal b/graphics/pokemon/noctowl/normal.pal similarity index 100% rename from graphics/pokemon/palettes/noctowl_palette.pal rename to graphics/pokemon/noctowl/normal.pal diff --git a/graphics/pokemon/palettes/noctowl_shiny_palette.pal b/graphics/pokemon/noctowl/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/noctowl_shiny_palette.pal rename to graphics/pokemon/noctowl/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/nosepass_front_pic.png b/graphics/pokemon/nosepass/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/nosepass_front_pic.png rename to graphics/pokemon/nosepass/anim_front.png diff --git a/graphics/pokemon/back_pics/nosepass_back_pic.png b/graphics/pokemon/nosepass/back.png similarity index 100% rename from graphics/pokemon/back_pics/nosepass_back_pic.png rename to graphics/pokemon/nosepass/back.png diff --git a/graphics/pokemon/footprints/nosepass_footprint.png b/graphics/pokemon/nosepass/footprint.png similarity index 100% rename from graphics/pokemon/footprints/nosepass_footprint.png rename to graphics/pokemon/nosepass/footprint.png diff --git a/graphics/pokemon/front_pics/nosepass_still_front_pic.png b/graphics/pokemon/nosepass/front.png similarity index 100% rename from graphics/pokemon/front_pics/nosepass_still_front_pic.png rename to graphics/pokemon/nosepass/front.png diff --git a/graphics/pokemon/icons/nosepass_icon.png b/graphics/pokemon/nosepass/icon.png similarity index 100% rename from graphics/pokemon/icons/nosepass_icon.png rename to graphics/pokemon/nosepass/icon.png diff --git a/graphics/pokemon/palettes/nosepass_palette.pal b/graphics/pokemon/nosepass/normal.pal similarity index 100% rename from graphics/pokemon/palettes/nosepass_palette.pal rename to graphics/pokemon/nosepass/normal.pal diff --git a/graphics/pokemon/palettes/nosepass_shiny_palette.pal b/graphics/pokemon/nosepass/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/nosepass_shiny_palette.pal rename to graphics/pokemon/nosepass/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/numel_front_pic.png b/graphics/pokemon/numel/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/numel_front_pic.png rename to graphics/pokemon/numel/anim_front.png diff --git a/graphics/pokemon/back_pics/numel_back_pic.png b/graphics/pokemon/numel/back.png similarity index 100% rename from graphics/pokemon/back_pics/numel_back_pic.png rename to graphics/pokemon/numel/back.png diff --git a/graphics/pokemon/footprints/numel_footprint.png b/graphics/pokemon/numel/footprint.png similarity index 100% rename from graphics/pokemon/footprints/numel_footprint.png rename to graphics/pokemon/numel/footprint.png diff --git a/graphics/pokemon/front_pics/numel_still_front_pic.png b/graphics/pokemon/numel/front.png similarity index 100% rename from graphics/pokemon/front_pics/numel_still_front_pic.png rename to graphics/pokemon/numel/front.png diff --git a/graphics/pokemon/icons/numel_icon.png b/graphics/pokemon/numel/icon.png similarity index 100% rename from graphics/pokemon/icons/numel_icon.png rename to graphics/pokemon/numel/icon.png diff --git a/graphics/pokemon/palettes/numel_palette.pal b/graphics/pokemon/numel/normal.pal similarity index 100% rename from graphics/pokemon/palettes/numel_palette.pal rename to graphics/pokemon/numel/normal.pal diff --git a/graphics/pokemon/palettes/numel_shiny_palette.pal b/graphics/pokemon/numel/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/numel_shiny_palette.pal rename to graphics/pokemon/numel/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/nuzleaf_front_pic.png b/graphics/pokemon/nuzleaf/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/nuzleaf_front_pic.png rename to graphics/pokemon/nuzleaf/anim_front.png diff --git a/graphics/pokemon/back_pics/nuzleaf_back_pic.png b/graphics/pokemon/nuzleaf/back.png similarity index 100% rename from graphics/pokemon/back_pics/nuzleaf_back_pic.png rename to graphics/pokemon/nuzleaf/back.png diff --git a/graphics/pokemon/footprints/nuzleaf_footprint.png b/graphics/pokemon/nuzleaf/footprint.png similarity index 100% rename from graphics/pokemon/footprints/nuzleaf_footprint.png rename to graphics/pokemon/nuzleaf/footprint.png diff --git a/graphics/pokemon/front_pics/nuzleaf_still_front_pic.png b/graphics/pokemon/nuzleaf/front.png similarity index 100% rename from graphics/pokemon/front_pics/nuzleaf_still_front_pic.png rename to graphics/pokemon/nuzleaf/front.png diff --git a/graphics/pokemon/icons/nuzleaf_icon.png b/graphics/pokemon/nuzleaf/icon.png similarity index 100% rename from graphics/pokemon/icons/nuzleaf_icon.png rename to graphics/pokemon/nuzleaf/icon.png diff --git a/graphics/pokemon/palettes/nuzleaf_palette.pal b/graphics/pokemon/nuzleaf/normal.pal similarity index 100% rename from graphics/pokemon/palettes/nuzleaf_palette.pal rename to graphics/pokemon/nuzleaf/normal.pal diff --git a/graphics/pokemon/palettes/nuzleaf_shiny_palette.pal b/graphics/pokemon/nuzleaf/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/nuzleaf_shiny_palette.pal rename to graphics/pokemon/nuzleaf/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/octillery_front_pic.png b/graphics/pokemon/octillery/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/octillery_front_pic.png rename to graphics/pokemon/octillery/anim_front.png diff --git a/graphics/pokemon/back_pics/octillery_back_pic.png b/graphics/pokemon/octillery/back.png similarity index 100% rename from graphics/pokemon/back_pics/octillery_back_pic.png rename to graphics/pokemon/octillery/back.png diff --git a/graphics/pokemon/footprints/octillery_footprint.png b/graphics/pokemon/octillery/footprint.png similarity index 100% rename from graphics/pokemon/footprints/octillery_footprint.png rename to graphics/pokemon/octillery/footprint.png diff --git a/graphics/pokemon/front_pics/octillery_still_front_pic.png b/graphics/pokemon/octillery/front.png similarity index 100% rename from graphics/pokemon/front_pics/octillery_still_front_pic.png rename to graphics/pokemon/octillery/front.png diff --git a/graphics/pokemon/icons/octillery_icon.png b/graphics/pokemon/octillery/icon.png similarity index 100% rename from graphics/pokemon/icons/octillery_icon.png rename to graphics/pokemon/octillery/icon.png diff --git a/graphics/pokemon/palettes/octillery_palette.pal b/graphics/pokemon/octillery/normal.pal similarity index 100% rename from graphics/pokemon/palettes/octillery_palette.pal rename to graphics/pokemon/octillery/normal.pal diff --git a/graphics/pokemon/palettes/octillery_shiny_palette.pal b/graphics/pokemon/octillery/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/octillery_shiny_palette.pal rename to graphics/pokemon/octillery/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/oddish_front_pic.png b/graphics/pokemon/oddish/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/oddish_front_pic.png rename to graphics/pokemon/oddish/anim_front.png diff --git a/graphics/pokemon/back_pics/oddish_back_pic.png b/graphics/pokemon/oddish/back.png similarity index 100% rename from graphics/pokemon/back_pics/oddish_back_pic.png rename to graphics/pokemon/oddish/back.png diff --git a/graphics/pokemon/footprints/oddish_footprint.png b/graphics/pokemon/oddish/footprint.png similarity index 100% rename from graphics/pokemon/footprints/oddish_footprint.png rename to graphics/pokemon/oddish/footprint.png diff --git a/graphics/pokemon/front_pics/oddish_still_front_pic.png b/graphics/pokemon/oddish/front.png similarity index 100% rename from graphics/pokemon/front_pics/oddish_still_front_pic.png rename to graphics/pokemon/oddish/front.png diff --git a/graphics/pokemon/icons/oddish_icon.png b/graphics/pokemon/oddish/icon.png similarity index 100% rename from graphics/pokemon/icons/oddish_icon.png rename to graphics/pokemon/oddish/icon.png diff --git a/graphics/pokemon/palettes/oddish_palette.pal b/graphics/pokemon/oddish/normal.pal similarity index 100% rename from graphics/pokemon/palettes/oddish_palette.pal rename to graphics/pokemon/oddish/normal.pal diff --git a/graphics/pokemon/palettes/oddish_shiny_palette.pal b/graphics/pokemon/oddish/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/oddish_shiny_palette.pal rename to graphics/pokemon/oddish/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/omanyte_front_pic.png b/graphics/pokemon/omanyte/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/omanyte_front_pic.png rename to graphics/pokemon/omanyte/anim_front.png diff --git a/graphics/pokemon/back_pics/omanyte_back_pic.png b/graphics/pokemon/omanyte/back.png similarity index 100% rename from graphics/pokemon/back_pics/omanyte_back_pic.png rename to graphics/pokemon/omanyte/back.png diff --git a/graphics/pokemon/footprints/omanyte_footprint.png b/graphics/pokemon/omanyte/footprint.png similarity index 100% rename from graphics/pokemon/footprints/omanyte_footprint.png rename to graphics/pokemon/omanyte/footprint.png diff --git a/graphics/pokemon/front_pics/omanyte_still_front_pic.png b/graphics/pokemon/omanyte/front.png similarity index 100% rename from graphics/pokemon/front_pics/omanyte_still_front_pic.png rename to graphics/pokemon/omanyte/front.png diff --git a/graphics/pokemon/icons/omanyte_icon.png b/graphics/pokemon/omanyte/icon.png similarity index 100% rename from graphics/pokemon/icons/omanyte_icon.png rename to graphics/pokemon/omanyte/icon.png diff --git a/graphics/pokemon/palettes/omanyte_palette.pal b/graphics/pokemon/omanyte/normal.pal similarity index 100% rename from graphics/pokemon/palettes/omanyte_palette.pal rename to graphics/pokemon/omanyte/normal.pal diff --git a/graphics/pokemon/palettes/omanyte_shiny_palette.pal b/graphics/pokemon/omanyte/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/omanyte_shiny_palette.pal rename to graphics/pokemon/omanyte/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/omastar_front_pic.png b/graphics/pokemon/omastar/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/omastar_front_pic.png rename to graphics/pokemon/omastar/anim_front.png diff --git a/graphics/pokemon/back_pics/omastar_back_pic.png b/graphics/pokemon/omastar/back.png similarity index 100% rename from graphics/pokemon/back_pics/omastar_back_pic.png rename to graphics/pokemon/omastar/back.png diff --git a/graphics/pokemon/footprints/omastar_footprint.png b/graphics/pokemon/omastar/footprint.png similarity index 100% rename from graphics/pokemon/footprints/omastar_footprint.png rename to graphics/pokemon/omastar/footprint.png diff --git a/graphics/pokemon/front_pics/omastar_still_front_pic.png b/graphics/pokemon/omastar/front.png similarity index 100% rename from graphics/pokemon/front_pics/omastar_still_front_pic.png rename to graphics/pokemon/omastar/front.png diff --git a/graphics/pokemon/icons/omastar_icon.png b/graphics/pokemon/omastar/icon.png similarity index 100% rename from graphics/pokemon/icons/omastar_icon.png rename to graphics/pokemon/omastar/icon.png diff --git a/graphics/pokemon/palettes/omastar_palette.pal b/graphics/pokemon/omastar/normal.pal similarity index 100% rename from graphics/pokemon/palettes/omastar_palette.pal rename to graphics/pokemon/omastar/normal.pal diff --git a/graphics/pokemon/palettes/omastar_shiny_palette.pal b/graphics/pokemon/omastar/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/omastar_shiny_palette.pal rename to graphics/pokemon/omastar/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/onix_front_pic.png b/graphics/pokemon/onix/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/onix_front_pic.png rename to graphics/pokemon/onix/anim_front.png diff --git a/graphics/pokemon/back_pics/onix_back_pic.png b/graphics/pokemon/onix/back.png similarity index 100% rename from graphics/pokemon/back_pics/onix_back_pic.png rename to graphics/pokemon/onix/back.png diff --git a/graphics/pokemon/footprints/onix_footprint.png b/graphics/pokemon/onix/footprint.png similarity index 100% rename from graphics/pokemon/footprints/onix_footprint.png rename to graphics/pokemon/onix/footprint.png diff --git a/graphics/pokemon/front_pics/onix_still_front_pic.png b/graphics/pokemon/onix/front.png similarity index 100% rename from graphics/pokemon/front_pics/onix_still_front_pic.png rename to graphics/pokemon/onix/front.png diff --git a/graphics/pokemon/icons/onix_icon.png b/graphics/pokemon/onix/icon.png similarity index 100% rename from graphics/pokemon/icons/onix_icon.png rename to graphics/pokemon/onix/icon.png diff --git a/graphics/pokemon/palettes/onix_palette.pal b/graphics/pokemon/onix/normal.pal similarity index 100% rename from graphics/pokemon/palettes/onix_palette.pal rename to graphics/pokemon/onix/normal.pal diff --git a/graphics/pokemon/palettes/onix_shiny_palette.pal b/graphics/pokemon/onix/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/onix_shiny_palette.pal rename to graphics/pokemon/onix/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/paras_front_pic.png b/graphics/pokemon/paras/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/paras_front_pic.png rename to graphics/pokemon/paras/anim_front.png diff --git a/graphics/pokemon/back_pics/paras_back_pic.png b/graphics/pokemon/paras/back.png similarity index 100% rename from graphics/pokemon/back_pics/paras_back_pic.png rename to graphics/pokemon/paras/back.png diff --git a/graphics/pokemon/footprints/paras_footprint.png b/graphics/pokemon/paras/footprint.png similarity index 100% rename from graphics/pokemon/footprints/paras_footprint.png rename to graphics/pokemon/paras/footprint.png diff --git a/graphics/pokemon/front_pics/paras_still_front_pic.png b/graphics/pokemon/paras/front.png similarity index 100% rename from graphics/pokemon/front_pics/paras_still_front_pic.png rename to graphics/pokemon/paras/front.png diff --git a/graphics/pokemon/icons/paras_icon.png b/graphics/pokemon/paras/icon.png similarity index 100% rename from graphics/pokemon/icons/paras_icon.png rename to graphics/pokemon/paras/icon.png diff --git a/graphics/pokemon/palettes/paras_palette.pal b/graphics/pokemon/paras/normal.pal similarity index 100% rename from graphics/pokemon/palettes/paras_palette.pal rename to graphics/pokemon/paras/normal.pal diff --git a/graphics/pokemon/palettes/paras_shiny_palette.pal b/graphics/pokemon/paras/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/paras_shiny_palette.pal rename to graphics/pokemon/paras/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/parasect_front_pic.png b/graphics/pokemon/parasect/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/parasect_front_pic.png rename to graphics/pokemon/parasect/anim_front.png diff --git a/graphics/pokemon/back_pics/parasect_back_pic.png b/graphics/pokemon/parasect/back.png similarity index 100% rename from graphics/pokemon/back_pics/parasect_back_pic.png rename to graphics/pokemon/parasect/back.png diff --git a/graphics/pokemon/footprints/parasect_footprint.png b/graphics/pokemon/parasect/footprint.png similarity index 100% rename from graphics/pokemon/footprints/parasect_footprint.png rename to graphics/pokemon/parasect/footprint.png diff --git a/graphics/pokemon/front_pics/parasect_still_front_pic.png b/graphics/pokemon/parasect/front.png similarity index 100% rename from graphics/pokemon/front_pics/parasect_still_front_pic.png rename to graphics/pokemon/parasect/front.png diff --git a/graphics/pokemon/icons/parasect_icon.png b/graphics/pokemon/parasect/icon.png similarity index 100% rename from graphics/pokemon/icons/parasect_icon.png rename to graphics/pokemon/parasect/icon.png diff --git a/graphics/pokemon/palettes/parasect_palette.pal b/graphics/pokemon/parasect/normal.pal similarity index 100% rename from graphics/pokemon/palettes/parasect_palette.pal rename to graphics/pokemon/parasect/normal.pal diff --git a/graphics/pokemon/palettes/parasect_shiny_palette.pal b/graphics/pokemon/parasect/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/parasect_shiny_palette.pal rename to graphics/pokemon/parasect/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/pelipper_front_pic.png b/graphics/pokemon/pelipper/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/pelipper_front_pic.png rename to graphics/pokemon/pelipper/anim_front.png diff --git a/graphics/pokemon/back_pics/pelipper_back_pic.png b/graphics/pokemon/pelipper/back.png similarity index 100% rename from graphics/pokemon/back_pics/pelipper_back_pic.png rename to graphics/pokemon/pelipper/back.png diff --git a/graphics/pokemon/footprints/pelipper_footprint.png b/graphics/pokemon/pelipper/footprint.png similarity index 100% rename from graphics/pokemon/footprints/pelipper_footprint.png rename to graphics/pokemon/pelipper/footprint.png diff --git a/graphics/pokemon/front_pics/pelipper_still_front_pic.png b/graphics/pokemon/pelipper/front.png similarity index 100% rename from graphics/pokemon/front_pics/pelipper_still_front_pic.png rename to graphics/pokemon/pelipper/front.png diff --git a/graphics/pokemon/icons/pelipper_icon.png b/graphics/pokemon/pelipper/icon.png similarity index 100% rename from graphics/pokemon/icons/pelipper_icon.png rename to graphics/pokemon/pelipper/icon.png diff --git a/graphics/pokemon/palettes/pelipper_palette.pal b/graphics/pokemon/pelipper/normal.pal similarity index 100% rename from graphics/pokemon/palettes/pelipper_palette.pal rename to graphics/pokemon/pelipper/normal.pal diff --git a/graphics/pokemon/palettes/pelipper_shiny_palette.pal b/graphics/pokemon/pelipper/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/pelipper_shiny_palette.pal rename to graphics/pokemon/pelipper/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/persian_front_pic.png b/graphics/pokemon/persian/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/persian_front_pic.png rename to graphics/pokemon/persian/anim_front.png diff --git a/graphics/pokemon/back_pics/persian_back_pic.png b/graphics/pokemon/persian/back.png similarity index 100% rename from graphics/pokemon/back_pics/persian_back_pic.png rename to graphics/pokemon/persian/back.png diff --git a/graphics/pokemon/footprints/persian_footprint.png b/graphics/pokemon/persian/footprint.png similarity index 100% rename from graphics/pokemon/footprints/persian_footprint.png rename to graphics/pokemon/persian/footprint.png diff --git a/graphics/pokemon/front_pics/persian_still_front_pic.png b/graphics/pokemon/persian/front.png similarity index 100% rename from graphics/pokemon/front_pics/persian_still_front_pic.png rename to graphics/pokemon/persian/front.png diff --git a/graphics/pokemon/icons/persian_icon.png b/graphics/pokemon/persian/icon.png similarity index 100% rename from graphics/pokemon/icons/persian_icon.png rename to graphics/pokemon/persian/icon.png diff --git a/graphics/pokemon/palettes/persian_palette.pal b/graphics/pokemon/persian/normal.pal similarity index 100% rename from graphics/pokemon/palettes/persian_palette.pal rename to graphics/pokemon/persian/normal.pal diff --git a/graphics/pokemon/palettes/persian_shiny_palette.pal b/graphics/pokemon/persian/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/persian_shiny_palette.pal rename to graphics/pokemon/persian/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/phanpy_front_pic.png b/graphics/pokemon/phanpy/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/phanpy_front_pic.png rename to graphics/pokemon/phanpy/anim_front.png diff --git a/graphics/pokemon/back_pics/phanpy_back_pic.png b/graphics/pokemon/phanpy/back.png similarity index 100% rename from graphics/pokemon/back_pics/phanpy_back_pic.png rename to graphics/pokemon/phanpy/back.png diff --git a/graphics/pokemon/footprints/phanpy_footprint.png b/graphics/pokemon/phanpy/footprint.png similarity index 100% rename from graphics/pokemon/footprints/phanpy_footprint.png rename to graphics/pokemon/phanpy/footprint.png diff --git a/graphics/pokemon/front_pics/phanpy_still_front_pic.png b/graphics/pokemon/phanpy/front.png similarity index 100% rename from graphics/pokemon/front_pics/phanpy_still_front_pic.png rename to graphics/pokemon/phanpy/front.png diff --git a/graphics/pokemon/icons/phanpy_icon.png b/graphics/pokemon/phanpy/icon.png similarity index 100% rename from graphics/pokemon/icons/phanpy_icon.png rename to graphics/pokemon/phanpy/icon.png diff --git a/graphics/pokemon/palettes/phanpy_palette.pal b/graphics/pokemon/phanpy/normal.pal similarity index 100% rename from graphics/pokemon/palettes/phanpy_palette.pal rename to graphics/pokemon/phanpy/normal.pal diff --git a/graphics/pokemon/palettes/phanpy_shiny_palette.pal b/graphics/pokemon/phanpy/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/phanpy_shiny_palette.pal rename to graphics/pokemon/phanpy/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/pichu_front_pic.png b/graphics/pokemon/pichu/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/pichu_front_pic.png rename to graphics/pokemon/pichu/anim_front.png diff --git a/graphics/pokemon/back_pics/pichu_back_pic.png b/graphics/pokemon/pichu/back.png similarity index 100% rename from graphics/pokemon/back_pics/pichu_back_pic.png rename to graphics/pokemon/pichu/back.png diff --git a/graphics/pokemon/footprints/pichu_footprint.png b/graphics/pokemon/pichu/footprint.png similarity index 100% rename from graphics/pokemon/footprints/pichu_footprint.png rename to graphics/pokemon/pichu/footprint.png diff --git a/graphics/pokemon/front_pics/pichu_still_front_pic.png b/graphics/pokemon/pichu/front.png similarity index 100% rename from graphics/pokemon/front_pics/pichu_still_front_pic.png rename to graphics/pokemon/pichu/front.png diff --git a/graphics/pokemon/icons/pichu_icon.png b/graphics/pokemon/pichu/icon.png similarity index 100% rename from graphics/pokemon/icons/pichu_icon.png rename to graphics/pokemon/pichu/icon.png diff --git a/graphics/pokemon/palettes/pichu_palette.pal b/graphics/pokemon/pichu/normal.pal similarity index 100% rename from graphics/pokemon/palettes/pichu_palette.pal rename to graphics/pokemon/pichu/normal.pal diff --git a/graphics/pokemon/palettes/pichu_shiny_palette.pal b/graphics/pokemon/pichu/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/pichu_shiny_palette.pal rename to graphics/pokemon/pichu/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/pidgeot_front_pic.png b/graphics/pokemon/pidgeot/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/pidgeot_front_pic.png rename to graphics/pokemon/pidgeot/anim_front.png diff --git a/graphics/pokemon/back_pics/pidgeot_back_pic.png b/graphics/pokemon/pidgeot/back.png similarity index 100% rename from graphics/pokemon/back_pics/pidgeot_back_pic.png rename to graphics/pokemon/pidgeot/back.png diff --git a/graphics/pokemon/footprints/pidgeot_footprint.png b/graphics/pokemon/pidgeot/footprint.png similarity index 100% rename from graphics/pokemon/footprints/pidgeot_footprint.png rename to graphics/pokemon/pidgeot/footprint.png diff --git a/graphics/pokemon/front_pics/pidgeot_still_front_pic.png b/graphics/pokemon/pidgeot/front.png similarity index 100% rename from graphics/pokemon/front_pics/pidgeot_still_front_pic.png rename to graphics/pokemon/pidgeot/front.png diff --git a/graphics/pokemon/icons/pidgeot_icon.png b/graphics/pokemon/pidgeot/icon.png similarity index 100% rename from graphics/pokemon/icons/pidgeot_icon.png rename to graphics/pokemon/pidgeot/icon.png diff --git a/graphics/pokemon/palettes/pidgeot_palette.pal b/graphics/pokemon/pidgeot/normal.pal similarity index 100% rename from graphics/pokemon/palettes/pidgeot_palette.pal rename to graphics/pokemon/pidgeot/normal.pal diff --git a/graphics/pokemon/palettes/pidgeot_shiny_palette.pal b/graphics/pokemon/pidgeot/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/pidgeot_shiny_palette.pal rename to graphics/pokemon/pidgeot/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/pidgeotto_front_pic.png b/graphics/pokemon/pidgeotto/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/pidgeotto_front_pic.png rename to graphics/pokemon/pidgeotto/anim_front.png diff --git a/graphics/pokemon/back_pics/pidgeotto_back_pic.png b/graphics/pokemon/pidgeotto/back.png similarity index 100% rename from graphics/pokemon/back_pics/pidgeotto_back_pic.png rename to graphics/pokemon/pidgeotto/back.png diff --git a/graphics/pokemon/footprints/pidgeotto_footprint.png b/graphics/pokemon/pidgeotto/footprint.png similarity index 100% rename from graphics/pokemon/footprints/pidgeotto_footprint.png rename to graphics/pokemon/pidgeotto/footprint.png diff --git a/graphics/pokemon/front_pics/pidgeotto_still_front_pic.png b/graphics/pokemon/pidgeotto/front.png similarity index 100% rename from graphics/pokemon/front_pics/pidgeotto_still_front_pic.png rename to graphics/pokemon/pidgeotto/front.png diff --git a/graphics/pokemon/icons/pidgeotto_icon.png b/graphics/pokemon/pidgeotto/icon.png similarity index 100% rename from graphics/pokemon/icons/pidgeotto_icon.png rename to graphics/pokemon/pidgeotto/icon.png diff --git a/graphics/pokemon/palettes/pidgeotto_palette.pal b/graphics/pokemon/pidgeotto/normal.pal similarity index 100% rename from graphics/pokemon/palettes/pidgeotto_palette.pal rename to graphics/pokemon/pidgeotto/normal.pal diff --git a/graphics/pokemon/palettes/pidgeotto_shiny_palette.pal b/graphics/pokemon/pidgeotto/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/pidgeotto_shiny_palette.pal rename to graphics/pokemon/pidgeotto/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/pidgey_front_pic.png b/graphics/pokemon/pidgey/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/pidgey_front_pic.png rename to graphics/pokemon/pidgey/anim_front.png diff --git a/graphics/pokemon/back_pics/pidgey_back_pic.png b/graphics/pokemon/pidgey/back.png similarity index 100% rename from graphics/pokemon/back_pics/pidgey_back_pic.png rename to graphics/pokemon/pidgey/back.png diff --git a/graphics/pokemon/footprints/pidgey_footprint.png b/graphics/pokemon/pidgey/footprint.png similarity index 100% rename from graphics/pokemon/footprints/pidgey_footprint.png rename to graphics/pokemon/pidgey/footprint.png diff --git a/graphics/pokemon/front_pics/pidgey_still_front_pic.png b/graphics/pokemon/pidgey/front.png similarity index 100% rename from graphics/pokemon/front_pics/pidgey_still_front_pic.png rename to graphics/pokemon/pidgey/front.png diff --git a/graphics/pokemon/icons/pidgey_icon.png b/graphics/pokemon/pidgey/icon.png similarity index 100% rename from graphics/pokemon/icons/pidgey_icon.png rename to graphics/pokemon/pidgey/icon.png diff --git a/graphics/pokemon/palettes/pidgey_palette.pal b/graphics/pokemon/pidgey/normal.pal similarity index 100% rename from graphics/pokemon/palettes/pidgey_palette.pal rename to graphics/pokemon/pidgey/normal.pal diff --git a/graphics/pokemon/palettes/pidgey_shiny_palette.pal b/graphics/pokemon/pidgey/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/pidgey_shiny_palette.pal rename to graphics/pokemon/pidgey/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/pikachu_front_pic.png b/graphics/pokemon/pikachu/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/pikachu_front_pic.png rename to graphics/pokemon/pikachu/anim_front.png diff --git a/graphics/pokemon/back_pics/pikachu_back_pic.png b/graphics/pokemon/pikachu/back.png similarity index 100% rename from graphics/pokemon/back_pics/pikachu_back_pic.png rename to graphics/pokemon/pikachu/back.png diff --git a/graphics/pokemon/footprints/pikachu_footprint.png b/graphics/pokemon/pikachu/footprint.png similarity index 100% rename from graphics/pokemon/footprints/pikachu_footprint.png rename to graphics/pokemon/pikachu/footprint.png diff --git a/graphics/pokemon/front_pics/pikachu_still_front_pic.png b/graphics/pokemon/pikachu/front.png similarity index 100% rename from graphics/pokemon/front_pics/pikachu_still_front_pic.png rename to graphics/pokemon/pikachu/front.png diff --git a/graphics/pokemon/icons/pikachu_icon.png b/graphics/pokemon/pikachu/icon.png similarity index 100% rename from graphics/pokemon/icons/pikachu_icon.png rename to graphics/pokemon/pikachu/icon.png diff --git a/graphics/pokemon/palettes/pikachu_palette.pal b/graphics/pokemon/pikachu/normal.pal similarity index 100% rename from graphics/pokemon/palettes/pikachu_palette.pal rename to graphics/pokemon/pikachu/normal.pal diff --git a/graphics/pokemon/palettes/pikachu_shiny_palette.pal b/graphics/pokemon/pikachu/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/pikachu_shiny_palette.pal rename to graphics/pokemon/pikachu/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/piloswine_front_pic.png b/graphics/pokemon/piloswine/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/piloswine_front_pic.png rename to graphics/pokemon/piloswine/anim_front.png diff --git a/graphics/pokemon/back_pics/piloswine_back_pic.png b/graphics/pokemon/piloswine/back.png similarity index 100% rename from graphics/pokemon/back_pics/piloswine_back_pic.png rename to graphics/pokemon/piloswine/back.png diff --git a/graphics/pokemon/footprints/piloswine_footprint.png b/graphics/pokemon/piloswine/footprint.png similarity index 100% rename from graphics/pokemon/footprints/piloswine_footprint.png rename to graphics/pokemon/piloswine/footprint.png diff --git a/graphics/pokemon/front_pics/piloswine_still_front_pic.png b/graphics/pokemon/piloswine/front.png similarity index 100% rename from graphics/pokemon/front_pics/piloswine_still_front_pic.png rename to graphics/pokemon/piloswine/front.png diff --git a/graphics/pokemon/icons/piloswine_icon.png b/graphics/pokemon/piloswine/icon.png similarity index 100% rename from graphics/pokemon/icons/piloswine_icon.png rename to graphics/pokemon/piloswine/icon.png diff --git a/graphics/pokemon/palettes/piloswine_palette.pal b/graphics/pokemon/piloswine/normal.pal similarity index 100% rename from graphics/pokemon/palettes/piloswine_palette.pal rename to graphics/pokemon/piloswine/normal.pal diff --git a/graphics/pokemon/palettes/piloswine_shiny_palette.pal b/graphics/pokemon/piloswine/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/piloswine_shiny_palette.pal rename to graphics/pokemon/piloswine/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/pineco_front_pic.png b/graphics/pokemon/pineco/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/pineco_front_pic.png rename to graphics/pokemon/pineco/anim_front.png diff --git a/graphics/pokemon/back_pics/pineco_back_pic.png b/graphics/pokemon/pineco/back.png similarity index 100% rename from graphics/pokemon/back_pics/pineco_back_pic.png rename to graphics/pokemon/pineco/back.png diff --git a/graphics/pokemon/footprints/pineco_footprint.png b/graphics/pokemon/pineco/footprint.png similarity index 100% rename from graphics/pokemon/footprints/pineco_footprint.png rename to graphics/pokemon/pineco/footprint.png diff --git a/graphics/pokemon/front_pics/pineco_still_front_pic.png b/graphics/pokemon/pineco/front.png similarity index 100% rename from graphics/pokemon/front_pics/pineco_still_front_pic.png rename to graphics/pokemon/pineco/front.png diff --git a/graphics/pokemon/icons/pineco_icon.png b/graphics/pokemon/pineco/icon.png similarity index 100% rename from graphics/pokemon/icons/pineco_icon.png rename to graphics/pokemon/pineco/icon.png diff --git a/graphics/pokemon/palettes/pineco_palette.pal b/graphics/pokemon/pineco/normal.pal similarity index 100% rename from graphics/pokemon/palettes/pineco_palette.pal rename to graphics/pokemon/pineco/normal.pal diff --git a/graphics/pokemon/palettes/pineco_shiny_palette.pal b/graphics/pokemon/pineco/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/pineco_shiny_palette.pal rename to graphics/pokemon/pineco/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/pinsir_front_pic.png b/graphics/pokemon/pinsir/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/pinsir_front_pic.png rename to graphics/pokemon/pinsir/anim_front.png diff --git a/graphics/pokemon/back_pics/pinsir_back_pic.png b/graphics/pokemon/pinsir/back.png similarity index 100% rename from graphics/pokemon/back_pics/pinsir_back_pic.png rename to graphics/pokemon/pinsir/back.png diff --git a/graphics/pokemon/footprints/pinsir_footprint.png b/graphics/pokemon/pinsir/footprint.png similarity index 100% rename from graphics/pokemon/footprints/pinsir_footprint.png rename to graphics/pokemon/pinsir/footprint.png diff --git a/graphics/pokemon/front_pics/pinsir_still_front_pic.png b/graphics/pokemon/pinsir/front.png similarity index 100% rename from graphics/pokemon/front_pics/pinsir_still_front_pic.png rename to graphics/pokemon/pinsir/front.png diff --git a/graphics/pokemon/icons/pinsir_icon.png b/graphics/pokemon/pinsir/icon.png similarity index 100% rename from graphics/pokemon/icons/pinsir_icon.png rename to graphics/pokemon/pinsir/icon.png diff --git a/graphics/pokemon/palettes/pinsir_palette.pal b/graphics/pokemon/pinsir/normal.pal similarity index 100% rename from graphics/pokemon/palettes/pinsir_palette.pal rename to graphics/pokemon/pinsir/normal.pal diff --git a/graphics/pokemon/palettes/pinsir_shiny_palette.pal b/graphics/pokemon/pinsir/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/pinsir_shiny_palette.pal rename to graphics/pokemon/pinsir/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/plusle_front_pic.png b/graphics/pokemon/plusle/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/plusle_front_pic.png rename to graphics/pokemon/plusle/anim_front.png diff --git a/graphics/pokemon/back_pics/plusle_back_pic.png b/graphics/pokemon/plusle/back.png similarity index 100% rename from graphics/pokemon/back_pics/plusle_back_pic.png rename to graphics/pokemon/plusle/back.png diff --git a/graphics/pokemon/footprints/plusle_footprint.png b/graphics/pokemon/plusle/footprint.png similarity index 100% rename from graphics/pokemon/footprints/plusle_footprint.png rename to graphics/pokemon/plusle/footprint.png diff --git a/graphics/pokemon/front_pics/plusle_still_front_pic.png b/graphics/pokemon/plusle/front.png similarity index 100% rename from graphics/pokemon/front_pics/plusle_still_front_pic.png rename to graphics/pokemon/plusle/front.png diff --git a/graphics/pokemon/icons/plusle_icon.png b/graphics/pokemon/plusle/icon.png similarity index 100% rename from graphics/pokemon/icons/plusle_icon.png rename to graphics/pokemon/plusle/icon.png diff --git a/graphics/pokemon/palettes/plusle_palette.pal b/graphics/pokemon/plusle/normal.pal similarity index 100% rename from graphics/pokemon/palettes/plusle_palette.pal rename to graphics/pokemon/plusle/normal.pal diff --git a/graphics/pokemon/palettes/plusle_shiny_palette.pal b/graphics/pokemon/plusle/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/plusle_shiny_palette.pal rename to graphics/pokemon/plusle/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/politoed_front_pic.png b/graphics/pokemon/politoed/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/politoed_front_pic.png rename to graphics/pokemon/politoed/anim_front.png diff --git a/graphics/pokemon/back_pics/politoed_back_pic.png b/graphics/pokemon/politoed/back.png similarity index 100% rename from graphics/pokemon/back_pics/politoed_back_pic.png rename to graphics/pokemon/politoed/back.png diff --git a/graphics/pokemon/footprints/politoed_footprint.png b/graphics/pokemon/politoed/footprint.png similarity index 100% rename from graphics/pokemon/footprints/politoed_footprint.png rename to graphics/pokemon/politoed/footprint.png diff --git a/graphics/pokemon/front_pics/politoed_still_front_pic.png b/graphics/pokemon/politoed/front.png similarity index 100% rename from graphics/pokemon/front_pics/politoed_still_front_pic.png rename to graphics/pokemon/politoed/front.png diff --git a/graphics/pokemon/icons/politoed_icon.png b/graphics/pokemon/politoed/icon.png similarity index 100% rename from graphics/pokemon/icons/politoed_icon.png rename to graphics/pokemon/politoed/icon.png diff --git a/graphics/pokemon/palettes/politoed_palette.pal b/graphics/pokemon/politoed/normal.pal similarity index 100% rename from graphics/pokemon/palettes/politoed_palette.pal rename to graphics/pokemon/politoed/normal.pal diff --git a/graphics/pokemon/palettes/politoed_shiny_palette.pal b/graphics/pokemon/politoed/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/politoed_shiny_palette.pal rename to graphics/pokemon/politoed/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/poliwag_front_pic.png b/graphics/pokemon/poliwag/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/poliwag_front_pic.png rename to graphics/pokemon/poliwag/anim_front.png diff --git a/graphics/pokemon/back_pics/poliwag_back_pic.png b/graphics/pokemon/poliwag/back.png similarity index 100% rename from graphics/pokemon/back_pics/poliwag_back_pic.png rename to graphics/pokemon/poliwag/back.png diff --git a/graphics/pokemon/footprints/poliwag_footprint.png b/graphics/pokemon/poliwag/footprint.png similarity index 100% rename from graphics/pokemon/footprints/poliwag_footprint.png rename to graphics/pokemon/poliwag/footprint.png diff --git a/graphics/pokemon/front_pics/poliwag_still_front_pic.png b/graphics/pokemon/poliwag/front.png similarity index 100% rename from graphics/pokemon/front_pics/poliwag_still_front_pic.png rename to graphics/pokemon/poliwag/front.png diff --git a/graphics/pokemon/icons/poliwag_icon.png b/graphics/pokemon/poliwag/icon.png similarity index 100% rename from graphics/pokemon/icons/poliwag_icon.png rename to graphics/pokemon/poliwag/icon.png diff --git a/graphics/pokemon/palettes/poliwag_palette.pal b/graphics/pokemon/poliwag/normal.pal similarity index 100% rename from graphics/pokemon/palettes/poliwag_palette.pal rename to graphics/pokemon/poliwag/normal.pal diff --git a/graphics/pokemon/palettes/poliwag_shiny_palette.pal b/graphics/pokemon/poliwag/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/poliwag_shiny_palette.pal rename to graphics/pokemon/poliwag/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/poliwhirl_front_pic.png b/graphics/pokemon/poliwhirl/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/poliwhirl_front_pic.png rename to graphics/pokemon/poliwhirl/anim_front.png diff --git a/graphics/pokemon/back_pics/poliwhirl_back_pic.png b/graphics/pokemon/poliwhirl/back.png similarity index 100% rename from graphics/pokemon/back_pics/poliwhirl_back_pic.png rename to graphics/pokemon/poliwhirl/back.png diff --git a/graphics/pokemon/footprints/poliwhirl_footprint.png b/graphics/pokemon/poliwhirl/footprint.png similarity index 100% rename from graphics/pokemon/footprints/poliwhirl_footprint.png rename to graphics/pokemon/poliwhirl/footprint.png diff --git a/graphics/pokemon/front_pics/poliwhirl_still_front_pic.png b/graphics/pokemon/poliwhirl/front.png similarity index 100% rename from graphics/pokemon/front_pics/poliwhirl_still_front_pic.png rename to graphics/pokemon/poliwhirl/front.png diff --git a/graphics/pokemon/icons/poliwhirl_icon.png b/graphics/pokemon/poliwhirl/icon.png similarity index 100% rename from graphics/pokemon/icons/poliwhirl_icon.png rename to graphics/pokemon/poliwhirl/icon.png diff --git a/graphics/pokemon/palettes/poliwhirl_palette.pal b/graphics/pokemon/poliwhirl/normal.pal similarity index 100% rename from graphics/pokemon/palettes/poliwhirl_palette.pal rename to graphics/pokemon/poliwhirl/normal.pal diff --git a/graphics/pokemon/palettes/poliwhirl_shiny_palette.pal b/graphics/pokemon/poliwhirl/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/poliwhirl_shiny_palette.pal rename to graphics/pokemon/poliwhirl/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/poliwrath_front_pic.png b/graphics/pokemon/poliwrath/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/poliwrath_front_pic.png rename to graphics/pokemon/poliwrath/anim_front.png diff --git a/graphics/pokemon/back_pics/poliwrath_back_pic.png b/graphics/pokemon/poliwrath/back.png similarity index 100% rename from graphics/pokemon/back_pics/poliwrath_back_pic.png rename to graphics/pokemon/poliwrath/back.png diff --git a/graphics/pokemon/footprints/poliwrath_footprint.png b/graphics/pokemon/poliwrath/footprint.png similarity index 100% rename from graphics/pokemon/footprints/poliwrath_footprint.png rename to graphics/pokemon/poliwrath/footprint.png diff --git a/graphics/pokemon/front_pics/poliwrath_still_front_pic.png b/graphics/pokemon/poliwrath/front.png similarity index 100% rename from graphics/pokemon/front_pics/poliwrath_still_front_pic.png rename to graphics/pokemon/poliwrath/front.png diff --git a/graphics/pokemon/icons/poliwrath_icon.png b/graphics/pokemon/poliwrath/icon.png similarity index 100% rename from graphics/pokemon/icons/poliwrath_icon.png rename to graphics/pokemon/poliwrath/icon.png diff --git a/graphics/pokemon/palettes/poliwrath_palette.pal b/graphics/pokemon/poliwrath/normal.pal similarity index 100% rename from graphics/pokemon/palettes/poliwrath_palette.pal rename to graphics/pokemon/poliwrath/normal.pal diff --git a/graphics/pokemon/palettes/poliwrath_shiny_palette.pal b/graphics/pokemon/poliwrath/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/poliwrath_shiny_palette.pal rename to graphics/pokemon/poliwrath/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/ponyta_front_pic.png b/graphics/pokemon/ponyta/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/ponyta_front_pic.png rename to graphics/pokemon/ponyta/anim_front.png diff --git a/graphics/pokemon/back_pics/ponyta_back_pic.png b/graphics/pokemon/ponyta/back.png similarity index 100% rename from graphics/pokemon/back_pics/ponyta_back_pic.png rename to graphics/pokemon/ponyta/back.png diff --git a/graphics/pokemon/footprints/ponyta_footprint.png b/graphics/pokemon/ponyta/footprint.png similarity index 100% rename from graphics/pokemon/footprints/ponyta_footprint.png rename to graphics/pokemon/ponyta/footprint.png diff --git a/graphics/pokemon/front_pics/ponyta_still_front_pic.png b/graphics/pokemon/ponyta/front.png similarity index 100% rename from graphics/pokemon/front_pics/ponyta_still_front_pic.png rename to graphics/pokemon/ponyta/front.png diff --git a/graphics/pokemon/icons/ponyta_icon.png b/graphics/pokemon/ponyta/icon.png similarity index 100% rename from graphics/pokemon/icons/ponyta_icon.png rename to graphics/pokemon/ponyta/icon.png diff --git a/graphics/pokemon/palettes/ponyta_palette.pal b/graphics/pokemon/ponyta/normal.pal similarity index 100% rename from graphics/pokemon/palettes/ponyta_palette.pal rename to graphics/pokemon/ponyta/normal.pal diff --git a/graphics/pokemon/palettes/ponyta_shiny_palette.pal b/graphics/pokemon/ponyta/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/ponyta_shiny_palette.pal rename to graphics/pokemon/ponyta/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/poochyena_front_pic.png b/graphics/pokemon/poochyena/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/poochyena_front_pic.png rename to graphics/pokemon/poochyena/anim_front.png diff --git a/graphics/pokemon/back_pics/poochyena_back_pic.png b/graphics/pokemon/poochyena/back.png similarity index 100% rename from graphics/pokemon/back_pics/poochyena_back_pic.png rename to graphics/pokemon/poochyena/back.png diff --git a/graphics/pokemon/footprints/poochyena_footprint.png b/graphics/pokemon/poochyena/footprint.png similarity index 100% rename from graphics/pokemon/footprints/poochyena_footprint.png rename to graphics/pokemon/poochyena/footprint.png diff --git a/graphics/pokemon/front_pics/poochyena_still_front_pic.png b/graphics/pokemon/poochyena/front.png similarity index 100% rename from graphics/pokemon/front_pics/poochyena_still_front_pic.png rename to graphics/pokemon/poochyena/front.png diff --git a/graphics/pokemon/icons/poochyena_icon.png b/graphics/pokemon/poochyena/icon.png similarity index 100% rename from graphics/pokemon/icons/poochyena_icon.png rename to graphics/pokemon/poochyena/icon.png diff --git a/graphics/pokemon/palettes/poochyena_palette.pal b/graphics/pokemon/poochyena/normal.pal similarity index 100% rename from graphics/pokemon/palettes/poochyena_palette.pal rename to graphics/pokemon/poochyena/normal.pal diff --git a/graphics/pokemon/palettes/poochyena_shiny_palette.pal b/graphics/pokemon/poochyena/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/poochyena_shiny_palette.pal rename to graphics/pokemon/poochyena/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/porygon_front_pic.png b/graphics/pokemon/porygon/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/porygon_front_pic.png rename to graphics/pokemon/porygon/anim_front.png diff --git a/graphics/pokemon/back_pics/porygon_back_pic.png b/graphics/pokemon/porygon/back.png similarity index 100% rename from graphics/pokemon/back_pics/porygon_back_pic.png rename to graphics/pokemon/porygon/back.png diff --git a/graphics/pokemon/footprints/porygon_footprint.png b/graphics/pokemon/porygon/footprint.png similarity index 100% rename from graphics/pokemon/footprints/porygon_footprint.png rename to graphics/pokemon/porygon/footprint.png diff --git a/graphics/pokemon/front_pics/porygon_still_front_pic.png b/graphics/pokemon/porygon/front.png similarity index 100% rename from graphics/pokemon/front_pics/porygon_still_front_pic.png rename to graphics/pokemon/porygon/front.png diff --git a/graphics/pokemon/icons/porygon_icon.png b/graphics/pokemon/porygon/icon.png similarity index 100% rename from graphics/pokemon/icons/porygon_icon.png rename to graphics/pokemon/porygon/icon.png diff --git a/graphics/pokemon/palettes/porygon_palette.pal b/graphics/pokemon/porygon/normal.pal similarity index 100% rename from graphics/pokemon/palettes/porygon_palette.pal rename to graphics/pokemon/porygon/normal.pal diff --git a/graphics/pokemon/palettes/porygon_shiny_palette.pal b/graphics/pokemon/porygon/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/porygon_shiny_palette.pal rename to graphics/pokemon/porygon/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/porygon2_front_pic.png b/graphics/pokemon/porygon2/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/porygon2_front_pic.png rename to graphics/pokemon/porygon2/anim_front.png diff --git a/graphics/pokemon/back_pics/porygon2_back_pic.png b/graphics/pokemon/porygon2/back.png similarity index 100% rename from graphics/pokemon/back_pics/porygon2_back_pic.png rename to graphics/pokemon/porygon2/back.png diff --git a/graphics/pokemon/footprints/porygon2_footprint.png b/graphics/pokemon/porygon2/footprint.png similarity index 100% rename from graphics/pokemon/footprints/porygon2_footprint.png rename to graphics/pokemon/porygon2/footprint.png diff --git a/graphics/pokemon/front_pics/porygon2_still_front_pic.png b/graphics/pokemon/porygon2/front.png similarity index 100% rename from graphics/pokemon/front_pics/porygon2_still_front_pic.png rename to graphics/pokemon/porygon2/front.png diff --git a/graphics/pokemon/icons/porygon2_icon.png b/graphics/pokemon/porygon2/icon.png similarity index 100% rename from graphics/pokemon/icons/porygon2_icon.png rename to graphics/pokemon/porygon2/icon.png diff --git a/graphics/pokemon/palettes/porygon2_palette.pal b/graphics/pokemon/porygon2/normal.pal similarity index 100% rename from graphics/pokemon/palettes/porygon2_palette.pal rename to graphics/pokemon/porygon2/normal.pal diff --git a/graphics/pokemon/palettes/porygon2_shiny_palette.pal b/graphics/pokemon/porygon2/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/porygon2_shiny_palette.pal rename to graphics/pokemon/porygon2/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/primeape_front_pic.png b/graphics/pokemon/primeape/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/primeape_front_pic.png rename to graphics/pokemon/primeape/anim_front.png diff --git a/graphics/pokemon/back_pics/primeape_back_pic.png b/graphics/pokemon/primeape/back.png similarity index 100% rename from graphics/pokemon/back_pics/primeape_back_pic.png rename to graphics/pokemon/primeape/back.png diff --git a/graphics/pokemon/footprints/primeape_footprint.png b/graphics/pokemon/primeape/footprint.png similarity index 100% rename from graphics/pokemon/footprints/primeape_footprint.png rename to graphics/pokemon/primeape/footprint.png diff --git a/graphics/pokemon/front_pics/primeape_still_front_pic.png b/graphics/pokemon/primeape/front.png similarity index 100% rename from graphics/pokemon/front_pics/primeape_still_front_pic.png rename to graphics/pokemon/primeape/front.png diff --git a/graphics/pokemon/icons/primeape_icon.png b/graphics/pokemon/primeape/icon.png similarity index 100% rename from graphics/pokemon/icons/primeape_icon.png rename to graphics/pokemon/primeape/icon.png diff --git a/graphics/pokemon/palettes/primeape_palette.pal b/graphics/pokemon/primeape/normal.pal similarity index 100% rename from graphics/pokemon/palettes/primeape_palette.pal rename to graphics/pokemon/primeape/normal.pal diff --git a/graphics/pokemon/palettes/primeape_shiny_palette.pal b/graphics/pokemon/primeape/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/primeape_shiny_palette.pal rename to graphics/pokemon/primeape/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/psyduck_front_pic.png b/graphics/pokemon/psyduck/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/psyduck_front_pic.png rename to graphics/pokemon/psyduck/anim_front.png diff --git a/graphics/pokemon/back_pics/psyduck_back_pic.png b/graphics/pokemon/psyduck/back.png similarity index 100% rename from graphics/pokemon/back_pics/psyduck_back_pic.png rename to graphics/pokemon/psyduck/back.png diff --git a/graphics/pokemon/footprints/psyduck_footprint.png b/graphics/pokemon/psyduck/footprint.png similarity index 100% rename from graphics/pokemon/footprints/psyduck_footprint.png rename to graphics/pokemon/psyduck/footprint.png diff --git a/graphics/pokemon/front_pics/psyduck_still_front_pic.png b/graphics/pokemon/psyduck/front.png similarity index 100% rename from graphics/pokemon/front_pics/psyduck_still_front_pic.png rename to graphics/pokemon/psyduck/front.png diff --git a/graphics/pokemon/icons/psyduck_icon.png b/graphics/pokemon/psyduck/icon.png similarity index 100% rename from graphics/pokemon/icons/psyduck_icon.png rename to graphics/pokemon/psyduck/icon.png diff --git a/graphics/pokemon/palettes/psyduck_palette.pal b/graphics/pokemon/psyduck/normal.pal similarity index 100% rename from graphics/pokemon/palettes/psyduck_palette.pal rename to graphics/pokemon/psyduck/normal.pal diff --git a/graphics/pokemon/palettes/psyduck_shiny_palette.pal b/graphics/pokemon/psyduck/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/psyduck_shiny_palette.pal rename to graphics/pokemon/psyduck/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/pupitar_front_pic.png b/graphics/pokemon/pupitar/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/pupitar_front_pic.png rename to graphics/pokemon/pupitar/anim_front.png diff --git a/graphics/pokemon/back_pics/pupitar_back_pic.png b/graphics/pokemon/pupitar/back.png similarity index 100% rename from graphics/pokemon/back_pics/pupitar_back_pic.png rename to graphics/pokemon/pupitar/back.png diff --git a/graphics/pokemon/footprints/pupitar_footprint.png b/graphics/pokemon/pupitar/footprint.png similarity index 100% rename from graphics/pokemon/footprints/pupitar_footprint.png rename to graphics/pokemon/pupitar/footprint.png diff --git a/graphics/pokemon/front_pics/pupitar_still_front_pic.png b/graphics/pokemon/pupitar/front.png similarity index 100% rename from graphics/pokemon/front_pics/pupitar_still_front_pic.png rename to graphics/pokemon/pupitar/front.png diff --git a/graphics/pokemon/icons/pupitar_icon.png b/graphics/pokemon/pupitar/icon.png similarity index 100% rename from graphics/pokemon/icons/pupitar_icon.png rename to graphics/pokemon/pupitar/icon.png diff --git a/graphics/pokemon/palettes/pupitar_palette.pal b/graphics/pokemon/pupitar/normal.pal similarity index 100% rename from graphics/pokemon/palettes/pupitar_palette.pal rename to graphics/pokemon/pupitar/normal.pal diff --git a/graphics/pokemon/palettes/pupitar_shiny_palette.pal b/graphics/pokemon/pupitar/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/pupitar_shiny_palette.pal rename to graphics/pokemon/pupitar/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/quagsire_front_pic.png b/graphics/pokemon/quagsire/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/quagsire_front_pic.png rename to graphics/pokemon/quagsire/anim_front.png diff --git a/graphics/pokemon/back_pics/quagsire_back_pic.png b/graphics/pokemon/quagsire/back.png similarity index 100% rename from graphics/pokemon/back_pics/quagsire_back_pic.png rename to graphics/pokemon/quagsire/back.png diff --git a/graphics/pokemon/footprints/quagsire_footprint.png b/graphics/pokemon/quagsire/footprint.png similarity index 100% rename from graphics/pokemon/footprints/quagsire_footprint.png rename to graphics/pokemon/quagsire/footprint.png diff --git a/graphics/pokemon/front_pics/quagsire_still_front_pic.png b/graphics/pokemon/quagsire/front.png similarity index 100% rename from graphics/pokemon/front_pics/quagsire_still_front_pic.png rename to graphics/pokemon/quagsire/front.png diff --git a/graphics/pokemon/icons/quagsire_icon.png b/graphics/pokemon/quagsire/icon.png similarity index 100% rename from graphics/pokemon/icons/quagsire_icon.png rename to graphics/pokemon/quagsire/icon.png diff --git a/graphics/pokemon/palettes/quagsire_palette.pal b/graphics/pokemon/quagsire/normal.pal similarity index 100% rename from graphics/pokemon/palettes/quagsire_palette.pal rename to graphics/pokemon/quagsire/normal.pal diff --git a/graphics/pokemon/palettes/quagsire_shiny_palette.pal b/graphics/pokemon/quagsire/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/quagsire_shiny_palette.pal rename to graphics/pokemon/quagsire/shiny.pal diff --git a/graphics/pokemon/footprints/question_mark_footprint.png b/graphics/pokemon/question_mark/footprint.png similarity index 100% rename from graphics/pokemon/footprints/question_mark_footprint.png rename to graphics/pokemon/question_mark/footprint.png diff --git a/graphics/pokemon/icons/question_mark_icon.png b/graphics/pokemon/question_mark/icon.png similarity index 100% rename from graphics/pokemon/icons/question_mark_icon.png rename to graphics/pokemon/question_mark/icon.png diff --git a/graphics/pokemon/anim_front_pics/quilava_front_pic.png b/graphics/pokemon/quilava/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/quilava_front_pic.png rename to graphics/pokemon/quilava/anim_front.png diff --git a/graphics/pokemon/back_pics/quilava_back_pic.png b/graphics/pokemon/quilava/back.png similarity index 100% rename from graphics/pokemon/back_pics/quilava_back_pic.png rename to graphics/pokemon/quilava/back.png diff --git a/graphics/pokemon/footprints/quilava_footprint.png b/graphics/pokemon/quilava/footprint.png similarity index 100% rename from graphics/pokemon/footprints/quilava_footprint.png rename to graphics/pokemon/quilava/footprint.png diff --git a/graphics/pokemon/front_pics/quilava_still_front_pic.png b/graphics/pokemon/quilava/front.png similarity index 100% rename from graphics/pokemon/front_pics/quilava_still_front_pic.png rename to graphics/pokemon/quilava/front.png diff --git a/graphics/pokemon/icons/quilava_icon.png b/graphics/pokemon/quilava/icon.png similarity index 100% rename from graphics/pokemon/icons/quilava_icon.png rename to graphics/pokemon/quilava/icon.png diff --git a/graphics/pokemon/palettes/quilava_palette.pal b/graphics/pokemon/quilava/normal.pal similarity index 100% rename from graphics/pokemon/palettes/quilava_palette.pal rename to graphics/pokemon/quilava/normal.pal diff --git a/graphics/pokemon/palettes/quilava_shiny_palette.pal b/graphics/pokemon/quilava/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/quilava_shiny_palette.pal rename to graphics/pokemon/quilava/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/qwilfish_front_pic.png b/graphics/pokemon/qwilfish/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/qwilfish_front_pic.png rename to graphics/pokemon/qwilfish/anim_front.png diff --git a/graphics/pokemon/back_pics/qwilfish_back_pic.png b/graphics/pokemon/qwilfish/back.png similarity index 100% rename from graphics/pokemon/back_pics/qwilfish_back_pic.png rename to graphics/pokemon/qwilfish/back.png diff --git a/graphics/pokemon/footprints/qwilfish_footprint.png b/graphics/pokemon/qwilfish/footprint.png similarity index 100% rename from graphics/pokemon/footprints/qwilfish_footprint.png rename to graphics/pokemon/qwilfish/footprint.png diff --git a/graphics/pokemon/front_pics/qwilfish_still_front_pic.png b/graphics/pokemon/qwilfish/front.png similarity index 100% rename from graphics/pokemon/front_pics/qwilfish_still_front_pic.png rename to graphics/pokemon/qwilfish/front.png diff --git a/graphics/pokemon/icons/qwilfish_icon.png b/graphics/pokemon/qwilfish/icon.png similarity index 100% rename from graphics/pokemon/icons/qwilfish_icon.png rename to graphics/pokemon/qwilfish/icon.png diff --git a/graphics/pokemon/palettes/qwilfish_palette.pal b/graphics/pokemon/qwilfish/normal.pal similarity index 100% rename from graphics/pokemon/palettes/qwilfish_palette.pal rename to graphics/pokemon/qwilfish/normal.pal diff --git a/graphics/pokemon/palettes/qwilfish_shiny_palette.pal b/graphics/pokemon/qwilfish/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/qwilfish_shiny_palette.pal rename to graphics/pokemon/qwilfish/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/raichu_front_pic.png b/graphics/pokemon/raichu/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/raichu_front_pic.png rename to graphics/pokemon/raichu/anim_front.png diff --git a/graphics/pokemon/back_pics/raichu_back_pic.png b/graphics/pokemon/raichu/back.png similarity index 100% rename from graphics/pokemon/back_pics/raichu_back_pic.png rename to graphics/pokemon/raichu/back.png diff --git a/graphics/pokemon/footprints/raichu_footprint.png b/graphics/pokemon/raichu/footprint.png similarity index 100% rename from graphics/pokemon/footprints/raichu_footprint.png rename to graphics/pokemon/raichu/footprint.png diff --git a/graphics/pokemon/front_pics/raichu_still_front_pic.png b/graphics/pokemon/raichu/front.png similarity index 100% rename from graphics/pokemon/front_pics/raichu_still_front_pic.png rename to graphics/pokemon/raichu/front.png diff --git a/graphics/pokemon/icons/raichu_icon.png b/graphics/pokemon/raichu/icon.png similarity index 100% rename from graphics/pokemon/icons/raichu_icon.png rename to graphics/pokemon/raichu/icon.png diff --git a/graphics/pokemon/palettes/raichu_palette.pal b/graphics/pokemon/raichu/normal.pal similarity index 100% rename from graphics/pokemon/palettes/raichu_palette.pal rename to graphics/pokemon/raichu/normal.pal diff --git a/graphics/pokemon/palettes/raichu_shiny_palette.pal b/graphics/pokemon/raichu/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/raichu_shiny_palette.pal rename to graphics/pokemon/raichu/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/raikou_front_pic.png b/graphics/pokemon/raikou/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/raikou_front_pic.png rename to graphics/pokemon/raikou/anim_front.png diff --git a/graphics/pokemon/back_pics/raikou_back_pic.png b/graphics/pokemon/raikou/back.png similarity index 100% rename from graphics/pokemon/back_pics/raikou_back_pic.png rename to graphics/pokemon/raikou/back.png diff --git a/graphics/pokemon/footprints/raikou_footprint.png b/graphics/pokemon/raikou/footprint.png similarity index 100% rename from graphics/pokemon/footprints/raikou_footprint.png rename to graphics/pokemon/raikou/footprint.png diff --git a/graphics/pokemon/front_pics/raikou_still_front_pic.png b/graphics/pokemon/raikou/front.png similarity index 100% rename from graphics/pokemon/front_pics/raikou_still_front_pic.png rename to graphics/pokemon/raikou/front.png diff --git a/graphics/pokemon/icons/raikou_icon.png b/graphics/pokemon/raikou/icon.png similarity index 100% rename from graphics/pokemon/icons/raikou_icon.png rename to graphics/pokemon/raikou/icon.png diff --git a/graphics/pokemon/palettes/raikou_palette.pal b/graphics/pokemon/raikou/normal.pal similarity index 100% rename from graphics/pokemon/palettes/raikou_palette.pal rename to graphics/pokemon/raikou/normal.pal diff --git a/graphics/pokemon/palettes/raikou_shiny_palette.pal b/graphics/pokemon/raikou/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/raikou_shiny_palette.pal rename to graphics/pokemon/raikou/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/ralts_front_pic.png b/graphics/pokemon/ralts/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/ralts_front_pic.png rename to graphics/pokemon/ralts/anim_front.png diff --git a/graphics/pokemon/back_pics/ralts_back_pic.png b/graphics/pokemon/ralts/back.png similarity index 100% rename from graphics/pokemon/back_pics/ralts_back_pic.png rename to graphics/pokemon/ralts/back.png diff --git a/graphics/pokemon/footprints/ralts_footprint.png b/graphics/pokemon/ralts/footprint.png similarity index 100% rename from graphics/pokemon/footprints/ralts_footprint.png rename to graphics/pokemon/ralts/footprint.png diff --git a/graphics/pokemon/front_pics/ralts_still_front_pic.png b/graphics/pokemon/ralts/front.png similarity index 100% rename from graphics/pokemon/front_pics/ralts_still_front_pic.png rename to graphics/pokemon/ralts/front.png diff --git a/graphics/pokemon/icons/ralts_icon.png b/graphics/pokemon/ralts/icon.png similarity index 100% rename from graphics/pokemon/icons/ralts_icon.png rename to graphics/pokemon/ralts/icon.png diff --git a/graphics/pokemon/palettes/ralts_palette.pal b/graphics/pokemon/ralts/normal.pal similarity index 100% rename from graphics/pokemon/palettes/ralts_palette.pal rename to graphics/pokemon/ralts/normal.pal diff --git a/graphics/pokemon/palettes/ralts_shiny_palette.pal b/graphics/pokemon/ralts/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/ralts_shiny_palette.pal rename to graphics/pokemon/ralts/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/rapidash_front_pic.png b/graphics/pokemon/rapidash/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/rapidash_front_pic.png rename to graphics/pokemon/rapidash/anim_front.png diff --git a/graphics/pokemon/back_pics/rapidash_back_pic.png b/graphics/pokemon/rapidash/back.png similarity index 100% rename from graphics/pokemon/back_pics/rapidash_back_pic.png rename to graphics/pokemon/rapidash/back.png diff --git a/graphics/pokemon/footprints/rapidash_footprint.png b/graphics/pokemon/rapidash/footprint.png similarity index 100% rename from graphics/pokemon/footprints/rapidash_footprint.png rename to graphics/pokemon/rapidash/footprint.png diff --git a/graphics/pokemon/front_pics/rapidash_still_front_pic.png b/graphics/pokemon/rapidash/front.png similarity index 100% rename from graphics/pokemon/front_pics/rapidash_still_front_pic.png rename to graphics/pokemon/rapidash/front.png diff --git a/graphics/pokemon/icons/rapidash_icon.png b/graphics/pokemon/rapidash/icon.png similarity index 100% rename from graphics/pokemon/icons/rapidash_icon.png rename to graphics/pokemon/rapidash/icon.png diff --git a/graphics/pokemon/palettes/rapidash_palette.pal b/graphics/pokemon/rapidash/normal.pal similarity index 100% rename from graphics/pokemon/palettes/rapidash_palette.pal rename to graphics/pokemon/rapidash/normal.pal diff --git a/graphics/pokemon/palettes/rapidash_shiny_palette.pal b/graphics/pokemon/rapidash/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/rapidash_shiny_palette.pal rename to graphics/pokemon/rapidash/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/raticate_front_pic.png b/graphics/pokemon/raticate/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/raticate_front_pic.png rename to graphics/pokemon/raticate/anim_front.png diff --git a/graphics/pokemon/back_pics/raticate_back_pic.png b/graphics/pokemon/raticate/back.png similarity index 100% rename from graphics/pokemon/back_pics/raticate_back_pic.png rename to graphics/pokemon/raticate/back.png diff --git a/graphics/pokemon/footprints/raticate_footprint.png b/graphics/pokemon/raticate/footprint.png similarity index 100% rename from graphics/pokemon/footprints/raticate_footprint.png rename to graphics/pokemon/raticate/footprint.png diff --git a/graphics/pokemon/front_pics/raticate_still_front_pic.png b/graphics/pokemon/raticate/front.png similarity index 100% rename from graphics/pokemon/front_pics/raticate_still_front_pic.png rename to graphics/pokemon/raticate/front.png diff --git a/graphics/pokemon/icons/raticate_icon.png b/graphics/pokemon/raticate/icon.png similarity index 100% rename from graphics/pokemon/icons/raticate_icon.png rename to graphics/pokemon/raticate/icon.png diff --git a/graphics/pokemon/palettes/raticate_palette.pal b/graphics/pokemon/raticate/normal.pal similarity index 100% rename from graphics/pokemon/palettes/raticate_palette.pal rename to graphics/pokemon/raticate/normal.pal diff --git a/graphics/pokemon/palettes/raticate_shiny_palette.pal b/graphics/pokemon/raticate/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/raticate_shiny_palette.pal rename to graphics/pokemon/raticate/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/rattata_front_pic.png b/graphics/pokemon/rattata/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/rattata_front_pic.png rename to graphics/pokemon/rattata/anim_front.png diff --git a/graphics/pokemon/back_pics/rattata_back_pic.png b/graphics/pokemon/rattata/back.png similarity index 100% rename from graphics/pokemon/back_pics/rattata_back_pic.png rename to graphics/pokemon/rattata/back.png diff --git a/graphics/pokemon/footprints/rattata_footprint.png b/graphics/pokemon/rattata/footprint.png similarity index 100% rename from graphics/pokemon/footprints/rattata_footprint.png rename to graphics/pokemon/rattata/footprint.png diff --git a/graphics/pokemon/front_pics/rattata_still_front_pic.png b/graphics/pokemon/rattata/front.png similarity index 100% rename from graphics/pokemon/front_pics/rattata_still_front_pic.png rename to graphics/pokemon/rattata/front.png diff --git a/graphics/pokemon/icons/rattata_icon.png b/graphics/pokemon/rattata/icon.png similarity index 100% rename from graphics/pokemon/icons/rattata_icon.png rename to graphics/pokemon/rattata/icon.png diff --git a/graphics/pokemon/palettes/rattata_palette.pal b/graphics/pokemon/rattata/normal.pal similarity index 100% rename from graphics/pokemon/palettes/rattata_palette.pal rename to graphics/pokemon/rattata/normal.pal diff --git a/graphics/pokemon/palettes/rattata_shiny_palette.pal b/graphics/pokemon/rattata/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/rattata_shiny_palette.pal rename to graphics/pokemon/rattata/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/rayquaza_front_pic.png b/graphics/pokemon/rayquaza/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/rayquaza_front_pic.png rename to graphics/pokemon/rayquaza/anim_front.png diff --git a/graphics/pokemon/back_pics/rayquaza_back_pic.png b/graphics/pokemon/rayquaza/back.png similarity index 100% rename from graphics/pokemon/back_pics/rayquaza_back_pic.png rename to graphics/pokemon/rayquaza/back.png diff --git a/graphics/pokemon/footprints/rayquaza_footprint.png b/graphics/pokemon/rayquaza/footprint.png similarity index 100% rename from graphics/pokemon/footprints/rayquaza_footprint.png rename to graphics/pokemon/rayquaza/footprint.png diff --git a/graphics/pokemon/front_pics/rayquaza_still_front_pic.png b/graphics/pokemon/rayquaza/front.png similarity index 100% rename from graphics/pokemon/front_pics/rayquaza_still_front_pic.png rename to graphics/pokemon/rayquaza/front.png diff --git a/graphics/pokemon/icons/rayquaza_icon.png b/graphics/pokemon/rayquaza/icon.png similarity index 100% rename from graphics/pokemon/icons/rayquaza_icon.png rename to graphics/pokemon/rayquaza/icon.png diff --git a/graphics/pokemon/palettes/rayquaza_palette.pal b/graphics/pokemon/rayquaza/normal.pal similarity index 100% rename from graphics/pokemon/palettes/rayquaza_palette.pal rename to graphics/pokemon/rayquaza/normal.pal diff --git a/graphics/pokemon/palettes/rayquaza_shiny_palette.pal b/graphics/pokemon/rayquaza/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/rayquaza_shiny_palette.pal rename to graphics/pokemon/rayquaza/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/regice_front_pic.png b/graphics/pokemon/regice/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/regice_front_pic.png rename to graphics/pokemon/regice/anim_front.png diff --git a/graphics/pokemon/back_pics/regice_back_pic.png b/graphics/pokemon/regice/back.png similarity index 100% rename from graphics/pokemon/back_pics/regice_back_pic.png rename to graphics/pokemon/regice/back.png diff --git a/graphics/pokemon/footprints/regice_footprint.png b/graphics/pokemon/regice/footprint.png similarity index 100% rename from graphics/pokemon/footprints/regice_footprint.png rename to graphics/pokemon/regice/footprint.png diff --git a/graphics/pokemon/front_pics/regice_still_front_pic.png b/graphics/pokemon/regice/front.png similarity index 100% rename from graphics/pokemon/front_pics/regice_still_front_pic.png rename to graphics/pokemon/regice/front.png diff --git a/graphics/pokemon/icons/regice_icon.png b/graphics/pokemon/regice/icon.png similarity index 100% rename from graphics/pokemon/icons/regice_icon.png rename to graphics/pokemon/regice/icon.png diff --git a/graphics/pokemon/palettes/regice_palette.pal b/graphics/pokemon/regice/normal.pal similarity index 100% rename from graphics/pokemon/palettes/regice_palette.pal rename to graphics/pokemon/regice/normal.pal diff --git a/graphics/pokemon/palettes/regice_shiny_palette.pal b/graphics/pokemon/regice/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/regice_shiny_palette.pal rename to graphics/pokemon/regice/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/regirock_front_pic.png b/graphics/pokemon/regirock/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/regirock_front_pic.png rename to graphics/pokemon/regirock/anim_front.png diff --git a/graphics/pokemon/back_pics/regirock_back_pic.png b/graphics/pokemon/regirock/back.png similarity index 100% rename from graphics/pokemon/back_pics/regirock_back_pic.png rename to graphics/pokemon/regirock/back.png diff --git a/graphics/pokemon/footprints/regirock_footprint.png b/graphics/pokemon/regirock/footprint.png similarity index 100% rename from graphics/pokemon/footprints/regirock_footprint.png rename to graphics/pokemon/regirock/footprint.png diff --git a/graphics/pokemon/front_pics/regirock_still_front_pic.png b/graphics/pokemon/regirock/front.png similarity index 100% rename from graphics/pokemon/front_pics/regirock_still_front_pic.png rename to graphics/pokemon/regirock/front.png diff --git a/graphics/pokemon/icons/regirock_icon.png b/graphics/pokemon/regirock/icon.png similarity index 100% rename from graphics/pokemon/icons/regirock_icon.png rename to graphics/pokemon/regirock/icon.png diff --git a/graphics/pokemon/palettes/regirock_palette.pal b/graphics/pokemon/regirock/normal.pal similarity index 100% rename from graphics/pokemon/palettes/regirock_palette.pal rename to graphics/pokemon/regirock/normal.pal diff --git a/graphics/pokemon/palettes/regirock_shiny_palette.pal b/graphics/pokemon/regirock/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/regirock_shiny_palette.pal rename to graphics/pokemon/regirock/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/registeel_front_pic.png b/graphics/pokemon/registeel/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/registeel_front_pic.png rename to graphics/pokemon/registeel/anim_front.png diff --git a/graphics/pokemon/back_pics/registeel_back_pic.png b/graphics/pokemon/registeel/back.png similarity index 100% rename from graphics/pokemon/back_pics/registeel_back_pic.png rename to graphics/pokemon/registeel/back.png diff --git a/graphics/pokemon/footprints/registeel_footprint.png b/graphics/pokemon/registeel/footprint.png similarity index 100% rename from graphics/pokemon/footprints/registeel_footprint.png rename to graphics/pokemon/registeel/footprint.png diff --git a/graphics/pokemon/front_pics/registeel_still_front_pic.png b/graphics/pokemon/registeel/front.png similarity index 100% rename from graphics/pokemon/front_pics/registeel_still_front_pic.png rename to graphics/pokemon/registeel/front.png diff --git a/graphics/pokemon/icons/registeel_icon.png b/graphics/pokemon/registeel/icon.png similarity index 100% rename from graphics/pokemon/icons/registeel_icon.png rename to graphics/pokemon/registeel/icon.png diff --git a/graphics/pokemon/palettes/registeel_palette.pal b/graphics/pokemon/registeel/normal.pal similarity index 100% rename from graphics/pokemon/palettes/registeel_palette.pal rename to graphics/pokemon/registeel/normal.pal diff --git a/graphics/pokemon/palettes/registeel_shiny_palette.pal b/graphics/pokemon/registeel/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/registeel_shiny_palette.pal rename to graphics/pokemon/registeel/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/relicanth_front_pic.png b/graphics/pokemon/relicanth/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/relicanth_front_pic.png rename to graphics/pokemon/relicanth/anim_front.png diff --git a/graphics/pokemon/back_pics/relicanth_back_pic.png b/graphics/pokemon/relicanth/back.png similarity index 100% rename from graphics/pokemon/back_pics/relicanth_back_pic.png rename to graphics/pokemon/relicanth/back.png diff --git a/graphics/pokemon/footprints/relicanth_footprint.png b/graphics/pokemon/relicanth/footprint.png similarity index 100% rename from graphics/pokemon/footprints/relicanth_footprint.png rename to graphics/pokemon/relicanth/footprint.png diff --git a/graphics/pokemon/front_pics/relicanth_still_front_pic.png b/graphics/pokemon/relicanth/front.png similarity index 100% rename from graphics/pokemon/front_pics/relicanth_still_front_pic.png rename to graphics/pokemon/relicanth/front.png diff --git a/graphics/pokemon/icons/relicanth_icon.png b/graphics/pokemon/relicanth/icon.png similarity index 100% rename from graphics/pokemon/icons/relicanth_icon.png rename to graphics/pokemon/relicanth/icon.png diff --git a/graphics/pokemon/palettes/relicanth_palette.pal b/graphics/pokemon/relicanth/normal.pal similarity index 100% rename from graphics/pokemon/palettes/relicanth_palette.pal rename to graphics/pokemon/relicanth/normal.pal diff --git a/graphics/pokemon/palettes/relicanth_shiny_palette.pal b/graphics/pokemon/relicanth/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/relicanth_shiny_palette.pal rename to graphics/pokemon/relicanth/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/remoraid_front_pic.png b/graphics/pokemon/remoraid/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/remoraid_front_pic.png rename to graphics/pokemon/remoraid/anim_front.png diff --git a/graphics/pokemon/back_pics/remoraid_back_pic.png b/graphics/pokemon/remoraid/back.png similarity index 100% rename from graphics/pokemon/back_pics/remoraid_back_pic.png rename to graphics/pokemon/remoraid/back.png diff --git a/graphics/pokemon/footprints/remoraid_footprint.png b/graphics/pokemon/remoraid/footprint.png similarity index 100% rename from graphics/pokemon/footprints/remoraid_footprint.png rename to graphics/pokemon/remoraid/footprint.png diff --git a/graphics/pokemon/front_pics/remoraid_still_front_pic.png b/graphics/pokemon/remoraid/front.png similarity index 100% rename from graphics/pokemon/front_pics/remoraid_still_front_pic.png rename to graphics/pokemon/remoraid/front.png diff --git a/graphics/pokemon/icons/remoraid_icon.png b/graphics/pokemon/remoraid/icon.png similarity index 100% rename from graphics/pokemon/icons/remoraid_icon.png rename to graphics/pokemon/remoraid/icon.png diff --git a/graphics/pokemon/palettes/remoraid_palette.pal b/graphics/pokemon/remoraid/normal.pal similarity index 100% rename from graphics/pokemon/palettes/remoraid_palette.pal rename to graphics/pokemon/remoraid/normal.pal diff --git a/graphics/pokemon/palettes/remoraid_shiny_palette.pal b/graphics/pokemon/remoraid/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/remoraid_shiny_palette.pal rename to graphics/pokemon/remoraid/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/rhydon_front_pic.png b/graphics/pokemon/rhydon/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/rhydon_front_pic.png rename to graphics/pokemon/rhydon/anim_front.png diff --git a/graphics/pokemon/back_pics/rhydon_back_pic.png b/graphics/pokemon/rhydon/back.png similarity index 100% rename from graphics/pokemon/back_pics/rhydon_back_pic.png rename to graphics/pokemon/rhydon/back.png diff --git a/graphics/pokemon/footprints/rhydon_footprint.png b/graphics/pokemon/rhydon/footprint.png similarity index 100% rename from graphics/pokemon/footprints/rhydon_footprint.png rename to graphics/pokemon/rhydon/footprint.png diff --git a/graphics/pokemon/front_pics/rhydon_still_front_pic.png b/graphics/pokemon/rhydon/front.png similarity index 100% rename from graphics/pokemon/front_pics/rhydon_still_front_pic.png rename to graphics/pokemon/rhydon/front.png diff --git a/graphics/pokemon/icons/rhydon_icon.png b/graphics/pokemon/rhydon/icon.png similarity index 100% rename from graphics/pokemon/icons/rhydon_icon.png rename to graphics/pokemon/rhydon/icon.png diff --git a/graphics/pokemon/palettes/rhydon_palette.pal b/graphics/pokemon/rhydon/normal.pal similarity index 100% rename from graphics/pokemon/palettes/rhydon_palette.pal rename to graphics/pokemon/rhydon/normal.pal diff --git a/graphics/pokemon/palettes/rhydon_shiny_palette.pal b/graphics/pokemon/rhydon/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/rhydon_shiny_palette.pal rename to graphics/pokemon/rhydon/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/rhyhorn_front_pic.png b/graphics/pokemon/rhyhorn/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/rhyhorn_front_pic.png rename to graphics/pokemon/rhyhorn/anim_front.png diff --git a/graphics/pokemon/back_pics/rhyhorn_back_pic.png b/graphics/pokemon/rhyhorn/back.png similarity index 100% rename from graphics/pokemon/back_pics/rhyhorn_back_pic.png rename to graphics/pokemon/rhyhorn/back.png diff --git a/graphics/pokemon/footprints/rhyhorn_footprint.png b/graphics/pokemon/rhyhorn/footprint.png similarity index 100% rename from graphics/pokemon/footprints/rhyhorn_footprint.png rename to graphics/pokemon/rhyhorn/footprint.png diff --git a/graphics/pokemon/front_pics/rhyhorn_still_front_pic.png b/graphics/pokemon/rhyhorn/front.png similarity index 100% rename from graphics/pokemon/front_pics/rhyhorn_still_front_pic.png rename to graphics/pokemon/rhyhorn/front.png diff --git a/graphics/pokemon/icons/rhyhorn_icon.png b/graphics/pokemon/rhyhorn/icon.png similarity index 100% rename from graphics/pokemon/icons/rhyhorn_icon.png rename to graphics/pokemon/rhyhorn/icon.png diff --git a/graphics/pokemon/palettes/rhyhorn_palette.pal b/graphics/pokemon/rhyhorn/normal.pal similarity index 100% rename from graphics/pokemon/palettes/rhyhorn_palette.pal rename to graphics/pokemon/rhyhorn/normal.pal diff --git a/graphics/pokemon/palettes/rhyhorn_shiny_palette.pal b/graphics/pokemon/rhyhorn/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/rhyhorn_shiny_palette.pal rename to graphics/pokemon/rhyhorn/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/roselia_front_pic.png b/graphics/pokemon/roselia/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/roselia_front_pic.png rename to graphics/pokemon/roselia/anim_front.png diff --git a/graphics/pokemon/back_pics/roselia_back_pic.png b/graphics/pokemon/roselia/back.png similarity index 100% rename from graphics/pokemon/back_pics/roselia_back_pic.png rename to graphics/pokemon/roselia/back.png diff --git a/graphics/pokemon/footprints/roselia_footprint.png b/graphics/pokemon/roselia/footprint.png similarity index 100% rename from graphics/pokemon/footprints/roselia_footprint.png rename to graphics/pokemon/roselia/footprint.png diff --git a/graphics/pokemon/front_pics/roselia_still_front_pic.png b/graphics/pokemon/roselia/front.png similarity index 100% rename from graphics/pokemon/front_pics/roselia_still_front_pic.png rename to graphics/pokemon/roselia/front.png diff --git a/graphics/pokemon/icons/roselia_icon.png b/graphics/pokemon/roselia/icon.png similarity index 100% rename from graphics/pokemon/icons/roselia_icon.png rename to graphics/pokemon/roselia/icon.png diff --git a/graphics/pokemon/palettes/roselia_palette.pal b/graphics/pokemon/roselia/normal.pal similarity index 100% rename from graphics/pokemon/palettes/roselia_palette.pal rename to graphics/pokemon/roselia/normal.pal diff --git a/graphics/pokemon/palettes/roselia_shiny_palette.pal b/graphics/pokemon/roselia/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/roselia_shiny_palette.pal rename to graphics/pokemon/roselia/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/sableye_front_pic.png b/graphics/pokemon/sableye/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/sableye_front_pic.png rename to graphics/pokemon/sableye/anim_front.png diff --git a/graphics/pokemon/back_pics/sableye_back_pic.png b/graphics/pokemon/sableye/back.png similarity index 100% rename from graphics/pokemon/back_pics/sableye_back_pic.png rename to graphics/pokemon/sableye/back.png diff --git a/graphics/pokemon/footprints/sableye_footprint.png b/graphics/pokemon/sableye/footprint.png similarity index 100% rename from graphics/pokemon/footprints/sableye_footprint.png rename to graphics/pokemon/sableye/footprint.png diff --git a/graphics/pokemon/front_pics/sableye_still_front_pic.png b/graphics/pokemon/sableye/front.png similarity index 100% rename from graphics/pokemon/front_pics/sableye_still_front_pic.png rename to graphics/pokemon/sableye/front.png diff --git a/graphics/pokemon/icons/sableye_icon.png b/graphics/pokemon/sableye/icon.png similarity index 100% rename from graphics/pokemon/icons/sableye_icon.png rename to graphics/pokemon/sableye/icon.png diff --git a/graphics/pokemon/palettes/sableye_palette.pal b/graphics/pokemon/sableye/normal.pal similarity index 100% rename from graphics/pokemon/palettes/sableye_palette.pal rename to graphics/pokemon/sableye/normal.pal diff --git a/graphics/pokemon/palettes/sableye_shiny_palette.pal b/graphics/pokemon/sableye/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/sableye_shiny_palette.pal rename to graphics/pokemon/sableye/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/salamence_front_pic.png b/graphics/pokemon/salamence/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/salamence_front_pic.png rename to graphics/pokemon/salamence/anim_front.png diff --git a/graphics/pokemon/back_pics/salamence_back_pic.png b/graphics/pokemon/salamence/back.png similarity index 100% rename from graphics/pokemon/back_pics/salamence_back_pic.png rename to graphics/pokemon/salamence/back.png diff --git a/graphics/pokemon/footprints/salamence_footprint.png b/graphics/pokemon/salamence/footprint.png similarity index 100% rename from graphics/pokemon/footprints/salamence_footprint.png rename to graphics/pokemon/salamence/footprint.png diff --git a/graphics/pokemon/front_pics/salamence_still_front_pic.png b/graphics/pokemon/salamence/front.png similarity index 100% rename from graphics/pokemon/front_pics/salamence_still_front_pic.png rename to graphics/pokemon/salamence/front.png diff --git a/graphics/pokemon/icons/salamence_icon.png b/graphics/pokemon/salamence/icon.png similarity index 100% rename from graphics/pokemon/icons/salamence_icon.png rename to graphics/pokemon/salamence/icon.png diff --git a/graphics/pokemon/palettes/salamence_palette.pal b/graphics/pokemon/salamence/normal.pal similarity index 100% rename from graphics/pokemon/palettes/salamence_palette.pal rename to graphics/pokemon/salamence/normal.pal diff --git a/graphics/pokemon/palettes/salamence_shiny_palette.pal b/graphics/pokemon/salamence/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/salamence_shiny_palette.pal rename to graphics/pokemon/salamence/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/sandshrew_front_pic.png b/graphics/pokemon/sandshrew/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/sandshrew_front_pic.png rename to graphics/pokemon/sandshrew/anim_front.png diff --git a/graphics/pokemon/back_pics/sandshrew_back_pic.png b/graphics/pokemon/sandshrew/back.png similarity index 100% rename from graphics/pokemon/back_pics/sandshrew_back_pic.png rename to graphics/pokemon/sandshrew/back.png diff --git a/graphics/pokemon/footprints/sandshrew_footprint.png b/graphics/pokemon/sandshrew/footprint.png similarity index 100% rename from graphics/pokemon/footprints/sandshrew_footprint.png rename to graphics/pokemon/sandshrew/footprint.png diff --git a/graphics/pokemon/front_pics/sandshrew_still_front_pic.png b/graphics/pokemon/sandshrew/front.png similarity index 100% rename from graphics/pokemon/front_pics/sandshrew_still_front_pic.png rename to graphics/pokemon/sandshrew/front.png diff --git a/graphics/pokemon/icons/sandshrew_icon.png b/graphics/pokemon/sandshrew/icon.png similarity index 100% rename from graphics/pokemon/icons/sandshrew_icon.png rename to graphics/pokemon/sandshrew/icon.png diff --git a/graphics/pokemon/palettes/sandshrew_palette.pal b/graphics/pokemon/sandshrew/normal.pal similarity index 100% rename from graphics/pokemon/palettes/sandshrew_palette.pal rename to graphics/pokemon/sandshrew/normal.pal diff --git a/graphics/pokemon/palettes/sandshrew_shiny_palette.pal b/graphics/pokemon/sandshrew/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/sandshrew_shiny_palette.pal rename to graphics/pokemon/sandshrew/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/sandslash_front_pic.png b/graphics/pokemon/sandslash/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/sandslash_front_pic.png rename to graphics/pokemon/sandslash/anim_front.png diff --git a/graphics/pokemon/back_pics/sandslash_back_pic.png b/graphics/pokemon/sandslash/back.png similarity index 100% rename from graphics/pokemon/back_pics/sandslash_back_pic.png rename to graphics/pokemon/sandslash/back.png diff --git a/graphics/pokemon/footprints/sandslash_footprint.png b/graphics/pokemon/sandslash/footprint.png similarity index 100% rename from graphics/pokemon/footprints/sandslash_footprint.png rename to graphics/pokemon/sandslash/footprint.png diff --git a/graphics/pokemon/front_pics/sandslash_still_front_pic.png b/graphics/pokemon/sandslash/front.png similarity index 100% rename from graphics/pokemon/front_pics/sandslash_still_front_pic.png rename to graphics/pokemon/sandslash/front.png diff --git a/graphics/pokemon/icons/sandslash_icon.png b/graphics/pokemon/sandslash/icon.png similarity index 100% rename from graphics/pokemon/icons/sandslash_icon.png rename to graphics/pokemon/sandslash/icon.png diff --git a/graphics/pokemon/palettes/sandslash_palette.pal b/graphics/pokemon/sandslash/normal.pal similarity index 100% rename from graphics/pokemon/palettes/sandslash_palette.pal rename to graphics/pokemon/sandslash/normal.pal diff --git a/graphics/pokemon/palettes/sandslash_shiny_palette.pal b/graphics/pokemon/sandslash/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/sandslash_shiny_palette.pal rename to graphics/pokemon/sandslash/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/sceptile_front_pic.png b/graphics/pokemon/sceptile/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/sceptile_front_pic.png rename to graphics/pokemon/sceptile/anim_front.png diff --git a/graphics/pokemon/back_pics/sceptile_back_pic.png b/graphics/pokemon/sceptile/back.png similarity index 100% rename from graphics/pokemon/back_pics/sceptile_back_pic.png rename to graphics/pokemon/sceptile/back.png diff --git a/graphics/pokemon/footprints/sceptile_footprint.png b/graphics/pokemon/sceptile/footprint.png similarity index 100% rename from graphics/pokemon/footprints/sceptile_footprint.png rename to graphics/pokemon/sceptile/footprint.png diff --git a/graphics/pokemon/front_pics/sceptile_still_front_pic.png b/graphics/pokemon/sceptile/front.png similarity index 100% rename from graphics/pokemon/front_pics/sceptile_still_front_pic.png rename to graphics/pokemon/sceptile/front.png diff --git a/graphics/pokemon/icons/sceptile_icon.png b/graphics/pokemon/sceptile/icon.png similarity index 100% rename from graphics/pokemon/icons/sceptile_icon.png rename to graphics/pokemon/sceptile/icon.png diff --git a/graphics/pokemon/palettes/sceptile_palette.pal b/graphics/pokemon/sceptile/normal.pal similarity index 100% rename from graphics/pokemon/palettes/sceptile_palette.pal rename to graphics/pokemon/sceptile/normal.pal diff --git a/graphics/pokemon/palettes/sceptile_shiny_palette.pal b/graphics/pokemon/sceptile/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/sceptile_shiny_palette.pal rename to graphics/pokemon/sceptile/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/scizor_front_pic.png b/graphics/pokemon/scizor/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/scizor_front_pic.png rename to graphics/pokemon/scizor/anim_front.png diff --git a/graphics/pokemon/back_pics/scizor_back_pic.png b/graphics/pokemon/scizor/back.png similarity index 100% rename from graphics/pokemon/back_pics/scizor_back_pic.png rename to graphics/pokemon/scizor/back.png diff --git a/graphics/pokemon/footprints/scizor_footprint.png b/graphics/pokemon/scizor/footprint.png similarity index 100% rename from graphics/pokemon/footprints/scizor_footprint.png rename to graphics/pokemon/scizor/footprint.png diff --git a/graphics/pokemon/front_pics/scizor_still_front_pic.png b/graphics/pokemon/scizor/front.png similarity index 100% rename from graphics/pokemon/front_pics/scizor_still_front_pic.png rename to graphics/pokemon/scizor/front.png diff --git a/graphics/pokemon/icons/scizor_icon.png b/graphics/pokemon/scizor/icon.png similarity index 100% rename from graphics/pokemon/icons/scizor_icon.png rename to graphics/pokemon/scizor/icon.png diff --git a/graphics/pokemon/palettes/scizor_palette.pal b/graphics/pokemon/scizor/normal.pal similarity index 100% rename from graphics/pokemon/palettes/scizor_palette.pal rename to graphics/pokemon/scizor/normal.pal diff --git a/graphics/pokemon/palettes/scizor_shiny_palette.pal b/graphics/pokemon/scizor/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/scizor_shiny_palette.pal rename to graphics/pokemon/scizor/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/scyther_front_pic.png b/graphics/pokemon/scyther/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/scyther_front_pic.png rename to graphics/pokemon/scyther/anim_front.png diff --git a/graphics/pokemon/back_pics/scyther_back_pic.png b/graphics/pokemon/scyther/back.png similarity index 100% rename from graphics/pokemon/back_pics/scyther_back_pic.png rename to graphics/pokemon/scyther/back.png diff --git a/graphics/pokemon/footprints/scyther_footprint.png b/graphics/pokemon/scyther/footprint.png similarity index 100% rename from graphics/pokemon/footprints/scyther_footprint.png rename to graphics/pokemon/scyther/footprint.png diff --git a/graphics/pokemon/front_pics/scyther_still_front_pic.png b/graphics/pokemon/scyther/front.png similarity index 100% rename from graphics/pokemon/front_pics/scyther_still_front_pic.png rename to graphics/pokemon/scyther/front.png diff --git a/graphics/pokemon/icons/scyther_icon.png b/graphics/pokemon/scyther/icon.png similarity index 100% rename from graphics/pokemon/icons/scyther_icon.png rename to graphics/pokemon/scyther/icon.png diff --git a/graphics/pokemon/palettes/scyther_palette.pal b/graphics/pokemon/scyther/normal.pal similarity index 100% rename from graphics/pokemon/palettes/scyther_palette.pal rename to graphics/pokemon/scyther/normal.pal diff --git a/graphics/pokemon/palettes/scyther_shiny_palette.pal b/graphics/pokemon/scyther/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/scyther_shiny_palette.pal rename to graphics/pokemon/scyther/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/seadra_front_pic.png b/graphics/pokemon/seadra/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/seadra_front_pic.png rename to graphics/pokemon/seadra/anim_front.png diff --git a/graphics/pokemon/back_pics/seadra_back_pic.png b/graphics/pokemon/seadra/back.png similarity index 100% rename from graphics/pokemon/back_pics/seadra_back_pic.png rename to graphics/pokemon/seadra/back.png diff --git a/graphics/pokemon/footprints/seadra_footprint.png b/graphics/pokemon/seadra/footprint.png similarity index 100% rename from graphics/pokemon/footprints/seadra_footprint.png rename to graphics/pokemon/seadra/footprint.png diff --git a/graphics/pokemon/front_pics/seadra_still_front_pic.png b/graphics/pokemon/seadra/front.png similarity index 100% rename from graphics/pokemon/front_pics/seadra_still_front_pic.png rename to graphics/pokemon/seadra/front.png diff --git a/graphics/pokemon/icons/seadra_icon.png b/graphics/pokemon/seadra/icon.png similarity index 100% rename from graphics/pokemon/icons/seadra_icon.png rename to graphics/pokemon/seadra/icon.png diff --git a/graphics/pokemon/palettes/seadra_palette.pal b/graphics/pokemon/seadra/normal.pal similarity index 100% rename from graphics/pokemon/palettes/seadra_palette.pal rename to graphics/pokemon/seadra/normal.pal diff --git a/graphics/pokemon/palettes/seadra_shiny_palette.pal b/graphics/pokemon/seadra/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/seadra_shiny_palette.pal rename to graphics/pokemon/seadra/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/seaking_front_pic.png b/graphics/pokemon/seaking/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/seaking_front_pic.png rename to graphics/pokemon/seaking/anim_front.png diff --git a/graphics/pokemon/back_pics/seaking_back_pic.png b/graphics/pokemon/seaking/back.png similarity index 100% rename from graphics/pokemon/back_pics/seaking_back_pic.png rename to graphics/pokemon/seaking/back.png diff --git a/graphics/pokemon/footprints/seaking_footprint.png b/graphics/pokemon/seaking/footprint.png similarity index 100% rename from graphics/pokemon/footprints/seaking_footprint.png rename to graphics/pokemon/seaking/footprint.png diff --git a/graphics/pokemon/front_pics/seaking_still_front_pic.png b/graphics/pokemon/seaking/front.png similarity index 100% rename from graphics/pokemon/front_pics/seaking_still_front_pic.png rename to graphics/pokemon/seaking/front.png diff --git a/graphics/pokemon/icons/seaking_icon.png b/graphics/pokemon/seaking/icon.png similarity index 100% rename from graphics/pokemon/icons/seaking_icon.png rename to graphics/pokemon/seaking/icon.png diff --git a/graphics/pokemon/palettes/seaking_palette.pal b/graphics/pokemon/seaking/normal.pal similarity index 100% rename from graphics/pokemon/palettes/seaking_palette.pal rename to graphics/pokemon/seaking/normal.pal diff --git a/graphics/pokemon/palettes/seaking_shiny_palette.pal b/graphics/pokemon/seaking/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/seaking_shiny_palette.pal rename to graphics/pokemon/seaking/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/sealeo_front_pic.png b/graphics/pokemon/sealeo/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/sealeo_front_pic.png rename to graphics/pokemon/sealeo/anim_front.png diff --git a/graphics/pokemon/back_pics/sealeo_back_pic.png b/graphics/pokemon/sealeo/back.png similarity index 100% rename from graphics/pokemon/back_pics/sealeo_back_pic.png rename to graphics/pokemon/sealeo/back.png diff --git a/graphics/pokemon/footprints/sealeo_footprint.png b/graphics/pokemon/sealeo/footprint.png similarity index 100% rename from graphics/pokemon/footprints/sealeo_footprint.png rename to graphics/pokemon/sealeo/footprint.png diff --git a/graphics/pokemon/front_pics/sealeo_still_front_pic.png b/graphics/pokemon/sealeo/front.png similarity index 100% rename from graphics/pokemon/front_pics/sealeo_still_front_pic.png rename to graphics/pokemon/sealeo/front.png diff --git a/graphics/pokemon/icons/sealeo_icon.png b/graphics/pokemon/sealeo/icon.png similarity index 100% rename from graphics/pokemon/icons/sealeo_icon.png rename to graphics/pokemon/sealeo/icon.png diff --git a/graphics/pokemon/palettes/sealeo_palette.pal b/graphics/pokemon/sealeo/normal.pal similarity index 100% rename from graphics/pokemon/palettes/sealeo_palette.pal rename to graphics/pokemon/sealeo/normal.pal diff --git a/graphics/pokemon/palettes/sealeo_shiny_palette.pal b/graphics/pokemon/sealeo/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/sealeo_shiny_palette.pal rename to graphics/pokemon/sealeo/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/seedot_front_pic.png b/graphics/pokemon/seedot/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/seedot_front_pic.png rename to graphics/pokemon/seedot/anim_front.png diff --git a/graphics/pokemon/back_pics/seedot_back_pic.png b/graphics/pokemon/seedot/back.png similarity index 100% rename from graphics/pokemon/back_pics/seedot_back_pic.png rename to graphics/pokemon/seedot/back.png diff --git a/graphics/pokemon/footprints/seedot_footprint.png b/graphics/pokemon/seedot/footprint.png similarity index 100% rename from graphics/pokemon/footprints/seedot_footprint.png rename to graphics/pokemon/seedot/footprint.png diff --git a/graphics/pokemon/front_pics/seedot_still_front_pic.png b/graphics/pokemon/seedot/front.png similarity index 100% rename from graphics/pokemon/front_pics/seedot_still_front_pic.png rename to graphics/pokemon/seedot/front.png diff --git a/graphics/pokemon/icons/seedot_icon.png b/graphics/pokemon/seedot/icon.png similarity index 100% rename from graphics/pokemon/icons/seedot_icon.png rename to graphics/pokemon/seedot/icon.png diff --git a/graphics/pokemon/palettes/seedot_palette.pal b/graphics/pokemon/seedot/normal.pal similarity index 100% rename from graphics/pokemon/palettes/seedot_palette.pal rename to graphics/pokemon/seedot/normal.pal diff --git a/graphics/pokemon/palettes/seedot_shiny_palette.pal b/graphics/pokemon/seedot/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/seedot_shiny_palette.pal rename to graphics/pokemon/seedot/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/seel_front_pic.png b/graphics/pokemon/seel/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/seel_front_pic.png rename to graphics/pokemon/seel/anim_front.png diff --git a/graphics/pokemon/back_pics/seel_back_pic.png b/graphics/pokemon/seel/back.png similarity index 100% rename from graphics/pokemon/back_pics/seel_back_pic.png rename to graphics/pokemon/seel/back.png diff --git a/graphics/pokemon/footprints/seel_footprint.png b/graphics/pokemon/seel/footprint.png similarity index 100% rename from graphics/pokemon/footprints/seel_footprint.png rename to graphics/pokemon/seel/footprint.png diff --git a/graphics/pokemon/front_pics/seel_still_front_pic.png b/graphics/pokemon/seel/front.png similarity index 100% rename from graphics/pokemon/front_pics/seel_still_front_pic.png rename to graphics/pokemon/seel/front.png diff --git a/graphics/pokemon/icons/seel_icon.png b/graphics/pokemon/seel/icon.png similarity index 100% rename from graphics/pokemon/icons/seel_icon.png rename to graphics/pokemon/seel/icon.png diff --git a/graphics/pokemon/palettes/seel_palette.pal b/graphics/pokemon/seel/normal.pal similarity index 100% rename from graphics/pokemon/palettes/seel_palette.pal rename to graphics/pokemon/seel/normal.pal diff --git a/graphics/pokemon/palettes/seel_shiny_palette.pal b/graphics/pokemon/seel/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/seel_shiny_palette.pal rename to graphics/pokemon/seel/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/sentret_front_pic.png b/graphics/pokemon/sentret/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/sentret_front_pic.png rename to graphics/pokemon/sentret/anim_front.png diff --git a/graphics/pokemon/back_pics/sentret_back_pic.png b/graphics/pokemon/sentret/back.png similarity index 100% rename from graphics/pokemon/back_pics/sentret_back_pic.png rename to graphics/pokemon/sentret/back.png diff --git a/graphics/pokemon/footprints/sentret_footprint.png b/graphics/pokemon/sentret/footprint.png similarity index 100% rename from graphics/pokemon/footprints/sentret_footprint.png rename to graphics/pokemon/sentret/footprint.png diff --git a/graphics/pokemon/front_pics/sentret_still_front_pic.png b/graphics/pokemon/sentret/front.png similarity index 100% rename from graphics/pokemon/front_pics/sentret_still_front_pic.png rename to graphics/pokemon/sentret/front.png diff --git a/graphics/pokemon/icons/sentret_icon.png b/graphics/pokemon/sentret/icon.png similarity index 100% rename from graphics/pokemon/icons/sentret_icon.png rename to graphics/pokemon/sentret/icon.png diff --git a/graphics/pokemon/palettes/sentret_palette.pal b/graphics/pokemon/sentret/normal.pal similarity index 100% rename from graphics/pokemon/palettes/sentret_palette.pal rename to graphics/pokemon/sentret/normal.pal diff --git a/graphics/pokemon/palettes/sentret_shiny_palette.pal b/graphics/pokemon/sentret/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/sentret_shiny_palette.pal rename to graphics/pokemon/sentret/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/seviper_front_pic.png b/graphics/pokemon/seviper/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/seviper_front_pic.png rename to graphics/pokemon/seviper/anim_front.png diff --git a/graphics/pokemon/back_pics/seviper_back_pic.png b/graphics/pokemon/seviper/back.png similarity index 100% rename from graphics/pokemon/back_pics/seviper_back_pic.png rename to graphics/pokemon/seviper/back.png diff --git a/graphics/pokemon/footprints/seviper_footprint.png b/graphics/pokemon/seviper/footprint.png similarity index 100% rename from graphics/pokemon/footprints/seviper_footprint.png rename to graphics/pokemon/seviper/footprint.png diff --git a/graphics/pokemon/front_pics/seviper_still_front_pic.png b/graphics/pokemon/seviper/front.png similarity index 100% rename from graphics/pokemon/front_pics/seviper_still_front_pic.png rename to graphics/pokemon/seviper/front.png diff --git a/graphics/pokemon/icons/seviper_icon.png b/graphics/pokemon/seviper/icon.png similarity index 100% rename from graphics/pokemon/icons/seviper_icon.png rename to graphics/pokemon/seviper/icon.png diff --git a/graphics/pokemon/palettes/seviper_palette.pal b/graphics/pokemon/seviper/normal.pal similarity index 100% rename from graphics/pokemon/palettes/seviper_palette.pal rename to graphics/pokemon/seviper/normal.pal diff --git a/graphics/pokemon/palettes/seviper_shiny_palette.pal b/graphics/pokemon/seviper/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/seviper_shiny_palette.pal rename to graphics/pokemon/seviper/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/sharpedo_front_pic.png b/graphics/pokemon/sharpedo/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/sharpedo_front_pic.png rename to graphics/pokemon/sharpedo/anim_front.png diff --git a/graphics/pokemon/back_pics/sharpedo_back_pic.png b/graphics/pokemon/sharpedo/back.png similarity index 100% rename from graphics/pokemon/back_pics/sharpedo_back_pic.png rename to graphics/pokemon/sharpedo/back.png diff --git a/graphics/pokemon/footprints/sharpedo_footprint.png b/graphics/pokemon/sharpedo/footprint.png similarity index 100% rename from graphics/pokemon/footprints/sharpedo_footprint.png rename to graphics/pokemon/sharpedo/footprint.png diff --git a/graphics/pokemon/front_pics/sharpedo_still_front_pic.png b/graphics/pokemon/sharpedo/front.png similarity index 100% rename from graphics/pokemon/front_pics/sharpedo_still_front_pic.png rename to graphics/pokemon/sharpedo/front.png diff --git a/graphics/pokemon/icons/sharpedo_icon.png b/graphics/pokemon/sharpedo/icon.png similarity index 100% rename from graphics/pokemon/icons/sharpedo_icon.png rename to graphics/pokemon/sharpedo/icon.png diff --git a/graphics/pokemon/palettes/sharpedo_palette.pal b/graphics/pokemon/sharpedo/normal.pal similarity index 100% rename from graphics/pokemon/palettes/sharpedo_palette.pal rename to graphics/pokemon/sharpedo/normal.pal diff --git a/graphics/pokemon/palettes/sharpedo_shiny_palette.pal b/graphics/pokemon/sharpedo/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/sharpedo_shiny_palette.pal rename to graphics/pokemon/sharpedo/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/shedinja_front_pic.png b/graphics/pokemon/shedinja/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/shedinja_front_pic.png rename to graphics/pokemon/shedinja/anim_front.png diff --git a/graphics/pokemon/back_pics/shedinja_back_pic.png b/graphics/pokemon/shedinja/back.png similarity index 100% rename from graphics/pokemon/back_pics/shedinja_back_pic.png rename to graphics/pokemon/shedinja/back.png diff --git a/graphics/pokemon/footprints/shedinja_footprint.png b/graphics/pokemon/shedinja/footprint.png similarity index 100% rename from graphics/pokemon/footprints/shedinja_footprint.png rename to graphics/pokemon/shedinja/footprint.png diff --git a/graphics/pokemon/front_pics/shedinja_still_front_pic.png b/graphics/pokemon/shedinja/front.png similarity index 100% rename from graphics/pokemon/front_pics/shedinja_still_front_pic.png rename to graphics/pokemon/shedinja/front.png diff --git a/graphics/pokemon/icons/shedinja_icon.png b/graphics/pokemon/shedinja/icon.png similarity index 100% rename from graphics/pokemon/icons/shedinja_icon.png rename to graphics/pokemon/shedinja/icon.png diff --git a/graphics/pokemon/palettes/shedinja_palette.pal b/graphics/pokemon/shedinja/normal.pal similarity index 100% rename from graphics/pokemon/palettes/shedinja_palette.pal rename to graphics/pokemon/shedinja/normal.pal diff --git a/graphics/pokemon/palettes/shedinja_shiny_palette.pal b/graphics/pokemon/shedinja/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/shedinja_shiny_palette.pal rename to graphics/pokemon/shedinja/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/shelgon_front_pic.png b/graphics/pokemon/shelgon/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/shelgon_front_pic.png rename to graphics/pokemon/shelgon/anim_front.png diff --git a/graphics/pokemon/back_pics/shelgon_back_pic.png b/graphics/pokemon/shelgon/back.png similarity index 100% rename from graphics/pokemon/back_pics/shelgon_back_pic.png rename to graphics/pokemon/shelgon/back.png diff --git a/graphics/pokemon/footprints/shelgon_footprint.png b/graphics/pokemon/shelgon/footprint.png similarity index 100% rename from graphics/pokemon/footprints/shelgon_footprint.png rename to graphics/pokemon/shelgon/footprint.png diff --git a/graphics/pokemon/front_pics/shelgon_still_front_pic.png b/graphics/pokemon/shelgon/front.png similarity index 100% rename from graphics/pokemon/front_pics/shelgon_still_front_pic.png rename to graphics/pokemon/shelgon/front.png diff --git a/graphics/pokemon/icons/shelgon_icon.png b/graphics/pokemon/shelgon/icon.png similarity index 100% rename from graphics/pokemon/icons/shelgon_icon.png rename to graphics/pokemon/shelgon/icon.png diff --git a/graphics/pokemon/palettes/shelgon_palette.pal b/graphics/pokemon/shelgon/normal.pal similarity index 100% rename from graphics/pokemon/palettes/shelgon_palette.pal rename to graphics/pokemon/shelgon/normal.pal diff --git a/graphics/pokemon/palettes/shelgon_shiny_palette.pal b/graphics/pokemon/shelgon/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/shelgon_shiny_palette.pal rename to graphics/pokemon/shelgon/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/shellder_front_pic.png b/graphics/pokemon/shellder/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/shellder_front_pic.png rename to graphics/pokemon/shellder/anim_front.png diff --git a/graphics/pokemon/back_pics/shellder_back_pic.png b/graphics/pokemon/shellder/back.png similarity index 100% rename from graphics/pokemon/back_pics/shellder_back_pic.png rename to graphics/pokemon/shellder/back.png diff --git a/graphics/pokemon/footprints/shellder_footprint.png b/graphics/pokemon/shellder/footprint.png similarity index 100% rename from graphics/pokemon/footprints/shellder_footprint.png rename to graphics/pokemon/shellder/footprint.png diff --git a/graphics/pokemon/front_pics/shellder_still_front_pic.png b/graphics/pokemon/shellder/front.png similarity index 100% rename from graphics/pokemon/front_pics/shellder_still_front_pic.png rename to graphics/pokemon/shellder/front.png diff --git a/graphics/pokemon/icons/shellder_icon.png b/graphics/pokemon/shellder/icon.png similarity index 100% rename from graphics/pokemon/icons/shellder_icon.png rename to graphics/pokemon/shellder/icon.png diff --git a/graphics/pokemon/palettes/shellder_palette.pal b/graphics/pokemon/shellder/normal.pal similarity index 100% rename from graphics/pokemon/palettes/shellder_palette.pal rename to graphics/pokemon/shellder/normal.pal diff --git a/graphics/pokemon/palettes/shellder_shiny_palette.pal b/graphics/pokemon/shellder/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/shellder_shiny_palette.pal rename to graphics/pokemon/shellder/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/shiftry_front_pic.png b/graphics/pokemon/shiftry/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/shiftry_front_pic.png rename to graphics/pokemon/shiftry/anim_front.png diff --git a/graphics/pokemon/back_pics/shiftry_back_pic.png b/graphics/pokemon/shiftry/back.png similarity index 100% rename from graphics/pokemon/back_pics/shiftry_back_pic.png rename to graphics/pokemon/shiftry/back.png diff --git a/graphics/pokemon/footprints/shiftry_footprint.png b/graphics/pokemon/shiftry/footprint.png similarity index 100% rename from graphics/pokemon/footprints/shiftry_footprint.png rename to graphics/pokemon/shiftry/footprint.png diff --git a/graphics/pokemon/front_pics/shiftry_still_front_pic.png b/graphics/pokemon/shiftry/front.png similarity index 100% rename from graphics/pokemon/front_pics/shiftry_still_front_pic.png rename to graphics/pokemon/shiftry/front.png diff --git a/graphics/pokemon/icons/shiftry_icon.png b/graphics/pokemon/shiftry/icon.png similarity index 100% rename from graphics/pokemon/icons/shiftry_icon.png rename to graphics/pokemon/shiftry/icon.png diff --git a/graphics/pokemon/palettes/shiftry_palette.pal b/graphics/pokemon/shiftry/normal.pal similarity index 100% rename from graphics/pokemon/palettes/shiftry_palette.pal rename to graphics/pokemon/shiftry/normal.pal diff --git a/graphics/pokemon/palettes/shiftry_shiny_palette.pal b/graphics/pokemon/shiftry/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/shiftry_shiny_palette.pal rename to graphics/pokemon/shiftry/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/shroomish_front_pic.png b/graphics/pokemon/shroomish/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/shroomish_front_pic.png rename to graphics/pokemon/shroomish/anim_front.png diff --git a/graphics/pokemon/back_pics/shroomish_back_pic.png b/graphics/pokemon/shroomish/back.png similarity index 100% rename from graphics/pokemon/back_pics/shroomish_back_pic.png rename to graphics/pokemon/shroomish/back.png diff --git a/graphics/pokemon/footprints/shroomish_footprint.png b/graphics/pokemon/shroomish/footprint.png similarity index 100% rename from graphics/pokemon/footprints/shroomish_footprint.png rename to graphics/pokemon/shroomish/footprint.png diff --git a/graphics/pokemon/front_pics/shroomish_still_front_pic.png b/graphics/pokemon/shroomish/front.png similarity index 100% rename from graphics/pokemon/front_pics/shroomish_still_front_pic.png rename to graphics/pokemon/shroomish/front.png diff --git a/graphics/pokemon/icons/shroomish_icon.png b/graphics/pokemon/shroomish/icon.png similarity index 100% rename from graphics/pokemon/icons/shroomish_icon.png rename to graphics/pokemon/shroomish/icon.png diff --git a/graphics/pokemon/palettes/shroomish_palette.pal b/graphics/pokemon/shroomish/normal.pal similarity index 100% rename from graphics/pokemon/palettes/shroomish_palette.pal rename to graphics/pokemon/shroomish/normal.pal diff --git a/graphics/pokemon/palettes/shroomish_shiny_palette.pal b/graphics/pokemon/shroomish/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/shroomish_shiny_palette.pal rename to graphics/pokemon/shroomish/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/shuckle_front_pic.png b/graphics/pokemon/shuckle/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/shuckle_front_pic.png rename to graphics/pokemon/shuckle/anim_front.png diff --git a/graphics/pokemon/back_pics/shuckle_back_pic.png b/graphics/pokemon/shuckle/back.png similarity index 100% rename from graphics/pokemon/back_pics/shuckle_back_pic.png rename to graphics/pokemon/shuckle/back.png diff --git a/graphics/pokemon/footprints/shuckle_footprint.png b/graphics/pokemon/shuckle/footprint.png similarity index 100% rename from graphics/pokemon/footprints/shuckle_footprint.png rename to graphics/pokemon/shuckle/footprint.png diff --git a/graphics/pokemon/front_pics/shuckle_still_front_pic.png b/graphics/pokemon/shuckle/front.png similarity index 100% rename from graphics/pokemon/front_pics/shuckle_still_front_pic.png rename to graphics/pokemon/shuckle/front.png diff --git a/graphics/pokemon/icons/shuckle_icon.png b/graphics/pokemon/shuckle/icon.png similarity index 100% rename from graphics/pokemon/icons/shuckle_icon.png rename to graphics/pokemon/shuckle/icon.png diff --git a/graphics/pokemon/palettes/shuckle_palette.pal b/graphics/pokemon/shuckle/normal.pal similarity index 100% rename from graphics/pokemon/palettes/shuckle_palette.pal rename to graphics/pokemon/shuckle/normal.pal diff --git a/graphics/pokemon/palettes/shuckle_shiny_palette.pal b/graphics/pokemon/shuckle/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/shuckle_shiny_palette.pal rename to graphics/pokemon/shuckle/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/shuppet_front_pic.png b/graphics/pokemon/shuppet/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/shuppet_front_pic.png rename to graphics/pokemon/shuppet/anim_front.png diff --git a/graphics/pokemon/back_pics/shuppet_back_pic.png b/graphics/pokemon/shuppet/back.png similarity index 100% rename from graphics/pokemon/back_pics/shuppet_back_pic.png rename to graphics/pokemon/shuppet/back.png diff --git a/graphics/pokemon/footprints/shuppet_footprint.png b/graphics/pokemon/shuppet/footprint.png similarity index 100% rename from graphics/pokemon/footprints/shuppet_footprint.png rename to graphics/pokemon/shuppet/footprint.png diff --git a/graphics/pokemon/front_pics/shuppet_still_front_pic.png b/graphics/pokemon/shuppet/front.png similarity index 100% rename from graphics/pokemon/front_pics/shuppet_still_front_pic.png rename to graphics/pokemon/shuppet/front.png diff --git a/graphics/pokemon/icons/shuppet_icon.png b/graphics/pokemon/shuppet/icon.png similarity index 100% rename from graphics/pokemon/icons/shuppet_icon.png rename to graphics/pokemon/shuppet/icon.png diff --git a/graphics/pokemon/palettes/shuppet_palette.pal b/graphics/pokemon/shuppet/normal.pal similarity index 100% rename from graphics/pokemon/palettes/shuppet_palette.pal rename to graphics/pokemon/shuppet/normal.pal diff --git a/graphics/pokemon/palettes/shuppet_shiny_palette.pal b/graphics/pokemon/shuppet/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/shuppet_shiny_palette.pal rename to graphics/pokemon/shuppet/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/silcoon_front_pic.png b/graphics/pokemon/silcoon/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/silcoon_front_pic.png rename to graphics/pokemon/silcoon/anim_front.png diff --git a/graphics/pokemon/back_pics/silcoon_back_pic.png b/graphics/pokemon/silcoon/back.png similarity index 100% rename from graphics/pokemon/back_pics/silcoon_back_pic.png rename to graphics/pokemon/silcoon/back.png diff --git a/graphics/pokemon/footprints/silcoon_footprint.png b/graphics/pokemon/silcoon/footprint.png similarity index 100% rename from graphics/pokemon/footprints/silcoon_footprint.png rename to graphics/pokemon/silcoon/footprint.png diff --git a/graphics/pokemon/front_pics/silcoon_still_front_pic.png b/graphics/pokemon/silcoon/front.png similarity index 100% rename from graphics/pokemon/front_pics/silcoon_still_front_pic.png rename to graphics/pokemon/silcoon/front.png diff --git a/graphics/pokemon/icons/silcoon_icon.png b/graphics/pokemon/silcoon/icon.png similarity index 100% rename from graphics/pokemon/icons/silcoon_icon.png rename to graphics/pokemon/silcoon/icon.png diff --git a/graphics/pokemon/palettes/silcoon_palette.pal b/graphics/pokemon/silcoon/normal.pal similarity index 100% rename from graphics/pokemon/palettes/silcoon_palette.pal rename to graphics/pokemon/silcoon/normal.pal diff --git a/graphics/pokemon/palettes/silcoon_shiny_palette.pal b/graphics/pokemon/silcoon/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/silcoon_shiny_palette.pal rename to graphics/pokemon/silcoon/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/skarmory_front_pic.png b/graphics/pokemon/skarmory/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/skarmory_front_pic.png rename to graphics/pokemon/skarmory/anim_front.png diff --git a/graphics/pokemon/back_pics/skarmory_back_pic.png b/graphics/pokemon/skarmory/back.png similarity index 100% rename from graphics/pokemon/back_pics/skarmory_back_pic.png rename to graphics/pokemon/skarmory/back.png diff --git a/graphics/pokemon/footprints/skarmory_footprint.png b/graphics/pokemon/skarmory/footprint.png similarity index 100% rename from graphics/pokemon/footprints/skarmory_footprint.png rename to graphics/pokemon/skarmory/footprint.png diff --git a/graphics/pokemon/front_pics/skarmory_still_front_pic.png b/graphics/pokemon/skarmory/front.png similarity index 100% rename from graphics/pokemon/front_pics/skarmory_still_front_pic.png rename to graphics/pokemon/skarmory/front.png diff --git a/graphics/pokemon/icons/skarmory_icon.png b/graphics/pokemon/skarmory/icon.png similarity index 100% rename from graphics/pokemon/icons/skarmory_icon.png rename to graphics/pokemon/skarmory/icon.png diff --git a/graphics/pokemon/palettes/skarmory_palette.pal b/graphics/pokemon/skarmory/normal.pal similarity index 100% rename from graphics/pokemon/palettes/skarmory_palette.pal rename to graphics/pokemon/skarmory/normal.pal diff --git a/graphics/pokemon/palettes/skarmory_shiny_palette.pal b/graphics/pokemon/skarmory/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/skarmory_shiny_palette.pal rename to graphics/pokemon/skarmory/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/skiploom_front_pic.png b/graphics/pokemon/skiploom/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/skiploom_front_pic.png rename to graphics/pokemon/skiploom/anim_front.png diff --git a/graphics/pokemon/back_pics/skiploom_back_pic.png b/graphics/pokemon/skiploom/back.png similarity index 100% rename from graphics/pokemon/back_pics/skiploom_back_pic.png rename to graphics/pokemon/skiploom/back.png diff --git a/graphics/pokemon/footprints/skiploom_footprint.png b/graphics/pokemon/skiploom/footprint.png similarity index 100% rename from graphics/pokemon/footprints/skiploom_footprint.png rename to graphics/pokemon/skiploom/footprint.png diff --git a/graphics/pokemon/front_pics/skiploom_still_front_pic.png b/graphics/pokemon/skiploom/front.png similarity index 100% rename from graphics/pokemon/front_pics/skiploom_still_front_pic.png rename to graphics/pokemon/skiploom/front.png diff --git a/graphics/pokemon/icons/skiploom_icon.png b/graphics/pokemon/skiploom/icon.png similarity index 100% rename from graphics/pokemon/icons/skiploom_icon.png rename to graphics/pokemon/skiploom/icon.png diff --git a/graphics/pokemon/palettes/skiploom_palette.pal b/graphics/pokemon/skiploom/normal.pal similarity index 100% rename from graphics/pokemon/palettes/skiploom_palette.pal rename to graphics/pokemon/skiploom/normal.pal diff --git a/graphics/pokemon/palettes/skiploom_shiny_palette.pal b/graphics/pokemon/skiploom/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/skiploom_shiny_palette.pal rename to graphics/pokemon/skiploom/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/skitty_front_pic.png b/graphics/pokemon/skitty/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/skitty_front_pic.png rename to graphics/pokemon/skitty/anim_front.png diff --git a/graphics/pokemon/back_pics/skitty_back_pic.png b/graphics/pokemon/skitty/back.png similarity index 100% rename from graphics/pokemon/back_pics/skitty_back_pic.png rename to graphics/pokemon/skitty/back.png diff --git a/graphics/pokemon/footprints/skitty_footprint.png b/graphics/pokemon/skitty/footprint.png similarity index 100% rename from graphics/pokemon/footprints/skitty_footprint.png rename to graphics/pokemon/skitty/footprint.png diff --git a/graphics/pokemon/front_pics/skitty_still_front_pic.png b/graphics/pokemon/skitty/front.png similarity index 100% rename from graphics/pokemon/front_pics/skitty_still_front_pic.png rename to graphics/pokemon/skitty/front.png diff --git a/graphics/pokemon/icons/skitty_icon.png b/graphics/pokemon/skitty/icon.png similarity index 100% rename from graphics/pokemon/icons/skitty_icon.png rename to graphics/pokemon/skitty/icon.png diff --git a/graphics/pokemon/palettes/skitty_palette.pal b/graphics/pokemon/skitty/normal.pal similarity index 100% rename from graphics/pokemon/palettes/skitty_palette.pal rename to graphics/pokemon/skitty/normal.pal diff --git a/graphics/pokemon/palettes/skitty_shiny_palette.pal b/graphics/pokemon/skitty/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/skitty_shiny_palette.pal rename to graphics/pokemon/skitty/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/slaking_front_pic.png b/graphics/pokemon/slaking/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/slaking_front_pic.png rename to graphics/pokemon/slaking/anim_front.png diff --git a/graphics/pokemon/back_pics/slaking_back_pic.png b/graphics/pokemon/slaking/back.png similarity index 100% rename from graphics/pokemon/back_pics/slaking_back_pic.png rename to graphics/pokemon/slaking/back.png diff --git a/graphics/pokemon/footprints/slaking_footprint.png b/graphics/pokemon/slaking/footprint.png similarity index 100% rename from graphics/pokemon/footprints/slaking_footprint.png rename to graphics/pokemon/slaking/footprint.png diff --git a/graphics/pokemon/front_pics/slaking_still_front_pic.png b/graphics/pokemon/slaking/front.png similarity index 100% rename from graphics/pokemon/front_pics/slaking_still_front_pic.png rename to graphics/pokemon/slaking/front.png diff --git a/graphics/pokemon/icons/slaking_icon.png b/graphics/pokemon/slaking/icon.png similarity index 100% rename from graphics/pokemon/icons/slaking_icon.png rename to graphics/pokemon/slaking/icon.png diff --git a/graphics/pokemon/palettes/slaking_palette.pal b/graphics/pokemon/slaking/normal.pal similarity index 100% rename from graphics/pokemon/palettes/slaking_palette.pal rename to graphics/pokemon/slaking/normal.pal diff --git a/graphics/pokemon/palettes/slaking_shiny_palette.pal b/graphics/pokemon/slaking/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/slaking_shiny_palette.pal rename to graphics/pokemon/slaking/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/slakoth_front_pic.png b/graphics/pokemon/slakoth/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/slakoth_front_pic.png rename to graphics/pokemon/slakoth/anim_front.png diff --git a/graphics/pokemon/back_pics/slakoth_back_pic.png b/graphics/pokemon/slakoth/back.png similarity index 100% rename from graphics/pokemon/back_pics/slakoth_back_pic.png rename to graphics/pokemon/slakoth/back.png diff --git a/graphics/pokemon/footprints/slakoth_footprint.png b/graphics/pokemon/slakoth/footprint.png similarity index 100% rename from graphics/pokemon/footprints/slakoth_footprint.png rename to graphics/pokemon/slakoth/footprint.png diff --git a/graphics/pokemon/front_pics/slakoth_still_front_pic.png b/graphics/pokemon/slakoth/front.png similarity index 100% rename from graphics/pokemon/front_pics/slakoth_still_front_pic.png rename to graphics/pokemon/slakoth/front.png diff --git a/graphics/pokemon/icons/slakoth_icon.png b/graphics/pokemon/slakoth/icon.png similarity index 100% rename from graphics/pokemon/icons/slakoth_icon.png rename to graphics/pokemon/slakoth/icon.png diff --git a/graphics/pokemon/palettes/slakoth_palette.pal b/graphics/pokemon/slakoth/normal.pal similarity index 100% rename from graphics/pokemon/palettes/slakoth_palette.pal rename to graphics/pokemon/slakoth/normal.pal diff --git a/graphics/pokemon/palettes/slakoth_shiny_palette.pal b/graphics/pokemon/slakoth/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/slakoth_shiny_palette.pal rename to graphics/pokemon/slakoth/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/slowbro_front_pic.png b/graphics/pokemon/slowbro/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/slowbro_front_pic.png rename to graphics/pokemon/slowbro/anim_front.png diff --git a/graphics/pokemon/back_pics/slowbro_back_pic.png b/graphics/pokemon/slowbro/back.png similarity index 100% rename from graphics/pokemon/back_pics/slowbro_back_pic.png rename to graphics/pokemon/slowbro/back.png diff --git a/graphics/pokemon/footprints/slowbro_footprint.png b/graphics/pokemon/slowbro/footprint.png similarity index 100% rename from graphics/pokemon/footprints/slowbro_footprint.png rename to graphics/pokemon/slowbro/footprint.png diff --git a/graphics/pokemon/front_pics/slowbro_still_front_pic.png b/graphics/pokemon/slowbro/front.png similarity index 100% rename from graphics/pokemon/front_pics/slowbro_still_front_pic.png rename to graphics/pokemon/slowbro/front.png diff --git a/graphics/pokemon/icons/slowbro_icon.png b/graphics/pokemon/slowbro/icon.png similarity index 100% rename from graphics/pokemon/icons/slowbro_icon.png rename to graphics/pokemon/slowbro/icon.png diff --git a/graphics/pokemon/palettes/slowbro_palette.pal b/graphics/pokemon/slowbro/normal.pal similarity index 100% rename from graphics/pokemon/palettes/slowbro_palette.pal rename to graphics/pokemon/slowbro/normal.pal diff --git a/graphics/pokemon/palettes/slowbro_shiny_palette.pal b/graphics/pokemon/slowbro/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/slowbro_shiny_palette.pal rename to graphics/pokemon/slowbro/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/slowking_front_pic.png b/graphics/pokemon/slowking/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/slowking_front_pic.png rename to graphics/pokemon/slowking/anim_front.png diff --git a/graphics/pokemon/back_pics/slowking_back_pic.png b/graphics/pokemon/slowking/back.png similarity index 100% rename from graphics/pokemon/back_pics/slowking_back_pic.png rename to graphics/pokemon/slowking/back.png diff --git a/graphics/pokemon/footprints/slowking_footprint.png b/graphics/pokemon/slowking/footprint.png similarity index 100% rename from graphics/pokemon/footprints/slowking_footprint.png rename to graphics/pokemon/slowking/footprint.png diff --git a/graphics/pokemon/front_pics/slowking_still_front_pic.png b/graphics/pokemon/slowking/front.png similarity index 100% rename from graphics/pokemon/front_pics/slowking_still_front_pic.png rename to graphics/pokemon/slowking/front.png diff --git a/graphics/pokemon/icons/slowking_icon.png b/graphics/pokemon/slowking/icon.png similarity index 100% rename from graphics/pokemon/icons/slowking_icon.png rename to graphics/pokemon/slowking/icon.png diff --git a/graphics/pokemon/palettes/slowking_palette.pal b/graphics/pokemon/slowking/normal.pal similarity index 100% rename from graphics/pokemon/palettes/slowking_palette.pal rename to graphics/pokemon/slowking/normal.pal diff --git a/graphics/pokemon/palettes/slowking_shiny_palette.pal b/graphics/pokemon/slowking/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/slowking_shiny_palette.pal rename to graphics/pokemon/slowking/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/slowpoke_front_pic.png b/graphics/pokemon/slowpoke/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/slowpoke_front_pic.png rename to graphics/pokemon/slowpoke/anim_front.png diff --git a/graphics/pokemon/back_pics/slowpoke_back_pic.png b/graphics/pokemon/slowpoke/back.png similarity index 100% rename from graphics/pokemon/back_pics/slowpoke_back_pic.png rename to graphics/pokemon/slowpoke/back.png diff --git a/graphics/pokemon/footprints/slowpoke_footprint.png b/graphics/pokemon/slowpoke/footprint.png similarity index 100% rename from graphics/pokemon/footprints/slowpoke_footprint.png rename to graphics/pokemon/slowpoke/footprint.png diff --git a/graphics/pokemon/front_pics/slowpoke_still_front_pic.png b/graphics/pokemon/slowpoke/front.png similarity index 100% rename from graphics/pokemon/front_pics/slowpoke_still_front_pic.png rename to graphics/pokemon/slowpoke/front.png diff --git a/graphics/pokemon/icons/slowpoke_icon.png b/graphics/pokemon/slowpoke/icon.png similarity index 100% rename from graphics/pokemon/icons/slowpoke_icon.png rename to graphics/pokemon/slowpoke/icon.png diff --git a/graphics/pokemon/palettes/slowpoke_palette.pal b/graphics/pokemon/slowpoke/normal.pal similarity index 100% rename from graphics/pokemon/palettes/slowpoke_palette.pal rename to graphics/pokemon/slowpoke/normal.pal diff --git a/graphics/pokemon/palettes/slowpoke_shiny_palette.pal b/graphics/pokemon/slowpoke/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/slowpoke_shiny_palette.pal rename to graphics/pokemon/slowpoke/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/slugma_front_pic.png b/graphics/pokemon/slugma/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/slugma_front_pic.png rename to graphics/pokemon/slugma/anim_front.png diff --git a/graphics/pokemon/back_pics/slugma_back_pic.png b/graphics/pokemon/slugma/back.png similarity index 100% rename from graphics/pokemon/back_pics/slugma_back_pic.png rename to graphics/pokemon/slugma/back.png diff --git a/graphics/pokemon/footprints/slugma_footprint.png b/graphics/pokemon/slugma/footprint.png similarity index 100% rename from graphics/pokemon/footprints/slugma_footprint.png rename to graphics/pokemon/slugma/footprint.png diff --git a/graphics/pokemon/front_pics/slugma_still_front_pic.png b/graphics/pokemon/slugma/front.png similarity index 100% rename from graphics/pokemon/front_pics/slugma_still_front_pic.png rename to graphics/pokemon/slugma/front.png diff --git a/graphics/pokemon/icons/slugma_icon.png b/graphics/pokemon/slugma/icon.png similarity index 100% rename from graphics/pokemon/icons/slugma_icon.png rename to graphics/pokemon/slugma/icon.png diff --git a/graphics/pokemon/palettes/slugma_palette.pal b/graphics/pokemon/slugma/normal.pal similarity index 100% rename from graphics/pokemon/palettes/slugma_palette.pal rename to graphics/pokemon/slugma/normal.pal diff --git a/graphics/pokemon/palettes/slugma_shiny_palette.pal b/graphics/pokemon/slugma/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/slugma_shiny_palette.pal rename to graphics/pokemon/slugma/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/smeargle_front_pic.png b/graphics/pokemon/smeargle/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/smeargle_front_pic.png rename to graphics/pokemon/smeargle/anim_front.png diff --git a/graphics/pokemon/back_pics/smeargle_back_pic.png b/graphics/pokemon/smeargle/back.png similarity index 100% rename from graphics/pokemon/back_pics/smeargle_back_pic.png rename to graphics/pokemon/smeargle/back.png diff --git a/graphics/pokemon/footprints/smeargle_footprint.png b/graphics/pokemon/smeargle/footprint.png similarity index 100% rename from graphics/pokemon/footprints/smeargle_footprint.png rename to graphics/pokemon/smeargle/footprint.png diff --git a/graphics/pokemon/front_pics/smeargle_still_front_pic.png b/graphics/pokemon/smeargle/front.png similarity index 100% rename from graphics/pokemon/front_pics/smeargle_still_front_pic.png rename to graphics/pokemon/smeargle/front.png diff --git a/graphics/pokemon/icons/smeargle_icon.png b/graphics/pokemon/smeargle/icon.png similarity index 100% rename from graphics/pokemon/icons/smeargle_icon.png rename to graphics/pokemon/smeargle/icon.png diff --git a/graphics/pokemon/palettes/smeargle_palette.pal b/graphics/pokemon/smeargle/normal.pal similarity index 100% rename from graphics/pokemon/palettes/smeargle_palette.pal rename to graphics/pokemon/smeargle/normal.pal diff --git a/graphics/pokemon/palettes/smeargle_shiny_palette.pal b/graphics/pokemon/smeargle/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/smeargle_shiny_palette.pal rename to graphics/pokemon/smeargle/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/smoochum_front_pic.png b/graphics/pokemon/smoochum/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/smoochum_front_pic.png rename to graphics/pokemon/smoochum/anim_front.png diff --git a/graphics/pokemon/back_pics/smoochum_back_pic.png b/graphics/pokemon/smoochum/back.png similarity index 100% rename from graphics/pokemon/back_pics/smoochum_back_pic.png rename to graphics/pokemon/smoochum/back.png diff --git a/graphics/pokemon/footprints/smoochum_footprint.png b/graphics/pokemon/smoochum/footprint.png similarity index 100% rename from graphics/pokemon/footprints/smoochum_footprint.png rename to graphics/pokemon/smoochum/footprint.png diff --git a/graphics/pokemon/front_pics/smoochum_still_front_pic.png b/graphics/pokemon/smoochum/front.png similarity index 100% rename from graphics/pokemon/front_pics/smoochum_still_front_pic.png rename to graphics/pokemon/smoochum/front.png diff --git a/graphics/pokemon/icons/smoochum_icon.png b/graphics/pokemon/smoochum/icon.png similarity index 100% rename from graphics/pokemon/icons/smoochum_icon.png rename to graphics/pokemon/smoochum/icon.png diff --git a/graphics/pokemon/palettes/smoochum_palette.pal b/graphics/pokemon/smoochum/normal.pal similarity index 100% rename from graphics/pokemon/palettes/smoochum_palette.pal rename to graphics/pokemon/smoochum/normal.pal diff --git a/graphics/pokemon/palettes/smoochum_shiny_palette.pal b/graphics/pokemon/smoochum/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/smoochum_shiny_palette.pal rename to graphics/pokemon/smoochum/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/sneasel_front_pic.png b/graphics/pokemon/sneasel/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/sneasel_front_pic.png rename to graphics/pokemon/sneasel/anim_front.png diff --git a/graphics/pokemon/back_pics/sneasel_back_pic.png b/graphics/pokemon/sneasel/back.png similarity index 100% rename from graphics/pokemon/back_pics/sneasel_back_pic.png rename to graphics/pokemon/sneasel/back.png diff --git a/graphics/pokemon/footprints/sneasel_footprint.png b/graphics/pokemon/sneasel/footprint.png similarity index 100% rename from graphics/pokemon/footprints/sneasel_footprint.png rename to graphics/pokemon/sneasel/footprint.png diff --git a/graphics/pokemon/front_pics/sneasel_still_front_pic.png b/graphics/pokemon/sneasel/front.png similarity index 100% rename from graphics/pokemon/front_pics/sneasel_still_front_pic.png rename to graphics/pokemon/sneasel/front.png diff --git a/graphics/pokemon/icons/sneasel_icon.png b/graphics/pokemon/sneasel/icon.png similarity index 100% rename from graphics/pokemon/icons/sneasel_icon.png rename to graphics/pokemon/sneasel/icon.png diff --git a/graphics/pokemon/palettes/sneasel_palette.pal b/graphics/pokemon/sneasel/normal.pal similarity index 100% rename from graphics/pokemon/palettes/sneasel_palette.pal rename to graphics/pokemon/sneasel/normal.pal diff --git a/graphics/pokemon/palettes/sneasel_shiny_palette.pal b/graphics/pokemon/sneasel/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/sneasel_shiny_palette.pal rename to graphics/pokemon/sneasel/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/snorlax_front_pic.png b/graphics/pokemon/snorlax/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/snorlax_front_pic.png rename to graphics/pokemon/snorlax/anim_front.png diff --git a/graphics/pokemon/back_pics/snorlax_back_pic.png b/graphics/pokemon/snorlax/back.png similarity index 100% rename from graphics/pokemon/back_pics/snorlax_back_pic.png rename to graphics/pokemon/snorlax/back.png diff --git a/graphics/pokemon/footprints/snorlax_footprint.png b/graphics/pokemon/snorlax/footprint.png similarity index 100% rename from graphics/pokemon/footprints/snorlax_footprint.png rename to graphics/pokemon/snorlax/footprint.png diff --git a/graphics/pokemon/front_pics/snorlax_still_front_pic.png b/graphics/pokemon/snorlax/front.png similarity index 100% rename from graphics/pokemon/front_pics/snorlax_still_front_pic.png rename to graphics/pokemon/snorlax/front.png diff --git a/graphics/pokemon/icons/snorlax_icon.png b/graphics/pokemon/snorlax/icon.png similarity index 100% rename from graphics/pokemon/icons/snorlax_icon.png rename to graphics/pokemon/snorlax/icon.png diff --git a/graphics/pokemon/palettes/snorlax_palette.pal b/graphics/pokemon/snorlax/normal.pal similarity index 100% rename from graphics/pokemon/palettes/snorlax_palette.pal rename to graphics/pokemon/snorlax/normal.pal diff --git a/graphics/pokemon/palettes/snorlax_shiny_palette.pal b/graphics/pokemon/snorlax/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/snorlax_shiny_palette.pal rename to graphics/pokemon/snorlax/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/snorunt_front_pic.png b/graphics/pokemon/snorunt/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/snorunt_front_pic.png rename to graphics/pokemon/snorunt/anim_front.png diff --git a/graphics/pokemon/back_pics/snorunt_back_pic.png b/graphics/pokemon/snorunt/back.png similarity index 100% rename from graphics/pokemon/back_pics/snorunt_back_pic.png rename to graphics/pokemon/snorunt/back.png diff --git a/graphics/pokemon/footprints/snorunt_footprint.png b/graphics/pokemon/snorunt/footprint.png similarity index 100% rename from graphics/pokemon/footprints/snorunt_footprint.png rename to graphics/pokemon/snorunt/footprint.png diff --git a/graphics/pokemon/front_pics/snorunt_still_front_pic.png b/graphics/pokemon/snorunt/front.png similarity index 100% rename from graphics/pokemon/front_pics/snorunt_still_front_pic.png rename to graphics/pokemon/snorunt/front.png diff --git a/graphics/pokemon/icons/snorunt_icon.png b/graphics/pokemon/snorunt/icon.png similarity index 100% rename from graphics/pokemon/icons/snorunt_icon.png rename to graphics/pokemon/snorunt/icon.png diff --git a/graphics/pokemon/palettes/snorunt_palette.pal b/graphics/pokemon/snorunt/normal.pal similarity index 100% rename from graphics/pokemon/palettes/snorunt_palette.pal rename to graphics/pokemon/snorunt/normal.pal diff --git a/graphics/pokemon/palettes/snorunt_shiny_palette.pal b/graphics/pokemon/snorunt/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/snorunt_shiny_palette.pal rename to graphics/pokemon/snorunt/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/snubbull_front_pic.png b/graphics/pokemon/snubbull/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/snubbull_front_pic.png rename to graphics/pokemon/snubbull/anim_front.png diff --git a/graphics/pokemon/back_pics/snubbull_back_pic.png b/graphics/pokemon/snubbull/back.png similarity index 100% rename from graphics/pokemon/back_pics/snubbull_back_pic.png rename to graphics/pokemon/snubbull/back.png diff --git a/graphics/pokemon/footprints/snubbull_footprint.png b/graphics/pokemon/snubbull/footprint.png similarity index 100% rename from graphics/pokemon/footprints/snubbull_footprint.png rename to graphics/pokemon/snubbull/footprint.png diff --git a/graphics/pokemon/front_pics/snubbull_still_front_pic.png b/graphics/pokemon/snubbull/front.png similarity index 100% rename from graphics/pokemon/front_pics/snubbull_still_front_pic.png rename to graphics/pokemon/snubbull/front.png diff --git a/graphics/pokemon/icons/snubbull_icon.png b/graphics/pokemon/snubbull/icon.png similarity index 100% rename from graphics/pokemon/icons/snubbull_icon.png rename to graphics/pokemon/snubbull/icon.png diff --git a/graphics/pokemon/palettes/snubbull_palette.pal b/graphics/pokemon/snubbull/normal.pal similarity index 100% rename from graphics/pokemon/palettes/snubbull_palette.pal rename to graphics/pokemon/snubbull/normal.pal diff --git a/graphics/pokemon/palettes/snubbull_shiny_palette.pal b/graphics/pokemon/snubbull/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/snubbull_shiny_palette.pal rename to graphics/pokemon/snubbull/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/solrock_front_pic.png b/graphics/pokemon/solrock/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/solrock_front_pic.png rename to graphics/pokemon/solrock/anim_front.png diff --git a/graphics/pokemon/back_pics/solrock_back_pic.png b/graphics/pokemon/solrock/back.png similarity index 100% rename from graphics/pokemon/back_pics/solrock_back_pic.png rename to graphics/pokemon/solrock/back.png diff --git a/graphics/pokemon/footprints/solrock_footprint.png b/graphics/pokemon/solrock/footprint.png similarity index 100% rename from graphics/pokemon/footprints/solrock_footprint.png rename to graphics/pokemon/solrock/footprint.png diff --git a/graphics/pokemon/front_pics/solrock_still_front_pic.png b/graphics/pokemon/solrock/front.png similarity index 100% rename from graphics/pokemon/front_pics/solrock_still_front_pic.png rename to graphics/pokemon/solrock/front.png diff --git a/graphics/pokemon/icons/solrock_icon.png b/graphics/pokemon/solrock/icon.png similarity index 100% rename from graphics/pokemon/icons/solrock_icon.png rename to graphics/pokemon/solrock/icon.png diff --git a/graphics/pokemon/palettes/solrock_palette.pal b/graphics/pokemon/solrock/normal.pal similarity index 100% rename from graphics/pokemon/palettes/solrock_palette.pal rename to graphics/pokemon/solrock/normal.pal diff --git a/graphics/pokemon/palettes/solrock_shiny_palette.pal b/graphics/pokemon/solrock/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/solrock_shiny_palette.pal rename to graphics/pokemon/solrock/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/spearow_front_pic.png b/graphics/pokemon/spearow/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/spearow_front_pic.png rename to graphics/pokemon/spearow/anim_front.png diff --git a/graphics/pokemon/back_pics/spearow_back_pic.png b/graphics/pokemon/spearow/back.png similarity index 100% rename from graphics/pokemon/back_pics/spearow_back_pic.png rename to graphics/pokemon/spearow/back.png diff --git a/graphics/pokemon/footprints/spearow_footprint.png b/graphics/pokemon/spearow/footprint.png similarity index 100% rename from graphics/pokemon/footprints/spearow_footprint.png rename to graphics/pokemon/spearow/footprint.png diff --git a/graphics/pokemon/front_pics/spearow_still_front_pic.png b/graphics/pokemon/spearow/front.png similarity index 100% rename from graphics/pokemon/front_pics/spearow_still_front_pic.png rename to graphics/pokemon/spearow/front.png diff --git a/graphics/pokemon/icons/spearow_icon.png b/graphics/pokemon/spearow/icon.png similarity index 100% rename from graphics/pokemon/icons/spearow_icon.png rename to graphics/pokemon/spearow/icon.png diff --git a/graphics/pokemon/palettes/spearow_palette.pal b/graphics/pokemon/spearow/normal.pal similarity index 100% rename from graphics/pokemon/palettes/spearow_palette.pal rename to graphics/pokemon/spearow/normal.pal diff --git a/graphics/pokemon/palettes/spearow_shiny_palette.pal b/graphics/pokemon/spearow/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/spearow_shiny_palette.pal rename to graphics/pokemon/spearow/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/spheal_front_pic.png b/graphics/pokemon/spheal/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/spheal_front_pic.png rename to graphics/pokemon/spheal/anim_front.png diff --git a/graphics/pokemon/back_pics/spheal_back_pic.png b/graphics/pokemon/spheal/back.png similarity index 100% rename from graphics/pokemon/back_pics/spheal_back_pic.png rename to graphics/pokemon/spheal/back.png diff --git a/graphics/pokemon/footprints/spheal_footprint.png b/graphics/pokemon/spheal/footprint.png similarity index 100% rename from graphics/pokemon/footprints/spheal_footprint.png rename to graphics/pokemon/spheal/footprint.png diff --git a/graphics/pokemon/front_pics/spheal_still_front_pic.png b/graphics/pokemon/spheal/front.png similarity index 100% rename from graphics/pokemon/front_pics/spheal_still_front_pic.png rename to graphics/pokemon/spheal/front.png diff --git a/graphics/pokemon/icons/spheal_icon.png b/graphics/pokemon/spheal/icon.png similarity index 100% rename from graphics/pokemon/icons/spheal_icon.png rename to graphics/pokemon/spheal/icon.png diff --git a/graphics/pokemon/palettes/spheal_palette.pal b/graphics/pokemon/spheal/normal.pal similarity index 100% rename from graphics/pokemon/palettes/spheal_palette.pal rename to graphics/pokemon/spheal/normal.pal diff --git a/graphics/pokemon/palettes/spheal_shiny_palette.pal b/graphics/pokemon/spheal/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/spheal_shiny_palette.pal rename to graphics/pokemon/spheal/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/spinarak_front_pic.png b/graphics/pokemon/spinarak/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/spinarak_front_pic.png rename to graphics/pokemon/spinarak/anim_front.png diff --git a/graphics/pokemon/back_pics/spinarak_back_pic.png b/graphics/pokemon/spinarak/back.png similarity index 100% rename from graphics/pokemon/back_pics/spinarak_back_pic.png rename to graphics/pokemon/spinarak/back.png diff --git a/graphics/pokemon/footprints/spinarak_footprint.png b/graphics/pokemon/spinarak/footprint.png similarity index 100% rename from graphics/pokemon/footprints/spinarak_footprint.png rename to graphics/pokemon/spinarak/footprint.png diff --git a/graphics/pokemon/front_pics/spinarak_still_front_pic.png b/graphics/pokemon/spinarak/front.png similarity index 100% rename from graphics/pokemon/front_pics/spinarak_still_front_pic.png rename to graphics/pokemon/spinarak/front.png diff --git a/graphics/pokemon/icons/spinarak_icon.png b/graphics/pokemon/spinarak/icon.png similarity index 100% rename from graphics/pokemon/icons/spinarak_icon.png rename to graphics/pokemon/spinarak/icon.png diff --git a/graphics/pokemon/palettes/spinarak_palette.pal b/graphics/pokemon/spinarak/normal.pal similarity index 100% rename from graphics/pokemon/palettes/spinarak_palette.pal rename to graphics/pokemon/spinarak/normal.pal diff --git a/graphics/pokemon/palettes/spinarak_shiny_palette.pal b/graphics/pokemon/spinarak/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/spinarak_shiny_palette.pal rename to graphics/pokemon/spinarak/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/spinda_front_pic.png b/graphics/pokemon/spinda/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/spinda_front_pic.png rename to graphics/pokemon/spinda/anim_front.png diff --git a/graphics/pokemon/back_pics/spinda_back_pic.png b/graphics/pokemon/spinda/back.png similarity index 100% rename from graphics/pokemon/back_pics/spinda_back_pic.png rename to graphics/pokemon/spinda/back.png diff --git a/graphics/pokemon/footprints/spinda_footprint.png b/graphics/pokemon/spinda/footprint.png similarity index 100% rename from graphics/pokemon/footprints/spinda_footprint.png rename to graphics/pokemon/spinda/footprint.png diff --git a/graphics/pokemon/front_pics/spinda_still_front_pic.png b/graphics/pokemon/spinda/front.png similarity index 100% rename from graphics/pokemon/front_pics/spinda_still_front_pic.png rename to graphics/pokemon/spinda/front.png diff --git a/graphics/pokemon/icons/spinda_icon.png b/graphics/pokemon/spinda/icon.png similarity index 100% rename from graphics/pokemon/icons/spinda_icon.png rename to graphics/pokemon/spinda/icon.png diff --git a/graphics/pokemon/palettes/spinda_palette.pal b/graphics/pokemon/spinda/normal.pal similarity index 100% rename from graphics/pokemon/palettes/spinda_palette.pal rename to graphics/pokemon/spinda/normal.pal diff --git a/graphics/pokemon/palettes/spinda_shiny_palette.pal b/graphics/pokemon/spinda/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/spinda_shiny_palette.pal rename to graphics/pokemon/spinda/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/spoink_front_pic.png b/graphics/pokemon/spoink/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/spoink_front_pic.png rename to graphics/pokemon/spoink/anim_front.png diff --git a/graphics/pokemon/back_pics/spoink_back_pic.png b/graphics/pokemon/spoink/back.png similarity index 100% rename from graphics/pokemon/back_pics/spoink_back_pic.png rename to graphics/pokemon/spoink/back.png diff --git a/graphics/pokemon/footprints/spoink_footprint.png b/graphics/pokemon/spoink/footprint.png similarity index 100% rename from graphics/pokemon/footprints/spoink_footprint.png rename to graphics/pokemon/spoink/footprint.png diff --git a/graphics/pokemon/front_pics/spoink_still_front_pic.png b/graphics/pokemon/spoink/front.png similarity index 100% rename from graphics/pokemon/front_pics/spoink_still_front_pic.png rename to graphics/pokemon/spoink/front.png diff --git a/graphics/pokemon/icons/spoink_icon.png b/graphics/pokemon/spoink/icon.png similarity index 100% rename from graphics/pokemon/icons/spoink_icon.png rename to graphics/pokemon/spoink/icon.png diff --git a/graphics/pokemon/palettes/spoink_palette.pal b/graphics/pokemon/spoink/normal.pal similarity index 100% rename from graphics/pokemon/palettes/spoink_palette.pal rename to graphics/pokemon/spoink/normal.pal diff --git a/graphics/pokemon/palettes/spoink_shiny_palette.pal b/graphics/pokemon/spoink/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/spoink_shiny_palette.pal rename to graphics/pokemon/spoink/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/squirtle_front_pic.png b/graphics/pokemon/squirtle/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/squirtle_front_pic.png rename to graphics/pokemon/squirtle/anim_front.png diff --git a/graphics/pokemon/back_pics/squirtle_back_pic.png b/graphics/pokemon/squirtle/back.png similarity index 100% rename from graphics/pokemon/back_pics/squirtle_back_pic.png rename to graphics/pokemon/squirtle/back.png diff --git a/graphics/pokemon/footprints/squirtle_footprint.png b/graphics/pokemon/squirtle/footprint.png similarity index 100% rename from graphics/pokemon/footprints/squirtle_footprint.png rename to graphics/pokemon/squirtle/footprint.png diff --git a/graphics/pokemon/front_pics/squirtle_still_front_pic.png b/graphics/pokemon/squirtle/front.png similarity index 100% rename from graphics/pokemon/front_pics/squirtle_still_front_pic.png rename to graphics/pokemon/squirtle/front.png diff --git a/graphics/pokemon/icons/squirtle_icon.png b/graphics/pokemon/squirtle/icon.png similarity index 100% rename from graphics/pokemon/icons/squirtle_icon.png rename to graphics/pokemon/squirtle/icon.png diff --git a/graphics/pokemon/palettes/squirtle_palette.pal b/graphics/pokemon/squirtle/normal.pal similarity index 100% rename from graphics/pokemon/palettes/squirtle_palette.pal rename to graphics/pokemon/squirtle/normal.pal diff --git a/graphics/pokemon/palettes/squirtle_shiny_palette.pal b/graphics/pokemon/squirtle/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/squirtle_shiny_palette.pal rename to graphics/pokemon/squirtle/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/stantler_front_pic.png b/graphics/pokemon/stantler/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/stantler_front_pic.png rename to graphics/pokemon/stantler/anim_front.png diff --git a/graphics/pokemon/back_pics/stantler_back_pic.png b/graphics/pokemon/stantler/back.png similarity index 100% rename from graphics/pokemon/back_pics/stantler_back_pic.png rename to graphics/pokemon/stantler/back.png diff --git a/graphics/pokemon/footprints/stantler_footprint.png b/graphics/pokemon/stantler/footprint.png similarity index 100% rename from graphics/pokemon/footprints/stantler_footprint.png rename to graphics/pokemon/stantler/footprint.png diff --git a/graphics/pokemon/front_pics/stantler_still_front_pic.png b/graphics/pokemon/stantler/front.png similarity index 100% rename from graphics/pokemon/front_pics/stantler_still_front_pic.png rename to graphics/pokemon/stantler/front.png diff --git a/graphics/pokemon/icons/stantler_icon.png b/graphics/pokemon/stantler/icon.png similarity index 100% rename from graphics/pokemon/icons/stantler_icon.png rename to graphics/pokemon/stantler/icon.png diff --git a/graphics/pokemon/palettes/stantler_palette.pal b/graphics/pokemon/stantler/normal.pal similarity index 100% rename from graphics/pokemon/palettes/stantler_palette.pal rename to graphics/pokemon/stantler/normal.pal diff --git a/graphics/pokemon/palettes/stantler_shiny_palette.pal b/graphics/pokemon/stantler/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/stantler_shiny_palette.pal rename to graphics/pokemon/stantler/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/starmie_front_pic.png b/graphics/pokemon/starmie/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/starmie_front_pic.png rename to graphics/pokemon/starmie/anim_front.png diff --git a/graphics/pokemon/back_pics/starmie_back_pic.png b/graphics/pokemon/starmie/back.png similarity index 100% rename from graphics/pokemon/back_pics/starmie_back_pic.png rename to graphics/pokemon/starmie/back.png diff --git a/graphics/pokemon/footprints/starmie_footprint.png b/graphics/pokemon/starmie/footprint.png similarity index 100% rename from graphics/pokemon/footprints/starmie_footprint.png rename to graphics/pokemon/starmie/footprint.png diff --git a/graphics/pokemon/front_pics/starmie_still_front_pic.png b/graphics/pokemon/starmie/front.png similarity index 100% rename from graphics/pokemon/front_pics/starmie_still_front_pic.png rename to graphics/pokemon/starmie/front.png diff --git a/graphics/pokemon/icons/starmie_icon.png b/graphics/pokemon/starmie/icon.png similarity index 100% rename from graphics/pokemon/icons/starmie_icon.png rename to graphics/pokemon/starmie/icon.png diff --git a/graphics/pokemon/palettes/starmie_palette.pal b/graphics/pokemon/starmie/normal.pal similarity index 100% rename from graphics/pokemon/palettes/starmie_palette.pal rename to graphics/pokemon/starmie/normal.pal diff --git a/graphics/pokemon/palettes/starmie_shiny_palette.pal b/graphics/pokemon/starmie/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/starmie_shiny_palette.pal rename to graphics/pokemon/starmie/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/staryu_front_pic.png b/graphics/pokemon/staryu/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/staryu_front_pic.png rename to graphics/pokemon/staryu/anim_front.png diff --git a/graphics/pokemon/back_pics/staryu_back_pic.png b/graphics/pokemon/staryu/back.png similarity index 100% rename from graphics/pokemon/back_pics/staryu_back_pic.png rename to graphics/pokemon/staryu/back.png diff --git a/graphics/pokemon/footprints/staryu_footprint.png b/graphics/pokemon/staryu/footprint.png similarity index 100% rename from graphics/pokemon/footprints/staryu_footprint.png rename to graphics/pokemon/staryu/footprint.png diff --git a/graphics/pokemon/front_pics/staryu_still_front_pic.png b/graphics/pokemon/staryu/front.png similarity index 100% rename from graphics/pokemon/front_pics/staryu_still_front_pic.png rename to graphics/pokemon/staryu/front.png diff --git a/graphics/pokemon/icons/staryu_icon.png b/graphics/pokemon/staryu/icon.png similarity index 100% rename from graphics/pokemon/icons/staryu_icon.png rename to graphics/pokemon/staryu/icon.png diff --git a/graphics/pokemon/palettes/staryu_palette.pal b/graphics/pokemon/staryu/normal.pal similarity index 100% rename from graphics/pokemon/palettes/staryu_palette.pal rename to graphics/pokemon/staryu/normal.pal diff --git a/graphics/pokemon/palettes/staryu_shiny_palette.pal b/graphics/pokemon/staryu/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/staryu_shiny_palette.pal rename to graphics/pokemon/staryu/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/steelix_front_pic.png b/graphics/pokemon/steelix/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/steelix_front_pic.png rename to graphics/pokemon/steelix/anim_front.png diff --git a/graphics/pokemon/back_pics/steelix_back_pic.png b/graphics/pokemon/steelix/back.png similarity index 100% rename from graphics/pokemon/back_pics/steelix_back_pic.png rename to graphics/pokemon/steelix/back.png diff --git a/graphics/pokemon/footprints/steelix_footprint.png b/graphics/pokemon/steelix/footprint.png similarity index 100% rename from graphics/pokemon/footprints/steelix_footprint.png rename to graphics/pokemon/steelix/footprint.png diff --git a/graphics/pokemon/front_pics/steelix_still_front_pic.png b/graphics/pokemon/steelix/front.png similarity index 100% rename from graphics/pokemon/front_pics/steelix_still_front_pic.png rename to graphics/pokemon/steelix/front.png diff --git a/graphics/pokemon/icons/steelix_icon.png b/graphics/pokemon/steelix/icon.png similarity index 100% rename from graphics/pokemon/icons/steelix_icon.png rename to graphics/pokemon/steelix/icon.png diff --git a/graphics/pokemon/palettes/steelix_palette.pal b/graphics/pokemon/steelix/normal.pal similarity index 100% rename from graphics/pokemon/palettes/steelix_palette.pal rename to graphics/pokemon/steelix/normal.pal diff --git a/graphics/pokemon/palettes/steelix_shiny_palette.pal b/graphics/pokemon/steelix/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/steelix_shiny_palette.pal rename to graphics/pokemon/steelix/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/sudowoodo_front_pic.png b/graphics/pokemon/sudowoodo/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/sudowoodo_front_pic.png rename to graphics/pokemon/sudowoodo/anim_front.png diff --git a/graphics/pokemon/back_pics/sudowoodo_back_pic.png b/graphics/pokemon/sudowoodo/back.png similarity index 100% rename from graphics/pokemon/back_pics/sudowoodo_back_pic.png rename to graphics/pokemon/sudowoodo/back.png diff --git a/graphics/pokemon/footprints/sudowoodo_footprint.png b/graphics/pokemon/sudowoodo/footprint.png similarity index 100% rename from graphics/pokemon/footprints/sudowoodo_footprint.png rename to graphics/pokemon/sudowoodo/footprint.png diff --git a/graphics/pokemon/front_pics/sudowoodo_still_front_pic.png b/graphics/pokemon/sudowoodo/front.png similarity index 100% rename from graphics/pokemon/front_pics/sudowoodo_still_front_pic.png rename to graphics/pokemon/sudowoodo/front.png diff --git a/graphics/pokemon/icons/sudowoodo_icon.png b/graphics/pokemon/sudowoodo/icon.png similarity index 100% rename from graphics/pokemon/icons/sudowoodo_icon.png rename to graphics/pokemon/sudowoodo/icon.png diff --git a/graphics/pokemon/palettes/sudowoodo_palette.pal b/graphics/pokemon/sudowoodo/normal.pal similarity index 100% rename from graphics/pokemon/palettes/sudowoodo_palette.pal rename to graphics/pokemon/sudowoodo/normal.pal diff --git a/graphics/pokemon/palettes/sudowoodo_shiny_palette.pal b/graphics/pokemon/sudowoodo/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/sudowoodo_shiny_palette.pal rename to graphics/pokemon/sudowoodo/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/suicune_front_pic.png b/graphics/pokemon/suicune/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/suicune_front_pic.png rename to graphics/pokemon/suicune/anim_front.png diff --git a/graphics/pokemon/back_pics/suicune_back_pic.png b/graphics/pokemon/suicune/back.png similarity index 100% rename from graphics/pokemon/back_pics/suicune_back_pic.png rename to graphics/pokemon/suicune/back.png diff --git a/graphics/pokemon/footprints/suicune_footprint.png b/graphics/pokemon/suicune/footprint.png similarity index 100% rename from graphics/pokemon/footprints/suicune_footprint.png rename to graphics/pokemon/suicune/footprint.png diff --git a/graphics/pokemon/front_pics/suicune_still_front_pic.png b/graphics/pokemon/suicune/front.png similarity index 100% rename from graphics/pokemon/front_pics/suicune_still_front_pic.png rename to graphics/pokemon/suicune/front.png diff --git a/graphics/pokemon/icons/suicune_icon.png b/graphics/pokemon/suicune/icon.png similarity index 100% rename from graphics/pokemon/icons/suicune_icon.png rename to graphics/pokemon/suicune/icon.png diff --git a/graphics/pokemon/palettes/suicune_palette.pal b/graphics/pokemon/suicune/normal.pal similarity index 100% rename from graphics/pokemon/palettes/suicune_palette.pal rename to graphics/pokemon/suicune/normal.pal diff --git a/graphics/pokemon/palettes/suicune_shiny_palette.pal b/graphics/pokemon/suicune/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/suicune_shiny_palette.pal rename to graphics/pokemon/suicune/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/sunflora_front_pic.png b/graphics/pokemon/sunflora/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/sunflora_front_pic.png rename to graphics/pokemon/sunflora/anim_front.png diff --git a/graphics/pokemon/back_pics/sunflora_back_pic.png b/graphics/pokemon/sunflora/back.png similarity index 100% rename from graphics/pokemon/back_pics/sunflora_back_pic.png rename to graphics/pokemon/sunflora/back.png diff --git a/graphics/pokemon/footprints/sunflora_footprint.png b/graphics/pokemon/sunflora/footprint.png similarity index 100% rename from graphics/pokemon/footprints/sunflora_footprint.png rename to graphics/pokemon/sunflora/footprint.png diff --git a/graphics/pokemon/front_pics/sunflora_still_front_pic.png b/graphics/pokemon/sunflora/front.png similarity index 100% rename from graphics/pokemon/front_pics/sunflora_still_front_pic.png rename to graphics/pokemon/sunflora/front.png diff --git a/graphics/pokemon/icons/sunflora_icon.png b/graphics/pokemon/sunflora/icon.png similarity index 100% rename from graphics/pokemon/icons/sunflora_icon.png rename to graphics/pokemon/sunflora/icon.png diff --git a/graphics/pokemon/palettes/sunflora_palette.pal b/graphics/pokemon/sunflora/normal.pal similarity index 100% rename from graphics/pokemon/palettes/sunflora_palette.pal rename to graphics/pokemon/sunflora/normal.pal diff --git a/graphics/pokemon/palettes/sunflora_shiny_palette.pal b/graphics/pokemon/sunflora/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/sunflora_shiny_palette.pal rename to graphics/pokemon/sunflora/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/sunkern_front_pic.png b/graphics/pokemon/sunkern/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/sunkern_front_pic.png rename to graphics/pokemon/sunkern/anim_front.png diff --git a/graphics/pokemon/back_pics/sunkern_back_pic.png b/graphics/pokemon/sunkern/back.png similarity index 100% rename from graphics/pokemon/back_pics/sunkern_back_pic.png rename to graphics/pokemon/sunkern/back.png diff --git a/graphics/pokemon/footprints/sunkern_footprint.png b/graphics/pokemon/sunkern/footprint.png similarity index 100% rename from graphics/pokemon/footprints/sunkern_footprint.png rename to graphics/pokemon/sunkern/footprint.png diff --git a/graphics/pokemon/front_pics/sunkern_still_front_pic.png b/graphics/pokemon/sunkern/front.png similarity index 100% rename from graphics/pokemon/front_pics/sunkern_still_front_pic.png rename to graphics/pokemon/sunkern/front.png diff --git a/graphics/pokemon/icons/sunkern_icon.png b/graphics/pokemon/sunkern/icon.png similarity index 100% rename from graphics/pokemon/icons/sunkern_icon.png rename to graphics/pokemon/sunkern/icon.png diff --git a/graphics/pokemon/palettes/sunkern_palette.pal b/graphics/pokemon/sunkern/normal.pal similarity index 100% rename from graphics/pokemon/palettes/sunkern_palette.pal rename to graphics/pokemon/sunkern/normal.pal diff --git a/graphics/pokemon/palettes/sunkern_shiny_palette.pal b/graphics/pokemon/sunkern/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/sunkern_shiny_palette.pal rename to graphics/pokemon/sunkern/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/surskit_front_pic.png b/graphics/pokemon/surskit/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/surskit_front_pic.png rename to graphics/pokemon/surskit/anim_front.png diff --git a/graphics/pokemon/back_pics/surskit_back_pic.png b/graphics/pokemon/surskit/back.png similarity index 100% rename from graphics/pokemon/back_pics/surskit_back_pic.png rename to graphics/pokemon/surskit/back.png diff --git a/graphics/pokemon/footprints/surskit_footprint.png b/graphics/pokemon/surskit/footprint.png similarity index 100% rename from graphics/pokemon/footprints/surskit_footprint.png rename to graphics/pokemon/surskit/footprint.png diff --git a/graphics/pokemon/front_pics/surskit_still_front_pic.png b/graphics/pokemon/surskit/front.png similarity index 100% rename from graphics/pokemon/front_pics/surskit_still_front_pic.png rename to graphics/pokemon/surskit/front.png diff --git a/graphics/pokemon/icons/surskit_icon.png b/graphics/pokemon/surskit/icon.png similarity index 100% rename from graphics/pokemon/icons/surskit_icon.png rename to graphics/pokemon/surskit/icon.png diff --git a/graphics/pokemon/palettes/surskit_palette.pal b/graphics/pokemon/surskit/normal.pal similarity index 100% rename from graphics/pokemon/palettes/surskit_palette.pal rename to graphics/pokemon/surskit/normal.pal diff --git a/graphics/pokemon/palettes/surskit_shiny_palette.pal b/graphics/pokemon/surskit/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/surskit_shiny_palette.pal rename to graphics/pokemon/surskit/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/swablu_front_pic.png b/graphics/pokemon/swablu/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/swablu_front_pic.png rename to graphics/pokemon/swablu/anim_front.png diff --git a/graphics/pokemon/back_pics/swablu_back_pic.png b/graphics/pokemon/swablu/back.png similarity index 100% rename from graphics/pokemon/back_pics/swablu_back_pic.png rename to graphics/pokemon/swablu/back.png diff --git a/graphics/pokemon/footprints/swablu_footprint.png b/graphics/pokemon/swablu/footprint.png similarity index 100% rename from graphics/pokemon/footprints/swablu_footprint.png rename to graphics/pokemon/swablu/footprint.png diff --git a/graphics/pokemon/front_pics/swablu_still_front_pic.png b/graphics/pokemon/swablu/front.png similarity index 100% rename from graphics/pokemon/front_pics/swablu_still_front_pic.png rename to graphics/pokemon/swablu/front.png diff --git a/graphics/pokemon/icons/swablu_icon.png b/graphics/pokemon/swablu/icon.png similarity index 100% rename from graphics/pokemon/icons/swablu_icon.png rename to graphics/pokemon/swablu/icon.png diff --git a/graphics/pokemon/palettes/swablu_palette.pal b/graphics/pokemon/swablu/normal.pal similarity index 100% rename from graphics/pokemon/palettes/swablu_palette.pal rename to graphics/pokemon/swablu/normal.pal diff --git a/graphics/pokemon/palettes/swablu_shiny_palette.pal b/graphics/pokemon/swablu/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/swablu_shiny_palette.pal rename to graphics/pokemon/swablu/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/swalot_front_pic.png b/graphics/pokemon/swalot/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/swalot_front_pic.png rename to graphics/pokemon/swalot/anim_front.png diff --git a/graphics/pokemon/back_pics/swalot_back_pic.png b/graphics/pokemon/swalot/back.png similarity index 100% rename from graphics/pokemon/back_pics/swalot_back_pic.png rename to graphics/pokemon/swalot/back.png diff --git a/graphics/pokemon/footprints/swalot_footprint.png b/graphics/pokemon/swalot/footprint.png similarity index 100% rename from graphics/pokemon/footprints/swalot_footprint.png rename to graphics/pokemon/swalot/footprint.png diff --git a/graphics/pokemon/front_pics/swalot_still_front_pic.png b/graphics/pokemon/swalot/front.png similarity index 100% rename from graphics/pokemon/front_pics/swalot_still_front_pic.png rename to graphics/pokemon/swalot/front.png diff --git a/graphics/pokemon/icons/swalot_icon.png b/graphics/pokemon/swalot/icon.png similarity index 100% rename from graphics/pokemon/icons/swalot_icon.png rename to graphics/pokemon/swalot/icon.png diff --git a/graphics/pokemon/palettes/swalot_palette.pal b/graphics/pokemon/swalot/normal.pal similarity index 100% rename from graphics/pokemon/palettes/swalot_palette.pal rename to graphics/pokemon/swalot/normal.pal diff --git a/graphics/pokemon/palettes/swalot_shiny_palette.pal b/graphics/pokemon/swalot/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/swalot_shiny_palette.pal rename to graphics/pokemon/swalot/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/swampert_front_pic.png b/graphics/pokemon/swampert/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/swampert_front_pic.png rename to graphics/pokemon/swampert/anim_front.png diff --git a/graphics/pokemon/back_pics/swampert_back_pic.png b/graphics/pokemon/swampert/back.png similarity index 100% rename from graphics/pokemon/back_pics/swampert_back_pic.png rename to graphics/pokemon/swampert/back.png diff --git a/graphics/pokemon/footprints/swampert_footprint.png b/graphics/pokemon/swampert/footprint.png similarity index 100% rename from graphics/pokemon/footprints/swampert_footprint.png rename to graphics/pokemon/swampert/footprint.png diff --git a/graphics/pokemon/front_pics/swampert_still_front_pic.png b/graphics/pokemon/swampert/front.png similarity index 100% rename from graphics/pokemon/front_pics/swampert_still_front_pic.png rename to graphics/pokemon/swampert/front.png diff --git a/graphics/pokemon/icons/swampert_icon.png b/graphics/pokemon/swampert/icon.png similarity index 100% rename from graphics/pokemon/icons/swampert_icon.png rename to graphics/pokemon/swampert/icon.png diff --git a/graphics/pokemon/palettes/swampert_palette.pal b/graphics/pokemon/swampert/normal.pal similarity index 100% rename from graphics/pokemon/palettes/swampert_palette.pal rename to graphics/pokemon/swampert/normal.pal diff --git a/graphics/pokemon/palettes/swampert_shiny_palette.pal b/graphics/pokemon/swampert/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/swampert_shiny_palette.pal rename to graphics/pokemon/swampert/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/swellow_front_pic.png b/graphics/pokemon/swellow/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/swellow_front_pic.png rename to graphics/pokemon/swellow/anim_front.png diff --git a/graphics/pokemon/back_pics/swellow_back_pic.png b/graphics/pokemon/swellow/back.png similarity index 100% rename from graphics/pokemon/back_pics/swellow_back_pic.png rename to graphics/pokemon/swellow/back.png diff --git a/graphics/pokemon/footprints/swellow_footprint.png b/graphics/pokemon/swellow/footprint.png similarity index 100% rename from graphics/pokemon/footprints/swellow_footprint.png rename to graphics/pokemon/swellow/footprint.png diff --git a/graphics/pokemon/front_pics/swellow_still_front_pic.png b/graphics/pokemon/swellow/front.png similarity index 100% rename from graphics/pokemon/front_pics/swellow_still_front_pic.png rename to graphics/pokemon/swellow/front.png diff --git a/graphics/pokemon/icons/swellow_icon.png b/graphics/pokemon/swellow/icon.png similarity index 100% rename from graphics/pokemon/icons/swellow_icon.png rename to graphics/pokemon/swellow/icon.png diff --git a/graphics/pokemon/palettes/swellow_palette.pal b/graphics/pokemon/swellow/normal.pal similarity index 100% rename from graphics/pokemon/palettes/swellow_palette.pal rename to graphics/pokemon/swellow/normal.pal diff --git a/graphics/pokemon/palettes/swellow_shiny_palette.pal b/graphics/pokemon/swellow/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/swellow_shiny_palette.pal rename to graphics/pokemon/swellow/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/swinub_front_pic.png b/graphics/pokemon/swinub/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/swinub_front_pic.png rename to graphics/pokemon/swinub/anim_front.png diff --git a/graphics/pokemon/back_pics/swinub_back_pic.png b/graphics/pokemon/swinub/back.png similarity index 100% rename from graphics/pokemon/back_pics/swinub_back_pic.png rename to graphics/pokemon/swinub/back.png diff --git a/graphics/pokemon/footprints/swinub_footprint.png b/graphics/pokemon/swinub/footprint.png similarity index 100% rename from graphics/pokemon/footprints/swinub_footprint.png rename to graphics/pokemon/swinub/footprint.png diff --git a/graphics/pokemon/front_pics/swinub_still_front_pic.png b/graphics/pokemon/swinub/front.png similarity index 100% rename from graphics/pokemon/front_pics/swinub_still_front_pic.png rename to graphics/pokemon/swinub/front.png diff --git a/graphics/pokemon/icons/swinub_icon.png b/graphics/pokemon/swinub/icon.png similarity index 100% rename from graphics/pokemon/icons/swinub_icon.png rename to graphics/pokemon/swinub/icon.png diff --git a/graphics/pokemon/palettes/swinub_palette.pal b/graphics/pokemon/swinub/normal.pal similarity index 100% rename from graphics/pokemon/palettes/swinub_palette.pal rename to graphics/pokemon/swinub/normal.pal diff --git a/graphics/pokemon/palettes/swinub_shiny_palette.pal b/graphics/pokemon/swinub/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/swinub_shiny_palette.pal rename to graphics/pokemon/swinub/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/taillow_front_pic.png b/graphics/pokemon/taillow/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/taillow_front_pic.png rename to graphics/pokemon/taillow/anim_front.png diff --git a/graphics/pokemon/back_pics/taillow_back_pic.png b/graphics/pokemon/taillow/back.png similarity index 100% rename from graphics/pokemon/back_pics/taillow_back_pic.png rename to graphics/pokemon/taillow/back.png diff --git a/graphics/pokemon/footprints/taillow_footprint.png b/graphics/pokemon/taillow/footprint.png similarity index 100% rename from graphics/pokemon/footprints/taillow_footprint.png rename to graphics/pokemon/taillow/footprint.png diff --git a/graphics/pokemon/front_pics/taillow_still_front_pic.png b/graphics/pokemon/taillow/front.png similarity index 100% rename from graphics/pokemon/front_pics/taillow_still_front_pic.png rename to graphics/pokemon/taillow/front.png diff --git a/graphics/pokemon/icons/taillow_icon.png b/graphics/pokemon/taillow/icon.png similarity index 100% rename from graphics/pokemon/icons/taillow_icon.png rename to graphics/pokemon/taillow/icon.png diff --git a/graphics/pokemon/palettes/taillow_palette.pal b/graphics/pokemon/taillow/normal.pal similarity index 100% rename from graphics/pokemon/palettes/taillow_palette.pal rename to graphics/pokemon/taillow/normal.pal diff --git a/graphics/pokemon/palettes/taillow_shiny_palette.pal b/graphics/pokemon/taillow/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/taillow_shiny_palette.pal rename to graphics/pokemon/taillow/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/tangela_front_pic.png b/graphics/pokemon/tangela/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/tangela_front_pic.png rename to graphics/pokemon/tangela/anim_front.png diff --git a/graphics/pokemon/back_pics/tangela_back_pic.png b/graphics/pokemon/tangela/back.png similarity index 100% rename from graphics/pokemon/back_pics/tangela_back_pic.png rename to graphics/pokemon/tangela/back.png diff --git a/graphics/pokemon/footprints/tangela_footprint.png b/graphics/pokemon/tangela/footprint.png similarity index 100% rename from graphics/pokemon/footprints/tangela_footprint.png rename to graphics/pokemon/tangela/footprint.png diff --git a/graphics/pokemon/front_pics/tangela_still_front_pic.png b/graphics/pokemon/tangela/front.png similarity index 100% rename from graphics/pokemon/front_pics/tangela_still_front_pic.png rename to graphics/pokemon/tangela/front.png diff --git a/graphics/pokemon/icons/tangela_icon.png b/graphics/pokemon/tangela/icon.png similarity index 100% rename from graphics/pokemon/icons/tangela_icon.png rename to graphics/pokemon/tangela/icon.png diff --git a/graphics/pokemon/palettes/tangela_palette.pal b/graphics/pokemon/tangela/normal.pal similarity index 100% rename from graphics/pokemon/palettes/tangela_palette.pal rename to graphics/pokemon/tangela/normal.pal diff --git a/graphics/pokemon/palettes/tangela_shiny_palette.pal b/graphics/pokemon/tangela/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/tangela_shiny_palette.pal rename to graphics/pokemon/tangela/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/tauros_front_pic.png b/graphics/pokemon/tauros/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/tauros_front_pic.png rename to graphics/pokemon/tauros/anim_front.png diff --git a/graphics/pokemon/back_pics/tauros_back_pic.png b/graphics/pokemon/tauros/back.png similarity index 100% rename from graphics/pokemon/back_pics/tauros_back_pic.png rename to graphics/pokemon/tauros/back.png diff --git a/graphics/pokemon/footprints/tauros_footprint.png b/graphics/pokemon/tauros/footprint.png similarity index 100% rename from graphics/pokemon/footprints/tauros_footprint.png rename to graphics/pokemon/tauros/footprint.png diff --git a/graphics/pokemon/front_pics/tauros_still_front_pic.png b/graphics/pokemon/tauros/front.png similarity index 100% rename from graphics/pokemon/front_pics/tauros_still_front_pic.png rename to graphics/pokemon/tauros/front.png diff --git a/graphics/pokemon/icons/tauros_icon.png b/graphics/pokemon/tauros/icon.png similarity index 100% rename from graphics/pokemon/icons/tauros_icon.png rename to graphics/pokemon/tauros/icon.png diff --git a/graphics/pokemon/palettes/tauros_palette.pal b/graphics/pokemon/tauros/normal.pal similarity index 100% rename from graphics/pokemon/palettes/tauros_palette.pal rename to graphics/pokemon/tauros/normal.pal diff --git a/graphics/pokemon/palettes/tauros_shiny_palette.pal b/graphics/pokemon/tauros/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/tauros_shiny_palette.pal rename to graphics/pokemon/tauros/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/teddiursa_front_pic.png b/graphics/pokemon/teddiursa/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/teddiursa_front_pic.png rename to graphics/pokemon/teddiursa/anim_front.png diff --git a/graphics/pokemon/back_pics/teddiursa_back_pic.png b/graphics/pokemon/teddiursa/back.png similarity index 100% rename from graphics/pokemon/back_pics/teddiursa_back_pic.png rename to graphics/pokemon/teddiursa/back.png diff --git a/graphics/pokemon/footprints/teddiursa_footprint.png b/graphics/pokemon/teddiursa/footprint.png similarity index 100% rename from graphics/pokemon/footprints/teddiursa_footprint.png rename to graphics/pokemon/teddiursa/footprint.png diff --git a/graphics/pokemon/front_pics/teddiursa_still_front_pic.png b/graphics/pokemon/teddiursa/front.png similarity index 100% rename from graphics/pokemon/front_pics/teddiursa_still_front_pic.png rename to graphics/pokemon/teddiursa/front.png diff --git a/graphics/pokemon/icons/teddiursa_icon.png b/graphics/pokemon/teddiursa/icon.png similarity index 100% rename from graphics/pokemon/icons/teddiursa_icon.png rename to graphics/pokemon/teddiursa/icon.png diff --git a/graphics/pokemon/palettes/teddiursa_palette.pal b/graphics/pokemon/teddiursa/normal.pal similarity index 100% rename from graphics/pokemon/palettes/teddiursa_palette.pal rename to graphics/pokemon/teddiursa/normal.pal diff --git a/graphics/pokemon/palettes/teddiursa_shiny_palette.pal b/graphics/pokemon/teddiursa/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/teddiursa_shiny_palette.pal rename to graphics/pokemon/teddiursa/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/tentacool_front_pic.png b/graphics/pokemon/tentacool/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/tentacool_front_pic.png rename to graphics/pokemon/tentacool/anim_front.png diff --git a/graphics/pokemon/back_pics/tentacool_back_pic.png b/graphics/pokemon/tentacool/back.png similarity index 100% rename from graphics/pokemon/back_pics/tentacool_back_pic.png rename to graphics/pokemon/tentacool/back.png diff --git a/graphics/pokemon/footprints/tentacool_footprint.png b/graphics/pokemon/tentacool/footprint.png similarity index 100% rename from graphics/pokemon/footprints/tentacool_footprint.png rename to graphics/pokemon/tentacool/footprint.png diff --git a/graphics/pokemon/front_pics/tentacool_still_front_pic.png b/graphics/pokemon/tentacool/front.png similarity index 100% rename from graphics/pokemon/front_pics/tentacool_still_front_pic.png rename to graphics/pokemon/tentacool/front.png diff --git a/graphics/pokemon/icons/tentacool_icon.png b/graphics/pokemon/tentacool/icon.png similarity index 100% rename from graphics/pokemon/icons/tentacool_icon.png rename to graphics/pokemon/tentacool/icon.png diff --git a/graphics/pokemon/palettes/tentacool_palette.pal b/graphics/pokemon/tentacool/normal.pal similarity index 100% rename from graphics/pokemon/palettes/tentacool_palette.pal rename to graphics/pokemon/tentacool/normal.pal diff --git a/graphics/pokemon/palettes/tentacool_shiny_palette.pal b/graphics/pokemon/tentacool/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/tentacool_shiny_palette.pal rename to graphics/pokemon/tentacool/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/tentacruel_front_pic.png b/graphics/pokemon/tentacruel/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/tentacruel_front_pic.png rename to graphics/pokemon/tentacruel/anim_front.png diff --git a/graphics/pokemon/back_pics/tentacruel_back_pic.png b/graphics/pokemon/tentacruel/back.png similarity index 100% rename from graphics/pokemon/back_pics/tentacruel_back_pic.png rename to graphics/pokemon/tentacruel/back.png diff --git a/graphics/pokemon/footprints/tentacruel_footprint.png b/graphics/pokemon/tentacruel/footprint.png similarity index 100% rename from graphics/pokemon/footprints/tentacruel_footprint.png rename to graphics/pokemon/tentacruel/footprint.png diff --git a/graphics/pokemon/front_pics/tentacruel_still_front_pic.png b/graphics/pokemon/tentacruel/front.png similarity index 100% rename from graphics/pokemon/front_pics/tentacruel_still_front_pic.png rename to graphics/pokemon/tentacruel/front.png diff --git a/graphics/pokemon/icons/tentacruel_icon.png b/graphics/pokemon/tentacruel/icon.png similarity index 100% rename from graphics/pokemon/icons/tentacruel_icon.png rename to graphics/pokemon/tentacruel/icon.png diff --git a/graphics/pokemon/palettes/tentacruel_palette.pal b/graphics/pokemon/tentacruel/normal.pal similarity index 100% rename from graphics/pokemon/palettes/tentacruel_palette.pal rename to graphics/pokemon/tentacruel/normal.pal diff --git a/graphics/pokemon/palettes/tentacruel_shiny_palette.pal b/graphics/pokemon/tentacruel/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/tentacruel_shiny_palette.pal rename to graphics/pokemon/tentacruel/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/togepi_front_pic.png b/graphics/pokemon/togepi/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/togepi_front_pic.png rename to graphics/pokemon/togepi/anim_front.png diff --git a/graphics/pokemon/back_pics/togepi_back_pic.png b/graphics/pokemon/togepi/back.png similarity index 100% rename from graphics/pokemon/back_pics/togepi_back_pic.png rename to graphics/pokemon/togepi/back.png diff --git a/graphics/pokemon/footprints/togepi_footprint.png b/graphics/pokemon/togepi/footprint.png similarity index 100% rename from graphics/pokemon/footprints/togepi_footprint.png rename to graphics/pokemon/togepi/footprint.png diff --git a/graphics/pokemon/front_pics/togepi_still_front_pic.png b/graphics/pokemon/togepi/front.png similarity index 100% rename from graphics/pokemon/front_pics/togepi_still_front_pic.png rename to graphics/pokemon/togepi/front.png diff --git a/graphics/pokemon/icons/togepi_icon.png b/graphics/pokemon/togepi/icon.png similarity index 100% rename from graphics/pokemon/icons/togepi_icon.png rename to graphics/pokemon/togepi/icon.png diff --git a/graphics/pokemon/palettes/togepi_palette.pal b/graphics/pokemon/togepi/normal.pal similarity index 100% rename from graphics/pokemon/palettes/togepi_palette.pal rename to graphics/pokemon/togepi/normal.pal diff --git a/graphics/pokemon/palettes/togepi_shiny_palette.pal b/graphics/pokemon/togepi/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/togepi_shiny_palette.pal rename to graphics/pokemon/togepi/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/togetic_front_pic.png b/graphics/pokemon/togetic/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/togetic_front_pic.png rename to graphics/pokemon/togetic/anim_front.png diff --git a/graphics/pokemon/back_pics/togetic_back_pic.png b/graphics/pokemon/togetic/back.png similarity index 100% rename from graphics/pokemon/back_pics/togetic_back_pic.png rename to graphics/pokemon/togetic/back.png diff --git a/graphics/pokemon/footprints/togetic_footprint.png b/graphics/pokemon/togetic/footprint.png similarity index 100% rename from graphics/pokemon/footprints/togetic_footprint.png rename to graphics/pokemon/togetic/footprint.png diff --git a/graphics/pokemon/front_pics/togetic_still_front_pic.png b/graphics/pokemon/togetic/front.png similarity index 100% rename from graphics/pokemon/front_pics/togetic_still_front_pic.png rename to graphics/pokemon/togetic/front.png diff --git a/graphics/pokemon/icons/togetic_icon.png b/graphics/pokemon/togetic/icon.png similarity index 100% rename from graphics/pokemon/icons/togetic_icon.png rename to graphics/pokemon/togetic/icon.png diff --git a/graphics/pokemon/palettes/togetic_palette.pal b/graphics/pokemon/togetic/normal.pal similarity index 100% rename from graphics/pokemon/palettes/togetic_palette.pal rename to graphics/pokemon/togetic/normal.pal diff --git a/graphics/pokemon/palettes/togetic_shiny_palette.pal b/graphics/pokemon/togetic/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/togetic_shiny_palette.pal rename to graphics/pokemon/togetic/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/torchic_front_pic.png b/graphics/pokemon/torchic/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/torchic_front_pic.png rename to graphics/pokemon/torchic/anim_front.png diff --git a/graphics/pokemon/back_pics/torchic_back_pic.png b/graphics/pokemon/torchic/back.png similarity index 100% rename from graphics/pokemon/back_pics/torchic_back_pic.png rename to graphics/pokemon/torchic/back.png diff --git a/graphics/pokemon/footprints/torchic_footprint.png b/graphics/pokemon/torchic/footprint.png similarity index 100% rename from graphics/pokemon/footprints/torchic_footprint.png rename to graphics/pokemon/torchic/footprint.png diff --git a/graphics/pokemon/front_pics/torchic_still_front_pic.png b/graphics/pokemon/torchic/front.png similarity index 100% rename from graphics/pokemon/front_pics/torchic_still_front_pic.png rename to graphics/pokemon/torchic/front.png diff --git a/graphics/pokemon/icons/torchic_icon.png b/graphics/pokemon/torchic/icon.png similarity index 100% rename from graphics/pokemon/icons/torchic_icon.png rename to graphics/pokemon/torchic/icon.png diff --git a/graphics/pokemon/palettes/torchic_palette.pal b/graphics/pokemon/torchic/normal.pal similarity index 100% rename from graphics/pokemon/palettes/torchic_palette.pal rename to graphics/pokemon/torchic/normal.pal diff --git a/graphics/pokemon/palettes/torchic_shiny_palette.pal b/graphics/pokemon/torchic/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/torchic_shiny_palette.pal rename to graphics/pokemon/torchic/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/torkoal_front_pic.png b/graphics/pokemon/torkoal/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/torkoal_front_pic.png rename to graphics/pokemon/torkoal/anim_front.png diff --git a/graphics/pokemon/back_pics/torkoal_back_pic.png b/graphics/pokemon/torkoal/back.png similarity index 100% rename from graphics/pokemon/back_pics/torkoal_back_pic.png rename to graphics/pokemon/torkoal/back.png diff --git a/graphics/pokemon/footprints/torkoal_footprint.png b/graphics/pokemon/torkoal/footprint.png similarity index 100% rename from graphics/pokemon/footprints/torkoal_footprint.png rename to graphics/pokemon/torkoal/footprint.png diff --git a/graphics/pokemon/front_pics/torkoal_still_front_pic.png b/graphics/pokemon/torkoal/front.png similarity index 100% rename from graphics/pokemon/front_pics/torkoal_still_front_pic.png rename to graphics/pokemon/torkoal/front.png diff --git a/graphics/pokemon/icons/torkoal_icon.png b/graphics/pokemon/torkoal/icon.png similarity index 100% rename from graphics/pokemon/icons/torkoal_icon.png rename to graphics/pokemon/torkoal/icon.png diff --git a/graphics/pokemon/palettes/torkoal_palette.pal b/graphics/pokemon/torkoal/normal.pal similarity index 100% rename from graphics/pokemon/palettes/torkoal_palette.pal rename to graphics/pokemon/torkoal/normal.pal diff --git a/graphics/pokemon/palettes/torkoal_shiny_palette.pal b/graphics/pokemon/torkoal/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/torkoal_shiny_palette.pal rename to graphics/pokemon/torkoal/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/totodile_front_pic.png b/graphics/pokemon/totodile/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/totodile_front_pic.png rename to graphics/pokemon/totodile/anim_front.png diff --git a/graphics/pokemon/back_pics/totodile_back_pic.png b/graphics/pokemon/totodile/back.png similarity index 100% rename from graphics/pokemon/back_pics/totodile_back_pic.png rename to graphics/pokemon/totodile/back.png diff --git a/graphics/pokemon/footprints/totodile_footprint.png b/graphics/pokemon/totodile/footprint.png similarity index 100% rename from graphics/pokemon/footprints/totodile_footprint.png rename to graphics/pokemon/totodile/footprint.png diff --git a/graphics/pokemon/front_pics/totodile_still_front_pic.png b/graphics/pokemon/totodile/front.png similarity index 100% rename from graphics/pokemon/front_pics/totodile_still_front_pic.png rename to graphics/pokemon/totodile/front.png diff --git a/graphics/pokemon/icons/totodile_icon.png b/graphics/pokemon/totodile/icon.png similarity index 100% rename from graphics/pokemon/icons/totodile_icon.png rename to graphics/pokemon/totodile/icon.png diff --git a/graphics/pokemon/palettes/totodile_palette.pal b/graphics/pokemon/totodile/normal.pal similarity index 100% rename from graphics/pokemon/palettes/totodile_palette.pal rename to graphics/pokemon/totodile/normal.pal diff --git a/graphics/pokemon/palettes/totodile_shiny_palette.pal b/graphics/pokemon/totodile/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/totodile_shiny_palette.pal rename to graphics/pokemon/totodile/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/trapinch_front_pic.png b/graphics/pokemon/trapinch/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/trapinch_front_pic.png rename to graphics/pokemon/trapinch/anim_front.png diff --git a/graphics/pokemon/back_pics/trapinch_back_pic.png b/graphics/pokemon/trapinch/back.png similarity index 100% rename from graphics/pokemon/back_pics/trapinch_back_pic.png rename to graphics/pokemon/trapinch/back.png diff --git a/graphics/pokemon/footprints/trapinch_footprint.png b/graphics/pokemon/trapinch/footprint.png similarity index 100% rename from graphics/pokemon/footprints/trapinch_footprint.png rename to graphics/pokemon/trapinch/footprint.png diff --git a/graphics/pokemon/front_pics/trapinch_still_front_pic.png b/graphics/pokemon/trapinch/front.png similarity index 100% rename from graphics/pokemon/front_pics/trapinch_still_front_pic.png rename to graphics/pokemon/trapinch/front.png diff --git a/graphics/pokemon/icons/trapinch_icon.png b/graphics/pokemon/trapinch/icon.png similarity index 100% rename from graphics/pokemon/icons/trapinch_icon.png rename to graphics/pokemon/trapinch/icon.png diff --git a/graphics/pokemon/palettes/trapinch_palette.pal b/graphics/pokemon/trapinch/normal.pal similarity index 100% rename from graphics/pokemon/palettes/trapinch_palette.pal rename to graphics/pokemon/trapinch/normal.pal diff --git a/graphics/pokemon/palettes/trapinch_shiny_palette.pal b/graphics/pokemon/trapinch/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/trapinch_shiny_palette.pal rename to graphics/pokemon/trapinch/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/treecko_front_pic.png b/graphics/pokemon/treecko/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/treecko_front_pic.png rename to graphics/pokemon/treecko/anim_front.png diff --git a/graphics/pokemon/back_pics/treecko_back_pic.png b/graphics/pokemon/treecko/back.png similarity index 100% rename from graphics/pokemon/back_pics/treecko_back_pic.png rename to graphics/pokemon/treecko/back.png diff --git a/graphics/pokemon/footprints/treecko_footprint.png b/graphics/pokemon/treecko/footprint.png similarity index 100% rename from graphics/pokemon/footprints/treecko_footprint.png rename to graphics/pokemon/treecko/footprint.png diff --git a/graphics/pokemon/front_pics/treecko_still_front_pic.png b/graphics/pokemon/treecko/front.png similarity index 100% rename from graphics/pokemon/front_pics/treecko_still_front_pic.png rename to graphics/pokemon/treecko/front.png diff --git a/graphics/pokemon/icons/treecko_icon.png b/graphics/pokemon/treecko/icon.png similarity index 100% rename from graphics/pokemon/icons/treecko_icon.png rename to graphics/pokemon/treecko/icon.png diff --git a/graphics/pokemon/palettes/treecko_palette.pal b/graphics/pokemon/treecko/normal.pal similarity index 100% rename from graphics/pokemon/palettes/treecko_palette.pal rename to graphics/pokemon/treecko/normal.pal diff --git a/graphics/pokemon/palettes/treecko_shiny_palette.pal b/graphics/pokemon/treecko/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/treecko_shiny_palette.pal rename to graphics/pokemon/treecko/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/tropius_front_pic.png b/graphics/pokemon/tropius/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/tropius_front_pic.png rename to graphics/pokemon/tropius/anim_front.png diff --git a/graphics/pokemon/back_pics/tropius_back_pic.png b/graphics/pokemon/tropius/back.png similarity index 100% rename from graphics/pokemon/back_pics/tropius_back_pic.png rename to graphics/pokemon/tropius/back.png diff --git a/graphics/pokemon/footprints/tropius_footprint.png b/graphics/pokemon/tropius/footprint.png similarity index 100% rename from graphics/pokemon/footprints/tropius_footprint.png rename to graphics/pokemon/tropius/footprint.png diff --git a/graphics/pokemon/front_pics/tropius_still_front_pic.png b/graphics/pokemon/tropius/front.png similarity index 100% rename from graphics/pokemon/front_pics/tropius_still_front_pic.png rename to graphics/pokemon/tropius/front.png diff --git a/graphics/pokemon/icons/tropius_icon.png b/graphics/pokemon/tropius/icon.png similarity index 100% rename from graphics/pokemon/icons/tropius_icon.png rename to graphics/pokemon/tropius/icon.png diff --git a/graphics/pokemon/palettes/tropius_palette.pal b/graphics/pokemon/tropius/normal.pal similarity index 100% rename from graphics/pokemon/palettes/tropius_palette.pal rename to graphics/pokemon/tropius/normal.pal diff --git a/graphics/pokemon/palettes/tropius_shiny_palette.pal b/graphics/pokemon/tropius/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/tropius_shiny_palette.pal rename to graphics/pokemon/tropius/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/typhlosion_front_pic.png b/graphics/pokemon/typhlosion/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/typhlosion_front_pic.png rename to graphics/pokemon/typhlosion/anim_front.png diff --git a/graphics/pokemon/back_pics/typhlosion_back_pic.png b/graphics/pokemon/typhlosion/back.png similarity index 100% rename from graphics/pokemon/back_pics/typhlosion_back_pic.png rename to graphics/pokemon/typhlosion/back.png diff --git a/graphics/pokemon/footprints/typhlosion_footprint.png b/graphics/pokemon/typhlosion/footprint.png similarity index 100% rename from graphics/pokemon/footprints/typhlosion_footprint.png rename to graphics/pokemon/typhlosion/footprint.png diff --git a/graphics/pokemon/front_pics/typhlosion_still_front_pic.png b/graphics/pokemon/typhlosion/front.png similarity index 100% rename from graphics/pokemon/front_pics/typhlosion_still_front_pic.png rename to graphics/pokemon/typhlosion/front.png diff --git a/graphics/pokemon/icons/typhlosion_icon.png b/graphics/pokemon/typhlosion/icon.png similarity index 100% rename from graphics/pokemon/icons/typhlosion_icon.png rename to graphics/pokemon/typhlosion/icon.png diff --git a/graphics/pokemon/palettes/typhlosion_palette.pal b/graphics/pokemon/typhlosion/normal.pal similarity index 100% rename from graphics/pokemon/palettes/typhlosion_palette.pal rename to graphics/pokemon/typhlosion/normal.pal diff --git a/graphics/pokemon/palettes/typhlosion_shiny_palette.pal b/graphics/pokemon/typhlosion/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/typhlosion_shiny_palette.pal rename to graphics/pokemon/typhlosion/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/tyranitar_front_pic.png b/graphics/pokemon/tyranitar/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/tyranitar_front_pic.png rename to graphics/pokemon/tyranitar/anim_front.png diff --git a/graphics/pokemon/back_pics/tyranitar_back_pic.png b/graphics/pokemon/tyranitar/back.png similarity index 100% rename from graphics/pokemon/back_pics/tyranitar_back_pic.png rename to graphics/pokemon/tyranitar/back.png diff --git a/graphics/pokemon/footprints/tyranitar_footprint.png b/graphics/pokemon/tyranitar/footprint.png similarity index 100% rename from graphics/pokemon/footprints/tyranitar_footprint.png rename to graphics/pokemon/tyranitar/footprint.png diff --git a/graphics/pokemon/front_pics/tyranitar_still_front_pic.png b/graphics/pokemon/tyranitar/front.png similarity index 100% rename from graphics/pokemon/front_pics/tyranitar_still_front_pic.png rename to graphics/pokemon/tyranitar/front.png diff --git a/graphics/pokemon/icons/tyranitar_icon.png b/graphics/pokemon/tyranitar/icon.png similarity index 100% rename from graphics/pokemon/icons/tyranitar_icon.png rename to graphics/pokemon/tyranitar/icon.png diff --git a/graphics/pokemon/palettes/tyranitar_palette.pal b/graphics/pokemon/tyranitar/normal.pal similarity index 100% rename from graphics/pokemon/palettes/tyranitar_palette.pal rename to graphics/pokemon/tyranitar/normal.pal diff --git a/graphics/pokemon/palettes/tyranitar_shiny_palette.pal b/graphics/pokemon/tyranitar/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/tyranitar_shiny_palette.pal rename to graphics/pokemon/tyranitar/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/tyrogue_front_pic.png b/graphics/pokemon/tyrogue/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/tyrogue_front_pic.png rename to graphics/pokemon/tyrogue/anim_front.png diff --git a/graphics/pokemon/back_pics/tyrogue_back_pic.png b/graphics/pokemon/tyrogue/back.png similarity index 100% rename from graphics/pokemon/back_pics/tyrogue_back_pic.png rename to graphics/pokemon/tyrogue/back.png diff --git a/graphics/pokemon/footprints/tyrogue_footprint.png b/graphics/pokemon/tyrogue/footprint.png similarity index 100% rename from graphics/pokemon/footprints/tyrogue_footprint.png rename to graphics/pokemon/tyrogue/footprint.png diff --git a/graphics/pokemon/front_pics/tyrogue_still_front_pic.png b/graphics/pokemon/tyrogue/front.png similarity index 100% rename from graphics/pokemon/front_pics/tyrogue_still_front_pic.png rename to graphics/pokemon/tyrogue/front.png diff --git a/graphics/pokemon/icons/tyrogue_icon.png b/graphics/pokemon/tyrogue/icon.png similarity index 100% rename from graphics/pokemon/icons/tyrogue_icon.png rename to graphics/pokemon/tyrogue/icon.png diff --git a/graphics/pokemon/palettes/tyrogue_palette.pal b/graphics/pokemon/tyrogue/normal.pal similarity index 100% rename from graphics/pokemon/palettes/tyrogue_palette.pal rename to graphics/pokemon/tyrogue/normal.pal diff --git a/graphics/pokemon/palettes/tyrogue_shiny_palette.pal b/graphics/pokemon/tyrogue/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/tyrogue_shiny_palette.pal rename to graphics/pokemon/tyrogue/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/umbreon_front_pic.png b/graphics/pokemon/umbreon/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/umbreon_front_pic.png rename to graphics/pokemon/umbreon/anim_front.png diff --git a/graphics/pokemon/back_pics/umbreon_back_pic.png b/graphics/pokemon/umbreon/back.png similarity index 100% rename from graphics/pokemon/back_pics/umbreon_back_pic.png rename to graphics/pokemon/umbreon/back.png diff --git a/graphics/pokemon/footprints/umbreon_footprint.png b/graphics/pokemon/umbreon/footprint.png similarity index 100% rename from graphics/pokemon/footprints/umbreon_footprint.png rename to graphics/pokemon/umbreon/footprint.png diff --git a/graphics/pokemon/front_pics/umbreon_still_front_pic.png b/graphics/pokemon/umbreon/front.png similarity index 100% rename from graphics/pokemon/front_pics/umbreon_still_front_pic.png rename to graphics/pokemon/umbreon/front.png diff --git a/graphics/pokemon/icons/umbreon_icon.png b/graphics/pokemon/umbreon/icon.png similarity index 100% rename from graphics/pokemon/icons/umbreon_icon.png rename to graphics/pokemon/umbreon/icon.png diff --git a/graphics/pokemon/palettes/umbreon_palette.pal b/graphics/pokemon/umbreon/normal.pal similarity index 100% rename from graphics/pokemon/palettes/umbreon_palette.pal rename to graphics/pokemon/umbreon/normal.pal diff --git a/graphics/pokemon/palettes/umbreon_shiny_palette.pal b/graphics/pokemon/umbreon/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/umbreon_shiny_palette.pal rename to graphics/pokemon/umbreon/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/unown_a_front_pic.png b/graphics/pokemon/unown/anim_front_a.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_a_front_pic.png rename to graphics/pokemon/unown/anim_front_a.png diff --git a/graphics/pokemon/anim_front_pics/unown_b_front_pic.png b/graphics/pokemon/unown/anim_front_b.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_b_front_pic.png rename to graphics/pokemon/unown/anim_front_b.png diff --git a/graphics/pokemon/anim_front_pics/unown_c_front_pic.png b/graphics/pokemon/unown/anim_front_c.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_c_front_pic.png rename to graphics/pokemon/unown/anim_front_c.png diff --git a/graphics/pokemon/anim_front_pics/unown_d_front_pic.png b/graphics/pokemon/unown/anim_front_d.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_d_front_pic.png rename to graphics/pokemon/unown/anim_front_d.png diff --git a/graphics/pokemon/anim_front_pics/unown_e_front_pic.png b/graphics/pokemon/unown/anim_front_e.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_e_front_pic.png rename to graphics/pokemon/unown/anim_front_e.png diff --git a/graphics/pokemon/anim_front_pics/unown_exclamation_mark_front_pic.png b/graphics/pokemon/unown/anim_front_exclamation_mark.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_exclamation_mark_front_pic.png rename to graphics/pokemon/unown/anim_front_exclamation_mark.png diff --git a/graphics/pokemon/anim_front_pics/unown_f_front_pic.png b/graphics/pokemon/unown/anim_front_f.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_f_front_pic.png rename to graphics/pokemon/unown/anim_front_f.png diff --git a/graphics/pokemon/anim_front_pics/unown_g_front_pic.png b/graphics/pokemon/unown/anim_front_g.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_g_front_pic.png rename to graphics/pokemon/unown/anim_front_g.png diff --git a/graphics/pokemon/anim_front_pics/unown_h_front_pic.png b/graphics/pokemon/unown/anim_front_h.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_h_front_pic.png rename to graphics/pokemon/unown/anim_front_h.png diff --git a/graphics/pokemon/anim_front_pics/unown_i_front_pic.png b/graphics/pokemon/unown/anim_front_i.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_i_front_pic.png rename to graphics/pokemon/unown/anim_front_i.png diff --git a/graphics/pokemon/anim_front_pics/unown_j_front_pic.png b/graphics/pokemon/unown/anim_front_j.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_j_front_pic.png rename to graphics/pokemon/unown/anim_front_j.png diff --git a/graphics/pokemon/anim_front_pics/unown_k_front_pic.png b/graphics/pokemon/unown/anim_front_k.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_k_front_pic.png rename to graphics/pokemon/unown/anim_front_k.png diff --git a/graphics/pokemon/anim_front_pics/unown_l_front_pic.png b/graphics/pokemon/unown/anim_front_l.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_l_front_pic.png rename to graphics/pokemon/unown/anim_front_l.png diff --git a/graphics/pokemon/anim_front_pics/unown_m_front_pic.png b/graphics/pokemon/unown/anim_front_m.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_m_front_pic.png rename to graphics/pokemon/unown/anim_front_m.png diff --git a/graphics/pokemon/anim_front_pics/unown_n_front_pic.png b/graphics/pokemon/unown/anim_front_n.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_n_front_pic.png rename to graphics/pokemon/unown/anim_front_n.png diff --git a/graphics/pokemon/anim_front_pics/unown_o_front_pic.png b/graphics/pokemon/unown/anim_front_o.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_o_front_pic.png rename to graphics/pokemon/unown/anim_front_o.png diff --git a/graphics/pokemon/anim_front_pics/unown_p_front_pic.png b/graphics/pokemon/unown/anim_front_p.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_p_front_pic.png rename to graphics/pokemon/unown/anim_front_p.png diff --git a/graphics/pokemon/anim_front_pics/unown_q_front_pic.png b/graphics/pokemon/unown/anim_front_q.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_q_front_pic.png rename to graphics/pokemon/unown/anim_front_q.png diff --git a/graphics/pokemon/anim_front_pics/unown_question_mark_front_pic.png b/graphics/pokemon/unown/anim_front_question_mark.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_question_mark_front_pic.png rename to graphics/pokemon/unown/anim_front_question_mark.png diff --git a/graphics/pokemon/anim_front_pics/unown_r_front_pic.png b/graphics/pokemon/unown/anim_front_r.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_r_front_pic.png rename to graphics/pokemon/unown/anim_front_r.png diff --git a/graphics/pokemon/anim_front_pics/unown_s_front_pic.png b/graphics/pokemon/unown/anim_front_s.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_s_front_pic.png rename to graphics/pokemon/unown/anim_front_s.png diff --git a/graphics/pokemon/anim_front_pics/unown_t_front_pic.png b/graphics/pokemon/unown/anim_front_t.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_t_front_pic.png rename to graphics/pokemon/unown/anim_front_t.png diff --git a/graphics/pokemon/anim_front_pics/unown_u_front_pic.png b/graphics/pokemon/unown/anim_front_u.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_u_front_pic.png rename to graphics/pokemon/unown/anim_front_u.png diff --git a/graphics/pokemon/anim_front_pics/unown_v_front_pic.png b/graphics/pokemon/unown/anim_front_v.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_v_front_pic.png rename to graphics/pokemon/unown/anim_front_v.png diff --git a/graphics/pokemon/anim_front_pics/unown_w_front_pic.png b/graphics/pokemon/unown/anim_front_w.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_w_front_pic.png rename to graphics/pokemon/unown/anim_front_w.png diff --git a/graphics/pokemon/anim_front_pics/unown_x_front_pic.png b/graphics/pokemon/unown/anim_front_x.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_x_front_pic.png rename to graphics/pokemon/unown/anim_front_x.png diff --git a/graphics/pokemon/anim_front_pics/unown_y_front_pic.png b/graphics/pokemon/unown/anim_front_y.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_y_front_pic.png rename to graphics/pokemon/unown/anim_front_y.png diff --git a/graphics/pokemon/anim_front_pics/unown_z_front_pic.png b/graphics/pokemon/unown/anim_front_z.png similarity index 100% rename from graphics/pokemon/anim_front_pics/unown_z_front_pic.png rename to graphics/pokemon/unown/anim_front_z.png diff --git a/graphics/pokemon/back_pics/unown_a_back_pic.png b/graphics/pokemon/unown/back_a.png similarity index 100% rename from graphics/pokemon/back_pics/unown_a_back_pic.png rename to graphics/pokemon/unown/back_a.png diff --git a/graphics/pokemon/back_pics/unown_b_back_pic.png b/graphics/pokemon/unown/back_b.png similarity index 100% rename from graphics/pokemon/back_pics/unown_b_back_pic.png rename to graphics/pokemon/unown/back_b.png diff --git a/graphics/pokemon/back_pics/unown_c_back_pic.png b/graphics/pokemon/unown/back_c.png similarity index 100% rename from graphics/pokemon/back_pics/unown_c_back_pic.png rename to graphics/pokemon/unown/back_c.png diff --git a/graphics/pokemon/back_pics/unown_d_back_pic.png b/graphics/pokemon/unown/back_d.png similarity index 100% rename from graphics/pokemon/back_pics/unown_d_back_pic.png rename to graphics/pokemon/unown/back_d.png diff --git a/graphics/pokemon/back_pics/unown_e_back_pic.png b/graphics/pokemon/unown/back_e.png similarity index 100% rename from graphics/pokemon/back_pics/unown_e_back_pic.png rename to graphics/pokemon/unown/back_e.png diff --git a/graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.png b/graphics/pokemon/unown/back_exclamation_mark.png similarity index 100% rename from graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.png rename to graphics/pokemon/unown/back_exclamation_mark.png diff --git a/graphics/pokemon/back_pics/unown_f_back_pic.png b/graphics/pokemon/unown/back_f.png similarity index 100% rename from graphics/pokemon/back_pics/unown_f_back_pic.png rename to graphics/pokemon/unown/back_f.png diff --git a/graphics/pokemon/back_pics/unown_g_back_pic.png b/graphics/pokemon/unown/back_g.png similarity index 100% rename from graphics/pokemon/back_pics/unown_g_back_pic.png rename to graphics/pokemon/unown/back_g.png diff --git a/graphics/pokemon/back_pics/unown_h_back_pic.png b/graphics/pokemon/unown/back_h.png similarity index 100% rename from graphics/pokemon/back_pics/unown_h_back_pic.png rename to graphics/pokemon/unown/back_h.png diff --git a/graphics/pokemon/back_pics/unown_i_back_pic.png b/graphics/pokemon/unown/back_i.png similarity index 100% rename from graphics/pokemon/back_pics/unown_i_back_pic.png rename to graphics/pokemon/unown/back_i.png diff --git a/graphics/pokemon/back_pics/unown_j_back_pic.png b/graphics/pokemon/unown/back_j.png similarity index 100% rename from graphics/pokemon/back_pics/unown_j_back_pic.png rename to graphics/pokemon/unown/back_j.png diff --git a/graphics/pokemon/back_pics/unown_k_back_pic.png b/graphics/pokemon/unown/back_k.png similarity index 100% rename from graphics/pokemon/back_pics/unown_k_back_pic.png rename to graphics/pokemon/unown/back_k.png diff --git a/graphics/pokemon/back_pics/unown_l_back_pic.png b/graphics/pokemon/unown/back_l.png similarity index 100% rename from graphics/pokemon/back_pics/unown_l_back_pic.png rename to graphics/pokemon/unown/back_l.png diff --git a/graphics/pokemon/back_pics/unown_m_back_pic.png b/graphics/pokemon/unown/back_m.png similarity index 100% rename from graphics/pokemon/back_pics/unown_m_back_pic.png rename to graphics/pokemon/unown/back_m.png diff --git a/graphics/pokemon/back_pics/unown_n_back_pic.png b/graphics/pokemon/unown/back_n.png similarity index 100% rename from graphics/pokemon/back_pics/unown_n_back_pic.png rename to graphics/pokemon/unown/back_n.png diff --git a/graphics/pokemon/back_pics/unown_o_back_pic.png b/graphics/pokemon/unown/back_o.png similarity index 100% rename from graphics/pokemon/back_pics/unown_o_back_pic.png rename to graphics/pokemon/unown/back_o.png diff --git a/graphics/pokemon/back_pics/unown_p_back_pic.png b/graphics/pokemon/unown/back_p.png similarity index 100% rename from graphics/pokemon/back_pics/unown_p_back_pic.png rename to graphics/pokemon/unown/back_p.png diff --git a/graphics/pokemon/back_pics/unown_q_back_pic.png b/graphics/pokemon/unown/back_q.png similarity index 100% rename from graphics/pokemon/back_pics/unown_q_back_pic.png rename to graphics/pokemon/unown/back_q.png diff --git a/graphics/pokemon/back_pics/unown_question_mark_back_pic.png b/graphics/pokemon/unown/back_question_mark.png similarity index 100% rename from graphics/pokemon/back_pics/unown_question_mark_back_pic.png rename to graphics/pokemon/unown/back_question_mark.png diff --git a/graphics/pokemon/back_pics/unown_r_back_pic.png b/graphics/pokemon/unown/back_r.png similarity index 100% rename from graphics/pokemon/back_pics/unown_r_back_pic.png rename to graphics/pokemon/unown/back_r.png diff --git a/graphics/pokemon/back_pics/unown_s_back_pic.png b/graphics/pokemon/unown/back_s.png similarity index 100% rename from graphics/pokemon/back_pics/unown_s_back_pic.png rename to graphics/pokemon/unown/back_s.png diff --git a/graphics/pokemon/back_pics/unown_t_back_pic.png b/graphics/pokemon/unown/back_t.png similarity index 100% rename from graphics/pokemon/back_pics/unown_t_back_pic.png rename to graphics/pokemon/unown/back_t.png diff --git a/graphics/pokemon/back_pics/unown_u_back_pic.png b/graphics/pokemon/unown/back_u.png similarity index 100% rename from graphics/pokemon/back_pics/unown_u_back_pic.png rename to graphics/pokemon/unown/back_u.png diff --git a/graphics/pokemon/back_pics/unown_v_back_pic.png b/graphics/pokemon/unown/back_v.png similarity index 100% rename from graphics/pokemon/back_pics/unown_v_back_pic.png rename to graphics/pokemon/unown/back_v.png diff --git a/graphics/pokemon/back_pics/unown_w_back_pic.png b/graphics/pokemon/unown/back_w.png similarity index 100% rename from graphics/pokemon/back_pics/unown_w_back_pic.png rename to graphics/pokemon/unown/back_w.png diff --git a/graphics/pokemon/back_pics/unown_x_back_pic.png b/graphics/pokemon/unown/back_x.png similarity index 100% rename from graphics/pokemon/back_pics/unown_x_back_pic.png rename to graphics/pokemon/unown/back_x.png diff --git a/graphics/pokemon/back_pics/unown_y_back_pic.png b/graphics/pokemon/unown/back_y.png similarity index 100% rename from graphics/pokemon/back_pics/unown_y_back_pic.png rename to graphics/pokemon/unown/back_y.png diff --git a/graphics/pokemon/back_pics/unown_z_back_pic.png b/graphics/pokemon/unown/back_z.png similarity index 100% rename from graphics/pokemon/back_pics/unown_z_back_pic.png rename to graphics/pokemon/unown/back_z.png diff --git a/graphics/pokemon/footprints/unown_footprint.png b/graphics/pokemon/unown/footprint.png similarity index 100% rename from graphics/pokemon/footprints/unown_footprint.png rename to graphics/pokemon/unown/footprint.png diff --git a/graphics/pokemon/front_pics/unown_a_still_front_pic.png b/graphics/pokemon/unown/front_a.png similarity index 100% rename from graphics/pokemon/front_pics/unown_a_still_front_pic.png rename to graphics/pokemon/unown/front_a.png diff --git a/graphics/pokemon/front_pics/unown_b_still_front_pic.png b/graphics/pokemon/unown/front_b.png similarity index 100% rename from graphics/pokemon/front_pics/unown_b_still_front_pic.png rename to graphics/pokemon/unown/front_b.png diff --git a/graphics/pokemon/front_pics/unown_c_still_front_pic.png b/graphics/pokemon/unown/front_c.png similarity index 100% rename from graphics/pokemon/front_pics/unown_c_still_front_pic.png rename to graphics/pokemon/unown/front_c.png diff --git a/graphics/pokemon/front_pics/unown_d_still_front_pic.png b/graphics/pokemon/unown/front_d.png similarity index 100% rename from graphics/pokemon/front_pics/unown_d_still_front_pic.png rename to graphics/pokemon/unown/front_d.png diff --git a/graphics/pokemon/front_pics/unown_e_still_front_pic.png b/graphics/pokemon/unown/front_e.png similarity index 100% rename from graphics/pokemon/front_pics/unown_e_still_front_pic.png rename to graphics/pokemon/unown/front_e.png diff --git a/graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.png b/graphics/pokemon/unown/front_exclamation_mark.png similarity index 100% rename from graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.png rename to graphics/pokemon/unown/front_exclamation_mark.png diff --git a/graphics/pokemon/front_pics/unown_f_still_front_pic.png b/graphics/pokemon/unown/front_f.png similarity index 100% rename from graphics/pokemon/front_pics/unown_f_still_front_pic.png rename to graphics/pokemon/unown/front_f.png diff --git a/graphics/pokemon/front_pics/unown_g_still_front_pic.png b/graphics/pokemon/unown/front_g.png similarity index 100% rename from graphics/pokemon/front_pics/unown_g_still_front_pic.png rename to graphics/pokemon/unown/front_g.png diff --git a/graphics/pokemon/front_pics/unown_h_still_front_pic.png b/graphics/pokemon/unown/front_h.png similarity index 100% rename from graphics/pokemon/front_pics/unown_h_still_front_pic.png rename to graphics/pokemon/unown/front_h.png diff --git a/graphics/pokemon/front_pics/unown_i_still_front_pic.png b/graphics/pokemon/unown/front_i.png similarity index 100% rename from graphics/pokemon/front_pics/unown_i_still_front_pic.png rename to graphics/pokemon/unown/front_i.png diff --git a/graphics/pokemon/front_pics/unown_j_still_front_pic.png b/graphics/pokemon/unown/front_j.png similarity index 100% rename from graphics/pokemon/front_pics/unown_j_still_front_pic.png rename to graphics/pokemon/unown/front_j.png diff --git a/graphics/pokemon/front_pics/unown_k_still_front_pic.png b/graphics/pokemon/unown/front_k.png similarity index 100% rename from graphics/pokemon/front_pics/unown_k_still_front_pic.png rename to graphics/pokemon/unown/front_k.png diff --git a/graphics/pokemon/front_pics/unown_l_still_front_pic.png b/graphics/pokemon/unown/front_l.png similarity index 100% rename from graphics/pokemon/front_pics/unown_l_still_front_pic.png rename to graphics/pokemon/unown/front_l.png diff --git a/graphics/pokemon/front_pics/unown_m_still_front_pic.png b/graphics/pokemon/unown/front_m.png similarity index 100% rename from graphics/pokemon/front_pics/unown_m_still_front_pic.png rename to graphics/pokemon/unown/front_m.png diff --git a/graphics/pokemon/front_pics/unown_n_still_front_pic.png b/graphics/pokemon/unown/front_n.png similarity index 100% rename from graphics/pokemon/front_pics/unown_n_still_front_pic.png rename to graphics/pokemon/unown/front_n.png diff --git a/graphics/pokemon/front_pics/unown_o_still_front_pic.png b/graphics/pokemon/unown/front_o.png similarity index 100% rename from graphics/pokemon/front_pics/unown_o_still_front_pic.png rename to graphics/pokemon/unown/front_o.png diff --git a/graphics/pokemon/front_pics/unown_p_still_front_pic.png b/graphics/pokemon/unown/front_p.png similarity index 100% rename from graphics/pokemon/front_pics/unown_p_still_front_pic.png rename to graphics/pokemon/unown/front_p.png diff --git a/graphics/pokemon/front_pics/unown_q_still_front_pic.png b/graphics/pokemon/unown/front_q.png similarity index 100% rename from graphics/pokemon/front_pics/unown_q_still_front_pic.png rename to graphics/pokemon/unown/front_q.png diff --git a/graphics/pokemon/front_pics/unown_question_mark_still_front_pic.png b/graphics/pokemon/unown/front_question_mark.png similarity index 100% rename from graphics/pokemon/front_pics/unown_question_mark_still_front_pic.png rename to graphics/pokemon/unown/front_question_mark.png diff --git a/graphics/pokemon/front_pics/unown_r_still_front_pic.png b/graphics/pokemon/unown/front_r.png similarity index 100% rename from graphics/pokemon/front_pics/unown_r_still_front_pic.png rename to graphics/pokemon/unown/front_r.png diff --git a/graphics/pokemon/front_pics/unown_s_still_front_pic.png b/graphics/pokemon/unown/front_s.png similarity index 100% rename from graphics/pokemon/front_pics/unown_s_still_front_pic.png rename to graphics/pokemon/unown/front_s.png diff --git a/graphics/pokemon/front_pics/unown_t_still_front_pic.png b/graphics/pokemon/unown/front_t.png similarity index 100% rename from graphics/pokemon/front_pics/unown_t_still_front_pic.png rename to graphics/pokemon/unown/front_t.png diff --git a/graphics/pokemon/front_pics/unown_u_still_front_pic.png b/graphics/pokemon/unown/front_u.png similarity index 100% rename from graphics/pokemon/front_pics/unown_u_still_front_pic.png rename to graphics/pokemon/unown/front_u.png diff --git a/graphics/pokemon/front_pics/unown_v_still_front_pic.png b/graphics/pokemon/unown/front_v.png similarity index 100% rename from graphics/pokemon/front_pics/unown_v_still_front_pic.png rename to graphics/pokemon/unown/front_v.png diff --git a/graphics/pokemon/front_pics/unown_w_still_front_pic.png b/graphics/pokemon/unown/front_w.png similarity index 100% rename from graphics/pokemon/front_pics/unown_w_still_front_pic.png rename to graphics/pokemon/unown/front_w.png diff --git a/graphics/pokemon/front_pics/unown_x_still_front_pic.png b/graphics/pokemon/unown/front_x.png similarity index 100% rename from graphics/pokemon/front_pics/unown_x_still_front_pic.png rename to graphics/pokemon/unown/front_x.png diff --git a/graphics/pokemon/front_pics/unown_y_still_front_pic.png b/graphics/pokemon/unown/front_y.png similarity index 100% rename from graphics/pokemon/front_pics/unown_y_still_front_pic.png rename to graphics/pokemon/unown/front_y.png diff --git a/graphics/pokemon/front_pics/unown_z_still_front_pic.png b/graphics/pokemon/unown/front_z.png similarity index 100% rename from graphics/pokemon/front_pics/unown_z_still_front_pic.png rename to graphics/pokemon/unown/front_z.png diff --git a/graphics/pokemon/icons/unown_a_icon.png b/graphics/pokemon/unown/icon_a.png similarity index 100% rename from graphics/pokemon/icons/unown_a_icon.png rename to graphics/pokemon/unown/icon_a.png diff --git a/graphics/pokemon/icons/unown_B_icon.png b/graphics/pokemon/unown/icon_b.png similarity index 100% rename from graphics/pokemon/icons/unown_B_icon.png rename to graphics/pokemon/unown/icon_b.png diff --git a/graphics/pokemon/icons/unown_C_icon.png b/graphics/pokemon/unown/icon_c.png similarity index 100% rename from graphics/pokemon/icons/unown_C_icon.png rename to graphics/pokemon/unown/icon_c.png diff --git a/graphics/pokemon/icons/unown_D_icon.png b/graphics/pokemon/unown/icon_d.png similarity index 100% rename from graphics/pokemon/icons/unown_D_icon.png rename to graphics/pokemon/unown/icon_d.png diff --git a/graphics/pokemon/icons/unown_E_icon.png b/graphics/pokemon/unown/icon_e.png similarity index 100% rename from graphics/pokemon/icons/unown_E_icon.png rename to graphics/pokemon/unown/icon_e.png diff --git a/graphics/pokemon/icons/unown_exclamation_mark_icon.png b/graphics/pokemon/unown/icon_exclamation_mark.png similarity index 100% rename from graphics/pokemon/icons/unown_exclamation_mark_icon.png rename to graphics/pokemon/unown/icon_exclamation_mark.png diff --git a/graphics/pokemon/icons/unown_F_icon.png b/graphics/pokemon/unown/icon_f.png similarity index 100% rename from graphics/pokemon/icons/unown_F_icon.png rename to graphics/pokemon/unown/icon_f.png diff --git a/graphics/pokemon/icons/unown_G_icon.png b/graphics/pokemon/unown/icon_g.png similarity index 100% rename from graphics/pokemon/icons/unown_G_icon.png rename to graphics/pokemon/unown/icon_g.png diff --git a/graphics/pokemon/icons/unown_H_icon.png b/graphics/pokemon/unown/icon_h.png similarity index 100% rename from graphics/pokemon/icons/unown_H_icon.png rename to graphics/pokemon/unown/icon_h.png diff --git a/graphics/pokemon/icons/unown_I_icon.png b/graphics/pokemon/unown/icon_i.png similarity index 100% rename from graphics/pokemon/icons/unown_I_icon.png rename to graphics/pokemon/unown/icon_i.png diff --git a/graphics/pokemon/icons/unown_J_icon.png b/graphics/pokemon/unown/icon_j.png similarity index 100% rename from graphics/pokemon/icons/unown_J_icon.png rename to graphics/pokemon/unown/icon_j.png diff --git a/graphics/pokemon/icons/unown_K_icon.png b/graphics/pokemon/unown/icon_k.png similarity index 100% rename from graphics/pokemon/icons/unown_K_icon.png rename to graphics/pokemon/unown/icon_k.png diff --git a/graphics/pokemon/icons/unown_L_icon.png b/graphics/pokemon/unown/icon_l.png similarity index 100% rename from graphics/pokemon/icons/unown_L_icon.png rename to graphics/pokemon/unown/icon_l.png diff --git a/graphics/pokemon/icons/unown_M_icon.png b/graphics/pokemon/unown/icon_m.png similarity index 100% rename from graphics/pokemon/icons/unown_M_icon.png rename to graphics/pokemon/unown/icon_m.png diff --git a/graphics/pokemon/icons/unown_N_icon.png b/graphics/pokemon/unown/icon_n.png similarity index 100% rename from graphics/pokemon/icons/unown_N_icon.png rename to graphics/pokemon/unown/icon_n.png diff --git a/graphics/pokemon/icons/unown_O_icon.png b/graphics/pokemon/unown/icon_o.png similarity index 100% rename from graphics/pokemon/icons/unown_O_icon.png rename to graphics/pokemon/unown/icon_o.png diff --git a/graphics/pokemon/icons/unown_P_icon.png b/graphics/pokemon/unown/icon_p.png similarity index 100% rename from graphics/pokemon/icons/unown_P_icon.png rename to graphics/pokemon/unown/icon_p.png diff --git a/graphics/pokemon/icons/unown_Q_icon.png b/graphics/pokemon/unown/icon_q.png similarity index 100% rename from graphics/pokemon/icons/unown_Q_icon.png rename to graphics/pokemon/unown/icon_q.png diff --git a/graphics/pokemon/icons/unown_question_mark_icon.png b/graphics/pokemon/unown/icon_question_mark.png similarity index 100% rename from graphics/pokemon/icons/unown_question_mark_icon.png rename to graphics/pokemon/unown/icon_question_mark.png diff --git a/graphics/pokemon/icons/unown_R_icon.png b/graphics/pokemon/unown/icon_r.png similarity index 100% rename from graphics/pokemon/icons/unown_R_icon.png rename to graphics/pokemon/unown/icon_r.png diff --git a/graphics/pokemon/icons/unown_S_icon.png b/graphics/pokemon/unown/icon_s.png similarity index 100% rename from graphics/pokemon/icons/unown_S_icon.png rename to graphics/pokemon/unown/icon_s.png diff --git a/graphics/pokemon/icons/unown_T_icon.png b/graphics/pokemon/unown/icon_t.png similarity index 100% rename from graphics/pokemon/icons/unown_T_icon.png rename to graphics/pokemon/unown/icon_t.png diff --git a/graphics/pokemon/icons/unown_U_icon.png b/graphics/pokemon/unown/icon_u.png similarity index 100% rename from graphics/pokemon/icons/unown_U_icon.png rename to graphics/pokemon/unown/icon_u.png diff --git a/graphics/pokemon/icons/unown_V_icon.png b/graphics/pokemon/unown/icon_v.png similarity index 100% rename from graphics/pokemon/icons/unown_V_icon.png rename to graphics/pokemon/unown/icon_v.png diff --git a/graphics/pokemon/icons/unown_W_icon.png b/graphics/pokemon/unown/icon_w.png similarity index 100% rename from graphics/pokemon/icons/unown_W_icon.png rename to graphics/pokemon/unown/icon_w.png diff --git a/graphics/pokemon/icons/unown_X_icon.png b/graphics/pokemon/unown/icon_x.png similarity index 100% rename from graphics/pokemon/icons/unown_X_icon.png rename to graphics/pokemon/unown/icon_x.png diff --git a/graphics/pokemon/icons/unown_Y_icon.png b/graphics/pokemon/unown/icon_y.png similarity index 100% rename from graphics/pokemon/icons/unown_Y_icon.png rename to graphics/pokemon/unown/icon_y.png diff --git a/graphics/pokemon/icons/unown_Z_icon.png b/graphics/pokemon/unown/icon_z.png similarity index 100% rename from graphics/pokemon/icons/unown_Z_icon.png rename to graphics/pokemon/unown/icon_z.png diff --git a/graphics/pokemon/palettes/unown_palette.pal b/graphics/pokemon/unown/normal.pal similarity index 100% rename from graphics/pokemon/palettes/unown_palette.pal rename to graphics/pokemon/unown/normal.pal diff --git a/graphics/pokemon/palettes/unown_shiny_palette.pal b/graphics/pokemon/unown/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/unown_shiny_palette.pal rename to graphics/pokemon/unown/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/ursaring_front_pic.png b/graphics/pokemon/ursaring/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/ursaring_front_pic.png rename to graphics/pokemon/ursaring/anim_front.png diff --git a/graphics/pokemon/back_pics/ursaring_back_pic.png b/graphics/pokemon/ursaring/back.png similarity index 100% rename from graphics/pokemon/back_pics/ursaring_back_pic.png rename to graphics/pokemon/ursaring/back.png diff --git a/graphics/pokemon/footprints/ursaring_footprint.png b/graphics/pokemon/ursaring/footprint.png similarity index 100% rename from graphics/pokemon/footprints/ursaring_footprint.png rename to graphics/pokemon/ursaring/footprint.png diff --git a/graphics/pokemon/front_pics/ursaring_still_front_pic.png b/graphics/pokemon/ursaring/front.png similarity index 100% rename from graphics/pokemon/front_pics/ursaring_still_front_pic.png rename to graphics/pokemon/ursaring/front.png diff --git a/graphics/pokemon/icons/ursaring_icon.png b/graphics/pokemon/ursaring/icon.png similarity index 100% rename from graphics/pokemon/icons/ursaring_icon.png rename to graphics/pokemon/ursaring/icon.png diff --git a/graphics/pokemon/palettes/ursaring_palette.pal b/graphics/pokemon/ursaring/normal.pal similarity index 100% rename from graphics/pokemon/palettes/ursaring_palette.pal rename to graphics/pokemon/ursaring/normal.pal diff --git a/graphics/pokemon/palettes/ursaring_shiny_palette.pal b/graphics/pokemon/ursaring/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/ursaring_shiny_palette.pal rename to graphics/pokemon/ursaring/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/vaporeon_front_pic.png b/graphics/pokemon/vaporeon/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/vaporeon_front_pic.png rename to graphics/pokemon/vaporeon/anim_front.png diff --git a/graphics/pokemon/back_pics/vaporeon_back_pic.png b/graphics/pokemon/vaporeon/back.png similarity index 100% rename from graphics/pokemon/back_pics/vaporeon_back_pic.png rename to graphics/pokemon/vaporeon/back.png diff --git a/graphics/pokemon/footprints/vaporeon_footprint.png b/graphics/pokemon/vaporeon/footprint.png similarity index 100% rename from graphics/pokemon/footprints/vaporeon_footprint.png rename to graphics/pokemon/vaporeon/footprint.png diff --git a/graphics/pokemon/front_pics/vaporeon_still_front_pic.png b/graphics/pokemon/vaporeon/front.png similarity index 100% rename from graphics/pokemon/front_pics/vaporeon_still_front_pic.png rename to graphics/pokemon/vaporeon/front.png diff --git a/graphics/pokemon/icons/vaporeon_icon.png b/graphics/pokemon/vaporeon/icon.png similarity index 100% rename from graphics/pokemon/icons/vaporeon_icon.png rename to graphics/pokemon/vaporeon/icon.png diff --git a/graphics/pokemon/palettes/vaporeon_palette.pal b/graphics/pokemon/vaporeon/normal.pal similarity index 100% rename from graphics/pokemon/palettes/vaporeon_palette.pal rename to graphics/pokemon/vaporeon/normal.pal diff --git a/graphics/pokemon/palettes/vaporeon_shiny_palette.pal b/graphics/pokemon/vaporeon/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/vaporeon_shiny_palette.pal rename to graphics/pokemon/vaporeon/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/venomoth_front_pic.png b/graphics/pokemon/venomoth/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/venomoth_front_pic.png rename to graphics/pokemon/venomoth/anim_front.png diff --git a/graphics/pokemon/back_pics/venomoth_back_pic.png b/graphics/pokemon/venomoth/back.png similarity index 100% rename from graphics/pokemon/back_pics/venomoth_back_pic.png rename to graphics/pokemon/venomoth/back.png diff --git a/graphics/pokemon/footprints/venomoth_footprint.png b/graphics/pokemon/venomoth/footprint.png similarity index 100% rename from graphics/pokemon/footprints/venomoth_footprint.png rename to graphics/pokemon/venomoth/footprint.png diff --git a/graphics/pokemon/front_pics/venomoth_still_front_pic.png b/graphics/pokemon/venomoth/front.png similarity index 100% rename from graphics/pokemon/front_pics/venomoth_still_front_pic.png rename to graphics/pokemon/venomoth/front.png diff --git a/graphics/pokemon/icons/venomoth_icon.png b/graphics/pokemon/venomoth/icon.png similarity index 100% rename from graphics/pokemon/icons/venomoth_icon.png rename to graphics/pokemon/venomoth/icon.png diff --git a/graphics/pokemon/palettes/venomoth_palette.pal b/graphics/pokemon/venomoth/normal.pal similarity index 100% rename from graphics/pokemon/palettes/venomoth_palette.pal rename to graphics/pokemon/venomoth/normal.pal diff --git a/graphics/pokemon/palettes/venomoth_shiny_palette.pal b/graphics/pokemon/venomoth/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/venomoth_shiny_palette.pal rename to graphics/pokemon/venomoth/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/venonat_front_pic.png b/graphics/pokemon/venonat/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/venonat_front_pic.png rename to graphics/pokemon/venonat/anim_front.png diff --git a/graphics/pokemon/back_pics/venonat_back_pic.png b/graphics/pokemon/venonat/back.png similarity index 100% rename from graphics/pokemon/back_pics/venonat_back_pic.png rename to graphics/pokemon/venonat/back.png diff --git a/graphics/pokemon/footprints/venonat_footprint.png b/graphics/pokemon/venonat/footprint.png similarity index 100% rename from graphics/pokemon/footprints/venonat_footprint.png rename to graphics/pokemon/venonat/footprint.png diff --git a/graphics/pokemon/front_pics/venonat_still_front_pic.png b/graphics/pokemon/venonat/front.png similarity index 100% rename from graphics/pokemon/front_pics/venonat_still_front_pic.png rename to graphics/pokemon/venonat/front.png diff --git a/graphics/pokemon/icons/venonat_icon.png b/graphics/pokemon/venonat/icon.png similarity index 100% rename from graphics/pokemon/icons/venonat_icon.png rename to graphics/pokemon/venonat/icon.png diff --git a/graphics/pokemon/palettes/venonat_palette.pal b/graphics/pokemon/venonat/normal.pal similarity index 100% rename from graphics/pokemon/palettes/venonat_palette.pal rename to graphics/pokemon/venonat/normal.pal diff --git a/graphics/pokemon/palettes/venonat_shiny_palette.pal b/graphics/pokemon/venonat/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/venonat_shiny_palette.pal rename to graphics/pokemon/venonat/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/venusaur_front_pic.png b/graphics/pokemon/venusaur/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/venusaur_front_pic.png rename to graphics/pokemon/venusaur/anim_front.png diff --git a/graphics/pokemon/back_pics/venusaur_back_pic.png b/graphics/pokemon/venusaur/back.png similarity index 100% rename from graphics/pokemon/back_pics/venusaur_back_pic.png rename to graphics/pokemon/venusaur/back.png diff --git a/graphics/pokemon/footprints/venusaur_footprint.png b/graphics/pokemon/venusaur/footprint.png similarity index 100% rename from graphics/pokemon/footprints/venusaur_footprint.png rename to graphics/pokemon/venusaur/footprint.png diff --git a/graphics/pokemon/front_pics/venusaur_still_front_pic.png b/graphics/pokemon/venusaur/front.png similarity index 100% rename from graphics/pokemon/front_pics/venusaur_still_front_pic.png rename to graphics/pokemon/venusaur/front.png diff --git a/graphics/pokemon/icons/venusaur_icon.png b/graphics/pokemon/venusaur/icon.png similarity index 100% rename from graphics/pokemon/icons/venusaur_icon.png rename to graphics/pokemon/venusaur/icon.png diff --git a/graphics/pokemon/palettes/venusaur_palette.pal b/graphics/pokemon/venusaur/normal.pal similarity index 100% rename from graphics/pokemon/palettes/venusaur_palette.pal rename to graphics/pokemon/venusaur/normal.pal diff --git a/graphics/pokemon/palettes/venusaur_shiny_palette.pal b/graphics/pokemon/venusaur/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/venusaur_shiny_palette.pal rename to graphics/pokemon/venusaur/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/vibrava_front_pic.png b/graphics/pokemon/vibrava/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/vibrava_front_pic.png rename to graphics/pokemon/vibrava/anim_front.png diff --git a/graphics/pokemon/back_pics/vibrava_back_pic.png b/graphics/pokemon/vibrava/back.png similarity index 100% rename from graphics/pokemon/back_pics/vibrava_back_pic.png rename to graphics/pokemon/vibrava/back.png diff --git a/graphics/pokemon/footprints/vibrava_footprint.png b/graphics/pokemon/vibrava/footprint.png similarity index 100% rename from graphics/pokemon/footprints/vibrava_footprint.png rename to graphics/pokemon/vibrava/footprint.png diff --git a/graphics/pokemon/front_pics/vibrava_still_front_pic.png b/graphics/pokemon/vibrava/front.png similarity index 100% rename from graphics/pokemon/front_pics/vibrava_still_front_pic.png rename to graphics/pokemon/vibrava/front.png diff --git a/graphics/pokemon/icons/vibrava_icon.png b/graphics/pokemon/vibrava/icon.png similarity index 100% rename from graphics/pokemon/icons/vibrava_icon.png rename to graphics/pokemon/vibrava/icon.png diff --git a/graphics/pokemon/palettes/vibrava_palette.pal b/graphics/pokemon/vibrava/normal.pal similarity index 100% rename from graphics/pokemon/palettes/vibrava_palette.pal rename to graphics/pokemon/vibrava/normal.pal diff --git a/graphics/pokemon/palettes/vibrava_shiny_palette.pal b/graphics/pokemon/vibrava/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/vibrava_shiny_palette.pal rename to graphics/pokemon/vibrava/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/victreebel_front_pic.png b/graphics/pokemon/victreebel/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/victreebel_front_pic.png rename to graphics/pokemon/victreebel/anim_front.png diff --git a/graphics/pokemon/back_pics/victreebel_back_pic.png b/graphics/pokemon/victreebel/back.png similarity index 100% rename from graphics/pokemon/back_pics/victreebel_back_pic.png rename to graphics/pokemon/victreebel/back.png diff --git a/graphics/pokemon/footprints/victreebel_footprint.png b/graphics/pokemon/victreebel/footprint.png similarity index 100% rename from graphics/pokemon/footprints/victreebel_footprint.png rename to graphics/pokemon/victreebel/footprint.png diff --git a/graphics/pokemon/front_pics/victreebel_still_front_pic.png b/graphics/pokemon/victreebel/front.png similarity index 100% rename from graphics/pokemon/front_pics/victreebel_still_front_pic.png rename to graphics/pokemon/victreebel/front.png diff --git a/graphics/pokemon/icons/victreebel_icon.png b/graphics/pokemon/victreebel/icon.png similarity index 100% rename from graphics/pokemon/icons/victreebel_icon.png rename to graphics/pokemon/victreebel/icon.png diff --git a/graphics/pokemon/palettes/victreebel_palette.pal b/graphics/pokemon/victreebel/normal.pal similarity index 100% rename from graphics/pokemon/palettes/victreebel_palette.pal rename to graphics/pokemon/victreebel/normal.pal diff --git a/graphics/pokemon/palettes/victreebel_shiny_palette.pal b/graphics/pokemon/victreebel/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/victreebel_shiny_palette.pal rename to graphics/pokemon/victreebel/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/vigoroth_front_pic.png b/graphics/pokemon/vigoroth/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/vigoroth_front_pic.png rename to graphics/pokemon/vigoroth/anim_front.png diff --git a/graphics/pokemon/back_pics/vigoroth_back_pic.png b/graphics/pokemon/vigoroth/back.png similarity index 100% rename from graphics/pokemon/back_pics/vigoroth_back_pic.png rename to graphics/pokemon/vigoroth/back.png diff --git a/graphics/pokemon/footprints/vigoroth_footprint.png b/graphics/pokemon/vigoroth/footprint.png similarity index 100% rename from graphics/pokemon/footprints/vigoroth_footprint.png rename to graphics/pokemon/vigoroth/footprint.png diff --git a/graphics/pokemon/front_pics/vigoroth_still_front_pic.png b/graphics/pokemon/vigoroth/front.png similarity index 100% rename from graphics/pokemon/front_pics/vigoroth_still_front_pic.png rename to graphics/pokemon/vigoroth/front.png diff --git a/graphics/pokemon/icons/vigoroth_icon.png b/graphics/pokemon/vigoroth/icon.png similarity index 100% rename from graphics/pokemon/icons/vigoroth_icon.png rename to graphics/pokemon/vigoroth/icon.png diff --git a/graphics/pokemon/palettes/vigoroth_palette.pal b/graphics/pokemon/vigoroth/normal.pal similarity index 100% rename from graphics/pokemon/palettes/vigoroth_palette.pal rename to graphics/pokemon/vigoroth/normal.pal diff --git a/graphics/pokemon/palettes/vigoroth_shiny_palette.pal b/graphics/pokemon/vigoroth/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/vigoroth_shiny_palette.pal rename to graphics/pokemon/vigoroth/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/vileplume_front_pic.png b/graphics/pokemon/vileplume/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/vileplume_front_pic.png rename to graphics/pokemon/vileplume/anim_front.png diff --git a/graphics/pokemon/back_pics/vileplume_back_pic.png b/graphics/pokemon/vileplume/back.png similarity index 100% rename from graphics/pokemon/back_pics/vileplume_back_pic.png rename to graphics/pokemon/vileplume/back.png diff --git a/graphics/pokemon/footprints/vileplume_footprint.png b/graphics/pokemon/vileplume/footprint.png similarity index 100% rename from graphics/pokemon/footprints/vileplume_footprint.png rename to graphics/pokemon/vileplume/footprint.png diff --git a/graphics/pokemon/front_pics/vileplume_still_front_pic.png b/graphics/pokemon/vileplume/front.png similarity index 100% rename from graphics/pokemon/front_pics/vileplume_still_front_pic.png rename to graphics/pokemon/vileplume/front.png diff --git a/graphics/pokemon/icons/vileplume_icon.png b/graphics/pokemon/vileplume/icon.png similarity index 100% rename from graphics/pokemon/icons/vileplume_icon.png rename to graphics/pokemon/vileplume/icon.png diff --git a/graphics/pokemon/palettes/vileplume_palette.pal b/graphics/pokemon/vileplume/normal.pal similarity index 100% rename from graphics/pokemon/palettes/vileplume_palette.pal rename to graphics/pokemon/vileplume/normal.pal diff --git a/graphics/pokemon/palettes/vileplume_shiny_palette.pal b/graphics/pokemon/vileplume/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/vileplume_shiny_palette.pal rename to graphics/pokemon/vileplume/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/volbeat_front_pic.png b/graphics/pokemon/volbeat/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/volbeat_front_pic.png rename to graphics/pokemon/volbeat/anim_front.png diff --git a/graphics/pokemon/back_pics/volbeat_back_pic.png b/graphics/pokemon/volbeat/back.png similarity index 100% rename from graphics/pokemon/back_pics/volbeat_back_pic.png rename to graphics/pokemon/volbeat/back.png diff --git a/graphics/pokemon/footprints/volbeat_footprint.png b/graphics/pokemon/volbeat/footprint.png similarity index 100% rename from graphics/pokemon/footprints/volbeat_footprint.png rename to graphics/pokemon/volbeat/footprint.png diff --git a/graphics/pokemon/front_pics/volbeat_still_front_pic.png b/graphics/pokemon/volbeat/front.png similarity index 100% rename from graphics/pokemon/front_pics/volbeat_still_front_pic.png rename to graphics/pokemon/volbeat/front.png diff --git a/graphics/pokemon/icons/volbeat_icon.png b/graphics/pokemon/volbeat/icon.png similarity index 100% rename from graphics/pokemon/icons/volbeat_icon.png rename to graphics/pokemon/volbeat/icon.png diff --git a/graphics/pokemon/palettes/volbeat_palette.pal b/graphics/pokemon/volbeat/normal.pal similarity index 100% rename from graphics/pokemon/palettes/volbeat_palette.pal rename to graphics/pokemon/volbeat/normal.pal diff --git a/graphics/pokemon/palettes/volbeat_shiny_palette.pal b/graphics/pokemon/volbeat/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/volbeat_shiny_palette.pal rename to graphics/pokemon/volbeat/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/voltorb_front_pic.png b/graphics/pokemon/voltorb/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/voltorb_front_pic.png rename to graphics/pokemon/voltorb/anim_front.png diff --git a/graphics/pokemon/back_pics/voltorb_back_pic.png b/graphics/pokemon/voltorb/back.png similarity index 100% rename from graphics/pokemon/back_pics/voltorb_back_pic.png rename to graphics/pokemon/voltorb/back.png diff --git a/graphics/pokemon/footprints/voltorb_footprint.png b/graphics/pokemon/voltorb/footprint.png similarity index 100% rename from graphics/pokemon/footprints/voltorb_footprint.png rename to graphics/pokemon/voltorb/footprint.png diff --git a/graphics/pokemon/front_pics/voltorb_still_front_pic.png b/graphics/pokemon/voltorb/front.png similarity index 100% rename from graphics/pokemon/front_pics/voltorb_still_front_pic.png rename to graphics/pokemon/voltorb/front.png diff --git a/graphics/pokemon/icons/voltorb_icon.png b/graphics/pokemon/voltorb/icon.png similarity index 100% rename from graphics/pokemon/icons/voltorb_icon.png rename to graphics/pokemon/voltorb/icon.png diff --git a/graphics/pokemon/palettes/voltorb_palette.pal b/graphics/pokemon/voltorb/normal.pal similarity index 100% rename from graphics/pokemon/palettes/voltorb_palette.pal rename to graphics/pokemon/voltorb/normal.pal diff --git a/graphics/pokemon/palettes/voltorb_shiny_palette.pal b/graphics/pokemon/voltorb/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/voltorb_shiny_palette.pal rename to graphics/pokemon/voltorb/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/vulpix_front_pic.png b/graphics/pokemon/vulpix/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/vulpix_front_pic.png rename to graphics/pokemon/vulpix/anim_front.png diff --git a/graphics/pokemon/back_pics/vulpix_back_pic.png b/graphics/pokemon/vulpix/back.png similarity index 100% rename from graphics/pokemon/back_pics/vulpix_back_pic.png rename to graphics/pokemon/vulpix/back.png diff --git a/graphics/pokemon/footprints/vulpix_footprint.png b/graphics/pokemon/vulpix/footprint.png similarity index 100% rename from graphics/pokemon/footprints/vulpix_footprint.png rename to graphics/pokemon/vulpix/footprint.png diff --git a/graphics/pokemon/front_pics/vulpix_still_front_pic.png b/graphics/pokemon/vulpix/front.png similarity index 100% rename from graphics/pokemon/front_pics/vulpix_still_front_pic.png rename to graphics/pokemon/vulpix/front.png diff --git a/graphics/pokemon/icons/vulpix_icon.png b/graphics/pokemon/vulpix/icon.png similarity index 100% rename from graphics/pokemon/icons/vulpix_icon.png rename to graphics/pokemon/vulpix/icon.png diff --git a/graphics/pokemon/palettes/vulpix_palette.pal b/graphics/pokemon/vulpix/normal.pal similarity index 100% rename from graphics/pokemon/palettes/vulpix_palette.pal rename to graphics/pokemon/vulpix/normal.pal diff --git a/graphics/pokemon/palettes/vulpix_shiny_palette.pal b/graphics/pokemon/vulpix/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/vulpix_shiny_palette.pal rename to graphics/pokemon/vulpix/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/wailmer_front_pic.png b/graphics/pokemon/wailmer/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/wailmer_front_pic.png rename to graphics/pokemon/wailmer/anim_front.png diff --git a/graphics/pokemon/back_pics/wailmer_back_pic.png b/graphics/pokemon/wailmer/back.png similarity index 100% rename from graphics/pokemon/back_pics/wailmer_back_pic.png rename to graphics/pokemon/wailmer/back.png diff --git a/graphics/pokemon/footprints/wailmer_footprint.png b/graphics/pokemon/wailmer/footprint.png similarity index 100% rename from graphics/pokemon/footprints/wailmer_footprint.png rename to graphics/pokemon/wailmer/footprint.png diff --git a/graphics/pokemon/front_pics/wailmer_still_front_pic.png b/graphics/pokemon/wailmer/front.png similarity index 100% rename from graphics/pokemon/front_pics/wailmer_still_front_pic.png rename to graphics/pokemon/wailmer/front.png diff --git a/graphics/pokemon/icons/wailmer_icon.png b/graphics/pokemon/wailmer/icon.png similarity index 100% rename from graphics/pokemon/icons/wailmer_icon.png rename to graphics/pokemon/wailmer/icon.png diff --git a/graphics/pokemon/palettes/wailmer_palette.pal b/graphics/pokemon/wailmer/normal.pal similarity index 100% rename from graphics/pokemon/palettes/wailmer_palette.pal rename to graphics/pokemon/wailmer/normal.pal diff --git a/graphics/pokemon/palettes/wailmer_shiny_palette.pal b/graphics/pokemon/wailmer/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/wailmer_shiny_palette.pal rename to graphics/pokemon/wailmer/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/wailord_front_pic.png b/graphics/pokemon/wailord/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/wailord_front_pic.png rename to graphics/pokemon/wailord/anim_front.png diff --git a/graphics/pokemon/back_pics/wailord_back_pic.png b/graphics/pokemon/wailord/back.png similarity index 100% rename from graphics/pokemon/back_pics/wailord_back_pic.png rename to graphics/pokemon/wailord/back.png diff --git a/graphics/pokemon/footprints/wailord_footprint.png b/graphics/pokemon/wailord/footprint.png similarity index 100% rename from graphics/pokemon/footprints/wailord_footprint.png rename to graphics/pokemon/wailord/footprint.png diff --git a/graphics/pokemon/front_pics/wailord_still_front_pic.png b/graphics/pokemon/wailord/front.png similarity index 100% rename from graphics/pokemon/front_pics/wailord_still_front_pic.png rename to graphics/pokemon/wailord/front.png diff --git a/graphics/pokemon/icons/wailord_icon.png b/graphics/pokemon/wailord/icon.png similarity index 100% rename from graphics/pokemon/icons/wailord_icon.png rename to graphics/pokemon/wailord/icon.png diff --git a/graphics/pokemon/palettes/wailord_palette.pal b/graphics/pokemon/wailord/normal.pal similarity index 100% rename from graphics/pokemon/palettes/wailord_palette.pal rename to graphics/pokemon/wailord/normal.pal diff --git a/graphics/pokemon/palettes/wailord_shiny_palette.pal b/graphics/pokemon/wailord/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/wailord_shiny_palette.pal rename to graphics/pokemon/wailord/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/walrein_front_pic.png b/graphics/pokemon/walrein/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/walrein_front_pic.png rename to graphics/pokemon/walrein/anim_front.png diff --git a/graphics/pokemon/back_pics/walrein_back_pic.png b/graphics/pokemon/walrein/back.png similarity index 100% rename from graphics/pokemon/back_pics/walrein_back_pic.png rename to graphics/pokemon/walrein/back.png diff --git a/graphics/pokemon/footprints/walrein_footprint.png b/graphics/pokemon/walrein/footprint.png similarity index 100% rename from graphics/pokemon/footprints/walrein_footprint.png rename to graphics/pokemon/walrein/footprint.png diff --git a/graphics/pokemon/front_pics/walrein_still_front_pic.png b/graphics/pokemon/walrein/front.png similarity index 100% rename from graphics/pokemon/front_pics/walrein_still_front_pic.png rename to graphics/pokemon/walrein/front.png diff --git a/graphics/pokemon/icons/walrein_icon.png b/graphics/pokemon/walrein/icon.png similarity index 100% rename from graphics/pokemon/icons/walrein_icon.png rename to graphics/pokemon/walrein/icon.png diff --git a/graphics/pokemon/palettes/walrein_palette.pal b/graphics/pokemon/walrein/normal.pal similarity index 100% rename from graphics/pokemon/palettes/walrein_palette.pal rename to graphics/pokemon/walrein/normal.pal diff --git a/graphics/pokemon/palettes/walrein_shiny_palette.pal b/graphics/pokemon/walrein/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/walrein_shiny_palette.pal rename to graphics/pokemon/walrein/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/wartortle_front_pic.png b/graphics/pokemon/wartortle/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/wartortle_front_pic.png rename to graphics/pokemon/wartortle/anim_front.png diff --git a/graphics/pokemon/back_pics/wartortle_back_pic.png b/graphics/pokemon/wartortle/back.png similarity index 100% rename from graphics/pokemon/back_pics/wartortle_back_pic.png rename to graphics/pokemon/wartortle/back.png diff --git a/graphics/pokemon/footprints/wartortle_footprint.png b/graphics/pokemon/wartortle/footprint.png similarity index 100% rename from graphics/pokemon/footprints/wartortle_footprint.png rename to graphics/pokemon/wartortle/footprint.png diff --git a/graphics/pokemon/front_pics/wartortle_still_front_pic.png b/graphics/pokemon/wartortle/front.png similarity index 100% rename from graphics/pokemon/front_pics/wartortle_still_front_pic.png rename to graphics/pokemon/wartortle/front.png diff --git a/graphics/pokemon/icons/wartortle_icon.png b/graphics/pokemon/wartortle/icon.png similarity index 100% rename from graphics/pokemon/icons/wartortle_icon.png rename to graphics/pokemon/wartortle/icon.png diff --git a/graphics/pokemon/palettes/wartortle_palette.pal b/graphics/pokemon/wartortle/normal.pal similarity index 100% rename from graphics/pokemon/palettes/wartortle_palette.pal rename to graphics/pokemon/wartortle/normal.pal diff --git a/graphics/pokemon/palettes/wartortle_shiny_palette.pal b/graphics/pokemon/wartortle/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/wartortle_shiny_palette.pal rename to graphics/pokemon/wartortle/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/weedle_front_pic.png b/graphics/pokemon/weedle/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/weedle_front_pic.png rename to graphics/pokemon/weedle/anim_front.png diff --git a/graphics/pokemon/back_pics/weedle_back_pic.png b/graphics/pokemon/weedle/back.png similarity index 100% rename from graphics/pokemon/back_pics/weedle_back_pic.png rename to graphics/pokemon/weedle/back.png diff --git a/graphics/pokemon/footprints/weedle_footprint.png b/graphics/pokemon/weedle/footprint.png similarity index 100% rename from graphics/pokemon/footprints/weedle_footprint.png rename to graphics/pokemon/weedle/footprint.png diff --git a/graphics/pokemon/front_pics/weedle_still_front_pic.png b/graphics/pokemon/weedle/front.png similarity index 100% rename from graphics/pokemon/front_pics/weedle_still_front_pic.png rename to graphics/pokemon/weedle/front.png diff --git a/graphics/pokemon/icons/weedle_icon.png b/graphics/pokemon/weedle/icon.png similarity index 100% rename from graphics/pokemon/icons/weedle_icon.png rename to graphics/pokemon/weedle/icon.png diff --git a/graphics/pokemon/palettes/weedle_palette.pal b/graphics/pokemon/weedle/normal.pal similarity index 100% rename from graphics/pokemon/palettes/weedle_palette.pal rename to graphics/pokemon/weedle/normal.pal diff --git a/graphics/pokemon/palettes/weedle_shiny_palette.pal b/graphics/pokemon/weedle/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/weedle_shiny_palette.pal rename to graphics/pokemon/weedle/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/weepinbell_front_pic.png b/graphics/pokemon/weepinbell/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/weepinbell_front_pic.png rename to graphics/pokemon/weepinbell/anim_front.png diff --git a/graphics/pokemon/back_pics/weepinbell_back_pic.png b/graphics/pokemon/weepinbell/back.png similarity index 100% rename from graphics/pokemon/back_pics/weepinbell_back_pic.png rename to graphics/pokemon/weepinbell/back.png diff --git a/graphics/pokemon/footprints/weepinbell_footprint.png b/graphics/pokemon/weepinbell/footprint.png similarity index 100% rename from graphics/pokemon/footprints/weepinbell_footprint.png rename to graphics/pokemon/weepinbell/footprint.png diff --git a/graphics/pokemon/front_pics/weepinbell_still_front_pic.png b/graphics/pokemon/weepinbell/front.png similarity index 100% rename from graphics/pokemon/front_pics/weepinbell_still_front_pic.png rename to graphics/pokemon/weepinbell/front.png diff --git a/graphics/pokemon/icons/weepinbell_icon.png b/graphics/pokemon/weepinbell/icon.png similarity index 100% rename from graphics/pokemon/icons/weepinbell_icon.png rename to graphics/pokemon/weepinbell/icon.png diff --git a/graphics/pokemon/palettes/weepinbell_palette.pal b/graphics/pokemon/weepinbell/normal.pal similarity index 100% rename from graphics/pokemon/palettes/weepinbell_palette.pal rename to graphics/pokemon/weepinbell/normal.pal diff --git a/graphics/pokemon/palettes/weepinbell_shiny_palette.pal b/graphics/pokemon/weepinbell/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/weepinbell_shiny_palette.pal rename to graphics/pokemon/weepinbell/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/weezing_front_pic.png b/graphics/pokemon/weezing/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/weezing_front_pic.png rename to graphics/pokemon/weezing/anim_front.png diff --git a/graphics/pokemon/back_pics/weezing_back_pic.png b/graphics/pokemon/weezing/back.png similarity index 100% rename from graphics/pokemon/back_pics/weezing_back_pic.png rename to graphics/pokemon/weezing/back.png diff --git a/graphics/pokemon/footprints/weezing_footprint.png b/graphics/pokemon/weezing/footprint.png similarity index 100% rename from graphics/pokemon/footprints/weezing_footprint.png rename to graphics/pokemon/weezing/footprint.png diff --git a/graphics/pokemon/front_pics/weezing_still_front_pic.png b/graphics/pokemon/weezing/front.png similarity index 100% rename from graphics/pokemon/front_pics/weezing_still_front_pic.png rename to graphics/pokemon/weezing/front.png diff --git a/graphics/pokemon/icons/weezing_icon.png b/graphics/pokemon/weezing/icon.png similarity index 100% rename from graphics/pokemon/icons/weezing_icon.png rename to graphics/pokemon/weezing/icon.png diff --git a/graphics/pokemon/palettes/weezing_palette.pal b/graphics/pokemon/weezing/normal.pal similarity index 100% rename from graphics/pokemon/palettes/weezing_palette.pal rename to graphics/pokemon/weezing/normal.pal diff --git a/graphics/pokemon/palettes/weezing_shiny_palette.pal b/graphics/pokemon/weezing/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/weezing_shiny_palette.pal rename to graphics/pokemon/weezing/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/whiscash_front_pic.png b/graphics/pokemon/whiscash/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/whiscash_front_pic.png rename to graphics/pokemon/whiscash/anim_front.png diff --git a/graphics/pokemon/back_pics/whiscash_back_pic.png b/graphics/pokemon/whiscash/back.png similarity index 100% rename from graphics/pokemon/back_pics/whiscash_back_pic.png rename to graphics/pokemon/whiscash/back.png diff --git a/graphics/pokemon/footprints/whiscash_footprint.png b/graphics/pokemon/whiscash/footprint.png similarity index 100% rename from graphics/pokemon/footprints/whiscash_footprint.png rename to graphics/pokemon/whiscash/footprint.png diff --git a/graphics/pokemon/front_pics/whiscash_still_front_pic.png b/graphics/pokemon/whiscash/front.png similarity index 100% rename from graphics/pokemon/front_pics/whiscash_still_front_pic.png rename to graphics/pokemon/whiscash/front.png diff --git a/graphics/pokemon/icons/whiscash_icon.png b/graphics/pokemon/whiscash/icon.png similarity index 100% rename from graphics/pokemon/icons/whiscash_icon.png rename to graphics/pokemon/whiscash/icon.png diff --git a/graphics/pokemon/palettes/whiscash_palette.pal b/graphics/pokemon/whiscash/normal.pal similarity index 100% rename from graphics/pokemon/palettes/whiscash_palette.pal rename to graphics/pokemon/whiscash/normal.pal diff --git a/graphics/pokemon/palettes/whiscash_shiny_palette.pal b/graphics/pokemon/whiscash/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/whiscash_shiny_palette.pal rename to graphics/pokemon/whiscash/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/whismur_front_pic.png b/graphics/pokemon/whismur/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/whismur_front_pic.png rename to graphics/pokemon/whismur/anim_front.png diff --git a/graphics/pokemon/back_pics/whismur_back_pic.png b/graphics/pokemon/whismur/back.png similarity index 100% rename from graphics/pokemon/back_pics/whismur_back_pic.png rename to graphics/pokemon/whismur/back.png diff --git a/graphics/pokemon/footprints/whismur_footprint.png b/graphics/pokemon/whismur/footprint.png similarity index 100% rename from graphics/pokemon/footprints/whismur_footprint.png rename to graphics/pokemon/whismur/footprint.png diff --git a/graphics/pokemon/front_pics/whismur_still_front_pic.png b/graphics/pokemon/whismur/front.png similarity index 100% rename from graphics/pokemon/front_pics/whismur_still_front_pic.png rename to graphics/pokemon/whismur/front.png diff --git a/graphics/pokemon/icons/whismur_icon.png b/graphics/pokemon/whismur/icon.png similarity index 100% rename from graphics/pokemon/icons/whismur_icon.png rename to graphics/pokemon/whismur/icon.png diff --git a/graphics/pokemon/palettes/whismur_palette.pal b/graphics/pokemon/whismur/normal.pal similarity index 100% rename from graphics/pokemon/palettes/whismur_palette.pal rename to graphics/pokemon/whismur/normal.pal diff --git a/graphics/pokemon/palettes/whismur_shiny_palette.pal b/graphics/pokemon/whismur/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/whismur_shiny_palette.pal rename to graphics/pokemon/whismur/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/wigglytuff_front_pic.png b/graphics/pokemon/wigglytuff/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/wigglytuff_front_pic.png rename to graphics/pokemon/wigglytuff/anim_front.png diff --git a/graphics/pokemon/back_pics/wigglytuff_back_pic.png b/graphics/pokemon/wigglytuff/back.png similarity index 100% rename from graphics/pokemon/back_pics/wigglytuff_back_pic.png rename to graphics/pokemon/wigglytuff/back.png diff --git a/graphics/pokemon/footprints/wigglytuff_footprint.png b/graphics/pokemon/wigglytuff/footprint.png similarity index 100% rename from graphics/pokemon/footprints/wigglytuff_footprint.png rename to graphics/pokemon/wigglytuff/footprint.png diff --git a/graphics/pokemon/front_pics/wigglytuff_still_front_pic.png b/graphics/pokemon/wigglytuff/front.png similarity index 100% rename from graphics/pokemon/front_pics/wigglytuff_still_front_pic.png rename to graphics/pokemon/wigglytuff/front.png diff --git a/graphics/pokemon/icons/wigglytuff_icon.png b/graphics/pokemon/wigglytuff/icon.png similarity index 100% rename from graphics/pokemon/icons/wigglytuff_icon.png rename to graphics/pokemon/wigglytuff/icon.png diff --git a/graphics/pokemon/palettes/wigglytuff_palette.pal b/graphics/pokemon/wigglytuff/normal.pal similarity index 100% rename from graphics/pokemon/palettes/wigglytuff_palette.pal rename to graphics/pokemon/wigglytuff/normal.pal diff --git a/graphics/pokemon/palettes/wigglytuff_shiny_palette.pal b/graphics/pokemon/wigglytuff/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/wigglytuff_shiny_palette.pal rename to graphics/pokemon/wigglytuff/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/wingull_front_pic.png b/graphics/pokemon/wingull/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/wingull_front_pic.png rename to graphics/pokemon/wingull/anim_front.png diff --git a/graphics/pokemon/back_pics/wingull_back_pic.png b/graphics/pokemon/wingull/back.png similarity index 100% rename from graphics/pokemon/back_pics/wingull_back_pic.png rename to graphics/pokemon/wingull/back.png diff --git a/graphics/pokemon/footprints/wingull_footprint.png b/graphics/pokemon/wingull/footprint.png similarity index 100% rename from graphics/pokemon/footprints/wingull_footprint.png rename to graphics/pokemon/wingull/footprint.png diff --git a/graphics/pokemon/front_pics/wingull_still_front_pic.png b/graphics/pokemon/wingull/front.png similarity index 100% rename from graphics/pokemon/front_pics/wingull_still_front_pic.png rename to graphics/pokemon/wingull/front.png diff --git a/graphics/pokemon/icons/wingull_icon.png b/graphics/pokemon/wingull/icon.png similarity index 100% rename from graphics/pokemon/icons/wingull_icon.png rename to graphics/pokemon/wingull/icon.png diff --git a/graphics/pokemon/palettes/wingull_palette.pal b/graphics/pokemon/wingull/normal.pal similarity index 100% rename from graphics/pokemon/palettes/wingull_palette.pal rename to graphics/pokemon/wingull/normal.pal diff --git a/graphics/pokemon/palettes/wingull_shiny_palette.pal b/graphics/pokemon/wingull/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/wingull_shiny_palette.pal rename to graphics/pokemon/wingull/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/wobbuffet_front_pic.png b/graphics/pokemon/wobbuffet/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/wobbuffet_front_pic.png rename to graphics/pokemon/wobbuffet/anim_front.png diff --git a/graphics/pokemon/back_pics/wobbuffet_back_pic.png b/graphics/pokemon/wobbuffet/back.png similarity index 100% rename from graphics/pokemon/back_pics/wobbuffet_back_pic.png rename to graphics/pokemon/wobbuffet/back.png diff --git a/graphics/pokemon/footprints/wobbuffet_footprint.png b/graphics/pokemon/wobbuffet/footprint.png similarity index 100% rename from graphics/pokemon/footprints/wobbuffet_footprint.png rename to graphics/pokemon/wobbuffet/footprint.png diff --git a/graphics/pokemon/front_pics/wobbuffet_still_front_pic.png b/graphics/pokemon/wobbuffet/front.png similarity index 100% rename from graphics/pokemon/front_pics/wobbuffet_still_front_pic.png rename to graphics/pokemon/wobbuffet/front.png diff --git a/graphics/pokemon/icons/wobbuffet_icon.png b/graphics/pokemon/wobbuffet/icon.png similarity index 100% rename from graphics/pokemon/icons/wobbuffet_icon.png rename to graphics/pokemon/wobbuffet/icon.png diff --git a/graphics/pokemon/palettes/wobbuffet_palette.pal b/graphics/pokemon/wobbuffet/normal.pal similarity index 100% rename from graphics/pokemon/palettes/wobbuffet_palette.pal rename to graphics/pokemon/wobbuffet/normal.pal diff --git a/graphics/pokemon/palettes/wobbuffet_shiny_palette.pal b/graphics/pokemon/wobbuffet/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/wobbuffet_shiny_palette.pal rename to graphics/pokemon/wobbuffet/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/wooper_front_pic.png b/graphics/pokemon/wooper/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/wooper_front_pic.png rename to graphics/pokemon/wooper/anim_front.png diff --git a/graphics/pokemon/back_pics/wooper_back_pic.png b/graphics/pokemon/wooper/back.png similarity index 100% rename from graphics/pokemon/back_pics/wooper_back_pic.png rename to graphics/pokemon/wooper/back.png diff --git a/graphics/pokemon/footprints/wooper_footprint.png b/graphics/pokemon/wooper/footprint.png similarity index 100% rename from graphics/pokemon/footprints/wooper_footprint.png rename to graphics/pokemon/wooper/footprint.png diff --git a/graphics/pokemon/front_pics/wooper_still_front_pic.png b/graphics/pokemon/wooper/front.png similarity index 100% rename from graphics/pokemon/front_pics/wooper_still_front_pic.png rename to graphics/pokemon/wooper/front.png diff --git a/graphics/pokemon/icons/wooper_icon.png b/graphics/pokemon/wooper/icon.png similarity index 100% rename from graphics/pokemon/icons/wooper_icon.png rename to graphics/pokemon/wooper/icon.png diff --git a/graphics/pokemon/palettes/wooper_palette.pal b/graphics/pokemon/wooper/normal.pal similarity index 100% rename from graphics/pokemon/palettes/wooper_palette.pal rename to graphics/pokemon/wooper/normal.pal diff --git a/graphics/pokemon/palettes/wooper_shiny_palette.pal b/graphics/pokemon/wooper/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/wooper_shiny_palette.pal rename to graphics/pokemon/wooper/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/wurmple_front_pic.png b/graphics/pokemon/wurmple/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/wurmple_front_pic.png rename to graphics/pokemon/wurmple/anim_front.png diff --git a/graphics/pokemon/back_pics/wurmple_back_pic.png b/graphics/pokemon/wurmple/back.png similarity index 100% rename from graphics/pokemon/back_pics/wurmple_back_pic.png rename to graphics/pokemon/wurmple/back.png diff --git a/graphics/pokemon/footprints/wurmple_footprint.png b/graphics/pokemon/wurmple/footprint.png similarity index 100% rename from graphics/pokemon/footprints/wurmple_footprint.png rename to graphics/pokemon/wurmple/footprint.png diff --git a/graphics/pokemon/front_pics/wurmple_still_front_pic.png b/graphics/pokemon/wurmple/front.png similarity index 100% rename from graphics/pokemon/front_pics/wurmple_still_front_pic.png rename to graphics/pokemon/wurmple/front.png diff --git a/graphics/pokemon/icons/wurmple_icon.png b/graphics/pokemon/wurmple/icon.png similarity index 100% rename from graphics/pokemon/icons/wurmple_icon.png rename to graphics/pokemon/wurmple/icon.png diff --git a/graphics/pokemon/palettes/wurmple_palette.pal b/graphics/pokemon/wurmple/normal.pal similarity index 100% rename from graphics/pokemon/palettes/wurmple_palette.pal rename to graphics/pokemon/wurmple/normal.pal diff --git a/graphics/pokemon/palettes/wurmple_shiny_palette.pal b/graphics/pokemon/wurmple/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/wurmple_shiny_palette.pal rename to graphics/pokemon/wurmple/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/wynaut_front_pic.png b/graphics/pokemon/wynaut/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/wynaut_front_pic.png rename to graphics/pokemon/wynaut/anim_front.png diff --git a/graphics/pokemon/back_pics/wynaut_back_pic.png b/graphics/pokemon/wynaut/back.png similarity index 100% rename from graphics/pokemon/back_pics/wynaut_back_pic.png rename to graphics/pokemon/wynaut/back.png diff --git a/graphics/pokemon/footprints/wynaut_footprint.png b/graphics/pokemon/wynaut/footprint.png similarity index 100% rename from graphics/pokemon/footprints/wynaut_footprint.png rename to graphics/pokemon/wynaut/footprint.png diff --git a/graphics/pokemon/front_pics/wynaut_still_front_pic.png b/graphics/pokemon/wynaut/front.png similarity index 100% rename from graphics/pokemon/front_pics/wynaut_still_front_pic.png rename to graphics/pokemon/wynaut/front.png diff --git a/graphics/pokemon/icons/wynaut_icon.png b/graphics/pokemon/wynaut/icon.png similarity index 100% rename from graphics/pokemon/icons/wynaut_icon.png rename to graphics/pokemon/wynaut/icon.png diff --git a/graphics/pokemon/palettes/wynaut_palette.pal b/graphics/pokemon/wynaut/normal.pal similarity index 100% rename from graphics/pokemon/palettes/wynaut_palette.pal rename to graphics/pokemon/wynaut/normal.pal diff --git a/graphics/pokemon/palettes/wynaut_shiny_palette.pal b/graphics/pokemon/wynaut/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/wynaut_shiny_palette.pal rename to graphics/pokemon/wynaut/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/xatu_front_pic.png b/graphics/pokemon/xatu/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/xatu_front_pic.png rename to graphics/pokemon/xatu/anim_front.png diff --git a/graphics/pokemon/back_pics/xatu_back_pic.png b/graphics/pokemon/xatu/back.png similarity index 100% rename from graphics/pokemon/back_pics/xatu_back_pic.png rename to graphics/pokemon/xatu/back.png diff --git a/graphics/pokemon/footprints/xatu_footprint.png b/graphics/pokemon/xatu/footprint.png similarity index 100% rename from graphics/pokemon/footprints/xatu_footprint.png rename to graphics/pokemon/xatu/footprint.png diff --git a/graphics/pokemon/front_pics/xatu_still_front_pic.png b/graphics/pokemon/xatu/front.png similarity index 100% rename from graphics/pokemon/front_pics/xatu_still_front_pic.png rename to graphics/pokemon/xatu/front.png diff --git a/graphics/pokemon/icons/xatu_icon.png b/graphics/pokemon/xatu/icon.png similarity index 100% rename from graphics/pokemon/icons/xatu_icon.png rename to graphics/pokemon/xatu/icon.png diff --git a/graphics/pokemon/palettes/xatu_palette.pal b/graphics/pokemon/xatu/normal.pal similarity index 100% rename from graphics/pokemon/palettes/xatu_palette.pal rename to graphics/pokemon/xatu/normal.pal diff --git a/graphics/pokemon/palettes/xatu_shiny_palette.pal b/graphics/pokemon/xatu/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/xatu_shiny_palette.pal rename to graphics/pokemon/xatu/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/yanma_front_pic.png b/graphics/pokemon/yanma/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/yanma_front_pic.png rename to graphics/pokemon/yanma/anim_front.png diff --git a/graphics/pokemon/back_pics/yanma_back_pic.png b/graphics/pokemon/yanma/back.png similarity index 100% rename from graphics/pokemon/back_pics/yanma_back_pic.png rename to graphics/pokemon/yanma/back.png diff --git a/graphics/pokemon/footprints/yanma_footprint.png b/graphics/pokemon/yanma/footprint.png similarity index 100% rename from graphics/pokemon/footprints/yanma_footprint.png rename to graphics/pokemon/yanma/footprint.png diff --git a/graphics/pokemon/front_pics/yanma_still_front_pic.png b/graphics/pokemon/yanma/front.png similarity index 100% rename from graphics/pokemon/front_pics/yanma_still_front_pic.png rename to graphics/pokemon/yanma/front.png diff --git a/graphics/pokemon/icons/yanma_icon.png b/graphics/pokemon/yanma/icon.png similarity index 100% rename from graphics/pokemon/icons/yanma_icon.png rename to graphics/pokemon/yanma/icon.png diff --git a/graphics/pokemon/palettes/yanma_palette.pal b/graphics/pokemon/yanma/normal.pal similarity index 100% rename from graphics/pokemon/palettes/yanma_palette.pal rename to graphics/pokemon/yanma/normal.pal diff --git a/graphics/pokemon/palettes/yanma_shiny_palette.pal b/graphics/pokemon/yanma/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/yanma_shiny_palette.pal rename to graphics/pokemon/yanma/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/zangoose_front_pic.png b/graphics/pokemon/zangoose/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/zangoose_front_pic.png rename to graphics/pokemon/zangoose/anim_front.png diff --git a/graphics/pokemon/back_pics/zangoose_back_pic.png b/graphics/pokemon/zangoose/back.png similarity index 100% rename from graphics/pokemon/back_pics/zangoose_back_pic.png rename to graphics/pokemon/zangoose/back.png diff --git a/graphics/pokemon/footprints/zangoose_footprint.png b/graphics/pokemon/zangoose/footprint.png similarity index 100% rename from graphics/pokemon/footprints/zangoose_footprint.png rename to graphics/pokemon/zangoose/footprint.png diff --git a/graphics/pokemon/front_pics/zangoose_still_front_pic.png b/graphics/pokemon/zangoose/front.png similarity index 100% rename from graphics/pokemon/front_pics/zangoose_still_front_pic.png rename to graphics/pokemon/zangoose/front.png diff --git a/graphics/pokemon/icons/zangoose_icon.png b/graphics/pokemon/zangoose/icon.png similarity index 100% rename from graphics/pokemon/icons/zangoose_icon.png rename to graphics/pokemon/zangoose/icon.png diff --git a/graphics/pokemon/palettes/zangoose_palette.pal b/graphics/pokemon/zangoose/normal.pal similarity index 100% rename from graphics/pokemon/palettes/zangoose_palette.pal rename to graphics/pokemon/zangoose/normal.pal diff --git a/graphics/pokemon/palettes/zangoose_shiny_palette.pal b/graphics/pokemon/zangoose/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/zangoose_shiny_palette.pal rename to graphics/pokemon/zangoose/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/zapdos_front_pic.png b/graphics/pokemon/zapdos/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/zapdos_front_pic.png rename to graphics/pokemon/zapdos/anim_front.png diff --git a/graphics/pokemon/back_pics/zapdos_back_pic.png b/graphics/pokemon/zapdos/back.png similarity index 100% rename from graphics/pokemon/back_pics/zapdos_back_pic.png rename to graphics/pokemon/zapdos/back.png diff --git a/graphics/pokemon/footprints/zapdos_footprint.png b/graphics/pokemon/zapdos/footprint.png similarity index 100% rename from graphics/pokemon/footprints/zapdos_footprint.png rename to graphics/pokemon/zapdos/footprint.png diff --git a/graphics/pokemon/front_pics/zapdos_still_front_pic.png b/graphics/pokemon/zapdos/front.png similarity index 100% rename from graphics/pokemon/front_pics/zapdos_still_front_pic.png rename to graphics/pokemon/zapdos/front.png diff --git a/graphics/pokemon/icons/zapdos_icon.png b/graphics/pokemon/zapdos/icon.png similarity index 100% rename from graphics/pokemon/icons/zapdos_icon.png rename to graphics/pokemon/zapdos/icon.png diff --git a/graphics/pokemon/palettes/zapdos_palette.pal b/graphics/pokemon/zapdos/normal.pal similarity index 100% rename from graphics/pokemon/palettes/zapdos_palette.pal rename to graphics/pokemon/zapdos/normal.pal diff --git a/graphics/pokemon/palettes/zapdos_shiny_palette.pal b/graphics/pokemon/zapdos/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/zapdos_shiny_palette.pal rename to graphics/pokemon/zapdos/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/zigzagoon_front_pic.png b/graphics/pokemon/zigzagoon/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/zigzagoon_front_pic.png rename to graphics/pokemon/zigzagoon/anim_front.png diff --git a/graphics/pokemon/back_pics/zigzagoon_back_pic.png b/graphics/pokemon/zigzagoon/back.png similarity index 100% rename from graphics/pokemon/back_pics/zigzagoon_back_pic.png rename to graphics/pokemon/zigzagoon/back.png diff --git a/graphics/pokemon/footprints/zigzagoon_footprint.png b/graphics/pokemon/zigzagoon/footprint.png similarity index 100% rename from graphics/pokemon/footprints/zigzagoon_footprint.png rename to graphics/pokemon/zigzagoon/footprint.png diff --git a/graphics/pokemon/front_pics/zigzagoon_still_front_pic.png b/graphics/pokemon/zigzagoon/front.png similarity index 100% rename from graphics/pokemon/front_pics/zigzagoon_still_front_pic.png rename to graphics/pokemon/zigzagoon/front.png diff --git a/graphics/pokemon/icons/zigzagoon_icon.png b/graphics/pokemon/zigzagoon/icon.png similarity index 100% rename from graphics/pokemon/icons/zigzagoon_icon.png rename to graphics/pokemon/zigzagoon/icon.png diff --git a/graphics/pokemon/palettes/zigzagoon_palette.pal b/graphics/pokemon/zigzagoon/normal.pal similarity index 100% rename from graphics/pokemon/palettes/zigzagoon_palette.pal rename to graphics/pokemon/zigzagoon/normal.pal diff --git a/graphics/pokemon/palettes/zigzagoon_shiny_palette.pal b/graphics/pokemon/zigzagoon/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/zigzagoon_shiny_palette.pal rename to graphics/pokemon/zigzagoon/shiny.pal diff --git a/graphics/pokemon/anim_front_pics/zubat_front_pic.png b/graphics/pokemon/zubat/anim_front.png similarity index 100% rename from graphics/pokemon/anim_front_pics/zubat_front_pic.png rename to graphics/pokemon/zubat/anim_front.png diff --git a/graphics/pokemon/back_pics/zubat_back_pic.png b/graphics/pokemon/zubat/back.png similarity index 100% rename from graphics/pokemon/back_pics/zubat_back_pic.png rename to graphics/pokemon/zubat/back.png diff --git a/graphics/pokemon/footprints/zubat_footprint.png b/graphics/pokemon/zubat/footprint.png similarity index 100% rename from graphics/pokemon/footprints/zubat_footprint.png rename to graphics/pokemon/zubat/footprint.png diff --git a/graphics/pokemon/front_pics/zubat_still_front_pic.png b/graphics/pokemon/zubat/front.png similarity index 100% rename from graphics/pokemon/front_pics/zubat_still_front_pic.png rename to graphics/pokemon/zubat/front.png diff --git a/graphics/pokemon/icons/zubat_icon.png b/graphics/pokemon/zubat/icon.png similarity index 100% rename from graphics/pokemon/icons/zubat_icon.png rename to graphics/pokemon/zubat/icon.png diff --git a/graphics/pokemon/palettes/zubat_palette.pal b/graphics/pokemon/zubat/normal.pal similarity index 100% rename from graphics/pokemon/palettes/zubat_palette.pal rename to graphics/pokemon/zubat/normal.pal diff --git a/graphics/pokemon/palettes/zubat_shiny_palette.pal b/graphics/pokemon/zubat/shiny.pal similarity index 100% rename from graphics/pokemon/palettes/zubat_shiny_palette.pal rename to graphics/pokemon/zubat/shiny.pal diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index 0a22a711c6..0516a8a4dc 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -1,7 +1,4 @@ -MONSTILLFRONTGFXDIR := graphics/pokemon/front_pics -MONBACKGFXDIR := graphics/pokemon/back_pics -MONFRONTGFXDIR := graphics/pokemon/anim_front_pics -MONPALDIR := graphics/pokemon/palettes +CASTFORMGFXDIR := graphics/pokemon/castform TILESETGFXDIR := data/tilesets FONTGFXDIR := data/graphics/fonts INTERFACEGFXDIR := graphics/interface @@ -24,36 +21,44 @@ MISCGFXDIR := graphics/misc types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark contest_types := cool beauty cute smart tough -$(MONSTILLFRONTGFXDIR)/castform_still_front_pic.4bpp: $(MONSTILLFRONTGFXDIR)/castform_normal_form_still_front_pic.4bpp \ - $(MONSTILLFRONTGFXDIR)/castform_sunny_form_still_front_pic.4bpp \ - $(MONSTILLFRONTGFXDIR)/castform_rainy_form_still_front_pic.4bpp \ - $(MONSTILLFRONTGFXDIR)/castform_snowy_form_still_front_pic.4bpp + + +### Castform ### + +$(CASTFORMGFXDIR)/front.4bpp: $(CASTFORMGFXDIR)/front_normal_form.4bpp \ + $(CASTFORMGFXDIR)/front_sunny_form.4bpp \ + $(CASTFORMGFXDIR)/front_rainy_form.4bpp \ + $(CASTFORMGFXDIR)/front_snowy_form.4bpp @cat $^ >$@ -$(MONBACKGFXDIR)/castform_back_pic.4bpp: $(MONBACKGFXDIR)/castform_normal_form_back_pic.4bpp \ - $(MONBACKGFXDIR)/castform_sunny_form_back_pic.4bpp \ - $(MONBACKGFXDIR)/castform_rainy_form_back_pic.4bpp \ - $(MONBACKGFXDIR)/castform_snowy_form_back_pic.4bpp +$(CASTFORMGFXDIR)/back.4bpp: $(CASTFORMGFXDIR)/back_normal_form.4bpp \ + $(CASTFORMGFXDIR)/back_sunny_form.4bpp \ + $(CASTFORMGFXDIR)/back_rainy_form.4bpp \ + $(CASTFORMGFXDIR)/back_snowy_form.4bpp @cat $^ >$@ -$(MONFRONTGFXDIR)/castform_front_pic.4bpp: $(MONFRONTGFXDIR)/castform_normal_form_front_pic.4bpp \ - $(MONFRONTGFXDIR)/castform_sunny_form_front_pic.4bpp \ - $(MONFRONTGFXDIR)/castform_rainy_form_front_pic.4bpp \ - $(MONFRONTGFXDIR)/castform_snowy_form_front_pic.4bpp +$(CASTFORMGFXDIR)/anim_front.4bpp: $(CASTFORMGFXDIR)/anim_front_normal_form.4bpp \ + $(CASTFORMGFXDIR)/anim_front_sunny_form.4bpp \ + $(CASTFORMGFXDIR)/anim_front_rainy_form.4bpp \ + $(CASTFORMGFXDIR)/anim_front_snowy_form.4bpp @cat $^ >$@ -$(MONPALDIR)/castform_palette.gbapal: $(MONPALDIR)/castform_normal_form_palette.gbapal \ - $(MONPALDIR)/castform_sunny_form_palette.gbapal \ - $(MONPALDIR)/castform_rainy_form_palette.gbapal \ - $(MONPALDIR)/castform_snowy_form_palette.gbapal +$(CASTFORMGFXDIR)/normal.gbapal: $(CASTFORMGFXDIR)/normal_normal_form.gbapal \ + $(CASTFORMGFXDIR)/normal_sunny_form.gbapal \ + $(CASTFORMGFXDIR)/normal_rainy_form.gbapal \ + $(CASTFORMGFXDIR)/normal_snowy_form.gbapal @cat $^ >$@ -$(MONPALDIR)/castform_shiny_palette.gbapal: $(MONPALDIR)/castform_normal_form_shiny_palette.gbapal \ - $(MONPALDIR)/castform_sunny_form_shiny_palette.gbapal \ - $(MONPALDIR)/castform_rainy_form_shiny_palette.gbapal \ - $(MONPALDIR)/castform_snowy_form_shiny_palette.gbapal +$(CASTFORMGFXDIR)/shiny.gbapal: $(CASTFORMGFXDIR)/shiny_normal_form.gbapal \ + $(CASTFORMGFXDIR)/shiny_sunny_form.gbapal \ + $(CASTFORMGFXDIR)/shiny_rainy_form.gbapal \ + $(CASTFORMGFXDIR)/shiny_snowy_form.gbapal @cat $^ >$@ + + +### Tilesets ### + $(TILESETGFXDIR)/secondary/petalburg/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 159 @@ -246,6 +251,10 @@ $(TILESETGFXDIR)/secondary/battle_frontier_ranking_hall/tiles.4bpp: %.4bpp: %.pn $(TILESETGFXDIR)/secondary/mystery_events_house/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 509 + + +### Fonts ### + $(FONTGFXDIR)/font0.latfont: $(FONTGFXDIR)/font0_latin.png $(GFX) $< $@ @@ -297,6 +306,9 @@ $(FONTGFXDIR)/unused_frlg_down_arrow.4bpp: %.4bpp: %.png $(FONTGFXDIR)/keypad_icons.4bpp: %.4bpp: %.png $(GFX) $< $@ + + +### Miscellaneous ### graphics/title_screen/pokemon_logo.gbapal: %.gbapal: %.pal $(GFX) $< $@ -num_colors 224 @@ -310,13 +322,13 @@ $(MISCGFXDIR)/japanese_hof.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 29 $(BATINTGFXDIR)/textbox.gbapal: $(BATINTGFXDIR)/textbox_0.gbapal \ - $(BATINTGFXDIR)/textbox_1.gbapal + $(BATINTGFXDIR)/textbox_1.gbapal @cat $^ >$@ $(BTLANMSPRGFXDIR)/010.4bpp: $(BTLANMSPRGFXDIR)/010_0.4bpp \ - $(BTLANMSPRGFXDIR)/010_1.4bpp \ - $(BTLANMSPRGFXDIR)/010_2.4bpp \ - $(BTLANMSPRGFXDIR)/010_3.4bpp + $(BTLANMSPRGFXDIR)/010_1.4bpp \ + $(BTLANMSPRGFXDIR)/010_2.4bpp \ + $(BTLANMSPRGFXDIR)/010_3.4bpp @cat $^ >$@ $(UNUSEDGFXDIR)/obi_palpak1.gbapal: $(UNUSEDGFXDIR)/old_pal1.gbapal \ @@ -340,8 +352,8 @@ $(UNUSEDGFXDIR)/obi2.4bpp: $(UNUSEDGFXDIR)/old_bulbasaur2.4bpp \ @cat $^ >$@ $(INTERFACEGFXDIR)/hp_numbers.4bpp: $(INTERFACEGFXDIR)/hpbar_anim.4bpp \ - $(INTERFACEGFXDIR)/numbers1.4bpp \ - $(INTERFACEGFXDIR)/numbers2.4bpp + $(INTERFACEGFXDIR)/numbers1.4bpp \ + $(INTERFACEGFXDIR)/numbers2.4bpp @cat $^ >$@ $(UNUSEDGFXDIR)/redyellowgreen_frame.bin: $(UNUSEDGFXDIR)/red_frame.bin \ @@ -472,6 +484,10 @@ $(SLOTMACHINEGFXDIR)/reel_time_gfx.4bpp: $(SLOTMACHINEGFXDIR)/reel_time_pikachu. $(UNUSEDGFXDIR)/intro_birch_beauty.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 822 + + +### PSS ### + $(PSSGFXDIR)/forest_frame.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 55 @@ -636,7 +652,11 @@ $(INTERFACEGFXDIR)/selector_outline.4bpp: %.4bpp: %.png $(BATTRANSGFXDIR)/frontier_transition.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 43 - + + + +### Pokenav ### + $(PKNAVOPTIONSGFXDIR)/options.4bpp: $(PKNAVOPTIONSGFXDIR)/hoenn_map.4bpp \ $(PKNAVOPTIONSGFXDIR)/condition.4bpp \ $(PKNAVOPTIONSGFXDIR)/match_call.4bpp \ diff --git a/src/anim_mon_front_pics.c b/src/anim_mon_front_pics.c index f2480ea20f..b566b77604 100644 --- a/src/anim_mon_front_pics.c +++ b/src/anim_mon_front_pics.c @@ -235,7 +235,7 @@ const u32 gMonFrontPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/anim_f const u32 gMonFrontPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/anim_front.4bpp.lz"); const u32 gMonFrontPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/anim_front.4bpp.lz"); const u32 gMonFrontPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/anim_front.4bpp.lz"); -const u32 gMonFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/anim_front_pics/porygon2_front_pic.4bpp.lz"); +const u32 gMonFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/anim_front.4bpp.lz"); const u32 gMonFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/anim_front.4bpp.lz"); const u32 gMonFrontPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/anim_front.4bpp.lz"); const u32 gMonFrontPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/anim_front.4bpp.lz"); diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index 67d1fbd3f0..07415949d9 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -1621,12 +1621,12 @@ const u32 gMonShinyPalette_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/shin const u8 gMonIcon_Donphan[] = INCBIN_U8("graphics/pokemon/donphan/icon.4bpp"); const u8 gMonFootprint_Donphan[] = INCBIN_U8("graphics/pokemon/donphan/footprint.1bpp"); -const u32 gMonStillFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/front_pics/porygon2_still_front_pic.4bpp.lz"); -const u32 gMonPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/palettes/porygon2_palette.gbapal.lz"); -const u32 gMonBackPic_Porygon2[] = INCBIN_U32("graphics/pokemon/back_pics/porygon2_back_pic.4bpp.lz"); -const u32 gMonShinyPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/palettes/porygon2_shiny_palette.gbapal.lz"); -const u8 gMonIcon_Porygon2[] = INCBIN_U8("graphics/pokemon/icons/porygon2_icon.4bpp"); -const u8 gMonFootprint_Porygon2[] = INCBIN_U8("graphics/pokemon/footprints/porygon2_footprint.1bpp"); +const u32 gMonStillFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/front.4bpp.lz"); +const u32 gMonPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/normal.gbapal.lz"); +const u32 gMonBackPic_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/back.4bpp.lz"); +const u32 gMonShinyPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/shiny.gbapal.lz"); +const u8 gMonIcon_Porygon2[] = INCBIN_U8("graphics/pokemon/porygon2/icon.4bpp"); +const u8 gMonFootprint_Porygon2[] = INCBIN_U8("graphics/pokemon/porygon2/footprint.1bpp"); const u32 gMonStillFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/front.4bpp.lz"); const u32 gMonPalette_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/normal.gbapal.lz"); @@ -2695,7 +2695,7 @@ const u32 gMonPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/normal.gbap const u32 gMonBackPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/back.4bpp.lz"); const u32 gMonShinyPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/shiny.gbapal.lz"); const u8 gMonIcon_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/icon.4bpp"); -const u8 gMonIcon_DeoxysSpeed[] = INCBIN_U8("graphics/pokemon/deoxys_speed/icon.4bpp"); +const u8 gMonIcon_DeoxysSpeed[] = INCBIN_U8("graphics/pokemon/deoxys/icon_speed.4bpp"); const u8 gMonIcon_DeoxysSpeedWide[] = INCBIN_U8("graphics/unused/deoxys_speed_icon_wide.4bpp"); asm(".space 0x6800"); diff --git a/src/egg_hatch.c b/src/egg_hatch.c index a9b6001ec7..68728f818d 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -75,7 +75,7 @@ static void CreateEggShardSprite(u8 x, u8 y, s16 data1, s16 data2, s16 data3, u8 static IWRAM_DATA struct EggHatchData *sEggHatchData; // rom data -static const u16 sEggPalette[] = INCBIN_U16("graphics/pokemon/palettes/egg_palette.gbapal"); +static const u16 sEggPalette[] = INCBIN_U16("graphics/pokemon/egg/normal.gbapal"); static const u8 sEggHatchTiles[] = INCBIN_U8("graphics/misc/egg_hatch.4bpp"); static const u8 sEggShardTiles[] = INCBIN_U8("graphics/misc/egg_shard.4bpp"); diff --git a/src/graphics.c b/src/graphics.c index a3b9eb9131..c243c64a54 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -4,10 +4,10 @@ const u32 gBattleTextboxTiles[] = INCBIN_U32("graphics/battle_interface/textbox. const u32 gBattleTextboxPalette[] = INCBIN_U32("graphics/battle_interface/textbox.gbapal.lz"); const u32 gBattleTextboxTilemap[] = INCBIN_U32("graphics/battle_interface/textbox_map.bin.lz"); -const u32 gMonStillFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/front_pics/circled_question_mark_still_front_pic.4bpp.lz"); -const u32 gMonBackPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/back_pics/circled_question_mark_back_pic.4bpp.lz"); -const u32 gMonPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/palettes/circled_question_mark_palette.gbapal.lz"); -const u32 gMonShinyPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/palettes/circled_question_mark_shiny_palette.gbapal.lz"); +const u32 gMonStillFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/front.4bpp.lz"); +const u32 gMonBackPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/back.4bpp.lz"); +const u32 gMonPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/normal.gbapal.lz"); +const u32 gMonShinyPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/shiny.gbapal.lz"); const u32 gUnusedGfx_OldCharmap[] = INCBIN_U32("graphics/unused/old_charmap.4bpp.lz"); // japanese table and bunch of stuff const u32 gUnusedTimemap_OldCharmap[] = INCBIN_U32("graphics/unused/old_charmap.bin.lz"); @@ -953,8 +953,8 @@ const u32 gUnknownPal_C2F9E0[] = INCBIN_U32("graphics/unknown/unknown_C2F9E0.gba #include "data/graphics/pokemon.h" #include "data/graphics/trainers.h" -const u8 gMonIcon_QuestionMark[] = INCBIN_U8("graphics/pokemon/icons/question_mark_icon.4bpp"); -const u8 gMonFootprint_QuestionMark[] = INCBIN_U8("graphics/pokemon/footprints/question_mark_footprint.1bpp"); +const u8 gMonIcon_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mark/icon.4bpp"); +const u8 gMonFootprint_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mark/footprint.1bpp"); const u32 gUnknown_08D778F0[] = INCBIN_U32("graphics/battle_transitions/vs_frame.4bpp.lz"); const u32 gUnknown_08D779D8[] = INCBIN_U32("graphics/battle_transitions/vs_frame.bin.lz"); @@ -1064,7 +1064,7 @@ const u32 gEnemyMonShadow_Gfx[] = INCBIN_U32("graphics/battle_interface/enemy_mo const u32 gBattleInterface_BallStatusBarGfx[] = INCBIN_U32("graphics/battle_interface/ball_status_bar.4bpp.lz"); -const u8 gMonIcon_Egg[] = INCBIN_U8("graphics/pokemon/icons/egg_icon.4bpp"); +const u8 gMonIcon_Egg[] = INCBIN_U8("graphics/pokemon/egg/icon.4bpp"); const u32 gBattleAnimBackgroundImage_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.4bpp.lz"); const u32 gBattleAnimBackgroundPalette_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.gbapal.lz"); From 61344a4fee6500cd61a0bc2c2d3346db361134c4 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Tue, 12 Mar 2019 22:56:53 -0400 Subject: [PATCH 36/47] Document the water droplet data. --- include/title_screen.h | 2 +- src/intro.c | 12 ++++++------ src/title_screen.c | 19 +++++++++++++++++-- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/include/title_screen.h b/include/title_screen.h index ad0809ed24..b7100f124b 100644 --- a/include/title_screen.h +++ b/include/title_screen.h @@ -1,7 +1,7 @@ #ifndef GUARD_TITLE_SCREEN_H #define GUARD_TITLE_SCREEN_H -extern const u16 gIntroWaterDropData[]; +extern const u16 gIntroWaterDropAlphaBlend[]; void CB2_InitTitleScreen(void); diff --git a/src/intro.c b/src/intro.c index 23457f3707..84127cf64c 100644 --- a/src/intro.c +++ b/src/intro.c @@ -2427,7 +2427,7 @@ static void Task_IntroWaterDrops_1(u8 taskId) | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD); - SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropData[31]); + SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropAlphaBlend[31]); SetGpuReg(REG_OFFSET_BLDY, 0); gTasks[taskId].data[1] = 0x40; gTasks[taskId].data[0]++; @@ -2439,11 +2439,11 @@ static void Task_IntroWaterDrops_1(u8 taskId) gTasks[taskId].data[1]--; tmp = gTasks[taskId].data[1] / 2; - SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropData[tmp]); + SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropAlphaBlend[tmp]); } else { - SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropData[0]); + SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropAlphaBlend[0]); gTasks[taskId].data[1] = 0x10; gTasks[taskId].data[0]++; } @@ -2470,7 +2470,7 @@ static void Task_IntroWaterDrops_2(u8 taskId) | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD); - SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropData[0]); + SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropAlphaBlend[0]); SetGpuReg(REG_OFFSET_BLDY, 0); gTasks[taskId].data[1] = 0; gTasks[taskId].data[0]++; @@ -2482,11 +2482,11 @@ static void Task_IntroWaterDrops_2(u8 taskId) gTasks[taskId].data[1]++; tmp = gTasks[taskId].data[1] / 2; - SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropData[tmp]); + SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropAlphaBlend[tmp]); } else { - SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropData[31]); + SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropAlphaBlend[31]); gTasks[taskId].data[1] = 0x10; gTasks[taskId].data[0]++; } diff --git a/src/title_screen.c b/src/title_screen.c index ca34f90f85..23b0772bda 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -64,7 +64,22 @@ static const u32 sTitleScreenRayquazaTilemap[] = INCBIN_U32("graphics/title_scre static const u32 sTitleScreenLogoShineGfx[] = INCBIN_U32("graphics/title_screen/logo_shine.4bpp.lz"); static const u32 sTitleScreenCloudsGfx[] = INCBIN_U32("graphics/title_screen/clouds.4bpp.lz"); -const u16 gIntroWaterDropData[] = +// This is BLDALPHA data. It's equivalent to: +// +// BLDALPHA_BLEND(0, 16) +// BLDALPHA_BLEND(1, 16) +// ... +// BLDALPHA_BLEND(14, 16) +// BLDALPHA_BLEND(15, 16) +// BLDALPHA_BLEND(16, 15) +// BLDALPHA_BLEND(16, 14) +// ... +// BLDALPHA_BLEND(16, 1) +// BLDALPHA_BLEND(16, 0) +// BLDALPHA_BLEND(16, 0) +// BLDALPHA_BLEND(16, 0) +// ... (repeated until array has 32 entries) +const u16 gIntroWaterDropAlphaBlend[] = { 0x0010, 0x0110, 0x0210, 0x0310, 0x0410, 0x0510, 0x0610, 0x0710, 0x0810, 0x0910, 0x0a10, 0x0b10, 0x0c10, 0x0d10, 0x0e10, 0x0f10, @@ -324,7 +339,7 @@ static void SpriteCB_VersionBannerLeft(struct Sprite *sprite) sprite->pos1.y++; if (sprite->data[0] != 0) sprite->data[0]--; - SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropData[sprite->data[0]]); + SetGpuReg(REG_OFFSET_BLDALPHA, gIntroWaterDropAlphaBlend[sprite->data[0]]); } } From 703554c4df08d8650dc9bb8bae72eb022783a617 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Wed, 13 Mar 2019 01:26:55 -0400 Subject: [PATCH 37/47] Ranges are magic --- src/title_screen.c | 56 +++++++++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/src/title_screen.c b/src/title_screen.c index 23b0772bda..80d5464faf 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -64,31 +64,41 @@ static const u32 sTitleScreenRayquazaTilemap[] = INCBIN_U32("graphics/title_scre static const u32 sTitleScreenLogoShineGfx[] = INCBIN_U32("graphics/title_screen/logo_shine.4bpp.lz"); static const u32 sTitleScreenCloudsGfx[] = INCBIN_U32("graphics/title_screen/clouds.4bpp.lz"); -// This is BLDALPHA data. It's equivalent to: -// -// BLDALPHA_BLEND(0, 16) -// BLDALPHA_BLEND(1, 16) -// ... -// BLDALPHA_BLEND(14, 16) -// BLDALPHA_BLEND(15, 16) -// BLDALPHA_BLEND(16, 15) -// BLDALPHA_BLEND(16, 14) -// ... -// BLDALPHA_BLEND(16, 1) -// BLDALPHA_BLEND(16, 0) -// BLDALPHA_BLEND(16, 0) -// BLDALPHA_BLEND(16, 0) -// ... (repeated until array has 32 entries) const u16 gIntroWaterDropAlphaBlend[] = { - 0x0010, 0x0110, 0x0210, 0x0310, 0x0410, 0x0510, 0x0610, 0x0710, - 0x0810, 0x0910, 0x0a10, 0x0b10, 0x0c10, 0x0d10, 0x0e10, 0x0f10, - 0x100f, 0x100e, 0x100d, 0x100c, 0x100b, 0x100a, 0x1009, 0x1008, - 0x1007, 0x1006, 0x1005, 0x1004, 0x1003, 0x1002, 0x1001, 0x1000, - 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, - 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, - 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, - 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, + BLDALPHA_BLEND(16, 0), + BLDALPHA_BLEND(16, 1), + BLDALPHA_BLEND(16, 2), + BLDALPHA_BLEND(16, 3), + BLDALPHA_BLEND(16, 4), + BLDALPHA_BLEND(16, 5), + BLDALPHA_BLEND(16, 6), + BLDALPHA_BLEND(16, 7), + BLDALPHA_BLEND(16, 8), + BLDALPHA_BLEND(16, 9), + BLDALPHA_BLEND(16, 10), + BLDALPHA_BLEND(16, 11), + BLDALPHA_BLEND(16, 12), + BLDALPHA_BLEND(16, 13), + BLDALPHA_BLEND(16, 14), + BLDALPHA_BLEND(16, 15), + BLDALPHA_BLEND(15, 16), + BLDALPHA_BLEND(14, 16), + BLDALPHA_BLEND(13, 16), + BLDALPHA_BLEND(12, 16), + BLDALPHA_BLEND(11, 16), + BLDALPHA_BLEND(10, 16), + BLDALPHA_BLEND(9, 16), + BLDALPHA_BLEND(8, 16), + BLDALPHA_BLEND(7, 16), + BLDALPHA_BLEND(6, 16), + BLDALPHA_BLEND(5, 16), + BLDALPHA_BLEND(4, 16), + BLDALPHA_BLEND(3, 16), + BLDALPHA_BLEND(2, 16), + BLDALPHA_BLEND(1, 16), + BLDALPHA_BLEND(0, 16), + [32 ... 63] = BLDALPHA_BLEND(0, 16) }; static const struct OamData sVersionBannerLeftOamData = From 61fa4cf2bae6616ac0b6bce42f9e9de9191540d2 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Wed, 13 Mar 2019 01:10:27 -0400 Subject: [PATCH 38/47] Make a powershell version of asmdiff.sh This version can be used with VSCode's built-in diff, and has better error detection for new contributors. --- asmdiff.ps1 | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 asmdiff.ps1 diff --git a/asmdiff.ps1 b/asmdiff.ps1 new file mode 100644 index 0000000000..169f14776b --- /dev/null +++ b/asmdiff.ps1 @@ -0,0 +1,114 @@ +Param +( + [Parameter(Position = 0)] + [string]$Start, + + [Parameter(Position = 1)] + [string]$Offset, + + [Parameter()] + [string[]]$DiffTool +) + +$ErrorActionPreference = "Stop" + +$offset_default_value = "0x100" +$diff_tool_default_value = "diff" + +$help = " +$($args[0]) [OPTIONS] Start [Offset] + +Performs a diff on the assembly of a function in a rom. 'Start' is the start +location of the function, and 'Offset' is the number of bytes to disassemble. +The assembly is saved to *.dump files. + +'Offset' is optional, and defaults to $offset_default_value. If this value is +very large (0x10000+), objdump may hang / freeze. + +Requirements: + - A clean copy of the rom named 'baserom.gba'. + - $$ENV:DEVKITARM to point to the installation of devkitpro. By default, it is + installed to 'C:\devkitpro\devkitARM'. + +Options: + -DiffTool The tool to use for diffing. Defaults to '$diff_tool_default_value'. For VSCode, + you can use -DiffTool 'code --diff'. (Quotes are necessary around 'code --diff') +" + +if ((-not (Test-Path variable:Start)) -or [string]::IsNullOrWhiteSpace($Start)) +{ + Write-Host $help + exit +} + +if (-not (Test-Path variable:DiffTool) -or [string]::IsNullOrWhiteSpace($DiffTool)) +{ + $DiffTool = $diff_tool_default_value +} + +if (-not (Test-Path variable:Offset) -or [string]::IsNullOrWhiteSpace($Offset)) +{ + $Offset = $offset_default_value +} + +if (-Not (Test-Path env:DEVKITARM)) +{ + Write-Host "ENV:DEVKITARM variable not set." + Write-Host $help + exit +} + +if (-Not (Test-Path $env:DEVKITARM)) +{ + Write-Host "DEVKITARM path '$env:DEVKITARM' does not exist." + Write-Host $help + exit +} + +if (-Not (Test-Path ".\pokeemerald.gba")) +{ + Write-Host "File 'pokeemerald.gba' not found." + Write-Host $help + exit +} + +if (-Not (Test-Path ".\baserom.gba")) +{ + Write-Host "File 'baserom.gba' not found." +} + +try +{ + $start_num = [System.Convert]::ToUInt64($Start, 16) +} +catch +{ + Write-Host "Error parsing '$start_num' as a hex number." + Write-Host $help + exit +} + +try +{ + $offset_num = [System.Convert]::ToUInt64($Offset, 16) +} +catch +{ + Write-Host "Error parsing '$offset_num' as a hex number." + Write-Host $help + exit +} + +if ($start_num -gt 0x1000000) +{ + Write-Host "Warning: Start address is larger than the ROM file. Hint: ignore the leading number in the address." +} + +$end_str = [System.Convert]::ToString($start_num + $offset_num, 16) +$end_str = "0x$end_str" + +Write-Host "$Start - $end_str" +$objdump = Join-Path -Path $env:DEVKITARM -ChildPath "arm-none-eabi\bin\objdump.exe" +&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$Start" --stop-address="$end_str" .\baserom.gba > .\baserom.dump +&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$Start" --stop-address="$end_str" .\pokeemerald.gba > .\pokeemerald.dump +Invoke-Expression "$DiffTool .\baserom.dump .\pokeemerald.dump" From b67c0698c2533aabdae1ae9679fffbee16e45fac Mon Sep 17 00:00:00 2001 From: aueuaio Date: Thu, 14 Mar 2019 14:17:43 +0100 Subject: [PATCH 39/47] add troubleshooting line in INSTALL.md While following the instructions for macos (i have sierra) in INSTALL.md, agbcc/build.sh failed, complaining it couldn't find the /opt/devkitpro/devkitARM/base_tools file. After a bit of research, i found out this file is in the devkitarm-rules package (in the devkitpro repos for pacman). Since installing this package fixes the problem, i added some troubleshooting instructions for it in INSTALL.md. --- INSTALL.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/INSTALL.md b/INSTALL.md index 041f6b8e99..fcdd8b655e 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -66,6 +66,14 @@ cd ../pokeemerald And build the ROM with `make`. +If the step `./build.sh` in the above list of commands fails with the error `Makefile:1: /opt/devkitpro/devkitARM/base_tools: No such file or directory`, then try installing the pacman package `devkitarm-rules` by executing the command + +``` +sudo dkp-pacman -S devkitarm-rules +``` + +Executing `./build.sh` again should now succeed. + # Faster builds After the first build, subsequent builds are faster. You can further speed up the build: From 092608aef6495fdd9b9d2d8cae00e1bd940f9b27 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sun, 10 Mar 2019 01:12:41 -0500 Subject: [PATCH 40/47] Add a constant for "no music" on maps. --- data/maps/BattleFrontier_BattlePyramidEmptySquare/map.json | 2 +- data/maps/BattleFrontier_BattlePyramidTop/map.json | 2 +- data/maps/BattlePyramidSquare01/map.json | 2 +- data/maps/BattlePyramidSquare02/map.json | 2 +- data/maps/BattlePyramidSquare03/map.json | 2 +- data/maps/BattlePyramidSquare04/map.json | 2 +- data/maps/BattlePyramidSquare05/map.json | 2 +- data/maps/BattlePyramidSquare06/map.json | 2 +- data/maps/BattlePyramidSquare07/map.json | 2 +- data/maps/BattlePyramidSquare08/map.json | 2 +- data/maps/BattlePyramidSquare09/map.json | 2 +- data/maps/BattlePyramidSquare10/map.json | 2 +- data/maps/BattlePyramidSquare11/map.json | 2 +- data/maps/BattlePyramidSquare12/map.json | 2 +- data/maps/BattlePyramidSquare13/map.json | 2 +- data/maps/BattlePyramidSquare14/map.json | 2 +- data/maps/BattlePyramidSquare15/map.json | 2 +- data/maps/BattlePyramidSquare16/map.json | 2 +- data/maps/BirthIsland_Exterior/map.json | 2 +- data/maps/BirthIsland_Harbor/map.json | 2 +- data/maps/CaveOfOrigin_B1F/map.json | 2 +- data/maps/InsideOfTruck/map.json | 2 +- include/constants/songs.h | 2 ++ 23 files changed, 24 insertions(+), 22 deletions(-) diff --git a/data/maps/BattleFrontier_BattlePyramidEmptySquare/map.json b/data/maps/BattleFrontier_BattlePyramidEmptySquare/map.json index 14a2e7d237..3f4739b26b 100644 --- a/data/maps/BattleFrontier_BattlePyramidEmptySquare/map.json +++ b/data/maps/BattleFrontier_BattlePyramidEmptySquare/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE", "name": "BattleFrontier_BattlePyramidEmptySquare", "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_BATTLE_FRONTIER", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BattleFrontier_BattlePyramidTop/map.json b/data/maps/BattleFrontier_BattlePyramidTop/map.json index fcb4594267..d73dc16923 100644 --- a/data/maps/BattleFrontier_BattlePyramidTop/map.json +++ b/data/maps/BattleFrontier_BattlePyramidTop/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP", "name": "BattleFrontier_BattlePyramidTop", "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_BATTLE_FRONTIER", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BattlePyramidSquare01/map.json b/data/maps/BattlePyramidSquare01/map.json index 2b0d26de03..d4cbfd71d9 100644 --- a/data/maps/BattlePyramidSquare01/map.json +++ b/data/maps/BattlePyramidSquare01/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_PYRAMID_SQUARE01", "name": "BattlePyramidSquare01", "layout": "LAYOUT_BATTLE_PYRAMID_SQUARE01", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BattlePyramidSquare02/map.json b/data/maps/BattlePyramidSquare02/map.json index 32b0ad7ec3..e68b71284f 100644 --- a/data/maps/BattlePyramidSquare02/map.json +++ b/data/maps/BattlePyramidSquare02/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_PYRAMID_SQUARE02", "name": "BattlePyramidSquare02", "layout": "LAYOUT_BATTLE_PYRAMID_SQUARE02", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BattlePyramidSquare03/map.json b/data/maps/BattlePyramidSquare03/map.json index bbec7daa4d..8a495158e7 100644 --- a/data/maps/BattlePyramidSquare03/map.json +++ b/data/maps/BattlePyramidSquare03/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_PYRAMID_SQUARE03", "name": "BattlePyramidSquare03", "layout": "LAYOUT_BATTLE_PYRAMID_SQUARE03", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BattlePyramidSquare04/map.json b/data/maps/BattlePyramidSquare04/map.json index 8f63efd06f..e413a7e5fc 100644 --- a/data/maps/BattlePyramidSquare04/map.json +++ b/data/maps/BattlePyramidSquare04/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_PYRAMID_SQUARE04", "name": "BattlePyramidSquare04", "layout": "LAYOUT_BATTLE_PYRAMID_SQUARE04", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BattlePyramidSquare05/map.json b/data/maps/BattlePyramidSquare05/map.json index 7e26a9ee36..d16a87646e 100644 --- a/data/maps/BattlePyramidSquare05/map.json +++ b/data/maps/BattlePyramidSquare05/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_PYRAMID_SQUARE05", "name": "BattlePyramidSquare05", "layout": "LAYOUT_BATTLE_PYRAMID_SQUARE05", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BattlePyramidSquare06/map.json b/data/maps/BattlePyramidSquare06/map.json index 289a1e5c2e..ddf011814a 100644 --- a/data/maps/BattlePyramidSquare06/map.json +++ b/data/maps/BattlePyramidSquare06/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_PYRAMID_SQUARE06", "name": "BattlePyramidSquare06", "layout": "LAYOUT_BATTLE_PYRAMID_SQUARE06", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BattlePyramidSquare07/map.json b/data/maps/BattlePyramidSquare07/map.json index 7452345476..8719c6d25c 100644 --- a/data/maps/BattlePyramidSquare07/map.json +++ b/data/maps/BattlePyramidSquare07/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_PYRAMID_SQUARE07", "name": "BattlePyramidSquare07", "layout": "LAYOUT_BATTLE_PYRAMID_SQUARE07", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BattlePyramidSquare08/map.json b/data/maps/BattlePyramidSquare08/map.json index cac7ed96e2..54cfa4fe80 100644 --- a/data/maps/BattlePyramidSquare08/map.json +++ b/data/maps/BattlePyramidSquare08/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_PYRAMID_SQUARE08", "name": "BattlePyramidSquare08", "layout": "LAYOUT_BATTLE_PYRAMID_SQUARE08", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BattlePyramidSquare09/map.json b/data/maps/BattlePyramidSquare09/map.json index b5a1113346..67b9ceb1fe 100644 --- a/data/maps/BattlePyramidSquare09/map.json +++ b/data/maps/BattlePyramidSquare09/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_PYRAMID_SQUARE09", "name": "BattlePyramidSquare09", "layout": "LAYOUT_BATTLE_PYRAMID_SQUARE09", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BattlePyramidSquare10/map.json b/data/maps/BattlePyramidSquare10/map.json index 5171d112e4..0a5e88bf7f 100644 --- a/data/maps/BattlePyramidSquare10/map.json +++ b/data/maps/BattlePyramidSquare10/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_PYRAMID_SQUARE10", "name": "BattlePyramidSquare10", "layout": "LAYOUT_BATTLE_PYRAMID_SQUARE10", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BattlePyramidSquare11/map.json b/data/maps/BattlePyramidSquare11/map.json index 58ac0476f3..5dc7736a3a 100644 --- a/data/maps/BattlePyramidSquare11/map.json +++ b/data/maps/BattlePyramidSquare11/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_PYRAMID_SQUARE11", "name": "BattlePyramidSquare11", "layout": "LAYOUT_BATTLE_PYRAMID_SQUARE11", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BattlePyramidSquare12/map.json b/data/maps/BattlePyramidSquare12/map.json index 648c3e3a65..dcb57812d9 100644 --- a/data/maps/BattlePyramidSquare12/map.json +++ b/data/maps/BattlePyramidSquare12/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_PYRAMID_SQUARE12", "name": "BattlePyramidSquare12", "layout": "LAYOUT_BATTLE_PYRAMID_SQUARE12", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BattlePyramidSquare13/map.json b/data/maps/BattlePyramidSquare13/map.json index c9342b3b9e..d277c5b1bc 100644 --- a/data/maps/BattlePyramidSquare13/map.json +++ b/data/maps/BattlePyramidSquare13/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_PYRAMID_SQUARE13", "name": "BattlePyramidSquare13", "layout": "LAYOUT_BATTLE_PYRAMID_SQUARE13", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BattlePyramidSquare14/map.json b/data/maps/BattlePyramidSquare14/map.json index 6f94619676..5727356edb 100644 --- a/data/maps/BattlePyramidSquare14/map.json +++ b/data/maps/BattlePyramidSquare14/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_PYRAMID_SQUARE14", "name": "BattlePyramidSquare14", "layout": "LAYOUT_BATTLE_PYRAMID_SQUARE14", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BattlePyramidSquare15/map.json b/data/maps/BattlePyramidSquare15/map.json index 3aa2571f66..62c7e34f33 100644 --- a/data/maps/BattlePyramidSquare15/map.json +++ b/data/maps/BattlePyramidSquare15/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_PYRAMID_SQUARE15", "name": "BattlePyramidSquare15", "layout": "LAYOUT_BATTLE_PYRAMID_SQUARE15", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BattlePyramidSquare16/map.json b/data/maps/BattlePyramidSquare16/map.json index 70b677c34f..a69a0ed5a3 100644 --- a/data/maps/BattlePyramidSquare16/map.json +++ b/data/maps/BattlePyramidSquare16/map.json @@ -2,7 +2,7 @@ "id": "MAP_BATTLE_PYRAMID_SQUARE16", "name": "BattlePyramidSquare16", "layout": "LAYOUT_BATTLE_PYRAMID_SQUARE16", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_DYNAMIC", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BirthIsland_Exterior/map.json b/data/maps/BirthIsland_Exterior/map.json index c87f39fb8c..c3e5ddddf6 100644 --- a/data/maps/BirthIsland_Exterior/map.json +++ b/data/maps/BirthIsland_Exterior/map.json @@ -2,7 +2,7 @@ "id": "MAP_BIRTH_ISLAND_EXTERIOR", "name": "BirthIsland_Exterior", "layout": "LAYOUT_BIRTH_ISLAND_EXTERIOR", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_BIRTH_ISLAND_2", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/BirthIsland_Harbor/map.json b/data/maps/BirthIsland_Harbor/map.json index b212247bb1..48937d4824 100644 --- a/data/maps/BirthIsland_Harbor/map.json +++ b/data/maps/BirthIsland_Harbor/map.json @@ -2,7 +2,7 @@ "id": "MAP_BIRTH_ISLAND_HARBOR", "name": "BirthIsland_Harbor", "layout": "LAYOUT_ISLAND_HARBOR", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_BIRTH_ISLAND_2", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/data/maps/CaveOfOrigin_B1F/map.json b/data/maps/CaveOfOrigin_B1F/map.json index 2a764c677d..ac3baeaf87 100644 --- a/data/maps/CaveOfOrigin_B1F/map.json +++ b/data/maps/CaveOfOrigin_B1F/map.json @@ -2,7 +2,7 @@ "id": "MAP_CAVE_OF_ORIGIN_B1F", "name": "CaveOfOrigin_B1F", "layout": "LAYOUT_CAVE_OF_ORIGIN_B1F", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_CAVE_OF_ORIGIN", "requires_flash": false, "weather": "WEATHER_FOG_1", diff --git a/data/maps/InsideOfTruck/map.json b/data/maps/InsideOfTruck/map.json index eefeed3654..ff76eb7748 100644 --- a/data/maps/InsideOfTruck/map.json +++ b/data/maps/InsideOfTruck/map.json @@ -2,7 +2,7 @@ "id": "MAP_INSIDE_OF_TRUCK", "name": "InsideOfTruck", "layout": "LAYOUT_INSIDE_OF_TRUCK", - "music": "65535", + "music": "MUS_NONE", "region_map_section": "MAPSEC_INSIDE_OF_TRUCK", "requires_flash": false, "weather": "WEATHER_NONE", diff --git a/include/constants/songs.h b/include/constants/songs.h index a459edd241..14b766965d 100644 --- a/include/constants/songs.h +++ b/include/constants/songs.h @@ -538,4 +538,6 @@ #define MUS_ROUTE_118 0x7FFF // map is split into 2 music sections. controlled by GetCurrLocationDefaultMusic(). +#define MUS_NONE 0xFFFF + #endif // GUARD_CONSTANTS_SONGS_H From 291df27dcbc9b1d1ea4bdf2f7363d58409fbd81d Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Tue, 12 Mar 2019 02:21:00 -0400 Subject: [PATCH 41/47] Use new MUS_NONE constant in sound.c --- src/sound.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sound.c b/src/sound.c index ebb4fad75d..16f024858f 100644 --- a/src/sound.c +++ b/src/sound.c @@ -264,7 +264,7 @@ void FadeInNewBGM(u16 songNum, u8 speed) { if (gDisableMusic) songNum = 0; - if (songNum == 0xFFFF) + if (songNum == MUS_NONE) songNum = 0; m4aSongNumStart(songNum); m4aMPlayImmInit(&gMPlayInfo_BGM); @@ -561,7 +561,7 @@ void PlayBGM(u16 songNum) { if (gDisableMusic) songNum = 0; - if (songNum == 0xFFFF) + if (songNum == MUS_NONE) songNum = 0; m4aSongNumStart(songNum); } From 9848f84b9ec2d5950cb5dc4600b7651486ff986a Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Mon, 11 Mar 2019 03:12:15 -0400 Subject: [PATCH 42/47] Use constants for Oam .shape and .size fields Also some general formatting fixes for constants. --- include/gba/types.h | 23 ++ src/battle_anim.c | 288 ++++++++++++------------ src/battle_arena.c | 4 +- src/battle_bg.c | 8 +- src/battle_dome.c | 16 +- src/battle_factory_screen.c | 16 +- src/battle_interface.c | 16 +- src/battle_main.c | 8 +- src/battle_pyramid_bag.c | 4 +- src/battle_script_commands.c | 4 +- src/battle_transition.c | 4 +- src/berry_blender.c | 20 +- src/cable_car.c | 9 +- src/contest_painting.c | 4 +- src/credits.c | 4 +- src/data/field_event_obj/base_oam.h | 32 +-- src/decoration.c | 4 +- src/easy_chat.c | 24 +- src/egg_hatch.c | 8 +- src/evolution_graphics.c | 4 +- src/field_effect.c | 144 ++++++++---- src/field_weather_effect.c | 28 +-- src/fldeff_cut.c | 4 +- src/fldeff_misc.c | 8 +- src/hall_of_fame.c | 4 +- src/intro.c | 48 ++-- src/intro_credits_graphics.c | 159 ++++++++----- src/item_icon.c | 4 +- src/item_menu_icons.c | 20 +- src/link_rfu.c | 3 +- src/list_menu.c | 40 ++-- src/menu_helpers.c | 4 +- src/mirage_tower.c | 12 +- src/mon_markings.c | 12 +- src/money.c | 4 +- src/naming_screen.c | 12 +- src/party_menu.c | 16 +- src/pokeball.c | 4 +- src/pokeblock.c | 4 +- src/pokeblock_feed.c | 4 +- src/pokedex.c | 24 +- src/pokedex_area_screen.c | 46 ++-- src/pokedex_cry_screen.c | 27 ++- src/pokemon.c | 4 +- src/pokemon_icon.c | 4 +- src/pokemon_storage_system.c | 35 +-- src/pokemon_summary_screen.c | 12 +- src/rayquaza_scene.c | 32 +-- src/region_map.c | 213 +++++++++++++----- src/reset_rtc_screen.c | 4 +- src/rotating_gate.c | 8 +- src/roulette.c | 290 +++++++++++++++--------- src/save_failed_screen.c | 26 +-- src/sprite.c | 30 +-- src/starter_choose.c | 40 ++-- src/title_screen.c | 49 ++-- src/trade.c | 336 +++++++++++++++++----------- src/trainer_pokemon_sprites.c | 9 +- src/trainer_see.c | 19 +- src/unk_transition.c | 13 +- src/wallclock.c | 80 +++++-- 61 files changed, 1422 insertions(+), 913 deletions(-) diff --git a/include/gba/types.h b/include/gba/types.h index 3d78b5b5ee..cb370c7854 100644 --- a/include/gba/types.h +++ b/include/gba/types.h @@ -87,6 +87,29 @@ struct OamData #define ST_OAM_H_RECTANGLE 1 #define ST_OAM_V_RECTANGLE 2 +#define ST_OAM_SIZE_0 0 +#define ST_OAM_SIZE_1 1 +#define ST_OAM_SIZE_2 2 +#define ST_OAM_SIZE_3 3 + +#define SPRITE_SIZE_8x8 ((ST_OAM_SIZE_0 << 2) | (ST_OAM_SQUARE)) +#define SPRITE_SIZE_16x16 ((ST_OAM_SIZE_1 << 2) | (ST_OAM_SQUARE)) +#define SPRITE_SIZE_32x32 ((ST_OAM_SIZE_2 << 2) | (ST_OAM_SQUARE)) +#define SPRITE_SIZE_64x64 ((ST_OAM_SIZE_3 << 2) | (ST_OAM_SQUARE)) + +#define SPRITE_SIZE_16x8 ((ST_OAM_SIZE_0 << 2) | (ST_OAM_H_RECTANGLE)) +#define SPRITE_SIZE_32x8 ((ST_OAM_SIZE_1 << 2) | (ST_OAM_H_RECTANGLE)) +#define SPRITE_SIZE_32x16 ((ST_OAM_SIZE_2 << 2) | (ST_OAM_H_RECTANGLE)) +#define SPRITE_SIZE_64x32 ((ST_OAM_SIZE_3 << 2) | (ST_OAM_H_RECTANGLE)) + +#define SPRITE_SIZE_8x16 ((ST_OAM_SIZE_0 << 2) | (ST_OAM_V_RECTANGLE)) +#define SPRITE_SIZE_8x32 ((ST_OAM_SIZE_1 << 2) | (ST_OAM_V_RECTANGLE)) +#define SPRITE_SIZE_16x32 ((ST_OAM_SIZE_2 << 2) | (ST_OAM_V_RECTANGLE)) +#define SPRITE_SIZE_32x64 ((ST_OAM_SIZE_3 << 2) | (ST_OAM_V_RECTANGLE)) + +#define SPRITE_SIZE(dim) (SPRITE_SIZE_##dim >> 2) +#define SPRITE_SHAPE(dim) (SPRITE_SIZE_##dim & 0xFF) + struct BgAffineSrcData { s32 texX; diff --git a/src/battle_anim.c b/src/battle_anim.c index f1cff1de2a..31ff11ee8e 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -119,8 +119,8 @@ const struct OamData gUnknown_08524904 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), .priority = 2, }; @@ -129,8 +129,8 @@ const struct OamData gUnknown_0852490C = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), .priority = 2, }; @@ -138,8 +138,8 @@ const struct OamData gUnknown_08524914 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 2, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), .priority = 2, }; @@ -147,8 +147,8 @@ const struct OamData gUnknown_0852491C = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 3, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), .priority = 2, }; @@ -156,8 +156,8 @@ const struct OamData gUnknown_08524924 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_H_RECTANGLE, - .size = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), .priority = 2, }; @@ -165,8 +165,8 @@ const struct OamData gUnknown_0852492C = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_H_RECTANGLE, - .size = 1, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), .priority = 2, }; @@ -174,8 +174,8 @@ const struct OamData gUnknown_08524934 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_H_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), .priority = 2, }; @@ -183,8 +183,8 @@ const struct OamData gUnknown_0852493C = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_H_RECTANGLE, - .size = 3, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), .priority = 2, }; @@ -192,8 +192,8 @@ const struct OamData gUnknown_08524944 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_V_RECTANGLE, - .size = 0, + .shape = SPRITE_SHAPE(8x16), + .size = SPRITE_SIZE(8x16), .priority = 2, }; @@ -201,8 +201,8 @@ const struct OamData gUnknown_0852494C = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_V_RECTANGLE, - .size = 1, + .shape = SPRITE_SHAPE(8x32), + .size = SPRITE_SIZE(8x32), .priority = 2, }; @@ -210,8 +210,8 @@ const struct OamData gUnknown_08524954 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_V_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), .priority = 2, }; @@ -219,8 +219,8 @@ const struct OamData gUnknown_0852495C = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_V_RECTANGLE, - .size = 3, + .shape = SPRITE_SHAPE(32x64), + .size = SPRITE_SIZE(32x64), .priority = 2, }; @@ -228,8 +228,8 @@ const struct OamData gUnknown_08524964 = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), .priority = 2, }; @@ -237,8 +237,8 @@ const struct OamData gUnknown_0852496C = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), .priority = 2, }; @@ -246,8 +246,8 @@ const struct OamData gUnknown_08524974 = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 2, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), .priority = 2, }; @@ -255,8 +255,8 @@ const struct OamData gUnknown_0852497C = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 3, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), .priority = 2, }; @@ -264,8 +264,8 @@ const struct OamData gUnknown_08524984 = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_H_RECTANGLE, - .size = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), .priority = 2, }; @@ -273,8 +273,8 @@ const struct OamData gUnknown_0852498C = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_H_RECTANGLE, - .size = 1, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), .priority = 2, }; @@ -282,8 +282,8 @@ const struct OamData gUnknown_08524994 = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_H_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), .priority = 2, }; @@ -291,8 +291,8 @@ const struct OamData gUnknown_0852499C = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_H_RECTANGLE, - .size = 3, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), .priority = 2, }; @@ -300,8 +300,8 @@ const struct OamData gUnknown_085249A4 = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_V_RECTANGLE, - .size = 0, + .shape = SPRITE_SHAPE(8x16), + .size = SPRITE_SIZE(8x16), .priority = 2, }; @@ -309,8 +309,8 @@ const struct OamData gUnknown_085249AC = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_V_RECTANGLE, - .size = 1, + .shape = SPRITE_SHAPE(8x32), + .size = SPRITE_SIZE(8x32), .priority = 2, }; @@ -318,8 +318,8 @@ const struct OamData gUnknown_085249B4 = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_V_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), .priority = 2, }; @@ -327,8 +327,8 @@ const struct OamData gUnknown_085249BC = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_V_RECTANGLE, - .size = 3, + .shape = SPRITE_SHAPE(32x64), + .size = SPRITE_SIZE(32x64), .priority = 2, }; @@ -336,8 +336,8 @@ const struct OamData gUnknown_085249C4 = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), .priority = 2, }; @@ -345,8 +345,8 @@ const struct OamData gUnknown_085249CC = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), .priority = 2, }; @@ -354,8 +354,8 @@ const struct OamData gUnknown_085249D4 = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 2, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), .priority = 2, }; @@ -363,8 +363,8 @@ const struct OamData gUnknown_085249DC = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 3, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), .priority = 2, }; @@ -372,8 +372,8 @@ const struct OamData gUnknown_085249E4 = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_H_RECTANGLE, - .size = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), .priority = 2, }; @@ -381,8 +381,8 @@ const struct OamData gUnknown_085249EC = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_H_RECTANGLE, - .size = 1, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), .priority = 2, }; @@ -390,8 +390,8 @@ const struct OamData gUnknown_085249F4 = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_H_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), .priority = 2, }; @@ -399,8 +399,8 @@ const struct OamData gUnknown_085249FC = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_H_RECTANGLE, - .size = 3, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), .priority = 2, }; @@ -408,8 +408,8 @@ const struct OamData gUnknown_08524A04 = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_V_RECTANGLE, - .size = 0, + .shape = SPRITE_SHAPE(8x16), + .size = SPRITE_SIZE(8x16), .priority = 2, }; @@ -417,8 +417,8 @@ const struct OamData gUnknown_08524A0C = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_V_RECTANGLE, - .size = 1, + .shape = SPRITE_SHAPE(8x32), + .size = SPRITE_SIZE(8x32), .priority = 2, }; @@ -426,8 +426,8 @@ const struct OamData gUnknown_08524A14 = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_V_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), .priority = 2, }; @@ -435,8 +435,8 @@ const struct OamData gUnknown_08524A1C = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_V_RECTANGLE, - .size = 3, + .shape = SPRITE_SHAPE(32x64), + .size = SPRITE_SIZE(32x64), .priority = 2, }; @@ -444,8 +444,8 @@ const struct OamData gUnknown_08524A24 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_SQUARE, - .size = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), .priority = 2, }; @@ -453,8 +453,8 @@ const struct OamData gUnknown_08524A2C = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_SQUARE, - .size = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), .priority = 2, }; @@ -462,8 +462,8 @@ const struct OamData gUnknown_08524A34 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_SQUARE, - .size = 2, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), .priority = 2, }; @@ -471,8 +471,8 @@ const struct OamData gUnknown_08524A3C = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_SQUARE, - .size = 3, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), .priority = 2, }; @@ -480,8 +480,8 @@ const struct OamData gUnknown_08524A44 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_H_RECTANGLE, - .size = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), .priority = 2, }; @@ -489,8 +489,8 @@ const struct OamData gUnknown_08524A4C = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_H_RECTANGLE, - .size = 1, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), .priority = 2, }; @@ -498,8 +498,8 @@ const struct OamData gUnknown_08524A54 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_H_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), .priority = 2, }; @@ -507,8 +507,8 @@ const struct OamData gUnknown_08524A5C = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_H_RECTANGLE, - .size = 3, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), .priority = 2, }; @@ -516,8 +516,8 @@ const struct OamData gUnknown_08524A64 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_V_RECTANGLE, - .size = 0, + .shape = SPRITE_SHAPE(8x16), + .size = SPRITE_SIZE(8x16), .priority = 2, }; @@ -525,8 +525,8 @@ const struct OamData gUnknown_08524A6C = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_V_RECTANGLE, - .size = 1, + .shape = SPRITE_SHAPE(8x32), + .size = SPRITE_SIZE(8x32), .priority = 2, }; @@ -534,8 +534,8 @@ const struct OamData gUnknown_08524A74 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_V_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), .priority = 2, }; @@ -543,8 +543,8 @@ const struct OamData gUnknown_08524A7C = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_V_RECTANGLE, - .size = 3, + .shape = SPRITE_SHAPE(32x64), + .size = SPRITE_SIZE(32x64), .priority = 2, }; @@ -552,8 +552,8 @@ const struct OamData gUnknown_08524A84 = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_SQUARE, - .size = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), .priority = 2, }; @@ -561,8 +561,8 @@ const struct OamData gUnknown_08524A8C = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_SQUARE, - .size = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), .priority = 2, }; @@ -570,8 +570,8 @@ const struct OamData gUnknown_08524A94 = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_SQUARE, - .size = 2, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), .priority = 2, }; @@ -579,8 +579,8 @@ const struct OamData gUnknown_08524A9C = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_SQUARE, - .size = 3, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), .priority = 2, }; @@ -588,8 +588,8 @@ const struct OamData gUnknown_08524AA4 = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_H_RECTANGLE, - .size = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), .priority = 2, }; @@ -597,8 +597,8 @@ const struct OamData gUnknown_08524AAC = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_H_RECTANGLE, - .size = 1, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), .priority = 2, }; @@ -606,8 +606,8 @@ const struct OamData gUnknown_08524AB4 = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_H_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), .priority = 2, }; @@ -615,8 +615,8 @@ const struct OamData gUnknown_08524ABC = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_H_RECTANGLE, - .size = 3, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), .priority = 2, }; @@ -624,8 +624,8 @@ const struct OamData gUnknown_08524AC4 = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_V_RECTANGLE, - .size = 0, + .shape = SPRITE_SHAPE(8x16), + .size = SPRITE_SIZE(8x16), .priority = 2, }; @@ -633,8 +633,8 @@ const struct OamData gUnknown_08524ACC = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_V_RECTANGLE, - .size = 1, + .shape = SPRITE_SHAPE(8x32), + .size = SPRITE_SIZE(8x32), .priority = 2, }; @@ -642,8 +642,8 @@ const struct OamData gUnknown_08524AD4 = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_V_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), .priority = 2, }; @@ -651,8 +651,8 @@ const struct OamData gUnknown_08524ADC = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_V_RECTANGLE, - .size = 3, + .shape = SPRITE_SHAPE(32x64), + .size = SPRITE_SIZE(32x64), .priority = 2, }; @@ -660,8 +660,8 @@ const struct OamData gUnknown_08524AE4 = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_SQUARE, - .size = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), .priority = 2, }; @@ -669,8 +669,8 @@ const struct OamData gUnknown_08524AEC = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_SQUARE, - .size = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), .priority = 2, }; @@ -678,8 +678,8 @@ const struct OamData gUnknown_08524AF4 = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_SQUARE, - .size = 2, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), .priority = 2, }; @@ -687,8 +687,8 @@ const struct OamData gUnknown_08524AFC = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_SQUARE, - .size = 3, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), .priority = 2, }; @@ -696,8 +696,8 @@ const struct OamData gUnknown_08524B04 = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_H_RECTANGLE, - .size = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), .priority = 2, }; @@ -705,8 +705,8 @@ const struct OamData gUnknown_08524B0C = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_H_RECTANGLE, - .size = 1, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), .priority = 2, }; @@ -714,8 +714,8 @@ const struct OamData gUnknown_08524B14 = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_H_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), .priority = 2, }; @@ -723,8 +723,8 @@ const struct OamData gUnknown_08524B1C = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_H_RECTANGLE, - .size = 3, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), .priority = 2, }; @@ -732,8 +732,8 @@ const struct OamData gUnknown_08524B24 = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_V_RECTANGLE, - .size = 0, + .shape = SPRITE_SHAPE(8x16), + .size = SPRITE_SIZE(8x16), .priority = 2, }; @@ -741,8 +741,8 @@ const struct OamData gUnknown_08524B2C = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_V_RECTANGLE, - .size = 1, + .shape = SPRITE_SHAPE(8x32), + .size = SPRITE_SIZE(8x32), .priority = 2, }; @@ -750,8 +750,8 @@ const struct OamData gUnknown_08524B34 = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_V_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), .priority = 2, }; @@ -759,8 +759,8 @@ const struct OamData gUnknown_08524B3C = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_BLEND, - .shape = ST_OAM_V_RECTANGLE, - .size = 3, + .shape = SPRITE_SHAPE(32x64), + .size = SPRITE_SIZE(32x64), .priority = 2, }; diff --git a/src/battle_arena.c b/src/battle_arena.c index 8146f5b389..f785fa7c3d 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -406,10 +406,10 @@ static const struct OamData sJudgementIconOamData = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 0, .paletteNum = 15, diff --git a/src/battle_bg.c b/src/battle_bg.c index 9ca0f8b846..524f73abf7 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -42,10 +42,10 @@ static const struct OamData gUnknown_0831A988 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -59,10 +59,10 @@ static const struct OamData gUnknown_0831A990 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 64, .priority = 0, .paletteNum = 0, diff --git a/src/battle_dome.c b/src/battle_dome.c index f86faeffb4..1b79531804 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -872,10 +872,10 @@ static const struct OamData gUnknown_0860CF70 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -889,10 +889,10 @@ static const struct OamData gUnknown_0860CF78 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(32x16), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x16), .tileNum = 0, .priority = 0, .paletteNum = 1, @@ -906,10 +906,10 @@ static const struct OamData gUnknown_0860CF80 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(16x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(16x8), .tileNum = 0, .priority = 0, .paletteNum = 2, @@ -923,10 +923,10 @@ static const struct OamData gUnknown_0860CF88 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 2, + .shape = SPRITE_SHAPE(8x16), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x16), .tileNum = 0, .priority = 0, .paletteNum = 2, diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c index 85c0b28089..367c1401fc 100644 --- a/src/battle_factory_screen.c +++ b/src/battle_factory_screen.c @@ -385,10 +385,10 @@ static const struct OamData gUnknown_0861047C = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 3, .paletteNum = 0, @@ -402,10 +402,10 @@ static const struct OamData gUnknown_08610484 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 3, .paletteNum = 0, @@ -419,10 +419,10 @@ static const struct OamData gUnknown_0861048C = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(32x16), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x16), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -436,10 +436,10 @@ static const struct OamData gUnknown_08610494 = .objMode = 1, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 0, .paletteNum = 0, diff --git a/src/battle_interface.c b/src/battle_interface.c index f2916012e1..a8651f6cf6 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -207,10 +207,10 @@ static const struct OamData sUnknown_0832C138 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x32), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -279,10 +279,10 @@ static const struct OamData sOamData_Healthbar = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(32x8), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(32x8), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -446,10 +446,10 @@ static const struct OamData sUnknown_0832C354 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x32), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -463,10 +463,10 @@ static const struct OamData sOamData_StatusSummaryBalls = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x8), .tileNum = 0, .priority = 1, .paletteNum = 0, diff --git a/src/battle_main.c b/src/battle_main.c index 2b0c5980ed..0f593fef6f 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -296,10 +296,10 @@ const struct OamData gOamData_831ACA8 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -313,10 +313,10 @@ const struct OamData gOamData_831ACB0 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 2, .paletteNum = 2, diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index 2e13ea08ba..3b8cac14f5 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -282,10 +282,10 @@ static const struct OamData gOamData_861F378 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 1, .paletteNum = 0, diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index ac9fb3073a..025d694e4b 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -733,10 +733,10 @@ static const struct OamData sOamData_MonIconOnLvlUpBox = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 0, .paletteNum = 0, diff --git a/src/battle_transition.c b/src/battle_transition.c index 786d5e8693..df6180d19b 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -763,10 +763,10 @@ static const struct OamData gOamData_85C8E80 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 0, .paletteNum = 0, diff --git a/src/berry_blender.c b/src/berry_blender.c index 450bcae420..c792b9b40e 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -404,10 +404,10 @@ static const struct OamData sOamData_8216314 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -547,10 +547,10 @@ static const struct OamData sOamData_821640C = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -616,10 +616,10 @@ static const struct OamData sOamData_8216474 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x8), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -703,10 +703,10 @@ static const struct OamData sOamData_8216514 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -761,10 +761,10 @@ static const struct OamData sOamData_8216560 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x32), .tileNum = 0, .priority = 1, .paletteNum = 0, diff --git a/src/cable_car.c b/src/cable_car.c index 420bdd30f6..ab7b5726a1 100755 --- a/src/cable_car.c +++ b/src/cable_car.c @@ -153,19 +153,22 @@ const struct SpritePalette gUnknown_085CDB74[] = { const struct OamData gOamData_85CDB84 = { .affineMode = ST_OAM_AFFINE_DOUBLE, - .size = 3, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), .priority = 2 }; const struct OamData gOamData_85CDB8C = { .affineMode = ST_OAM_AFFINE_DOUBLE, - .shape = ST_OAM_H_RECTANGLE, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), .priority = 2 }; const struct OamData gOamData_85CDB94 = { .affineMode = ST_OAM_AFFINE_DOUBLE, - .size = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), .priority = 2 }; diff --git a/src/contest_painting.c b/src/contest_painting.c index 931deb01bf..29f3c871d6 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -154,10 +154,10 @@ const struct OamData gUnknown_085B0830 = .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 1, .bpp = ST_OAM_8BPP, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 0, .paletteNum = 0, diff --git a/src/credits.c b/src/credits.c index 4483e3160f..1e96514b17 100644 --- a/src/credits.c +++ b/src/credits.c @@ -1056,10 +1056,10 @@ static const struct OamData gUnknown_085E703C = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 1, .paletteNum = 0, diff --git a/src/data/field_event_obj/base_oam.h b/src/data/field_event_obj/base_oam.h index 543382d434..af961f492f 100755 --- a/src/data/field_event_obj/base_oam.h +++ b/src/data/field_event_obj/base_oam.h @@ -1,47 +1,47 @@ const struct OamData gEventObjectBaseOam_8x8 = { - .shape = 0, - .size = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), .priority = 2 }; const struct OamData gEventObjectBaseOam_16x8 = { - .shape = 1, - .size = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), .priority = 2 }; const struct OamData gEventObjectBaseOam_16x16 = { - .shape = 0, - .size = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), .priority = 2 }; const struct OamData gEventObjectBaseOam_32x8 = { - .shape = 1, - .size = 1, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), .priority = 2 }; const struct OamData gEventObjectBaseOam_64x32 = { - .shape = 1, - .size = 3, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), .priority = 2 }; const struct OamData gEventObjectBaseOam_16x32 = { - .shape = 2, - .size = 2, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), .priority = 2 }; const struct OamData gEventObjectBaseOam_32x32 = { - .shape = 0, - .size = 2, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), .priority = 2 }; const struct OamData gEventObjectBaseOam_64x64 = { - .shape = 0, - .size = 3, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), .priority = 2 }; diff --git a/src/decoration.c b/src/decoration.c index 0712b5d326..47e3ae18ce 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -392,7 +392,9 @@ const struct SpritePalette gUnknown_085A73E0 = { }; const struct OamData Unknown_085A73E8 = { - .size = 1, .priority = 1 + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .priority = 1 }; const union AnimCmd Unknown_085A73F0[] = { diff --git a/src/easy_chat.c b/src/easy_chat.c index b03058eb96..4cc8b9c5b2 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -772,10 +772,10 @@ static const struct OamData sOamData_8597D10 = { .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x8), .tileNum = 0, .priority = 3, .paletteNum = 0, @@ -798,10 +798,10 @@ static const struct OamData sUnknown_08597D30 = { .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_H_RECTANGLE, + .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x32), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -851,10 +851,10 @@ static const struct OamData sUnknown_08597D80 = { .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_H_RECTANGLE, + .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x32), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -913,10 +913,10 @@ static const struct OamData sUnknown_08597DE8 = { .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 3, .paletteNum = 0, @@ -939,10 +939,10 @@ static const struct OamData sUnknown_08597E08 = { .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_H_RECTANGLE, + .shape = SPRITE_SHAPE(32x8), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(32x8), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -955,10 +955,10 @@ static const struct OamData gUnknown_08597E10 = { .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 1, .paletteNum = 0, diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 68728f818d..00b67a5d97 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -86,10 +86,10 @@ static const struct OamData sOamData_EggHatch = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -166,10 +166,10 @@ static const struct OamData sOamData_EggShard = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x8), .tileNum = 0, .priority = 2, .paletteNum = 0, diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c index bfd46978ca..e36d47c2bb 100644 --- a/src/evolution_graphics.c +++ b/src/evolution_graphics.c @@ -53,10 +53,10 @@ static const struct OamData sOamData_EvoSparkle = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x8), .tileNum = 0, .priority = 1, .paletteNum = 0, diff --git a/src/field_effect.c b/src/field_effect.c index ee9dcb987a..825efc3803 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -270,7 +270,8 @@ const u8 gUnknown_0855C190[] = INCBIN_U8("graphics/unknown/unknown_55C190.4bpp") const u8 gUnknown_0855C1B0[] = INCBIN_U8("graphics/unknown/unknown_55C1B0.4bpp"); const u8 gUnknown_0855C1D0[] = INCBIN_U8("graphics/unknown/unknown_55C1D0.4bpp"); -bool8 (*const gFieldEffectScriptFuncs[])(u8 **, u32 *) = { +bool8 (*const gFieldEffectScriptFuncs[])(u8 **, u32 *) = +{ FieldEffectCmd_loadtiles, FieldEffectCmd_loadfadedpal, FieldEffectCmd_loadpal, @@ -281,25 +282,48 @@ bool8 (*const gFieldEffectScriptFuncs[])(u8 **, u32 *) = { FieldEffectCmd_loadfadedpal_callnative, }; -const struct OamData gNewGameBirchOamAttributes = {.size = 3}; -const struct OamData gOamData_855C218 = {.size = 0}; -const struct OamData gOamData_855C220 = {.size = 1}; +const struct OamData gNewGameBirchOamAttributes = +{ + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64) +}; -const struct SpriteFrameImage gNewGameBirchPicTable[] = { +const struct OamData gOamData_855C218 = +{ + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8) +}; + +const struct OamData gOamData_855C220 = +{ + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16) +}; + +const struct SpriteFrameImage gNewGameBirchPicTable[] = +{ obj_frame_tiles(gNewGameBirchPic) }; -const struct SpritePalette gNewGameBirchObjectPaletteInfo = {.data = gNewGameBirchPalette, .tag = 0x1006}; -const union AnimCmd gNewGameBirchImageAnim[] = { +const struct SpritePalette gNewGameBirchObjectPaletteInfo = +{ + .data = gNewGameBirchPalette, + .tag = 0x1006 +}; + +const union AnimCmd gNewGameBirchImageAnim[] = +{ ANIMCMD_FRAME(.imageValue = 0, .duration = 1), ANIMCMD_END }; -const union AnimCmd *const gNewGameBirchImageAnimTable[] = { +const union AnimCmd *const gNewGameBirchImageAnimTable[] = +{ gNewGameBirchImageAnim }; -const struct SpriteTemplate gNewGameBirchObjectTemplate = { +const struct SpriteTemplate gNewGameBirchObjectTemplate = +{ .tileTag = 0xFFFF, .paletteTag = 4102, .oam = &gNewGameBirchOamAttributes, @@ -309,31 +333,47 @@ const struct SpriteTemplate gNewGameBirchObjectTemplate = { .callback = SpriteCallbackDummy }; -const struct SpritePalette gFieldEffectObjectPaletteInfo4 = {.data = gFieldEffectObjectPalette4, .tag = 0x1007}; -const struct SpritePalette gFieldEffectObjectPaletteInfo5 = {.data = gFieldEffectObjectPalette5, .tag = 0x1010}; -const struct OamData gOamData_855C26C = { - .shape = 1, - .size = 2 +const struct SpritePalette gFieldEffectObjectPaletteInfo4 = +{ + .data = gFieldEffectObjectPalette4, + .tag = 0x1007 }; -const struct SpriteFrameImage gSpriteImageTable_855C274[] = { +const struct SpritePalette gFieldEffectObjectPaletteInfo5 = +{ + .data = gFieldEffectObjectPalette5, + .tag = 0x1010 +}; + +const struct OamData gOamData_855C26C = +{ + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16) +}; + +const struct SpriteFrameImage gSpriteImageTable_855C274[] = +{ obj_frame_tiles(gSpriteImage_855A970) }; -const struct SpriteFrameImage gSpriteImageTable_855C27C[] = { +const struct SpriteFrameImage gSpriteImageTable_855C27C[] = +{ obj_frame_tiles(gSpriteImage_855A9B0), obj_frame_tiles(gSpriteImage_855AA70) }; -const struct SpriteFrameImage gSpriteImageTable_855C28C[] = { +const struct SpriteFrameImage gSpriteImageTable_855C28C[] = +{ obj_frame_tiles(gSpriteImage_855AB30) }; -const struct SpriteFrameImage gSpriteImageTable_855C294[] = { +const struct SpriteFrameImage gSpriteImageTable_855C294[] = +{ {.data = gSpriteImage_855AD30, .size = 0x200} // the macro breaks down here }; -const struct Subsprite gSubspriteTable_855C29C[] = { +const struct Subsprite gSubspriteTable_855C29C[] = +{ {.x = -12, .y = -8, .priority = 2, .tileOffset = 0, .shape = 1, .size = 0}, {.x = 4, .y = -8, .priority = 2, .tileOffset = 2, .shape = 0, .size = 0}, {.x = -12, .y = 0, .priority = 2, .tileOffset = 3, .shape = 1, .size = 0}, @@ -342,7 +382,8 @@ const struct Subsprite gSubspriteTable_855C29C[] = { const struct SubspriteTable gUnknown_0855C2AC = subsprite_table(gSubspriteTable_855C29C); -const struct Subsprite gSubspriteTable_855C2B4[] = { +const struct Subsprite gSubspriteTable_855C2B4[] = +{ {.x = -32, .y = -8, .priority = 2, .tileOffset = 0, .shape = 1, .size = 1}, {.x = 0, .y = -8, .priority = 2, .tileOffset = 4, .shape = 1, .size = 1}, {.x = -32, .y = 0, .priority = 2, .tileOffset = 8, .shape = 1, .size = 1}, @@ -351,12 +392,14 @@ const struct Subsprite gSubspriteTable_855C2B4[] = { const struct SubspriteTable gUnknown_0855C2C4 = subsprite_table(gSubspriteTable_855C2B4); -const union AnimCmd gSpriteAnim_855C2CC[] = { +const union AnimCmd gSpriteAnim_855C2CC[] = +{ ANIMCMD_FRAME(.imageValue = 0, .duration = 1), ANIMCMD_JUMP(0) }; -const union AnimCmd gSpriteAnim_855C2D4[] = { +const union AnimCmd gSpriteAnim_855C2D4[] = +{ ANIMCMD_FRAME(.imageValue = 0, .duration = 16), ANIMCMD_FRAME(.imageValue = 1, .duration = 16), ANIMCMD_FRAME(.imageValue = 0, .duration = 16), @@ -368,16 +411,19 @@ const union AnimCmd gSpriteAnim_855C2D4[] = { ANIMCMD_END }; -const union AnimCmd *const gSpriteAnimTable_855C2F8[] = { +const union AnimCmd *const gSpriteAnimTable_855C2F8[] = +{ gSpriteAnim_855C2CC, gSpriteAnim_855C2D4 }; -const union AnimCmd *const gSpriteAnimTable_855C300[] = { +const union AnimCmd *const gSpriteAnimTable_855C300[] = +{ gSpriteAnim_855C2CC }; -const struct SpriteTemplate gSpriteTemplate_855C304 = { +const struct SpriteTemplate gSpriteTemplate_855C304 = +{ .tileTag = 0xFFFF, .paletteTag = 4103, .oam = &gOamData_855C218, @@ -387,7 +433,8 @@ const struct SpriteTemplate gSpriteTemplate_855C304 = { .callback = SpriteCB_PokeballGlow }; -const struct SpriteTemplate gSpriteTemplate_855C31C = { +const struct SpriteTemplate gSpriteTemplate_855C31C = +{ .tileTag = 0xFFFF, .paletteTag = 4100, .oam = &gOamData_855C220, @@ -397,7 +444,8 @@ const struct SpriteTemplate gSpriteTemplate_855C31C = { .callback = SpriteCB_PokecenterMonitor }; -const struct SpriteTemplate gSpriteTemplate_855C334 = { +const struct SpriteTemplate gSpriteTemplate_855C334 = +{ .tileTag = 0xFFFF, .paletteTag = 4112, .oam = &gOamData_855C220, @@ -407,7 +455,8 @@ const struct SpriteTemplate gSpriteTemplate_855C334 = { .callback = SpriteCB_HallOfFameMonitor }; -const struct SpriteTemplate gSpriteTemplate_855C34C = { +const struct SpriteTemplate gSpriteTemplate_855C34C = +{ .tileTag = 0xFFFF, .paletteTag = 4112, .oam = &gOamData_855C26C, @@ -417,21 +466,24 @@ const struct SpriteTemplate gSpriteTemplate_855C34C = { .callback = SpriteCB_HallOfFameMonitor }; -void (*const gUnknown_0855C364[])(struct Task *) = { +void (*const gUnknown_0855C364[])(struct Task *) = +{ PokecenterHealEffect_0, PokecenterHealEffect_1, PokecenterHealEffect_2, PokecenterHealEffect_3 }; -void (*const gUnknown_0855C374[])(struct Task *) = { +void (*const gUnknown_0855C374[])(struct Task *) = +{ HallOfFameRecordEffect_0, HallOfFameRecordEffect_1, HallOfFameRecordEffect_2, HallOfFameRecordEffect_3 }; -void (*const gUnknown_0855C384[])(struct Sprite *) = { +void (*const gUnknown_0855C384[])(struct Sprite *) = +{ PokeballGlowEffect_0, PokeballGlowEffect_1, PokeballGlowEffect_2, @@ -442,7 +494,8 @@ void (*const gUnknown_0855C384[])(struct Sprite *) = { PokeballGlowEffect_7 }; -const struct Coords16 gUnknown_0855C3A4[] = { +const struct Coords16 gUnknown_0855C3A4[] = +{ {.x = 0, .y = 0}, {.x = 6, .y = 0}, {.x = 0, .y = 4}, @@ -455,7 +508,8 @@ const u8 gUnknown_0855C3BC[] = {16, 12, 8, 0}; const u8 gUnknown_0855C3C0[] = {16, 12, 8, 0}; const u8 gUnknown_0855C3C4[] = { 0, 0, 0, 0}; -bool8 (*const gUnknown_0855C3C8[])(struct Task *) = { +bool8 (*const gUnknown_0855C3C8[])(struct Task *) = +{ sub_80B6BCC, sub_80B6C74, sub_80B6C90, @@ -465,7 +519,8 @@ bool8 (*const gUnknown_0855C3C8[])(struct Task *) = { sub_80B6E18, }; -bool8 (*const gUnknown_0855C3E4[])(struct Task *) = { +bool8 (*const gUnknown_0855C3E4[])(struct Task *) = +{ sub_80B6EC0, sub_80B6EE0, sub_80B6F50, @@ -474,7 +529,8 @@ bool8 (*const gUnknown_0855C3E4[])(struct Task *) = { sub_80B6FA8, }; -bool8 (*const gUnknown_0855C3FC[])(struct Task *) = { +bool8 (*const gUnknown_0855C3FC[])(struct Task *) = +{ sub_80B7114, sub_80B7190, sub_80B71D0, @@ -484,7 +540,8 @@ bool8 (*const gUnknown_0855C3FC[])(struct Task *) = { sub_80B72F4, }; -bool8 (*const gUnknown_0855C418[])(struct Task *, struct EventObject *) = { +bool8 (*const gUnknown_0855C418[])(struct Task *, struct EventObject *) = +{ sub_80B73D0, waterfall_1_do_anim_probably, waterfall_2_wait_anim_finish_probably, @@ -492,13 +549,15 @@ bool8 (*const gUnknown_0855C418[])(struct Task *, struct EventObject *) = { sub_80B7478, }; -bool8 (*const gUnknown_0855C42C[])(struct Task *) = { +bool8 (*const gUnknown_0855C42C[])(struct Task *) = +{ dive_1_lock, dive_2_unknown, dive_3_unknown, }; -bool8 (*const gUnknown_0855C438[])(struct Task *, struct EventObject *, struct Sprite *) = { +bool8 (*const gUnknown_0855C438[])(struct Task *, struct EventObject *, struct Sprite *) = +{ sub_80B764C, sub_80B7684, sub_80B76B8, @@ -507,14 +566,16 @@ bool8 (*const gUnknown_0855C438[])(struct Task *, struct EventObject *, struct S sub_80B7814, }; -bool8 (*const gUnknown_0855C450[])(struct Task *, struct EventObject *, struct Sprite *) = { +bool8 (*const gUnknown_0855C450[])(struct Task *, struct EventObject *, struct Sprite *) = +{ sub_80B78EC, sub_80B791C, sub_80B7968, sub_80B79BC, }; -bool8 (*const gUnknown_0855C460[])(struct Task *, struct EventObject *, struct Sprite *) = { +bool8 (*const gUnknown_0855C460[])(struct Task *, struct EventObject *, struct Sprite *) = +{ sub_80B7AE8, sub_80B7B18, sub_80B7B94, @@ -522,7 +583,8 @@ bool8 (*const gUnknown_0855C460[])(struct Task *, struct EventObject *, struct S sub_80B7BF4, }; -void (*const gEscapeRopeFieldEffectFuncs[])(struct Task *) = { +void (*const gEscapeRopeFieldEffectFuncs[])(struct Task *) = +{ EscapeRopeFieldEffect_Step0, EscapeRopeFieldEffect_Step1, }; diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index be8fdc6cb2..6ec83f1a0d 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -48,10 +48,10 @@ static const struct OamData gOamData_839A9DC = .objMode = 1, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 3, .paletteNum = 0, @@ -577,10 +577,10 @@ static const struct OamData gOamData_839AA68 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 2, + .shape = SPRITE_SHAPE(16x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(16x32), .tileNum = 0, .priority = 1, .paletteNum = 2, @@ -648,10 +648,10 @@ static const struct OamData gOamData_839AAD4 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x8), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -704,10 +704,10 @@ static const struct OamData gOamData_839AB2C = .objMode = 1, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -1517,10 +1517,10 @@ const struct OamData gOamData_839ABB8 = .objMode = 1, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 1, .paletteNum = 15, @@ -1754,10 +1754,10 @@ const struct OamData gOamData_839ABF0 = .objMode = 1, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -1953,10 +1953,10 @@ const struct OamData gOamData_839AC1C = .objMode = 1, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 1, .paletteNum = 0, diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index a715608c5c..b1f4a63689 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -132,10 +132,10 @@ static const struct OamData sOamData_CutGrass = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x8), .tileNum = 1, .priority = 1, .paletteNum = 1, diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c index d4d6075f3d..5d1920aac1 100644 --- a/src/fldeff_misc.c +++ b/src/fldeff_misc.c @@ -93,8 +93,8 @@ static const struct OamData gOamData_858E4D8 = .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_SQUARE, - .size = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), .priority = 2, }; @@ -246,8 +246,8 @@ static const struct OamData gOamData_858E658 = .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_V_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), .priority = 2, }; diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 2c31dba017..8eba90d962 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -178,10 +178,10 @@ static const struct OamData sOamData_85E53FC = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x8), .tileNum = 0, .priority = 0, .paletteNum = 0, diff --git a/src/intro.c b/src/intro.c index 84127cf64c..e97fbedb0a 100644 --- a/src/intro.c +++ b/src/intro.c @@ -145,10 +145,10 @@ static const struct OamData gUnknown_085E4A94 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -214,10 +214,10 @@ static const struct OamData gUnknown_085E4B28 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -251,10 +251,10 @@ static const struct OamData gUnknown_085E4B58 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -307,10 +307,10 @@ static const struct OamData gUnknown_085E4BBC = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -356,10 +356,10 @@ static const struct OamData gUnknown_085E4C14 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -441,10 +441,10 @@ static const struct OamData gUnknown_085E4CF0 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 2, + .shape = SPRITE_SHAPE(16x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(16x32), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -481,10 +481,10 @@ static const struct OamData gUnknown_085E4D2C = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -572,10 +572,10 @@ static const struct OamData gUnknown_085E4DD4 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -588,10 +588,10 @@ static const struct OamData gUnknown_085E4DDC = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x8), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -604,10 +604,10 @@ static const struct OamData gUnknown_085E4DE4 = .objMode = 1, .mosaic = 0, .bpp = 0, - .shape = 2, + .shape = SPRITE_SHAPE(32x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(32x64), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -804,10 +804,10 @@ static const struct OamData gUnknown_085E4FB0 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x32), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -857,10 +857,10 @@ static const struct OamData gUnknown_085E501C = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 0, .paletteNum = 0, diff --git a/src/intro_credits_graphics.c b/src/intro_credits_graphics.c index b98708324c..29ee2067fa 100644 --- a/src/intro_credits_graphics.c +++ b/src/intro_credits_graphics.c @@ -57,43 +57,51 @@ static void nullsub_65(struct Sprite *sprite); static void sub_817B7C4(struct Sprite *sprite); static void nullsub_66(struct Sprite *sprite); -static const struct SpriteTemplate gUnknown_085F504C = { +static const struct SpriteTemplate gUnknown_085F504C = +{ 2000, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_817B62C }; -static const struct CompressedSpriteSheet gUnknown_085F5064[] = { +static const struct CompressedSpriteSheet gUnknown_085F5064[] = +{ { gUnknown_085F16A8, 0x400, 2000 }, { NULL } }; -static const union AnimCmd gUnknown_085F5074[] = { +static const union AnimCmd gUnknown_085F5074[] = +{ ANIMCMD_FRAME( 0, 30), ANIMCMD_END }; -static const union AnimCmd gUnknown_085F507C[] = { +static const union AnimCmd gUnknown_085F507C[] = +{ ANIMCMD_FRAME(16, 30), ANIMCMD_END }; -static const union AnimCmd gUnknown_085F5084[] = { +static const union AnimCmd gUnknown_085F5084[] = +{ ANIMCMD_FRAME(20, 30), ANIMCMD_END }; -static const union AnimCmd gUnknown_085F508C[] = { +static const union AnimCmd gUnknown_085F508C[] = +{ ANIMCMD_FRAME(22, 30), ANIMCMD_END }; -static const union AnimCmd *const gUnknown_085F5094[] = { +static const union AnimCmd *const gUnknown_085F5094[] = +{ gUnknown_085F5074, gUnknown_085F507C, gUnknown_085F5084, gUnknown_085F508C }; -static const struct IntroCreditsSpriteMetadata gUnknown_085F50A4[] = { +static const struct IntroCreditsSpriteMetadata gUnknown_085F50A4[] = +{ { 0, ST_OAM_SQUARE, 2, 72, 32, 100, 0xc00 }, { 0, ST_OAM_SQUARE, 2, 158, 32, 100, 0xc00 }, { 1, ST_OAM_SQUARE, 1, 192, 40, 101, 0x800 }, @@ -105,33 +113,39 @@ static const struct IntroCreditsSpriteMetadata gUnknown_085F50A4[] = { { 3, ST_OAM_H_RECTANGLE, 0, 240, 46, 103, 0x100 }, }; -static const struct CompressedSpriteSheet gUnknown_085F50EC[] = { +static const struct CompressedSpriteSheet gUnknown_085F50EC[] = +{ { gIntro2TreeTiles, 0x400, 2000 }, { NULL } }; -static const union AnimCmd gUnknown_085F50FC[] = { +static const union AnimCmd gUnknown_085F50FC[] = +{ ANIMCMD_FRAME( 0, 30), ANIMCMD_END }; -static const union AnimCmd gUnknown_085F5104[] = { +static const union AnimCmd gUnknown_085F5104[] = +{ ANIMCMD_FRAME(16, 30), ANIMCMD_END }; -static const union AnimCmd gUnknown_085F510C[] = { +static const union AnimCmd gUnknown_085F510C[] = +{ ANIMCMD_FRAME(24, 30), ANIMCMD_END }; -static const union AnimCmd *const gUnknown_085F5114[] = { +static const union AnimCmd *const gUnknown_085F5114[] = +{ gUnknown_085F50FC, gUnknown_085F5104, gUnknown_085F510C }; -static const struct IntroCreditsSpriteMetadata gUnknown_085F5120[] = { +static const struct IntroCreditsSpriteMetadata gUnknown_085F5120[] = +{ { 0, ST_OAM_SQUARE, 2, 16, 88, 100, 0x2000 }, { 0, ST_OAM_SQUARE, 2, 80, 88, 100, 0x2000 }, { 0, ST_OAM_SQUARE, 2, 144, 88, 100, 0x2000 }, @@ -146,21 +160,25 @@ static const struct IntroCreditsSpriteMetadata gUnknown_085F5120[] = { { 2, ST_OAM_V_RECTANGLE, 2, 248, 88, 102, 0x800 }, }; -static const struct CompressedSpriteSheet gUnknown_085F5180[] = { +static const struct CompressedSpriteSheet gUnknown_085F5180[] = +{ { gIntro2NightTiles, 0x400, 2000 }, { NULL } }; -static const union AnimCmd gUnknown_085F5190[] = { +static const union AnimCmd gUnknown_085F5190[] = +{ ANIMCMD_FRAME(0, 30), ANIMCMD_END }; -static const union AnimCmd *const gUnknown_085F5198[] = { +static const union AnimCmd *const gUnknown_085F5198[] = +{ gUnknown_085F5190 }; -static const struct IntroCreditsSpriteMetadata gUnknown_085F519C[] = { +static const struct IntroCreditsSpriteMetadata gUnknown_085F519C[] = +{ { 0, ST_OAM_SQUARE, 2, 24, 88, 100, 0x1000 }, { 0, ST_OAM_SQUARE, 2, 64, 88, 100, 0x1000 }, { 0, ST_OAM_SQUARE, 2, 104, 88, 100, 0x1000 }, @@ -169,11 +187,16 @@ static const struct IntroCreditsSpriteMetadata gUnknown_085F519C[] = { { 0, ST_OAM_SQUARE, 2, 224, 88, 100, 0x1000 }, }; -static const struct OamData gOamData_85F51CC = { - .y = 160, .shape = ST_OAM_SQUARE, .size = 3, .priority = 1 +static const struct OamData gOamData_85F51CC = +{ + .y = 160, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), + .priority = 1 }; -static const union AnimCmd gUnknown_085F51D4[] = { +static const union AnimCmd gUnknown_085F51D4[] = +{ ANIMCMD_FRAME( 0, 8), ANIMCMD_FRAME( 64, 8), ANIMCMD_FRAME(128, 8), @@ -181,23 +204,31 @@ static const union AnimCmd gUnknown_085F51D4[] = { ANIMCMD_JUMP(0) }; -static const union AnimCmd *const gUnknown_085F51E8[] = { +static const union AnimCmd *const gUnknown_085F51E8[] = +{ gUnknown_085F51D4 }; -static const struct SpriteTemplate gUnknown_085F51EC = { +static const struct SpriteTemplate gUnknown_085F51EC = +{ 1002, 1002, &gOamData_85F51CC, gUnknown_085F51E8, NULL, gDummySpriteAffineAnimTable, nullsub_65 }; -static const struct SpriteTemplate gUnknown_085F5204 = { +static const struct SpriteTemplate gUnknown_085F5204 = +{ 1003, 1003, &gOamData_85F51CC, gUnknown_085F51E8, NULL, gDummySpriteAffineAnimTable, nullsub_65 }; -static const struct OamData gUnknown_085F521C = { - .y = 160, .shape = ST_OAM_H_RECTANGLE, .size = 3, .priority = 1 +static const struct OamData gUnknown_085F521C = +{ + .y = 160, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .priority = 1 }; -static const union AnimCmd gUnknown_085F5224[] = { +static const union AnimCmd gUnknown_085F5224[] = +{ ANIMCMD_FRAME( 0, 8), ANIMCMD_FRAME( 32, 8), ANIMCMD_FRAME( 64, 8), @@ -205,71 +236,89 @@ static const union AnimCmd gUnknown_085F5224[] = { ANIMCMD_JUMP(0) }; -static const union AnimCmd *const gUnknown_085F5238[] = { +static const union AnimCmd *const gUnknown_085F5238[] = +{ gUnknown_085F5224 }; -static const struct SpriteTemplate gUnknown_085F523C = { +static const struct SpriteTemplate gUnknown_085F523C = +{ 1001, 1002, &gUnknown_085F521C, gUnknown_085F5238, NULL, gDummySpriteAffineAnimTable, sub_817B7C4 }; -static const struct SpriteTemplate gUnknown_085F5254 = { +static const struct SpriteTemplate gUnknown_085F5254 = +{ 1001, 1003, &gUnknown_085F521C, gUnknown_085F5238, NULL, gDummySpriteAffineAnimTable, sub_817B7C4 }; -static const struct OamData gUnknown_085F526C = { - .y = 160, .shape = ST_OAM_SQUARE, .size = 3, .priority = 1 +static const struct OamData gUnknown_085F526C = +{ + .y = 160, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), + .priority = 1 }; -static const union AnimCmd gUnknown_085F5274[] = { +static const union AnimCmd gUnknown_085F5274[] = +{ ANIMCMD_FRAME( 0, 16), ANIMCMD_END }; -static const union AnimCmd gUnknown_085F527C[] = { +static const union AnimCmd gUnknown_085F527C[] = +{ ANIMCMD_FRAME( 64, 16), ANIMCMD_END }; -static const union AnimCmd *const gUnknown_085F5284[] = { +static const union AnimCmd *const gUnknown_085F5284[] = +{ gUnknown_085F5274, gUnknown_085F527C }; -static const struct SpriteTemplate gUnknown_085F528C = { +static const struct SpriteTemplate gUnknown_085F528C = +{ 1004, 1004, &gUnknown_085F526C, gUnknown_085F5284, NULL, gDummySpriteAffineAnimTable, nullsub_66 }; -static const struct SpriteTemplate gUnknown_085F52A4 = { +static const struct SpriteTemplate gUnknown_085F52A4 = +{ 1005, 1005, &gUnknown_085F526C, gUnknown_085F5284, NULL, gDummySpriteAffineAnimTable, nullsub_66 }; -const struct CompressedSpriteSheet gIntro2BrendanSpriteSheet[] = { +const struct CompressedSpriteSheet gIntro2BrendanSpriteSheet[] = +{ { gIntro2BrendanNoTurnGfx, 0x2000, 1002 }, { NULL } }; -const struct CompressedSpriteSheet gIntro2MaySpriteSheet[] = { +const struct CompressedSpriteSheet gIntro2MaySpriteSheet[] = +{ { gIntro2MayNoTurnGfx, 0x2000, 1003 }, { NULL } }; -const struct CompressedSpriteSheet gIntro2BicycleSpriteSheet[] = { +const struct CompressedSpriteSheet gIntro2BicycleSpriteSheet[] = +{ { gIntro2BicycleTiles, 0x1000, 1001 }, { NULL } }; -static const struct CompressedSpriteSheet gUnknown_085F52EC[] = { +static const struct CompressedSpriteSheet gUnknown_085F52EC[] = +{ { gIntro2FlygonGfx, 0x1000, 1004 }, { NULL } }; -const struct CompressedSpriteSheet gIntro2FlygonSpriteSheet[] = { +const struct CompressedSpriteSheet gIntro2FlygonSpriteSheet[] = +{ { gIntro2FlygonGfx, 0x1000, 1005 }, { NULL } }; -const struct SpritePalette gIntroBikeAndFlygonPalette[] = { +const struct SpritePalette gIntroBikeAndFlygonPalette[] = +{ { gIntro2BrendanNoTurnPal, 1002 }, { gIntro2BrendanNoTurnPal, 1003 }, { gIntro2FlygonPal, 1004 }, @@ -277,32 +326,38 @@ const struct SpritePalette gIntroBikeAndFlygonPalette[] = { { NULL } }; -const struct CompressedSpriteSheet gUnknown_085F5334[] = { +const struct CompressedSpriteSheet gUnknown_085F5334[] = +{ { gIntro2BrendanTiles, 0x3800, 1002 }, { NULL } }; -const struct CompressedSpriteSheet gUnknown_085F5344[] = { +const struct CompressedSpriteSheet gUnknown_085F5344[] = +{ { gIntro2MayTiles, 0x3800, 1003 }, { NULL } }; -const struct CompressedSpriteSheet gUnknown_085F5354[] = { +const struct CompressedSpriteSheet gUnknown_085F5354[] = +{ { gIntro2BicycleTiles, 0x1000, 1001 }, { NULL } }; -static const struct CompressedSpriteSheet gUnknown_085F5364[] = { +static const struct CompressedSpriteSheet gUnknown_085F5364[] = +{ { gIntro2LatiosTiles, 0x1000, 1004 }, { NULL } }; -static const struct CompressedSpriteSheet gUnknown_085F5374[] = { +static const struct CompressedSpriteSheet gUnknown_085F5374[] = +{ { gIntro2LatiasTiles, 0x1000, 1005 }, { NULL } }; -const struct SpritePalette gUnknown_085F5384[] = { +const struct SpritePalette gUnknown_085F5384[] = +{ { gIntro2BrendanPalette, 1002 }, { gIntro2MayPalette, 1003 }, { gIntro2LatiosPalette, 1004 }, @@ -310,12 +365,14 @@ const struct SpritePalette gUnknown_085F5384[] = { { NULL } }; -const struct CompressedSpriteSheet gUnknown_085F53AC[] = { +const struct CompressedSpriteSheet gUnknown_085F53AC[] = +{ { gIntro2BrendanTiles, 0x2000, 1002}, { NULL } }; -const struct CompressedSpriteSheet gUnknown_085F53BC[] = { +const struct CompressedSpriteSheet gUnknown_085F53BC[] = +{ { gIntro2MayTiles, 0x2000, 1003}, { NULL } }; diff --git a/src/item_icon.c b/src/item_icon.c index e9379dbba9..7bf1a29ca8 100644 --- a/src/item_icon.c +++ b/src/item_icon.c @@ -20,10 +20,10 @@ static const struct OamData sOamData_ItemIcon = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 1, .paletteNum = 2, diff --git a/src/item_menu_icons.c b/src/item_menu_icons.c index 669195b33b..83ed3abfe4 100644 --- a/src/item_menu_icons.c +++ b/src/item_menu_icons.c @@ -36,10 +36,10 @@ static const struct OamData sOamData_857FAA4 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -146,10 +146,10 @@ static const struct OamData sOamData_857FB64 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 4, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -217,10 +217,10 @@ static const struct OamData sOamData_857FBC8 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 1, .paletteNum = 7, @@ -234,10 +234,10 @@ static const struct OamData sOamData_857FBD0 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 0, .paletteNum = 7, @@ -374,10 +374,10 @@ static const struct OamData sOamData_857FDFC = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 1, .paletteNum = 0, diff --git a/src/link_rfu.c b/src/link_rfu.c index d80ff2ae91..a557397f07 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -155,7 +155,8 @@ const u8 sWireless_RSEtoASCIITable[] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00 }; const struct OamData sWirelessStatusIndicatorOamData = { - .size = 1 + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16) }; static const union AnimCmd sWirelessStatusIndicatorAnim0[] = { // 3 bars diff --git a/src/list_menu.c b/src/list_menu.c index 51d7dcb15a..a5786754c9 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -129,10 +129,10 @@ static const struct OamData sOamData_ScrollArrowIndicator = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -186,8 +186,8 @@ static const struct Subsprite sSubsprite_RedOutline1 = { .x = 0, .y = 0, - .shape = 0, - .size = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), .tileOffset = 0, .priority = 0, }; @@ -196,8 +196,8 @@ static const struct Subsprite sSubsprite_RedOutline2 = { .x = 0, .y = 0, - .shape = 0, - .size = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), .tileOffset = 1, .priority = 0, }; @@ -206,8 +206,8 @@ static const struct Subsprite sSubsprite_RedOutline3 = { .x = 0, .y = 0, - .shape = 0, - .size = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), .tileOffset = 2, .priority = 0, }; @@ -216,8 +216,8 @@ static const struct Subsprite sSubsprite_RedOutline4 = { .x = 0, .y = 0, - .shape = 0, - .size = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), .tileOffset = 3, .priority = 0, }; @@ -226,8 +226,8 @@ static const struct Subsprite sSubsprite_RedOutline5 = { .x = 0, .y = 0, - .shape = 0, - .size = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), .tileOffset = 4, .priority = 0, }; @@ -236,8 +236,8 @@ static const struct Subsprite sSubsprite_RedOutline6 = { .x = 0, .y = 0, - .shape = 0, - .size = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), .tileOffset = 5, .priority = 0, }; @@ -246,8 +246,8 @@ static const struct Subsprite sSubsprite_RedOutline7 = { .x = 0, .y = 0, - .shape = 0, - .size = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), .tileOffset = 6, .priority = 0, }; @@ -256,8 +256,8 @@ static const struct Subsprite sSubsprite_RedOutline8 = { .x = 0, .y = 0, - .shape = 0, - .size = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), .tileOffset = 7, .priority = 0, }; @@ -269,10 +269,10 @@ static const struct OamData sOamData_RedArrowCursor = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 0, .paletteNum = 0, diff --git a/src/menu_helpers.c b/src/menu_helpers.c index 3fb5ca40db..b5745d812d 100644 --- a/src/menu_helpers.c +++ b/src/menu_helpers.c @@ -37,10 +37,10 @@ static const struct OamData sOamData_859F4E8 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 0, .paletteNum = 0, diff --git a/src/mirage_tower.c b/src/mirage_tower.c index 4f5834db1e..898180df47 100644 --- a/src/mirage_tower.c +++ b/src/mirage_tower.c @@ -142,10 +142,10 @@ static const struct OamData gOamData_8617DF4 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 0, .paletteNum = 3, @@ -192,10 +192,10 @@ static const struct OamData sCeilingCrumble2OamData = .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x8), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -230,10 +230,10 @@ static const struct OamData sCeilingCrumble1OamData = .objMode = ST_OAM_OBJ_NORMAL, .mosaic = 0, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 0, .paletteNum = 0, diff --git a/src/mon_markings.c b/src/mon_markings.c index 48f0f5ecb6..f8b1280455 100644 --- a/src/mon_markings.c +++ b/src/mon_markings.c @@ -30,10 +30,10 @@ static const struct OamData gUnknown_0859EE7C = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -47,10 +47,10 @@ static const struct OamData gUnknown_0859EE84 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x8), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -156,10 +156,10 @@ static const struct OamData gUnknown_0859EF1C = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(32x8), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(32x8), .tileNum = 0, .priority = 0, .paletteNum = 0, diff --git a/src/money.c b/src/money.c index 4ff8086ead..7b95a75aba 100644 --- a/src/money.c +++ b/src/money.c @@ -24,10 +24,10 @@ static const struct OamData sOamData_MoneyLabel = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(32x16), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x16), .tileNum = 0, .priority = 0, .paletteNum = 0, diff --git a/src/naming_screen.c b/src/naming_screen.c index 22bbb84d71..75b7c85661 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -1910,10 +1910,10 @@ const struct OamData gOamData_858BFEC = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x8), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -1927,10 +1927,10 @@ const struct OamData gOamData_858BFF4 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -1944,10 +1944,10 @@ const struct OamData gOamData_858BFFC = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(32x16), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x16), .tileNum = 0, .priority = 0, .paletteNum = 0, diff --git a/src/party_menu.c b/src/party_menu.c index ec35fc068f..bedd0ce57f 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -1175,10 +1175,10 @@ static const struct OamData gOamData_83765EC = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x8), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -1231,10 +1231,10 @@ static const struct OamData sOamData_8615ED8 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -1287,10 +1287,10 @@ static const struct OamData sOamData_8615F20 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -1366,10 +1366,10 @@ static const struct OamData sOamData_8615F90 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(32x8), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(32x8), .tileNum = 0, .priority = 1, .paletteNum = 0, diff --git a/src/pokeball.c b/src/pokeball.c index d4605ccd83..793609ec28 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -99,10 +99,10 @@ static const struct OamData sBallOamData = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 2, .paletteNum = 0, diff --git a/src/pokeblock.c b/src/pokeblock.c index 2682754aa2..ee18d02512 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -222,10 +222,10 @@ static const struct OamData sOamData_PokeblockCase = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 2, .paletteNum = 0, diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index da803f4549..59ba1b4dcb 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -463,10 +463,10 @@ static const struct OamData sThrownPokeblockOamData = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x8), .tileNum = 0, .priority = 1, .paletteNum = 0, diff --git a/src/pokedex.c b/src/pokedex.c index 4bf8dff6db..cceb50ba13 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -248,10 +248,10 @@ static const struct OamData sOamData_855CFE4 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x8), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -265,10 +265,10 @@ static const struct OamData sOamData_855CFEC = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = ST_OAM_H_RECTANGLE, + .shape = SPRITE_SHAPE(16x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(16x8), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -282,10 +282,10 @@ static const struct OamData sOamData_855CFF4 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = ST_OAM_H_RECTANGLE, + .shape = SPRITE_SHAPE(32x16), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x16), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -299,10 +299,10 @@ static const struct OamData sOamData_855CFFC = .objMode = 2, .mosaic = 0, .bpp = 0, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -316,10 +316,10 @@ static const struct OamData sOamData_855D004 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = ST_OAM_H_RECTANGLE, + .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x32), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -333,10 +333,10 @@ static const struct OamData sOamData_855D00C = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = ST_OAM_V_RECTANGLE, + .shape = SPRITE_SHAPE(8x16), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x16), .tileNum = 0, .priority = 0, .paletteNum = 0, diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index eeea3c2100..00fe9ab823 100755 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -83,14 +83,21 @@ static const u32 sAreaGlow_Gfx[] = INCBIN_U32("graphics/pokedex/area_glow.4bpp.l static const u16 sSpeciesHiddenFromAreaScreen[] = { SPECIES_WYNAUT }; -static const u16 sMovingRegionMapSections[3] = { MAPSEC_MARINE_CAVE, MAPSEC_UNDERWATER_MARINE_CAVE, MAPSEC_TERRA_CAVE }; +static const u16 sMovingRegionMapSections[3] = +{ + MAPSEC_MARINE_CAVE, + MAPSEC_UNDERWATER_MARINE_CAVE, + MAPSEC_TERRA_CAVE +}; -static const u16 sFeebasData[][3] = { +static const u16 sFeebasData[][3] = +{ {SPECIES_FEEBAS, MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119)}, {NUM_SPECIES} }; -static const u16 sLandmarkData[][2] = { +static const u16 sLandmarkData[][2] = +{ {MAPSEC_SKY_PILLAR, FLAG_LANDMARK_SKY_PILLAR}, {MAPSEC_SEAFLOOR_CAVERN, FLAG_LANDMARK_SEAFLOOR_CAVERN}, {MAPSEC_ALTERING_CAVE_2, FLAG_LANDMARK_ALTERING_CAVE}, @@ -100,7 +107,8 @@ static const u16 sLandmarkData[][2] = { {MAPSEC_NONE} }; -static const u8 sAreaGlowTilemapMapping[] = { +static const u8 sAreaGlowTilemapMapping[] = +{ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x11, 0x20, 0x02, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x12, 0x21, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, @@ -119,7 +127,8 @@ static const u8 sAreaGlowTilemapMapping[] = { 0x1f, 0x22, 0x25, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, }; -static const struct UnkStruct_1C4D70 sUnknown_085B4018 = { +static const struct UnkStruct_1C4D70 sUnknown_085B4018 = +{ .bg = 3, .unk2 = 0, .unk10 = 0, @@ -127,21 +136,26 @@ static const struct UnkStruct_1C4D70 sUnknown_085B4018 = { }; static const u8 sAreaMarkerTiles[]; -static const struct SpriteSheet sAreaMarkerSpriteSheet = { +static const struct SpriteSheet sAreaMarkerSpriteSheet = +{ sAreaMarkerTiles, 0x80, 2 }; static const u16 sAreaMarkerPalette[]; -static const struct SpritePalette sAreaMarkerSpritePalette = { +static const struct SpritePalette sAreaMarkerSpritePalette = +{ sAreaMarkerPalette, 2 }; -static const struct OamData sAreaMarkerOamData = { - .size = 1, +static const struct OamData sAreaMarkerOamData = +{ + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), .priority = 1 }; -static const struct SpriteTemplate sAreaMarkerSpriteTemplate = { +static const struct SpriteTemplate sAreaMarkerSpriteTemplate = +{ 2, 2, &sAreaMarkerOamData, @@ -154,16 +168,20 @@ static const struct SpriteTemplate sAreaMarkerSpriteTemplate = { static const u16 sAreaMarkerPalette[] = INCBIN_U16("graphics/pokedex/area_marker.gbapal"); static const u8 sAreaMarkerTiles[] = INCBIN_U8("graphics/pokedex/area_marker.4bpp"); -static const struct SpritePalette sAreaUnknownSpritePalette = { +static const struct SpritePalette sAreaUnknownSpritePalette = +{ gPokedexAreaScreenAreaUnknown_Pal, 3 }; -static const struct OamData sAreaUnknownOamData = { - .size = 2, +static const struct OamData sAreaUnknownOamData = +{ + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), .priority = 1 }; -static const struct SpriteTemplate sAreaUnknownSpriteTemplate = { +static const struct SpriteTemplate sAreaUnknownSpriteTemplate = +{ 3, 3, &sAreaUnknownOamData, diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c index c385141d53..8ca0c8d6e7 100755 --- a/src/pokedex_cry_screen.c +++ b/src/pokedex_cry_screen.c @@ -54,7 +54,8 @@ const u16 gUnknown_085B8378[] = INCBIN_U16("graphics/pokedex/cry_meter_map.bin") const u16 gUnknown_085B8418[] = INCBIN_U16("graphics/pokedex/cry_meter.gbapal"); const u8 gUnknown_085B8438[] = INCBIN_U8("graphics/pokedex/cry_meter.4bpp.lz"); -const u16 gUnknown_085B8770[][72] = { +const u16 gUnknown_085B8770[][72] = +{ { 0x0000, 0x0004, 0x0008, 0x000C, 0x0010, 0x0014, 0x0018, 0x001C, 0x0400, 0x0404, 0x0408, 0x040C, 0x0410, 0x0414, 0x0418, 0x041C, @@ -142,7 +143,8 @@ const u16 gUnknown_085B8BF0[] = INCBIN_U16("graphics/pokedex/85B8C10.gbapal"); const u8 gUnknown_085B8C10[] = INCBIN_U8("graphics/pokedex/85B8C10.4bpp"); const u8 gUnknown_085B8C30[] = {0xF0, 0x0F}; -const u8 gUnknown_085B8C32[][16] = { +const u8 gUnknown_085B8C32[][16] = +{ { 0x0F, 0x0E, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F @@ -152,23 +154,28 @@ const u8 gUnknown_085B8C32[][16] = { } }; -const union AnimCmd gSpriteAnim_85B8C54[] = { +const union AnimCmd gSpriteAnim_85B8C54[] = +{ ANIMCMD_FRAME(0, 30), ANIMCMD_END }; -const union AnimCmd *const gSpriteAnimTable_85B8C5C[] = { +const union AnimCmd *const gSpriteAnimTable_85B8C5C[] = +{ gSpriteAnim_85B8C54 }; -const struct OamData gOamData_85B8C60 = { +const struct OamData gOamData_85B8C60 = +{ .y = 160, .affineMode = ST_OAM_AFFINE_NORMAL, - .size = 3, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), .priority = 1 }; -const struct SpriteTemplate gUnknown_085B8C68 = { +const struct SpriteTemplate gUnknown_085B8C68 = +{ 0x2000, 0x2000, &gOamData_85B8C60, @@ -178,12 +185,14 @@ const struct SpriteTemplate gUnknown_085B8C68 = { sub_814596C }; -const struct SpriteSheet gCryMeterNeedleSpriteSheets[] = { +const struct SpriteSheet gCryMeterNeedleSpriteSheets[] = +{ {CryMeterNeedleTiles, 0x800, 0x2000}, {} }; -const struct SpritePalette gCryMeterNeedleSpritePalettes[] = { +const struct SpritePalette gCryMeterNeedleSpritePalettes[] = +{ {CryMeterNeedlePalette, 0x2000}, {} }; diff --git a/src/pokemon.c b/src/pokemon.c index a984abbb98..1ee9c4cffd 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2462,10 +2462,10 @@ static const struct OamData sOamData_8329F20 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 0, .paletteNum = 0, diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index ecb8f4950f..4ff182a0ec 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -931,10 +931,10 @@ const struct OamData sMonIconOamData = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 1, .paletteNum = 0, diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index c5d40877b3..30f5af14cf 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -969,10 +969,10 @@ static const struct OamData sOamData_857286C = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -986,10 +986,10 @@ static const struct OamData sOamData_8572874 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(16x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(16x8), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -1062,10 +1062,10 @@ static const struct OamData sOamData_85728EC = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -1467,8 +1467,8 @@ static const struct SpriteSheet gUnknown_0857B080 = {gPCGfx_Arrow, 0x80, 6}; static const struct OamData gOamData_83BB298 = { - .shape = ST_OAM_H_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), .priority = 2 }; @@ -1503,7 +1503,8 @@ static const struct SpriteTemplate gSpriteTemplate_857B0A8 = static const struct OamData gOamData_83BB2D0 = { - .shape = ST_OAM_V_RECTANGLE, + .shape = SPRITE_SHAPE(8x16), + .size = SPRITE_SIZE(8x16), .priority = 2 }; @@ -2004,7 +2005,7 @@ static void sub_80C7958(u8 curBox) u8 spriteId; struct SpriteTemplate template; struct OamData oamData = {}; - oamData.size = 3; + oamData.size = SPRITE_SIZE(64x64); oamData.paletteNum = 1; template = (struct SpriteTemplate){ 0, 0, &oamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy @@ -2017,8 +2018,8 @@ static void sub_80C7958(u8 curBox) spriteId = CreateSprite(&template, 160, 96, 0); gUnknown_02039D04->unk_0000 = gSprites + spriteId; - oamData.shape = ST_OAM_V_RECTANGLE; - oamData.size = 1; + oamData.shape = SPRITE_SHAPE(8x32); + oamData.size = SPRITE_SIZE(8x32); template.tileTag = gUnknown_02039D04->unk_0240 + 1; template.anims = sSpriteAnimTable_8571710; for (i = 0; i < 4; i++) @@ -8490,12 +8491,14 @@ static void sub_80CFC14(void) static const struct OamData sOamData_857BA0C = { - .size = 2, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), .priority = 1, }; static const struct OamData sOamData_857BA14 = { - .size = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), .priority = 1, }; @@ -9358,10 +9361,10 @@ static const struct OamData sOamData_857BBA4 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 1, .paletteNum = 0, diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 3bbc832a07..3a5b06d45f 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -710,10 +710,10 @@ static const struct OamData sOamData_MoveTypes = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(32x16), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x16), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -886,10 +886,10 @@ static const struct OamData gOamData_861CFF4 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -975,10 +975,10 @@ static const struct OamData sOamData_StatusCondition = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(32x8), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(32x8), .tileNum = 0, .priority = 3, .paletteNum = 0, diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c index 00a73a0a20..e2497a8dcd 100644 --- a/src/rayquaza_scene.c +++ b/src/rayquaza_scene.c @@ -105,10 +105,10 @@ static const struct OamData sOamData_862A6BC = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -122,10 +122,10 @@ static const struct OamData sOamData_862A6C4 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -139,10 +139,10 @@ static const struct OamData sOamData_862A6CC = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x32), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -156,10 +156,10 @@ static const struct OamData sOamData_862A6D4 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(32x16), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x16), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -173,10 +173,10 @@ static const struct OamData sOamData_862A6DC = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(16x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(16x8), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -190,10 +190,10 @@ static const struct OamData sOamData_862A6E4 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 2, + .shape = SPRITE_SHAPE(16x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(16x32), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -207,10 +207,10 @@ static const struct OamData sOamData_862A6EC = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 2, .paletteNum = 0, @@ -224,10 +224,10 @@ static const struct OamData sOamData_862A6F4 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(32x8), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(32x8), .tileNum = 0, .priority = 2, .paletteNum = 0, diff --git a/src/region_map.c b/src/region_map.c index 8dadc78a77..a8b3fc3b2e 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -106,7 +106,8 @@ static const u8 sRegionMap_MapSectionLayout[] = INCBIN_U8("graphics/pokenav/regi #include "data/region_map/region_map_entries.h" -static const u16 sRegionMap_SpecialPlaceLocations[][2] = { +static const u16 sRegionMap_SpecialPlaceLocations[][2] = +{ {MAPSEC_UNDERWATER_TERRA_CAVE, MAPSEC_ROUTE_105}, {MAPSEC_UNDERWATER_124, MAPSEC_ROUTE_124}, {MAPSEC_UNDERWATER_UNK1, MAPSEC_ROUTE_129}, @@ -133,13 +134,15 @@ static const u16 sRegionMap_SpecialPlaceLocations[][2] = { {MAPSEC_NONE, MAPSEC_NONE} }; -static const u16 sRegionMap_MarineCaveMapSecIds[] = { +static const u16 sRegionMap_MarineCaveMapSecIds[] = +{ MAPSEC_MARINE_CAVE, MAPSEC_UNDERWATER_MARINE_CAVE, MAPSEC_UNDERWATER_MARINE_CAVE }; -static const u16 sTerraCaveMapSectionIds[] = { +static const u16 sTerraCaveMapSectionIds[] = +{ MAPSEC_ROUTE_114, MAPSEC_ROUTE_114, MAPSEC_ROUTE_115, @@ -158,7 +161,8 @@ static const u16 sTerraCaveMapSectionIds[] = { MAPSEC_ROUTE_129 }; -static const struct UCoords16 sTerraCaveLocationCoords[] = { +static const struct UCoords16 sTerraCaveLocationCoords[] = +{ {0x00, 0x0a}, {0x00, 0x0c}, {0x18, 0x03}, @@ -169,21 +173,27 @@ static const struct UCoords16 sTerraCaveLocationCoords[] = { {0x18, 0x0a} }; -static const u8 sRegionMap_MapSecAquaHideoutOld[] = { +static const u8 sRegionMap_MapSecAquaHideoutOld[] = +{ MAPSEC_AQUA_HIDEOUT_OLD }; -static const struct OamData sRegionMapCursorOam = { - .size = 1, .priority = 1 +static const struct OamData sRegionMapCursorOam = +{ + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .priority = 1 }; -static const union AnimCmd sRegionMapCursorAnim1[] = { +static const union AnimCmd sRegionMapCursorAnim1[] = +{ ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(4, 20), ANIMCMD_JUMP(0) }; -static const union AnimCmd sRegionMapCursorAnim2[] = { +static const union AnimCmd sRegionMapCursorAnim2[] = +{ ANIMCMD_FRAME( 0, 10), ANIMCMD_FRAME(16, 10), ANIMCMD_FRAME(32, 10), @@ -191,37 +201,49 @@ static const union AnimCmd sRegionMapCursorAnim2[] = { ANIMCMD_JUMP(0) }; -static const union AnimCmd *const sRegionMapCursorAnimTable[] = { +static const union AnimCmd *const sRegionMapCursorAnimTable[] = +{ sRegionMapCursorAnim1, sRegionMapCursorAnim2 }; -static const struct SpritePalette sRegionMapCursorSpritePalette = { sRegionMapCursorPal, 0 }; - -static const struct SpriteTemplate sRegionMapCursorSpriteTemplate = { - 0, - 0, - &sRegionMapCursorOam, - sRegionMapCursorAnimTable, - NULL, - gDummySpriteAffineAnimTable, - SpriteCallback_CursorFull +static const struct SpritePalette sRegionMapCursorSpritePalette = +{ + .data = sRegionMapCursorPal, + .tag = 0 }; -static const struct OamData sRegionMapPlayerIconOam = { - .size = 1, .priority = 2 +static const struct SpriteTemplate sRegionMapCursorSpriteTemplate = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &sRegionMapCursorOam, + .anims = sRegionMapCursorAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallback_CursorFull }; -static const union AnimCmd sRegionMapPlayerIconAnim1[] = { +static const struct OamData sRegionMapPlayerIconOam = +{ + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .priority = 2 +}; + +static const union AnimCmd sRegionMapPlayerIconAnim1[] = +{ ANIMCMD_FRAME(0, 5), ANIMCMD_END }; -static const union AnimCmd *const sRegionMapPlayerIconAnimTable[] = { +static const union AnimCmd *const sRegionMapPlayerIconAnimTable[] = +{ sRegionMapPlayerIconAnim1 }; -static const u8 sRegionMapEventSectionIds[] = { +static const u8 sRegionMapEventSectionIds[] = +{ MAPSEC_BIRTH_ISLAND_2, MAPSEC_FARAWAY_ISLAND, MAPSEC_NAVEL_ROCK2 @@ -237,7 +259,8 @@ static const u16 Unknown_085A1D48[] = INCBIN_U16("graphics/pokenav/fly_target_ic static const u32 sUnknown_085A1D68[] = INCBIN_U32("graphics/pokenav/fly_target_icons.4bpp.lz"); -static const u8 sMapHealLocations[][3] = { +static const u8 sMapHealLocations[][3] = +{ {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F}, {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), HEAL_LOCATION_OLDALE_TOWN}, {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), HEAL_LOCATION_DEWFORD_TOWN}, @@ -290,83 +313,154 @@ static const u8 sMapHealLocations[][3] = { {MAP_GROUP(ROUTE134), MAP_NUM(ROUTE134), 0} }; -static const u8 *const gUnknown_085A1ED4[] = { +static const u8 *const gUnknown_085A1ED4[] = +{ gText_PokemonLeague, gText_PokemonCenter }; -static const struct { +static const struct +{ const u8 *const *name; u16 mapSecId; u16 flag; -} gUnknown_085A1EDC[] = { +} +gUnknown_085A1EDC[] = +{ gUnknown_085A1ED4, MAPSEC_EVER_GRANDE_CITY, FLAG_LANDMARK_POKEMON_LEAGUE }; -static const struct BgTemplate gUnknown_085A1EE4[] = { - { .bg = 0, .charBaseIndex = 0, .mapBaseIndex = 31, .screenSize = 0, .paletteMode = 0, .priority = 0 }, - { .bg = 1, .charBaseIndex = 3, .mapBaseIndex = 30, .screenSize = 0, .paletteMode = 0, .priority = 1 }, - { .bg = 2, .charBaseIndex = 2, .mapBaseIndex = 28, .screenSize = 2, .paletteMode = 1, .priority = 2 } +static const struct BgTemplate gUnknown_085A1EE4[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0 + }, + { + .bg = 1, + .charBaseIndex = 3, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 1 + }, + { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 28, + .screenSize = 2, + .paletteMode = 1, + .priority = 2 + } }; -static const struct WindowTemplate gUnknown_085A1EF0[] = { - { 0, 17, 17, 12, 2, 15, 0x01 }, - { 0, 17, 15, 12, 4, 15, 0x19 }, - { 0, 1, 18, 14, 2, 15, 0x49 }, +static const struct WindowTemplate gUnknown_085A1EF0[] = +{ + { + .bg = 0, + .tilemapLeft = 17, + .tilemapTop = 17, + .width = 12, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x01 + }, + { + .bg = 0, + .tilemapLeft = 17, + .tilemapTop = 15, + .width = 12, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x19 + }, + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 18, + .width = 14, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x49 + }, DUMMY_WIN_TEMPLATE }; -static const struct SpritePalette gUnknown_085A1F10 = { - Unknown_085A1D48, 2 +static const struct SpritePalette gUnknown_085A1F10 = +{ + .data = Unknown_085A1D48, + .tag = 2 }; -static const u16 sUnknown_085A1F18[][2] = { - {FLAG_LANDMARK_BATTLE_FRONTIER, MAPSEC_BATTLE_FRONTIER}, - {-1, MAPSEC_NONE} +static const u16 sUnknown_085A1F18[][2] = +{ + { + FLAG_LANDMARK_BATTLE_FRONTIER, + MAPSEC_BATTLE_FRONTIER + }, + { + -1, + MAPSEC_NONE + } }; -static const struct OamData gOamData_085A1F20 = { +static const struct OamData gOamData_085A1F20 = +{ + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), .priority = 2 }; -static const union AnimCmd gUnknown_085A1F28[] = { +static const union AnimCmd gUnknown_085A1F28[] = +{ ANIMCMD_FRAME( 0, 5), ANIMCMD_END }; -static const union AnimCmd gUnknown_085A1F30[] = { +static const union AnimCmd gUnknown_085A1F30[] = +{ ANIMCMD_FRAME( 1, 5), ANIMCMD_END }; -static const union AnimCmd gUnknown_085A1F38[] = { +static const union AnimCmd gUnknown_085A1F38[] = +{ ANIMCMD_FRAME( 3, 5), ANIMCMD_END }; -static const union AnimCmd gUnknown_085A1F40[] = { +static const union AnimCmd gUnknown_085A1F40[] = +{ ANIMCMD_FRAME( 5, 5), ANIMCMD_END }; -static const union AnimCmd gUnknown_085A1F48[] = { +static const union AnimCmd gUnknown_085A1F48[] = +{ ANIMCMD_FRAME( 6, 5), ANIMCMD_END }; -static const union AnimCmd gUnknown_085A1F50[] = { +static const union AnimCmd gUnknown_085A1F50[] = +{ ANIMCMD_FRAME( 8, 5), ANIMCMD_END }; -static const union AnimCmd gUnknown_085A1F58[] = { +static const union AnimCmd gUnknown_085A1F58[] = +{ ANIMCMD_FRAME(10, 5), ANIMCMD_END }; -static const union AnimCmd *const gUnknown_085A1F60[] = { +static const union AnimCmd *const gUnknown_085A1F60[] = +{ gUnknown_085A1F28, gUnknown_085A1F30, gUnknown_085A1F38, @@ -376,14 +470,15 @@ static const union AnimCmd *const gUnknown_085A1F60[] = { gUnknown_085A1F58 }; -static const struct SpriteTemplate gUnknown_085A1F7C = { - 2, - 2, - &gOamData_085A1F20, - gUnknown_085A1F60, - NULL, - gDummySpriteAffineAnimTable, - SpriteCallbackDummy +static const struct SpriteTemplate gUnknown_085A1F7C = +{ + .tileTag = 2, + .paletteTag = 2, + .oam = &gOamData_085A1F20, + .anims = gUnknown_085A1F60, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy }; // .text diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c index ce9f5b98b3..6ee757607b 100644 --- a/src/reset_rtc_screen.c +++ b/src/reset_rtc_screen.c @@ -108,10 +108,10 @@ static const struct OamData sOamData_08510464 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(8x8), .x = 0, .matrixNum = 0, - .size = 0, + .size = SPRITE_SIZE(8x8), .tileNum = 0, .priority = 0, .paletteNum = 0, diff --git a/src/rotating_gate.c b/src/rotating_gate.c index 3513f092e1..44d291dc4c 100644 --- a/src/rotating_gate.c +++ b/src/rotating_gate.c @@ -236,10 +236,10 @@ static const struct OamData sOamData_RotatingGateLarge = .objMode = 0, .mosaic = 0, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 2, .paletteNum = 2, @@ -253,10 +253,10 @@ static const struct OamData sOamData_RotatingGateRegular = .objMode = 0, .mosaic = 0, .bpp = ST_OAM_4BPP, - .shape = ST_OAM_SQUARE, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 2, .paletteNum = 2, diff --git a/src/roulette.c b/src/roulette.c index 05d5006f0e..5c08c99a08 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -2311,18 +2311,18 @@ static const u32 RouletteCursorTiles[] = INCBIN_U32("graphics/roulette/cursor.4b static const struct SpritePalette gUnknown_085B7384[] = { - { RouletteSpritePalette_01, 1 }, - { RouletteSpritePalette_02, 2 }, - { RouletteSpritePalette_03, 3 }, - { RouletteSpritePalette_04, 4 }, - { RouletteSpritePalette_05, 5 }, - { RouletteSpritePalette_06, 6 }, - { RouletteSpritePalette_07, 7 }, - { RouletteSpritePalette_08, 8 }, - { RouletteSpritePalette_09, 9 }, - { RouletteSpritePalette_10, 10 }, - { RouletteSpritePalette_11, 11 }, - { RouletteSpritePalette_12, 12 }, + { .data = RouletteSpritePalette_01, .tag = 1 }, + { .data = RouletteSpritePalette_02, .tag = 2 }, + { .data = RouletteSpritePalette_03, .tag = 3 }, + { .data = RouletteSpritePalette_04, .tag = 4 }, + { .data = RouletteSpritePalette_05, .tag = 5 }, + { .data = RouletteSpritePalette_06, .tag = 6 }, + { .data = RouletteSpritePalette_07, .tag = 7 }, + { .data = RouletteSpritePalette_08, .tag = 8 }, + { .data = RouletteSpritePalette_09, .tag = 9 }, + { .data = RouletteSpritePalette_10, .tag = 10 }, + { .data = RouletteSpritePalette_11, .tag = 11 }, + { .data = RouletteSpritePalette_12, .tag = 12 }, {} }; @@ -2330,8 +2330,8 @@ static const struct OamData gOamData_85B73EC = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 2, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), .priority = 1, }; @@ -2339,8 +2339,8 @@ static const struct OamData gOamData_85B73F4 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), .priority = 1, }; @@ -2349,35 +2349,41 @@ static const struct OamData gOamData_85B73FC = .y = 60, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_V_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), .priority = 2, }; -static const union AnimCmd gSpriteAnim_85B7404[] = { +static const union AnimCmd gSpriteAnim_85B7404[] = +{ ANIMCMD_FRAME(0, 0), ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_85B740C[] = { +static const union AnimCmd *const gSpriteAnimTable_85B740C[] = +{ gSpriteAnim_85B7404 }; -static const union AffineAnimCmd gSpriteAffineAnim_85B7410[] = { +static const union AffineAnimCmd gSpriteAffineAnim_85B7410[] = +{ AFFINEANIMCMD_END }; -static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7418[] = { +static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7418[] = +{ gSpriteAffineAnim_85B7410 }; -static const struct CompressedSpriteSheet gUnknown_085B741C = { +static const struct CompressedSpriteSheet gUnknown_085B741C = +{ .data = RoulettePokeIcons2Tiles, .size = 0xC00, .tag = 0 }; -static const union AnimCmd gSpriteAnim_85B7420[] = { +static const union AnimCmd gSpriteAnim_85B7420[] = +{ ANIMCMD_FRAME(0, 0), ANIMCMD_FRAME(32, 0), ANIMCMD_FRAME(64, 0), @@ -2393,67 +2399,82 @@ static const union AnimCmd gSpriteAnim_85B7420[] = { ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_85B7458[] = { +static const union AnimCmd *const gSpriteAnimTable_85B7458[] = +{ &gSpriteAnim_85B7420[0] }; -static const union AnimCmd *const gSpriteAnimTable_85B745C[] = { +static const union AnimCmd *const gSpriteAnimTable_85B745C[] = +{ &gSpriteAnim_85B7420[1] }; -static const union AnimCmd *const gSpriteAnimTable_85B7460[] = { +static const union AnimCmd *const gSpriteAnimTable_85B7460[] = +{ &gSpriteAnim_85B7420[2] }; -static const union AnimCmd *const gSpriteAnimTable_85B7464[] = { +static const union AnimCmd *const gSpriteAnimTable_85B7464[] = +{ &gSpriteAnim_85B7420[3] }; -static const union AnimCmd *const gSpriteAnimTable_85B7468[] = { +static const union AnimCmd *const gSpriteAnimTable_85B7468[] = +{ &gSpriteAnim_85B7420[4] }; -static const union AnimCmd *const gSpriteAnimTable_85B746C[] = { +static const union AnimCmd *const gSpriteAnimTable_85B746C[] = +{ &gSpriteAnim_85B7420[5] }; -static const union AnimCmd *const gSpriteAnimTable_85B7470[] = { +static const union AnimCmd *const gSpriteAnimTable_85B7470[] = +{ &gSpriteAnim_85B7420[6] }; -static const union AnimCmd *const gSpriteAnimTable_85B7474[] = { +static const union AnimCmd *const gSpriteAnimTable_85B7474[] = +{ &gSpriteAnim_85B7420[7] }; -static const union AnimCmd *const gSpriteAnimTable_85B7478[] = { +static const union AnimCmd *const gSpriteAnimTable_85B7478[] = +{ &gSpriteAnim_85B7420[8] }; -static const union AnimCmd *const gSpriteAnimTable_85B747C[] = { +static const union AnimCmd *const gSpriteAnimTable_85B747C[] = +{ &gSpriteAnim_85B7420[9] }; -static const union AnimCmd *const gSpriteAnimTable_85B7480[] = { +static const union AnimCmd *const gSpriteAnimTable_85B7480[] = +{ &gSpriteAnim_85B7420[10] }; -static const union AnimCmd *const gSpriteAnimTable_85B7484[] = { +static const union AnimCmd *const gSpriteAnimTable_85B7484[] = +{ &gSpriteAnim_85B7420[11] }; -static const struct CompressedSpriteSheet gUnknown_085B7488 = { +static const struct CompressedSpriteSheet gUnknown_085B7488 = +{ .data = gRouletteHeadersTiles, .size = 0x1600, .tag = 4 }; -static const struct CompressedSpriteSheet gUnknown_085B7490 = { +static const struct CompressedSpriteSheet gUnknown_085B7490 = +{ .data = RoulettePokeIconsTiles, .size = 0x400, .tag = 5 }; -static const union AnimCmd gSpriteAnim_85B7498[] = { +static const union AnimCmd gSpriteAnim_85B7498[] = +{ ANIMCMD_FRAME(0, 0), ANIMCMD_FRAME(16, 0), ANIMCMD_FRAME(32, 0), @@ -2468,7 +2489,8 @@ static const union AnimCmd gSpriteAnim_85B7498[] = { ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_85B74C8[] = { +static const union AnimCmd gSpriteAnim_85B74C8[] = +{ ANIMCMD_FRAME(0, 0), ANIMCMD_FRAME(4, 0), ANIMCMD_FRAME(8, 0), @@ -2476,47 +2498,58 @@ static const union AnimCmd gSpriteAnim_85B74C8[] = { ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_85B74DC[] = { +static const union AnimCmd *const gSpriteAnimTable_85B74DC[] = +{ &gSpriteAnim_85B7498[0] }; -static const union AnimCmd *const gSpriteAnimTable_85B74E0[] = { +static const union AnimCmd *const gSpriteAnimTable_85B74E0[] = +{ &gSpriteAnim_85B7498[2] }; -static const union AnimCmd *const gSpriteAnimTable_85B74E4[] = { +static const union AnimCmd *const gSpriteAnimTable_85B74E4[] = +{ &gSpriteAnim_85B7498[4] }; -static const union AnimCmd *const gSpriteAnimTable_85B74E8[] = { +static const union AnimCmd *const gSpriteAnimTable_85B74E8[] = +{ &gSpriteAnim_85B7498[6] }; -static const union AnimCmd *const gSpriteAnimTable_85B74EC[] = { +static const union AnimCmd *const gSpriteAnimTable_85B74EC[] = +{ &gSpriteAnim_85B7498[8] }; -static const union AnimCmd *const gSpriteAnimTable_85B74F0[] = { +static const union AnimCmd *const gSpriteAnimTable_85B74F0[] = +{ &gSpriteAnim_85B7498[9] }; -static const union AnimCmd *const gSpriteAnimTable_85B74F4[] = { +static const union AnimCmd *const gSpriteAnimTable_85B74F4[] = +{ &gSpriteAnim_85B7498[10] }; -static const union AnimCmd *const gSpriteAnimTable_85B74F8[] = { +static const union AnimCmd *const gSpriteAnimTable_85B74F8[] = +{ &gSpriteAnim_85B74C8[0] }; -static const union AnimCmd *const gSpriteAnimTable_85B74FC[] = { +static const union AnimCmd *const gSpriteAnimTable_85B74FC[] = +{ &gSpriteAnim_85B74C8[1] }; -static const union AnimCmd *const gSpriteAnimTable_85B7500[] = { +static const union AnimCmd *const gSpriteAnimTable_85B7500[] = +{ &gSpriteAnim_85B74C8[2] }; -static const union AnimCmd *const gSpriteAnimTable_85B7504[] = { +static const union AnimCmd *const gSpriteAnimTable_85B7504[] = +{ &gSpriteAnim_85B74C8[3] }; @@ -2747,8 +2780,8 @@ static const struct OamData gOamData_85B7730 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_H_RECTANGLE, - .size = 3, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), .priority = 1, }; @@ -2756,8 +2789,8 @@ static const struct OamData gOamData_85B7738 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_V_RECTANGLE, - .size = 0, + .shape = SPRITE_SHAPE(8x16), + .size = SPRITE_SIZE(8x16), .priority = 1, }; @@ -2765,8 +2798,8 @@ static const struct OamData gOamData_85B7740 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_H_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), .priority = 1, }; @@ -2774,8 +2807,8 @@ static const struct OamData gOamData_85B7748 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_H_RECTANGLE, - .size = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), .priority = 1, }; @@ -2809,7 +2842,8 @@ static const struct CompressedSpriteSheet gUnknown_085B7750[] = {} }; -static const union AnimCmd gSpriteAnim_85B7780[] = { +static const union AnimCmd gSpriteAnim_85B7780[] = +{ ANIMCMD_FRAME(0, 0), ANIMCMD_FRAME(2, 0), ANIMCMD_FRAME(4, 0), @@ -2824,11 +2858,13 @@ static const union AnimCmd gSpriteAnim_85B7780[] = { //ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_85B77A8[] = { +static const union AnimCmd *const gSpriteAnimTable_85B77A8[] = +{ gSpriteAnim_85B7780 }; -static const union AnimCmd gSpriteAnim_85B77AC[] = { +static const union AnimCmd gSpriteAnim_85B77AC[] = +{ ANIMCMD_FRAME(0, 0), ANIMCMD_FRAME(8, 0), ANIMCMD_FRAME(16, 0), @@ -2837,11 +2873,13 @@ static const union AnimCmd gSpriteAnim_85B77AC[] = { ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_85B77C4[] = { +static const union AnimCmd *const gSpriteAnimTable_85B77C4[] = +{ gSpriteAnim_85B77AC }; -static const union AnimCmd gSpriteAnim_85B77C8[] = { +static const union AnimCmd gSpriteAnim_85B77C8[] = +{ ANIMCMD_FRAME(0, 0), ANIMCMD_FRAME(2, 0), ANIMCMD_FRAME(4, 0), @@ -2850,7 +2888,8 @@ static const union AnimCmd gSpriteAnim_85B77C8[] = { ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_85B77E0[] = { +static const union AnimCmd *const gSpriteAnimTable_85B77E0[] = +{ gSpriteAnim_85B77C8 }; @@ -2913,8 +2952,8 @@ static const struct OamData gOamData_85B785C = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), .priority = 2, }; @@ -2924,7 +2963,8 @@ static const struct CompressedSpriteSheet gUnknown_085B7864 = { .tag = 12 }; -static const union AnimCmd gSpriteAnim_85B786C[] = { +static const union AnimCmd gSpriteAnim_85B786C[] = +{ ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(4, 5), ANIMCMD_FRAME(8, 5), @@ -2932,7 +2972,8 @@ static const union AnimCmd gSpriteAnim_85B786C[] = { ANIMCMD_JUMP(0) }; -static const union AnimCmd gSpriteAnim_85B7880[] = { +static const union AnimCmd gSpriteAnim_85B7880[] = +{ ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(4, 10), ANIMCMD_FRAME(8, 10), @@ -2940,7 +2981,8 @@ static const union AnimCmd gSpriteAnim_85B7880[] = { ANIMCMD_JUMP(0) }; -static const union AnimCmd gSpriteAnim_85B7894[] = { +static const union AnimCmd gSpriteAnim_85B7894[] = +{ ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(4, 15), ANIMCMD_FRAME(8, 15), @@ -2948,7 +2990,8 @@ static const union AnimCmd gSpriteAnim_85B7894[] = { ANIMCMD_JUMP(0) }; -static const union AnimCmd gSpriteAnim_85B78A8[] = { +static const union AnimCmd gSpriteAnim_85B78A8[] = +{ ANIMCMD_FRAME(4, 2), ANIMCMD_FRAME(8, 5), ANIMCMD_FRAME(4, 5), @@ -2956,7 +2999,8 @@ static const union AnimCmd gSpriteAnim_85B78A8[] = { ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_85B78BC[] = { +static const union AnimCmd gSpriteAnim_85B78BC[] = +{ ANIMCMD_FRAME(4, 2), ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(4, 4), @@ -2965,7 +3009,8 @@ static const union AnimCmd gSpriteAnim_85B78BC[] = { ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_85B78D4[] = { +static const union AnimCmd gSpriteAnim_85B78D4[] = +{ ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(4, 5), ANIMCMD_FRAME(8, 5), @@ -2973,12 +3018,14 @@ static const union AnimCmd gSpriteAnim_85B78D4[] = { ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_85B78E8[] = { +static const union AnimCmd gSpriteAnim_85B78E8[] = +{ ANIMCMD_FRAME(12, 0), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_85B78F0[] = { +static const union AnimCmd gSpriteAnim_85B78F0[] = +{ ANIMCMD_FRAME(8, 2), ANIMCMD_FRAME(4, 5), ANIMCMD_FRAME(0, 5), @@ -2986,7 +3033,8 @@ static const union AnimCmd gSpriteAnim_85B78F0[] = { ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_85B7904[] = { +static const union AnimCmd *const gSpriteAnimTable_85B7904[] = +{ gSpriteAnim_85B786C, gSpriteAnim_85B7880, gSpriteAnim_85B7894, @@ -3014,12 +3062,13 @@ static const struct OamData gOamData_85B7940 = .y = 81, .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 3, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), .priority = 2, }; -static const struct CompressedSpriteSheet gUnknown_085B7948 = { +static const struct CompressedSpriteSheet gUnknown_085B7948 = +{ .data = gRouletteCenter_Gfx, .size = 0x800, .tag = 6 @@ -3040,8 +3089,8 @@ static const struct OamData gOamData_85B7968 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 2, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), .priority = 2, }; @@ -3049,18 +3098,20 @@ static const struct OamData gOamData_85B7970 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 2, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), .priority = 2, }; -static const struct CompressedSpriteSheet gUnknown_085B7978 = { +static const struct CompressedSpriteSheet gUnknown_085B7978 = +{ .data = gUnknown_085B67FC, .size = 0xE00, .tag = 13 }; -static const union AnimCmd gSpriteAnim_85B7980[] = { +static const union AnimCmd gSpriteAnim_85B7980[] = +{ ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(16, 6), ANIMCMD_FRAME(32, 6), @@ -3070,45 +3121,53 @@ static const union AnimCmd gSpriteAnim_85B7980[] = { ANIMCMD_JUMP(2) }; -static const union AnimCmd gSpriteAnim_85B799C[] = { +static const union AnimCmd gSpriteAnim_85B799C[] = +{ ANIMCMD_FRAME(80, 10), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_85B79A4[] = { +static const union AnimCmd gSpriteAnim_85B79A4[] = +{ ANIMCMD_FRAME(80, 10, .hFlip = TRUE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_85B79AC[] = { +static const union AnimCmd gSpriteAnim_85B79AC[] = +{ ANIMCMD_FRAME(80, 20), ANIMCMD_FRAME(96, 20), ANIMCMD_JUMP(0) }; -static const union AnimCmd gSpriteAnim_85B79B8[] = { +static const union AnimCmd gSpriteAnim_85B79B8[] = +{ ANIMCMD_FRAME(80, 20, .hFlip = TRUE), ANIMCMD_FRAME(96, 20, .hFlip = TRUE), ANIMCMD_JUMP(0) }; -static const union AnimCmd gSpriteAnim_85B79C4[] = { +static const union AnimCmd gSpriteAnim_85B79C4[] = +{ ANIMCMD_FRAME(80, 10), ANIMCMD_FRAME(96, 10), ANIMCMD_JUMP(0) }; -static const union AnimCmd gSpriteAnim_85B79D0[] = { +static const union AnimCmd gSpriteAnim_85B79D0[] = +{ ANIMCMD_FRAME(80, 10, .hFlip = TRUE), ANIMCMD_FRAME(96, 10, .hFlip = TRUE), ANIMCMD_JUMP(0) }; -static const union AnimCmd *const gSpriteAnimTable_85B79DC[] = { +static const union AnimCmd *const gSpriteAnimTable_85B79DC[] = +{ gSpriteAnim_85B7980 }; -static const union AnimCmd *const gSpriteAnimTable_85B79E0[] = { +static const union AnimCmd *const gSpriteAnimTable_85B79E0[] = +{ gSpriteAnim_85B799C, gSpriteAnim_85B79A4, gSpriteAnim_85B79AC, @@ -3143,8 +3202,8 @@ static const struct OamData gOamData_85B7A28 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_SQUARE, - .size = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), .priority = 2, }; @@ -3152,8 +3211,8 @@ static const struct OamData gOamData_85B7A30 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_H_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), .priority = 2, }; @@ -3161,24 +3220,27 @@ static const struct OamData gOamData_85B7A38 = { .affineMode = ST_OAM_AFFINE_NORMAL, .objMode = ST_OAM_OBJ_NORMAL, - .shape = ST_OAM_H_RECTANGLE, - .size = 2, + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), .priority = 2, }; -static const struct CompressedSpriteSheet gUnknown_085B7A40 = { +static const struct CompressedSpriteSheet gUnknown_085B7A40 = +{ .data = gUnknown_085B7290, .size = 0x180, .tag = 14 }; -static const union AffineAnimCmd gSpriteAffineAnim_85B7A48[] = { +static const union AffineAnimCmd gSpriteAffineAnim_85B7A48[] = +{ AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), AFFINEANIMCMD_FRAME(2, 2, 0, 60), AFFINEANIMCMD_END }; -static const union AffineAnimCmd gSpriteAffineAnim_85B7A60[] = { +static const union AffineAnimCmd gSpriteAffineAnim_85B7A60[] = +{ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(-2, 0x0, 0, 15), AFFINEANIMCMD_FRAME(-1, -2, 0, 15), @@ -3186,38 +3248,46 @@ static const union AffineAnimCmd gSpriteAffineAnim_85B7A60[] = { AFFINEANIMCMD_END }; -static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7A88[] = { +static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7A88[] = +{ gSpriteAffineAnim_85B7A48 }; -static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7A8C[] = { +static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7A8C[] = +{ gSpriteAffineAnim_85B7A60 }; -static const union AffineAnimCmd gSpriteAffineAnim_85B7A90[] = { +static const union AffineAnimCmd gSpriteAffineAnim_85B7A90[] = +{ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_END }; -static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7AA0[] = { +static const union AffineAnimCmd *const gSpriteAffineAnimTable_85B7AA0[] = +{ gSpriteAffineAnim_85B7A90 }; -static const union AnimCmd gSpriteAnim_85B7AA4[] = { +static const union AnimCmd gSpriteAnim_85B7AA4[] = +{ ANIMCMD_FRAME(0, 0), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_85B7AAC[] = { +static const union AnimCmd gSpriteAnim_85B7AAC[] = +{ ANIMCMD_FRAME(4, 0), ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_85B7AB4[] = { +static const union AnimCmd *const gSpriteAnimTable_85B7AB4[] = +{ gSpriteAnim_85B7AA4 }; -static const union AnimCmd *const gSpriteAnimTable_85B7AB8[] = { +static const union AnimCmd *const gSpriteAnimTable_85B7AB8[] = +{ gSpriteAnim_85B7AAC }; diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index 08f1938904..415907585a 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -47,19 +47,19 @@ EWRAM_DATA u8 gSaveFailedUnused2[4] = {0}; static const struct OamData sClockOamData = { - 160, // Y - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0 + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 }; static const struct BgTemplate gUnknown_085EFD88[3] = diff --git a/src/sprite.c b/src/sprite.c index 4087dd8c41..d2ea7889c1 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -91,21 +91,21 @@ typedef void (*AnimFunc)(struct Sprite *); typedef void (*AnimCmdFunc)(struct Sprite *); typedef void (*AffineAnimCmdFunc)(u8 matrixNum, struct Sprite *); -#define DUMMY_OAM_DATA \ -{ \ - 160, /* Y (off-screen) */ \ - 0, \ - 0, \ - 0, \ - 0, \ - 0, \ - 304, /* X */ \ - 0, \ - 0, \ - 0, \ - 3, /* lowest priority */ \ - 0, \ - 0 \ +#define DUMMY_OAM_DATA \ +{ \ + .y = 160, \ + .affineMode = 0, \ + .objMode = 0, \ + .mosaic = 0, \ + .bpp = 0, \ + .shape = SPRITE_SHAPE(8x8), \ + .x = 304, \ + .matrixNum = 0, \ + .size = SPRITE_SIZE(8x8), \ + .tileNum = 0, \ + .priority = 3, /* lowest priority */ \ + .paletteNum = 0, \ + .affineParam = 0 \ } #define ANIM_END 0xFFFF diff --git a/src/starter_choose.c b/src/starter_choose.c index 4ed53539fe..c3d6361758 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -170,10 +170,10 @@ static const struct OamData gOamData_85B1E10 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -187,10 +187,10 @@ static const struct OamData gOamData_85B1E18 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(32x32), .x = 0, .matrixNum = 0, - .size = 2, + .size = SPRITE_SIZE(32x32), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -204,10 +204,10 @@ static const struct OamData gOamData_85B1E20 = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -296,21 +296,35 @@ static const union AffineAnimCmd * const gSpriteAffineAnimTable_85B1ED4[] = {gSp static const struct CompressedSpriteSheet gUnknown_085B1ED8[] = { - gUnknown_085B18AC, 0x0800, 0x1000, - NULL, + { + .data = gUnknown_085B18AC, + .size = 0x0800, + .tag = 0x1000 + }, + {} }; static const struct CompressedSpriteSheet gUnknown_085B1EE8[] = { - gUnknown_085B1BCC, 0x0800, 0x1001, - NULL, + { + .data = gUnknown_085B1BCC, + .size = 0x0800, + .tag = 0x1001 + }, + {} }; static const struct SpritePalette gUnknown_085B1EF8[] = { - gBirchBallarrow_Pal, 0x1000, - gBirchCircle_Pal, 0x1001, - NULL, + { + .data = gBirchBallarrow_Pal, + .tag = 0x1000 + }, + { + .data = gBirchCircle_Pal, + .tag = 0x1001 + }, + {}, }; static const struct SpriteTemplate sSpriteTemplate_Hand = diff --git a/src/title_screen.c b/src/title_screen.c index 80d5464faf..b9ef530004 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -23,9 +23,7 @@ #include "constants/rgb.h" #include "constants/songs.h" -#define VERSION_BANNER_SHAPE 1 #define VERSION_BANNER_RIGHT_TILEOFFSET 64 -#define VERSION_BANNER_BYTES 0x1000 #define VERSION_BANNER_LEFT_X 98 #define VERSION_BANNER_RIGHT_X 162 #define VERSION_BANNER_Y 2 @@ -108,10 +106,10 @@ static const struct OamData sVersionBannerLeftOamData = .objMode = 0, .mosaic = 0, .bpp = 1, - .shape = VERSION_BANNER_SHAPE, + .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x32), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -125,10 +123,10 @@ static const struct OamData sVersionBannerRightOamData = .objMode = 0, .mosaic = 0, .bpp = 1, - .shape = VERSION_BANNER_SHAPE, + .shape = SPRITE_SHAPE(64x32), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x32), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -181,8 +179,12 @@ static const struct SpriteTemplate sVersionBannerRightSpriteTemplate = static const struct CompressedSpriteSheet sSpriteSheet_EmeraldVersion[] = { - {gTitleScreenEmeraldVersionGfx, VERSION_BANNER_BYTES, 1000}, - {NULL}, + { + .data = gTitleScreenEmeraldVersionGfx, + .size = 0x1000, + .tag = 1000 + }, + {}, }; static const struct OamData sOamData_CopyrightBanner = @@ -192,10 +194,10 @@ static const struct OamData sOamData_CopyrightBanner = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 1, + .shape = SPRITE_SHAPE(32x8), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(32x8), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -280,14 +282,21 @@ static const struct SpriteTemplate sStartCopyrightBannerSpriteTemplate = static const struct CompressedSpriteSheet sSpriteSheet_PressStart[] = { - {gTitleScreenPressStartGfx, 0x520, 1001}, - {NULL}, + { + .data = gTitleScreenPressStartGfx, + .size = 0x520, + .tag = 1001 + }, + {}, }; static const struct SpritePalette sSpritePalette_PressStart[] = { - {gTitleScreenPressStartPal, 1001}, - {NULL}, + { + .data = gTitleScreenPressStartPal, + .tag = 1001 + }, + {}, }; static const struct OamData sPokemonLogoShineOamData = @@ -297,10 +306,10 @@ static const struct OamData sPokemonLogoShineOamData = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 0, .paletteNum = 0, @@ -331,8 +340,12 @@ static const struct SpriteTemplate sPokemonLogoShineSpriteTemplate = static const struct CompressedSpriteSheet sPokemonLogoShineSpriteSheet[] = { - {sTitleScreenLogoShineGfx, 0x800, 1002}, - {NULL}, + { + .data = sTitleScreenLogoShineGfx, + .size = 0x800, + .tag = 1002 + }, + {}, }; // code diff --git a/src/trade.c b/src/trade.c index 9a9828f347..be6768fe37 100644 --- a/src/trade.c +++ b/src/trade.c @@ -256,72 +256,89 @@ static const u8 gText_YourOnlyPkmnForBattle[] = _("That's your only\nPOKéMON fo static const u8 gText_WaitingForYourFriend[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Waiting for your friend\nto finish…"); static const u8 gText_YourFriendWantsToTrade[] = _("Your friend wants\nto trade POKéMON."); -static const struct OamData gOamData_832DC14 = { - .shape = ST_OAM_H_RECTANGLE, - .size = 2, +static const struct OamData gOamData_832DC14 = +{ + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), .priority = 1 }; -static const struct OamData gOamData_832DC1C = { - .shape = ST_OAM_H_RECTANGLE, - .size = 3, +static const struct OamData gOamData_832DC1C = +{ + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), .priority = 1 }; -static const union AnimCmd gSpriteAnim_832DC24[] = { +static const union AnimCmd gSpriteAnim_832DC24[] = +{ ANIMCMD_FRAME(0, 5), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_832DC2C[] = { +static const union AnimCmd gSpriteAnim_832DC2C[] = +{ ANIMCMD_FRAME(32, 5), ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_832DC34[] = { +static const union AnimCmd *const gSpriteAnimTable_832DC34[] = +{ gSpriteAnim_832DC24, gSpriteAnim_832DC2C }; -static const struct SpriteSheet gUnknown_0832DC3C = { - gUnknown_08DDC6E4, 0x800, 300 +static const struct SpriteSheet gUnknown_0832DC3C = +{ + .data = gUnknown_08DDC6E4, + .size = 0x800, + .tag = 300 }; -static const struct SpritePalette gUnknown_0832DC44 = { - gUnknown_08DDB444, 2345 +static const struct SpritePalette gUnknown_0832DC44 = +{ + .data = gUnknown_08DDB444, + .tag = 2345 }; -static const union AnimCmd gSpriteAnim_832DC4C[] = { +static const union AnimCmd gSpriteAnim_832DC4C[] = +{ ANIMCMD_FRAME(0, 5), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_832DC54[] = { +static const union AnimCmd gSpriteAnim_832DC54[] = +{ ANIMCMD_FRAME(8, 5), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_832DC5C[] = { +static const union AnimCmd gSpriteAnim_832DC5C[] = +{ ANIMCMD_FRAME(16, 5), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_832DC64[] = { +static const union AnimCmd gSpriteAnim_832DC64[] = +{ ANIMCMD_FRAME(24, 5), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_832DC6C[] = { +static const union AnimCmd gSpriteAnim_832DC6C[] = +{ ANIMCMD_FRAME(32, 5), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_832DC74[] = { +static const union AnimCmd gSpriteAnim_832DC74[] = +{ ANIMCMD_FRAME(40, 5), ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_832DC7C[] = { +static const union AnimCmd *const gSpriteAnimTable_832DC7C[] = +{ gSpriteAnim_832DC4C, gSpriteAnim_832DC54, gSpriteAnim_832DC5C, @@ -355,7 +372,8 @@ static const struct SpriteTemplate gSpriteTemplate_832DCAC = static const u16 TradeScreenTextPalette[] = INCBIN_U16("graphics/trade/text.gbapal"); static const struct SpritePalette gSpritePalette_TradeScreenText = { - TradeScreenTextPalette, 4925 + .data = TradeScreenTextPalette, + .tag = 4925 }; // This is used to determine the next mon to select when the D-Pad is @@ -367,7 +385,6 @@ static const struct SpritePalette gSpritePalette_TradeScreenText = // 2 3 8 9 // 4 5 10 11 // 12 - static const u8 gTradeNextSelectedMonTable[][4][6] = { { @@ -471,7 +488,8 @@ static const u8 gTradeMonSpriteCoords[][2] = {23, 18} // CANCEL }; -static const u8 gTradeLevelDisplayCoords[][6][2] = { +static const u8 gTradeLevelDisplayCoords[][6][2] = +{ { // Your party {5, 4}, @@ -492,7 +510,8 @@ static const u8 gTradeLevelDisplayCoords[][6][2] = { } }; -static const u8 gTradeMonBoxCoords[][6][2] = { +static const u8 gTradeMonBoxCoords[][6][2] = +{ { // Your party {1, 3}, @@ -513,7 +532,8 @@ static const u8 gTradeMonBoxCoords[][6][2] = { } }; -static const u8 sUnref_0832DE6E[] = { +static const u8 sUnref_0832DE6E[] = +{ 0x00, 0x0e, 0x0f, 0x1d, 0x03, 0x05, @@ -544,7 +564,8 @@ static const u8 *const gUnknown_0832DE94[] = gJPText_832DB2E }; -static const struct MenuAction gUnknown_0832DEAC[] = { +static const struct MenuAction gUnknown_0832DEAC[] = +{ {gText_Summary4, sub_807A000}, {gText_Trade3, sub_807A024} }; @@ -817,12 +838,15 @@ static const u16 gUnknown_08337EA0[] = INCBIN_U16("graphics/trade/black.gbapal") static const u32 gUnknown_08337EC0[] = INCBIN_U32("graphics/trade/wireless_signal.4bpp.lz"); static const u32 gUnknown_08338550[] = INCBIN_U32("graphics/trade/wireless_signal.bin.lz"); -static const struct OamData gOamData_8338C44 = { +static const struct OamData gOamData_8338C44 = +{ .affineMode = 1, - .size = 1 + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16) }; -static const union AnimCmd gSpriteAnim_8338C4C[] = { +static const union AnimCmd gSpriteAnim_8338C4C[] = +{ ANIMCMD_FRAME( 0, 3), ANIMCMD_FRAME( 4, 3), ANIMCMD_FRAME( 8, 3), @@ -840,7 +864,8 @@ static const union AnimCmd gSpriteAnim_8338C4C[] = { ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_8338C88[] = { +static const union AnimCmd gSpriteAnim_8338C88[] = +{ ANIMCMD_FRAME( 0, 3), ANIMCMD_FRAME( 4, 3), ANIMCMD_FRAME( 8, 3), @@ -858,171 +883,213 @@ static const union AnimCmd gSpriteAnim_8338C88[] = { ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_8338C88[] = { +static const union AnimCmd *const gSpriteAnimTable_8338C88[] = +{ gSpriteAnim_8338C4C, gSpriteAnim_8338C88 }; -static const union AffineAnimCmd gSpriteAffineAnim_8338CCC[] = { +static const union AffineAnimCmd gSpriteAffineAnim_8338CCC[] = +{ AFFINEANIMCMD_FRAME(0, 0, 0, 1), AFFINEANIMCMD_END }; -static const union AffineAnimCmd gSpriteAffineAnim_8338CDC[] = { +static const union AffineAnimCmd gSpriteAffineAnim_8338CDC[] = +{ AFFINEANIMCMD_FRAME(-8, 0, 0, 20), AFFINEANIMCMD_END }; -static const union AffineAnimCmd gSpriteAffineAnim_8338CEC[] = { +static const union AffineAnimCmd gSpriteAffineAnim_8338CEC[] = +{ AFFINEANIMCMD_FRAME(0x60, 0x100, 0, 0), AFFINEANIMCMD_FRAME( 0, 0, 0, 5), AFFINEANIMCMD_FRAME( 8, 0, 0, 20), AFFINEANIMCMD_END }; -static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D0C[] = { +static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D0C[] = +{ gSpriteAffineAnim_8338CCC, gSpriteAffineAnim_8338CDC, gSpriteAffineAnim_8338CEC }; -static const struct SpriteSheet gUnknown_08338D18 = { - gTradeBallTiles, 0x600, 5557 +static const struct SpriteSheet gUnknown_08338D18 = +{ + .data = gTradeBallTiles, + .size = 0x600, + .tag = 5557 }; -static const struct SpritePalette gUnknown_08338D20 = { - gTradeBallPalette, 5558 +static const struct SpritePalette gUnknown_08338D20 = +{ + .data = gTradeBallPalette, + .tag = 5558 }; -static const struct SpriteTemplate gSpriteTemplate_8338D28 = { - 5557, - 5558, - &gOamData_8338C44, - gSpriteAnimTable_8338C88, - NULL, - gSpriteAffineAnimTable_8338D0C, - sub_807E55C +static const struct SpriteTemplate gSpriteTemplate_8338D28 = +{ + .tileTag = 5557, + .paletteTag = 5558, + .oam = &gOamData_8338C44, + .anims = gSpriteAnimTable_8338C88, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_8338D0C, + .callback = sub_807E55C }; -static const struct OamData gOamData_8338D40 = { +static const struct OamData gOamData_8338D40 = +{ .affineMode = 1, .objMode = 1, - .size = 2, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), .priority = 1 }; -static const union AnimCmd gSpriteAnim_8338D48[] = { +static const union AnimCmd gSpriteAnim_8338D48[] = +{ ANIMCMD_FRAME(0, 5, .hFlip = TRUE, .vFlip = TRUE), ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_8338D50[] = { +static const union AnimCmd *const gSpriteAnimTable_8338D50[] = +{ gSpriteAnim_8338D48 }; -static const union AffineAnimCmd gSpriteAffineAnim_8338D54[] = { +static const union AffineAnimCmd gSpriteAffineAnim_8338D54[] = +{ AFFINEANIMCMD_FRAME(-10, -10, 0, 5), AFFINEANIMCMD_FRAME(10, 10, 0, 5), AFFINEANIMCMD_JUMP(0) }; -static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D6C[] = { +static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D6C[] = +{ gSpriteAffineAnim_8338D54 }; -static const struct SpriteSheet gUnknown_08338D70 = { - gTradeGlow1Tiles, 0x200, 5550 +static const struct SpriteSheet gUnknown_08338D70 = +{ + .data = gTradeGlow1Tiles, + .size = 0x200, + .tag = 5550 }; -static const struct SpritePalette gUnknown_08338D78 = { - gUnknown_08330940, 5551 +static const struct SpritePalette gUnknown_08338D78 = +{ + .data = gUnknown_08330940, + .tag = 5551 }; -static const struct SpritePalette gUnknown_08338D80 = { - gUnknown_083308E0, 5555 +static const struct SpritePalette gUnknown_08338D80 = +{ + .data = gUnknown_083308E0, + .tag = 5555 }; -static const struct SpriteTemplate gUnknown_08338D88 = { - 5550, - 5551, - &gOamData_8338D40, - gSpriteAnimTable_8338D50, - NULL, - gSpriteAffineAnimTable_8338D6C, - sub_807AA28 +static const struct SpriteTemplate gUnknown_08338D88 = +{ + .tileTag = 5550, + .paletteTag = 5551, + .oam = &gOamData_8338D40, + .anims = gSpriteAnimTable_8338D50, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_8338D6C, + .callback = sub_807AA28 }; -static const struct OamData gOamData_8338DA0 = { - .shape = ST_OAM_V_RECTANGLE, - .size = 2, +static const struct OamData gOamData_8338DA0 = +{ + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), .priority = 1 }; -static const union AnimCmd gSpriteAnim_8338DA8[] = { +static const union AnimCmd gSpriteAnim_8338DA8[] = +{ ANIMCMD_FRAME(0, 5, .vFlip = TRUE, .hFlip = TRUE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_8338DB0[] = { +static const union AnimCmd gSpriteAnim_8338DB0[] = +{ ANIMCMD_FRAME(8, 5, .vFlip = TRUE, .hFlip = TRUE), ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_8338DB8[] = { +static const union AnimCmd *const gSpriteAnimTable_8338DB8[] = +{ gSpriteAnim_8338DA8, gSpriteAnim_8338DB0 }; -static const struct SpriteSheet gUnknown_08338DC0 = { - gTradeGlow2Tiles, 0x300, 5552 +static const struct SpriteSheet gUnknown_08338DC0 = +{ + .data = gTradeGlow2Tiles, + .size = 0x300, + .tag = 5552 }; -static const struct SpriteTemplate gSpriteTemplate_8338DC8 = { - 5552, - 5551, - &gOamData_8338DA0, - gSpriteAnimTable_8338DB8, - NULL, - gDummySpriteAffineAnimTable, - sub_807AA7C +static const struct SpriteTemplate gSpriteTemplate_8338DC8 = +{ + .tileTag = 5552, + .paletteTag = 5551, + .oam = &gOamData_8338DA0, + .anims = gSpriteAnimTable_8338DB8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_807AA7C }; -static const struct OamData gOamData_8338DE0 = { - .shape = ST_OAM_V_RECTANGLE, - .size = 2, +static const struct OamData gOamData_8338DE0 = +{ + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), .priority = 1 }; -static const union AnimCmd gSpriteAnim_8338DE8[] = { +static const union AnimCmd gSpriteAnim_8338DE8[] = +{ ANIMCMD_FRAME(0, 10), ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_8338DF0[] = { +static const union AnimCmd *const gSpriteAnimTable_8338DF0[] = +{ gSpriteAnim_8338DE8 }; -static const struct SpriteSheet gUnknown_08338DF4 = { - gTradeCableEndTiles, 0x100, 5554 +static const struct SpriteSheet gUnknown_08338DF4 = +{ + .data = gTradeCableEndTiles, + .size = 0x100, + .tag = 5554 }; -static const struct SpriteTemplate gSpriteTemplate_8338DFC = { - 5554, - 5555, - &gOamData_8338DE0, - gSpriteAnimTable_8338DF0, - NULL, - gDummySpriteAffineAnimTable, - sub_807AABC +static const struct SpriteTemplate gSpriteTemplate_8338DFC = +{ + .tileTag = 5554, + .paletteTag = 5555, + .oam = &gOamData_8338DE0, + .anims = gSpriteAnimTable_8338DF0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_807AABC }; -static const struct OamData gOamData_8338E14 = { - .shape = ST_OAM_H_RECTANGLE, - .size = 3, +static const struct OamData gOamData_8338E14 = +{ + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), .priority = 1 }; -static const union AnimCmd gSpriteAnim_8338E1C[] = { +static const union AnimCmd gSpriteAnim_8338E1C[] = +{ ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), @@ -1034,7 +1101,8 @@ static const union AnimCmd gSpriteAnim_8338E1C[] = { ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_8338E40[] = { +static const union AnimCmd gSpriteAnim_8338E40[] = +{ ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), @@ -1046,50 +1114,60 @@ static const union AnimCmd gSpriteAnim_8338E40[] = { ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_8338E64[] = { +static const union AnimCmd *const gSpriteAnimTable_8338E64[] = +{ gSpriteAnim_8338E1C }; -static const union AnimCmd *const gSpriteAnimTable_8338E68[] = { +static const union AnimCmd *const gSpriteAnimTable_8338E68[] = +{ gSpriteAnim_8338E40 }; -static const struct SpriteSheet gUnknown_08338E6C = { - gTradeGBAScreenTiles, 0x1000, 5556 +static const struct SpriteSheet gUnknown_08338E6C = +{ + .data = gTradeGBAScreenTiles, + .size = 0x1000, + .tag = 5556 }; -static const struct SpriteTemplate gSpriteTemplate_8338E74 = { - 5556, - 5555, - &gOamData_8338E14, - gSpriteAnimTable_8338E64, - NULL, - gDummySpriteAffineAnimTable, - sub_807AB04 +static const struct SpriteTemplate gSpriteTemplate_8338E74 = +{ + .tileTag = 5556, + .paletteTag = 5555, + .oam = &gOamData_8338E14, + .anims = gSpriteAnimTable_8338E64, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_807AB04 }; -static const struct SpriteTemplate gSpriteTemplate_8338E8C = { - 5556, - 5555, - &gOamData_8338E14, - gSpriteAnimTable_8338E68, - NULL, - gDummySpriteAffineAnimTable, - sub_807AB04 +static const struct SpriteTemplate gSpriteTemplate_8338E8C = +{ + .tileTag = 5556, + .paletteTag = 5555, + .oam = &gOamData_8338E14, + .anims = gSpriteAnimTable_8338E68, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_807AB04 }; static const u16 gUnknown_08338EA4[] = INCBIN_U16("graphics/trade/unknown_338EA4.gbapal"); -static const union AffineAnimCmd gSpriteAffineAnim_8338EBC[] = { +static const union AffineAnimCmd gSpriteAffineAnim_8338EBC[] = +{ AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), AFFINEANIMCMD_JUMP(0) }; -static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338ECC[] = { +static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338ECC[] = +{ gSpriteAffineAnim_8338EBC }; -static const struct InGameTrade gIngameTrades[] = { +static const struct InGameTrade gIngameTrades[] = +{ { _("DOTS"), SPECIES_SEEDOT, 5, 4, 5, 4, 4, 4, @@ -1131,7 +1209,8 @@ static const struct InGameTrade gIngameTrades[] = { } }; -static const u16 gIngameTradeMail[][10] = { +static const u16 gIngameTradeMail[][10] = +{ { EC_WORD_BE, EC_WORD_NICE, @@ -1233,7 +1312,8 @@ static const struct BgTemplate gUnknown_08339014[] = }, }; -static const s8 gTradeBallVerticalVelocityTable[] = { +static const s8 gTradeBallVerticalVelocityTable[] = +{ 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 2, 2, diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c index d576854233..8172f09e6c 100644 --- a/src/trainer_pokemon_sprites.c +++ b/src/trainer_pokemon_sprites.c @@ -43,13 +43,18 @@ static EWRAM_DATA struct PicData sSpritePics[PICS_COUNT] = {}; // .rodata static const struct PicData sDummyPicData = {}; + static const struct OamData gUnknown_0860B064 = { - .size = 3 + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64) }; + static const struct OamData gUnknown_0860B06C = { - .affineMode = 1, .size = 3 + .affineMode = 1, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64) }; // .text diff --git a/src/trainer_see.c b/src/trainer_see.c index 16ea88a455..9925aa6bc8 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -100,10 +100,10 @@ static const struct OamData sOamData_Icons = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(16x16), .x = 0, .matrixNum = 0, - .size = 1, + .size = SPRITE_SIZE(16x16), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -112,13 +112,22 @@ static const struct OamData sOamData_Icons = static const struct SpriteFrameImage sSpriteImageTable_ExclamationQuestionMark[] = { - {sEmotion_ExclamationMarkGfx, 0x80}, - {sEmotion_QuestionMarkGfx, 0x80} + { + .data = sEmotion_ExclamationMarkGfx, + .size = 0x80 + }, + { + .data = sEmotion_QuestionMarkGfx, + .size = 0x80 + } }; static const struct SpriteFrameImage sSpriteImageTable_HeartIcon[] = { - {sEmotion_HeartGfx, 0x80} + { + .data = sEmotion_HeartGfx, + .size = 0x80 + } }; static const union AnimCmd sSpriteAnim_Icons1[] = diff --git a/src/unk_transition.c b/src/unk_transition.c index d56998b5bb..99479c8660 100644 --- a/src/unk_transition.c +++ b/src/unk_transition.c @@ -40,7 +40,7 @@ static const u32 gUnknown_0862AF30[] = INCBIN_U32("graphics/battle_transitions/f static const u32 gUnknown_0862B0DC[] = INCBIN_U32("graphics/battle_transitions/frontier_transition_circles.4bpp.lz"); static const u16 gUnknown_0862B53C[] = INCBIN_U16("graphics/battle_transitions/frontier_transition.gbapal"); -// Unused Empty data. Feel free to delete. +// Unused Empty data. static const u8 sFiller[0x1C0] = {0}; static const struct OamData sOamData_862B71C = @@ -50,10 +50,10 @@ static const struct OamData sOamData_862B71C = .objMode = 0, .mosaic = 0, .bpp = 0, - .shape = 0, + .shape = SPRITE_SHAPE(64x64), .x = 0, .matrixNum = 0, - .size = 3, + .size = SPRITE_SIZE(64x64), .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -62,12 +62,15 @@ static const struct OamData sOamData_862B71C = static const struct CompressedSpriteSheet sUnknown_0862B724 = { - gUnknown_0862B0DC, 0x1800, 11920 + .data = gUnknown_0862B0DC, + .size = 0x1800, + .tag = 11920 }; static const struct SpritePalette sUnknown_0862B72C = { - gUnknown_0862B53C, 11920 + .data = gUnknown_0862B53C, + .tag = 11920 }; static const union AnimCmd sSpriteAnim_862B734[] = diff --git a/src/wallclock.c b/src/wallclock.c index d3bbcf7a20..810abb1d13 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -93,6 +93,7 @@ static const struct WindowTemplate gUnknown_085B21DC[] = }, DUMMY_WIN_TEMPLATE }; + static const struct WindowTemplate gUnknown_085B21F4 = { .bg = 0, @@ -103,7 +104,9 @@ static const struct WindowTemplate gUnknown_085B21F4 = .paletteNum = 14, .baseBlock = 572 }; -static const struct BgTemplate gUnknown_085B21FC[] = { + +static const struct BgTemplate gUnknown_085B21FC[] = +{ { .bg = 0, .charBaseIndex = 2, @@ -123,34 +126,57 @@ static const struct BgTemplate gUnknown_085B21FC[] = { .priority = 2 } }; -static const struct CompressedSpriteSheet gUnknown_085B2208 = { + +static const struct CompressedSpriteSheet gUnknown_085B2208 = +{ sUnknown_085B1F58, 0x2000, TAG_GFX_WALL_CLOCK_HAND }; -static const u32 filler_85B2210[2] = {}; -static const struct SpritePalette gUnknown_085B2218[] = { - { gWallclockMale_Pal, TAG_PAL_WALL_CLOCK_HAND }, - { gWallclockFemale_Pal, 0x1001 }, + +static const u8 filler_85B2210[8] = {0}; + +static const struct SpritePalette gUnknown_085B2218[] = +{ + { + .data = gWallclockMale_Pal, + .tag = TAG_PAL_WALL_CLOCK_HAND + }, + { + .data = gWallclockFemale_Pal, + .tag = 0x1001 + }, {} }; -static const struct OamData Unknown_085B2230 = { + +static const struct OamData Unknown_085B2230 = +{ .y = 160, - .size = 3, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), .priority = 1, }; -static const union AnimCmd Unknown_085B2238[] = { + +static const union AnimCmd Unknown_085B2238[] = +{ ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -static const union AnimCmd Unknown_085B2240[] = { + +static const union AnimCmd Unknown_085B2240[] = +{ ANIMCMD_FRAME(64, 30), ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_085B2248[] = { + +static const union AnimCmd *const gUnknown_085B2248[] = +{ Unknown_085B2238 }; -static const union AnimCmd *const gUnknown_085B224C[] = { + +static const union AnimCmd *const gUnknown_085B224C[] = +{ Unknown_085B2240 }; + static const struct SpriteTemplate gUnknown_085B2250 = { .tileTag = TAG_GFX_WALL_CLOCK_HAND, @@ -161,6 +187,7 @@ static const struct SpriteTemplate gUnknown_085B2250 = .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCB_MinuteHand, }; + static const struct SpriteTemplate gUnknown_085B2268 = { .tileTag = TAG_GFX_WALL_CLOCK_HAND, @@ -171,25 +198,37 @@ static const struct SpriteTemplate gUnknown_085B2268 = .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCB_HourHand, }; -static const struct OamData Unknown_085B2280 = { + +static const struct OamData Unknown_085B2280 = +{ .y = 160, - .size = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), .priority = 3, }; -static const union AnimCmd Unknown_085B2288[] = { + +static const union AnimCmd Unknown_085B2288[] = +{ ANIMCMD_FRAME(132, 30), ANIMCMD_END, }; -static const union AnimCmd Unknown_085B2290[] = { + +static const union AnimCmd Unknown_085B2290[] = +{ ANIMCMD_FRAME(128, 30), ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_085B2298[] = { + +static const union AnimCmd *const gUnknown_085B2298[] = +{ Unknown_085B2288 }; -static const union AnimCmd *const gUnknown_085B229C[] = { + +static const union AnimCmd *const gUnknown_085B229C[] = +{ Unknown_085B2290 }; + static const struct SpriteTemplate gUnknown_085B22A0 = { .tileTag = TAG_GFX_WALL_CLOCK_HAND, @@ -200,6 +239,7 @@ static const struct SpriteTemplate gUnknown_085B22A0 = .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCB_AMIndicator }; + static const struct SpriteTemplate gUnknown_085B22B8 = { .tileTag = TAG_GFX_WALL_CLOCK_HAND, @@ -210,7 +250,9 @@ static const struct SpriteTemplate gUnknown_085B22B8 = .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCB_PMIndicator }; -static const s8 sClockHandCoords[][2] = { + +static const s8 sClockHandCoords[][2] = +{ { 0x00, -0x18}, { 0x01, -0x19}, { 0x01, -0x19}, From eeb329909c7caab645445849a2f75257a3c72be5 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Mon, 11 Mar 2019 03:21:23 -0400 Subject: [PATCH 43/47] Fix anonymous struct --- src/region_map.c | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/region_map.c b/src/region_map.c index a8b3fc3b2e..25b47479d6 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -36,6 +36,13 @@ // Static type declarations +struct FlagControlledFlyDest +{ + const u8 *const *name; + u16 mapSecId; + u16 flag; +}; + // Static RAM declarations static EWRAM_DATA struct RegionMap *gRegionMap = NULL; @@ -319,17 +326,13 @@ static const u8 *const gUnknown_085A1ED4[] = gText_PokemonCenter }; -static const struct +static const struct FlagControlledFlyDest gUnknown_085A1EDC[] = { - const u8 *const *name; - u16 mapSecId; - u16 flag; -} -gUnknown_085A1EDC[] = -{ - gUnknown_085A1ED4, - MAPSEC_EVER_GRANDE_CITY, - FLAG_LANDMARK_POKEMON_LEAGUE + { + .name = gUnknown_085A1ED4, + .mapSecId = MAPSEC_EVER_GRANDE_CITY, + .flag = FLAG_LANDMARK_POKEMON_LEAGUE + } }; static const struct BgTemplate gUnknown_085A1EE4[] = @@ -1774,7 +1777,7 @@ static void sub_8124904(void) if (sFlyMap->regionMap.iconDrawType > MAPSECTYPE_NONE && sFlyMap->regionMap.iconDrawType <= MAPSECTYPE_BATTLE_FRONTIER) { flag = FALSE; - for (i = 0; i < 1; i++) + for (i = 0; i < ARRAY_COUNT(gUnknown_085A1EDC); i++) { if (sFlyMap->regionMap.mapSecId == gUnknown_085A1EDC[i].mapSecId) { From a029254faa152ae652eb35f6b9e1e80ddc33463a Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Mon, 11 Mar 2019 04:15:44 -0400 Subject: [PATCH 44/47] Apply new macros to intro graphics struct --- src/intro_credits_graphics.c | 270 +++++++++++++++++++++++++++++++---- 1 file changed, 243 insertions(+), 27 deletions(-) diff --git a/src/intro_credits_graphics.c b/src/intro_credits_graphics.c index 29ee2067fa..7ac11e1e03 100644 --- a/src/intro_credits_graphics.c +++ b/src/intro_credits_graphics.c @@ -102,15 +102,87 @@ static const union AnimCmd *const gUnknown_085F5094[] = static const struct IntroCreditsSpriteMetadata gUnknown_085F50A4[] = { - { 0, ST_OAM_SQUARE, 2, 72, 32, 100, 0xc00 }, - { 0, ST_OAM_SQUARE, 2, 158, 32, 100, 0xc00 }, - { 1, ST_OAM_SQUARE, 1, 192, 40, 101, 0x800 }, - { 1, ST_OAM_SQUARE, 1, 56, 40, 101, 0x800 }, - { 2, ST_OAM_H_RECTANGLE, 0, 100, 44, 102, 0x400 }, - { 2, ST_OAM_H_RECTANGLE, 0, 152, 44, 102, 0x400 }, - { 3, ST_OAM_H_RECTANGLE, 0, 8, 46, 103, 0x100 }, - { 3, ST_OAM_H_RECTANGLE, 0, 56, 46, 103, 0x100 }, - { 3, ST_OAM_H_RECTANGLE, 0, 240, 46, 103, 0x100 }, + { + .animNum = 0, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .x = 72, + .y = 32, + .subpriority = 100, + .xOff = 0xc00 + }, + { + .animNum = 0, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .x = 158, + .y = 32, + .subpriority = 100, + .xOff = 0xc00 + }, + { + .animNum = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .x = 192, + .y = 40, + .subpriority = 101, + .xOff = 0x800 + }, + { + .animNum = 1, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .x = 56, + .y = 40, + .subpriority = 101, + .xOff = 0x800 + }, + { + .animNum = 2, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .x = 100, + .y = 44, + .subpriority = 102, + .xOff = 0x400 + }, + { + .animNum = 2, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .x = 152, + .y = 44, + .subpriority = 102, + .xOff = 0x400 + }, + { + .animNum = 3, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .x = 8, + .y = 46, + .subpriority = 103, + .xOff = 0x100 + }, + { + .animNum = 3, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .x = 56, + .y = 46, + .subpriority = 103, + .xOff = 0x100 + }, + { + .animNum = 3, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .x = 240, + .y = 46, + .subpriority = 103, + .xOff = 0x100 + }, }; static const struct CompressedSpriteSheet gUnknown_085F50EC[] = @@ -146,18 +218,114 @@ static const union AnimCmd *const gUnknown_085F5114[] = static const struct IntroCreditsSpriteMetadata gUnknown_085F5120[] = { - { 0, ST_OAM_SQUARE, 2, 16, 88, 100, 0x2000 }, - { 0, ST_OAM_SQUARE, 2, 80, 88, 100, 0x2000 }, - { 0, ST_OAM_SQUARE, 2, 144, 88, 100, 0x2000 }, - { 0, ST_OAM_SQUARE, 2, 208, 88, 100, 0x2000 }, - { 1, ST_OAM_V_RECTANGLE, 2, 40, 88, 101, 0x1000 }, - { 1, ST_OAM_V_RECTANGLE, 2, 104, 88, 101, 0x1000 }, - { 1, ST_OAM_V_RECTANGLE, 2, 168, 88, 101, 0x1000 }, - { 1, ST_OAM_V_RECTANGLE, 2, 232, 88, 101, 0x1000 }, - { 2, ST_OAM_V_RECTANGLE, 2, 56, 88, 102, 0x800 }, - { 2, ST_OAM_V_RECTANGLE, 2, 120, 88, 102, 0x800 }, - { 2, ST_OAM_V_RECTANGLE, 2, 184, 88, 102, 0x800 }, - { 2, ST_OAM_V_RECTANGLE, 2, 248, 88, 102, 0x800 }, + { + .animNum = 0, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .x = 16, + .y = 88, + .subpriority = 100, + .xOff = 0x2000, + }, + { + .animNum = 0, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .x = 80, + .y = 88, + .subpriority = 100, + .xOff = 0x2000, + }, + { + .animNum = 0, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .x = 144, + .y = 88, + .subpriority = 100, + .xOff = 0x2000, + }, + { + .animNum = 0, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .x = 208, + .y = 88, + .subpriority = 100, + .xOff = 0x2000, + }, + { + .animNum = 1, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), + .x = 40, + .y = 88, + .subpriority = 101, + .xOff = 0x1000, + }, + { + .animNum = 1, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), + .x = 104, + .y = 88, + .subpriority = 101, + .xOff = 0x1000, + }, + { + .animNum = 1, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), + .x = 168, + .y = 88, + .subpriority = 101, + .xOff = 0x1000, + }, + { + .animNum = 1, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), + .x = 232, + .y = 88, + .subpriority = 101, + .xOff = 0x1000, + }, + { + .animNum = 2, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), + .x = 56, + .y = 88, + .subpriority = 102, + .xOff = 0x800, + }, + { + .animNum = 2, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), + .x = 120, + .y = 88, + .subpriority = 102, + .xOff = 0x800, + }, + { + .animNum = 2, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), + .x = 184, + .y = 88, + .subpriority = 102, + .xOff = 0x800, + }, + { + .animNum = 2, + .shape = SPRITE_SHAPE(16x32), + .size = SPRITE_SIZE(16x32), + .x = 248, + .y = 88, + .subpriority = 102, + .xOff = 0x800, + } }; static const struct CompressedSpriteSheet gUnknown_085F5180[] = @@ -179,12 +347,60 @@ static const union AnimCmd *const gUnknown_085F5198[] = static const struct IntroCreditsSpriteMetadata gUnknown_085F519C[] = { - { 0, ST_OAM_SQUARE, 2, 24, 88, 100, 0x1000 }, - { 0, ST_OAM_SQUARE, 2, 64, 88, 100, 0x1000 }, - { 0, ST_OAM_SQUARE, 2, 104, 88, 100, 0x1000 }, - { 0, ST_OAM_SQUARE, 2, 144, 88, 100, 0x1000 }, - { 0, ST_OAM_SQUARE, 2, 184, 88, 100, 0x1000 }, - { 0, ST_OAM_SQUARE, 2, 224, 88, 100, 0x1000 }, + { + .animNum = 0, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .x = 24, + .y = 88, + .subpriority = 100, + .xOff = 0x1000, + }, + { + .animNum = 0, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .x = 64, + .y = 88, + .subpriority = 100, + .xOff = 0x1000, + }, + { + .animNum = 0, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .x = 104, + .y = 88, + .subpriority = 100, + .xOff = 0x1000, + }, + { + .animNum = 0, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .x = 144, + .y = 88, + .subpriority = 100, + .xOff = 0x1000, + }, + { + .animNum = 0, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .x = 184, + .y = 88, + .subpriority = 100, + .xOff = 0x1000, + }, + { + .animNum = 0, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .x = 224, + .y = 88, + .subpriority = 100, + .xOff = 0x1000, + } }; static const struct OamData gOamData_85F51CC = From 691392fd5ddbeae70e1daa9eee48085189667c39 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Mon, 11 Mar 2019 04:28:43 -0400 Subject: [PATCH 45/47] Clean up intro_credits_graphics constants --- src/intro_credits_graphics.c | 196 ++++++++++++++++++++++++++--------- 1 file changed, 149 insertions(+), 47 deletions(-) diff --git a/src/intro_credits_graphics.c b/src/intro_credits_graphics.c index 7ac11e1e03..059c1079ec 100644 --- a/src/intro_credits_graphics.c +++ b/src/intro_credits_graphics.c @@ -59,13 +59,23 @@ static void nullsub_66(struct Sprite *sprite); static const struct SpriteTemplate gUnknown_085F504C = { - 2000, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_817B62C + .tileTag = 2000, + .paletteTag = 0xFFFF, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_817B62C }; static const struct CompressedSpriteSheet gUnknown_085F5064[] = { - { gUnknown_085F16A8, 0x400, 2000 }, - { NULL } + { + .data = gUnknown_085F16A8, + .size = 0x400, + .tag = 2000 + }, + {} }; static const union AnimCmd gUnknown_085F5074[] = @@ -187,8 +197,12 @@ static const struct IntroCreditsSpriteMetadata gUnknown_085F50A4[] = static const struct CompressedSpriteSheet gUnknown_085F50EC[] = { - { gIntro2TreeTiles, 0x400, 2000 }, - { NULL } + { + .data = gIntro2TreeTiles, + .size = 0x400, + .tag = 2000 + }, + {} }; static const union AnimCmd gUnknown_085F50FC[] = @@ -330,8 +344,12 @@ static const struct IntroCreditsSpriteMetadata gUnknown_085F5120[] = static const struct CompressedSpriteSheet gUnknown_085F5180[] = { - { gIntro2NightTiles, 0x400, 2000 }, - { NULL } + { + .data = gIntro2NightTiles, + .size = 0x400, + .tag = 2000 + }, + {} }; static const union AnimCmd gUnknown_085F5190[] = @@ -427,12 +445,24 @@ static const union AnimCmd *const gUnknown_085F51E8[] = static const struct SpriteTemplate gUnknown_085F51EC = { - 1002, 1002, &gOamData_85F51CC, gUnknown_085F51E8, NULL, gDummySpriteAffineAnimTable, nullsub_65 + .tileTag = 1002, + .paletteTag = 1002, + .oam = &gOamData_85F51CC, + .anims = gUnknown_085F51E8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = nullsub_65 }; static const struct SpriteTemplate gUnknown_085F5204 = { - 1003, 1003, &gOamData_85F51CC, gUnknown_085F51E8, NULL, gDummySpriteAffineAnimTable, nullsub_65 + .tileTag = 1003, + .paletteTag = 1003, + .oam = &gOamData_85F51CC, + .anims = gUnknown_085F51E8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = nullsub_65 }; static const struct OamData gUnknown_085F521C = @@ -459,12 +489,24 @@ static const union AnimCmd *const gUnknown_085F5238[] = static const struct SpriteTemplate gUnknown_085F523C = { - 1001, 1002, &gUnknown_085F521C, gUnknown_085F5238, NULL, gDummySpriteAffineAnimTable, sub_817B7C4 + .tileTag = 1001, + .paletteTag = 1002, + .oam = &gUnknown_085F521C, + .anims = gUnknown_085F5238, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_817B7C4 }; static const struct SpriteTemplate gUnknown_085F5254 = { - 1001, 1003, &gUnknown_085F521C, gUnknown_085F5238, NULL, gDummySpriteAffineAnimTable, sub_817B7C4 + .tileTag = 1001, + .paletteTag = 1003, + .oam = &gUnknown_085F521C, + .anims = gUnknown_085F5238, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_817B7C4 }; static const struct OamData gUnknown_085F526C = @@ -495,102 +537,162 @@ static const union AnimCmd *const gUnknown_085F5284[] = static const struct SpriteTemplate gUnknown_085F528C = { - 1004, 1004, &gUnknown_085F526C, gUnknown_085F5284, NULL, gDummySpriteAffineAnimTable, nullsub_66 + .tileTag = 1004, + .paletteTag = 1004, + .oam = &gUnknown_085F526C, + .anims = gUnknown_085F5284, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = nullsub_66 }; static const struct SpriteTemplate gUnknown_085F52A4 = { - 1005, 1005, &gUnknown_085F526C, gUnknown_085F5284, NULL, gDummySpriteAffineAnimTable, nullsub_66 + .tileTag = 1005, + .paletteTag = 1005, + .oam = &gUnknown_085F526C, + .anims = gUnknown_085F5284, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = nullsub_66 }; const struct CompressedSpriteSheet gIntro2BrendanSpriteSheet[] = { - { gIntro2BrendanNoTurnGfx, 0x2000, 1002 }, - { NULL } + { + .data = gIntro2BrendanNoTurnGfx, + .size = 0x2000, + .tag = 1002 + }, + {} }; const struct CompressedSpriteSheet gIntro2MaySpriteSheet[] = { - { gIntro2MayNoTurnGfx, 0x2000, 1003 }, - { NULL } + { + .data = gIntro2MayNoTurnGfx, + .size = 0x2000, + .tag = 1003 + }, + {} }; const struct CompressedSpriteSheet gIntro2BicycleSpriteSheet[] = { - { gIntro2BicycleTiles, 0x1000, 1001 }, - { NULL } + { + .data = gIntro2BicycleTiles, + .size = 0x1000, + .tag = 1001 + }, + {} }; static const struct CompressedSpriteSheet gUnknown_085F52EC[] = { - { gIntro2FlygonGfx, 0x1000, 1004 }, - { NULL } + { + .data = gIntro2FlygonGfx, + .size = 0x1000, + .tag = 1004 + }, + {} }; const struct CompressedSpriteSheet gIntro2FlygonSpriteSheet[] = { - { gIntro2FlygonGfx, 0x1000, 1005 }, - { NULL } + { + .data = gIntro2FlygonGfx, + .size = 0x1000, + .tag = 1005 + }, + {} }; const struct SpritePalette gIntroBikeAndFlygonPalette[] = { - { gIntro2BrendanNoTurnPal, 1002 }, - { gIntro2BrendanNoTurnPal, 1003 }, - { gIntro2FlygonPal, 1004 }, - { gIntro2FlygonPal, 1005 }, - { NULL } + { .data = gIntro2BrendanNoTurnPal, .tag = 1002 }, + { .data = gIntro2BrendanNoTurnPal, .tag = 1003 }, + { .data = gIntro2FlygonPal, .tag = 1004 }, + { .data = gIntro2FlygonPal, .tag = 1005 }, + {} }; const struct CompressedSpriteSheet gUnknown_085F5334[] = { - { gIntro2BrendanTiles, 0x3800, 1002 }, - { NULL } + { + .data = gIntro2BrendanTiles, + .size = 0x3800, + .tag = 1002 + }, + {} }; const struct CompressedSpriteSheet gUnknown_085F5344[] = { - { gIntro2MayTiles, 0x3800, 1003 }, - { NULL } + { + .data = gIntro2MayTiles, + .size = 0x3800, + .tag = 1003 + }, + {} }; const struct CompressedSpriteSheet gUnknown_085F5354[] = { - { gIntro2BicycleTiles, 0x1000, 1001 }, - { NULL } + { + .data = gIntro2BicycleTiles, + .size = 0x1000, + .tag = 1001 + }, + {} }; static const struct CompressedSpriteSheet gUnknown_085F5364[] = { - { gIntro2LatiosTiles, 0x1000, 1004 }, - { NULL } + { + .data = gIntro2LatiosTiles, + .size = 0x1000, + .tag = 1004 + }, + {} }; static const struct CompressedSpriteSheet gUnknown_085F5374[] = { - { gIntro2LatiasTiles, 0x1000, 1005 }, - { NULL } + { + .data = gIntro2LatiasTiles, + .size = 0x1000, + .tag = 1005 + }, + {} }; const struct SpritePalette gUnknown_085F5384[] = { - { gIntro2BrendanPalette, 1002 }, - { gIntro2MayPalette, 1003 }, - { gIntro2LatiosPalette, 1004 }, - { gIntro2LatiasPalette, 1005 }, - { NULL } + { .data = gIntro2BrendanPalette, .tag = 1002 }, + { .data = gIntro2MayPalette, .tag = 1003 }, + { .data = gIntro2LatiosPalette, .tag = 1004 }, + { .data = gIntro2LatiasPalette, .tag = 1005 }, + {} }; const struct CompressedSpriteSheet gUnknown_085F53AC[] = { - { gIntro2BrendanTiles, 0x2000, 1002}, - { NULL } + { + .data = gIntro2BrendanTiles, + .size = 0x2000, + .tag = 1002 + }, + {} }; const struct CompressedSpriteSheet gUnknown_085F53BC[] = { - { gIntro2MayTiles, 0x2000, 1003}, - { NULL } + { + .data = gIntro2MayTiles, + .size = 0x2000, + .tag = 1003 + }, + {} }; EWRAM_DATA u16 gUnknown_0203BD24 = 0; From 4ae8a52473a0e4842cf140bf0c59f0276125a896 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 17 Mar 2019 16:19:42 -0500 Subject: [PATCH 46/47] Finish decompiling contest_painting_effects.c --- asm/contest_painting_effects.s | 1152 -------------------------------- ld_script.txt | 1 - src/contest_painting_effects.c | 701 +++++++++++++++++-- 3 files changed, 646 insertions(+), 1208 deletions(-) delete mode 100644 asm/contest_painting_effects.s diff --git a/asm/contest_painting_effects.s b/asm/contest_painting_effects.s deleted file mode 100644 index 801e840b9a..0000000000 --- a/asm/contest_painting_effects.s +++ /dev/null @@ -1,1152 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - - - - thumb_func_start sub_8126058 -sub_8126058: @ 8126058 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - ldrb r1, [r0, 0x1D] - lsrs r5, r1, 3 - ldrb r1, [r0, 0x1E] - lsrs r1, 3 - str r1, [sp, 0x8] - ldr r1, [r0, 0x4] - str r1, [sp] - ldr r2, [r0, 0x10] - str r2, [sp, 0x4] - ldrh r0, [r0, 0x16] - cmp r0, 0x2 - bne _08126108 - movs r1, 0 - ldr r0, [sp, 0x8] - cmp r1, r0 - bcc _08126086 - b _08126194 -_08126086: - movs r0, 0 - adds r2, r1, 0x1 - mov r10, r2 - cmp r0, r5 - bcs _081260FA - adds r2, r1, 0 - muls r2, r5 - mov r9, r2 - lsls r1, 3 - mov r8, r1 -_0812609A: - movs r4, 0 - lsls r6, r0, 4 - adds r7, r0, 0x1 - add r0, r9 - lsls r0, 6 - ldr r1, [sp, 0x4] - adds r1, r0 - mov r12, r1 -_081260AA: - lsls r0, r4, 3 - mov r2, r12 - adds r3, r2, r0 - mov r1, r8 - adds r0, r1, r4 - lsls r0, 3 - muls r0, r5 - lsls r0, 1 - ldr r2, [sp] - adds r0, r2, r0 - adds r2, r0, r6 - ldrh r0, [r2, 0x2] - lsls r0, 8 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r3] - ldrh r0, [r2, 0x6] - lsls r0, 8 - ldrh r1, [r2, 0x4] - orrs r0, r1 - strh r0, [r3, 0x2] - ldrh r0, [r2, 0xA] - lsls r0, 8 - ldrh r1, [r2, 0x8] - orrs r0, r1 - strh r0, [r3, 0x4] - ldrh r0, [r2, 0xE] - lsls r0, 8 - ldrh r1, [r2, 0xC] - orrs r0, r1 - strh r0, [r3, 0x6] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x7 - bls _081260AA - lsls r0, r7, 16 - lsrs r0, 16 - cmp r0, r5 - bcc _0812609A -_081260FA: - mov r1, r10 - lsls r0, r1, 16 - lsrs r1, r0, 16 - ldr r2, [sp, 0x8] - cmp r1, r2 - bcc _08126086 - b _08126194 -_08126108: - movs r1, 0 - ldr r0, [sp, 0x8] - cmp r1, r0 - bcs _08126194 -_08126110: - movs r0, 0 - adds r2, r1, 0x1 - mov r10, r2 - cmp r0, r5 - bcs _08126188 - adds r2, r1, 0 - muls r2, r5 - mov r9, r2 - lsls r1, 3 - mov r8, r1 -_08126124: - movs r4, 0 - lsls r6, r0, 4 - adds r7, r0, 0x1 - add r0, r9 - lsls r0, 5 - ldr r1, [sp, 0x4] - adds r1, r0 - mov r12, r1 -_08126134: - lsls r0, r4, 2 - mov r2, r12 - adds r3, r2, r0 - mov r1, r8 - adds r0, r1, r4 - lsls r0, 3 - muls r0, r5 - lsls r0, 1 - ldr r2, [sp] - adds r0, r2, r0 - adds r2, r0, r6 - ldrh r1, [r2, 0x2] - lsls r1, 4 - ldrh r0, [r2] - orrs r1, r0 - ldrh r0, [r2, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrh r0, [r2, 0x6] - lsls r0, 12 - orrs r1, r0 - strh r1, [r3] - ldrh r1, [r2, 0xA] - lsls r1, 4 - ldrh r0, [r2, 0x8] - orrs r1, r0 - ldrh r0, [r2, 0xC] - lsls r0, 8 - orrs r1, r0 - ldrh r0, [r2, 0xE] - lsls r0, 12 - orrs r1, r0 - strh r1, [r3, 0x2] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x7 - bls _08126134 - lsls r0, r7, 16 - lsrs r0, 16 - cmp r0, r5 - bcc _08126124 -_08126188: - mov r1, r10 - lsls r0, r1, 16 - lsrs r1, r0, 16 - ldr r2, [sp, 0x8] - cmp r1, r2 - bcc _08126110 -_08126194: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8126058 - - thumb_func_start sub_81261A4 -sub_81261A4: @ 81261A4 - push {lr} - ldr r2, =gUnknown_03006188 - ldrb r1, [r0, 0x18] - lsls r1, 4 - strh r1, [r2] - ldr r3, =gUnknown_03006184 - ldrh r2, [r2] - lsls r2, 1 - ldr r1, [r0, 0x8] - adds r1, r2 - str r1, [r3] - ldr r2, =gUnknown_03006168 - ldr r1, [r0, 0x4] - str r1, [r2] - ldr r2, =gUnknown_03006164 - ldrb r1, [r0, 0x19] - strb r1, [r2] - ldr r2, =gUnknown_03006178 - ldrb r1, [r0, 0x1A] - strb r1, [r2] - ldr r2, =gUnknown_03006174 - ldrb r1, [r0, 0x1B] - strb r1, [r2] - ldr r2, =gUnknown_0300616C - ldrb r1, [r0, 0x1C] - strb r1, [r2] - ldr r2, =gUnknown_03006180 - ldrb r1, [r0, 0x1D] - strb r1, [r2] - ldr r2, =gUnknown_03006170 - ldrb r1, [r0, 0x1E] - strb r1, [r2] - ldrh r0, [r0, 0x14] - cmp r0, 0x5 - bhi _0812626A - lsls r0, 2 - ldr r1, =_0812621C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0812621C: - .4byte _08126234 - .4byte _0812623C - .4byte _08126244 - .4byte _0812624E - .4byte _08126258 - .4byte _08126262 -_08126234: - movs r0, 0 - bl sub_81263A4 - b _0812626A -_0812623C: - movs r0, 0x1 - bl sub_81263A4 - b _0812626A -_08126244: - bl sub_8126270 - bl sub_8126714 - b _0812626A -_0812624E: - bl sub_8126370 - bl sub_8126664 - b _0812626A -_08126258: - bl sub_8126334 - bl sub_81265B4 - b _0812626A -_08126262: - bl sub_8126318 - bl sub_81264FC -_0812626A: - pop {r0} - bx r0 - thumb_func_end sub_81261A4 - - thumb_func_start sub_8126270 -sub_8126270: @ 8126270 - ldr r2, =gUnknown_03006184 - ldr r1, [r2] - movs r0, 0 - strh r0, [r1] - ldr r0, [r2] - ldr r2, =0x000018c6 - adds r1, r2, 0 - strh r1, [r0, 0x2] - ldr r2, =0x000077bd - adds r1, r2, 0 - strh r1, [r0, 0x4] - ldr r2, =0x00002d6b - adds r1, r2, 0 - strh r1, [r0, 0x6] - ldr r2, =0x000018dd - adds r1, r2, 0 - strh r1, [r0, 0x8] - ldr r2, =0x00001ba6 - adds r1, r2, 0 - strh r1, [r0, 0xA] - ldr r2, =0x000074c6 - adds r1, r2, 0 - strh r1, [r0, 0xC] - ldr r2, =0x00001bbd - adds r1, r2, 0 - strh r1, [r0, 0xE] - ldr r2, =0x000074dd - adds r1, r2, 0 - strh r1, [r0, 0x10] - ldr r2, =0x000077a6 - adds r1, r2, 0 - strh r1, [r0, 0x12] - ldr r2, =0x0000197d - adds r1, r2, 0 - strh r1, [r0, 0x14] - ldr r2, =0x00001bab - adds r1, r2, 0 - strh r1, [r0, 0x16] - ldr r2, =0x00007566 - adds r1, r2, 0 - strh r1, [r0, 0x18] - ldr r2, =0x00002cdd - adds r1, r2, 0 - strh r1, [r0, 0x1A] - ldr r2, =0x00002fa6 - adds r1, r2, 0 - strh r1, [r0, 0x1C] - ldr r2, =0x000074cb - adds r1, r2, 0 - strh r1, [r0, 0x1E] - bx lr - .pool - thumb_func_end sub_8126270 - - thumb_func_start sub_8126318 -sub_8126318: @ 8126318 - ldr r2, =gUnknown_03006184 - ldr r0, [r2] - movs r1, 0 - strh r1, [r0] - ldr r2, [r2] - strh r1, [r2, 0x2] - ldr r1, =0x00007fff - adds r0, r1, 0 - strh r0, [r2, 0x4] - bx lr - .pool - thumb_func_end sub_8126318 - - thumb_func_start sub_8126334 -sub_8126334: @ 8126334 - push {r4,r5,lr} - ldr r1, =gUnknown_03006184 - ldr r0, [r1] - movs r2, 0 - strh r2, [r0] - ldr r0, [r1] - strh r2, [r0, 0x2] - movs r4, 0 - adds r5, r1, 0 -_08126346: - ldr r0, [r5] - lsls r2, r4, 1 - adds r2, r0 - adds r0, r4, 0x2 - lsls r3, r0, 1 - lsls r1, r0, 11 - lsls r0, 6 - orrs r1, r0 - orrs r1, r3 - strh r1, [r2, 0x4] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xD - bls _08126346 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8126334 - - thumb_func_start sub_8126370 -sub_8126370: @ 8126370 - push {r4,lr} - ldr r2, =gUnknown_03006184 - ldr r1, [r2] - movs r0, 0 - strh r0, [r1] - movs r3, 0 - adds r4, r2, 0 -_0812637E: - ldr r0, [r4] - lsls r2, r3, 1 - adds r2, r0 - lsls r0, r3, 10 - lsls r1, r3, 5 - orrs r0, r1 - orrs r0, r3 - strh r0, [r2, 0x2] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1F - bls _0812637E - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8126370 - - thumb_func_start sub_81263A4 -sub_81263A4: @ 81263A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - movs r1, 0xDF - mov r9, r1 - cmp r0, 0 - bne _081263BC - movs r2, 0xFF - mov r9, r2 -_081263BC: - movs r6, 0 - ldr r3, =gUnknown_03006184 - mov r12, r3 - mov r0, r9 - lsls r4, r0, 1 - ldr r5, =gUnknown_0300616C - cmp r6, r9 - bcs _081263E0 - movs r2, 0 -_081263CE: - ldr r0, [r3] - lsls r1, r6, 1 - adds r1, r0 - strh r2, [r1] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r9 - bcc _081263CE -_081263E0: - mov r1, r12 - ldr r0, [r1] - adds r0, r4, r0 - ldr r2, =0x00003def - adds r1, r2, 0 - strh r1, [r0] - movs r3, 0 - ldrb r5, [r5] - cmp r3, r5 - bcs _081264E4 -_081263F4: - ldr r2, =gUnknown_03006168 - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - adds r1, r3 - ldr r0, =gUnknown_03006180 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - ldr r1, [r2] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r6, 0 - ldr r0, =gUnknown_03006174 - adds r2, r0, 0 - adds r3, 0x1 - mov r10, r3 - ldrb r3, [r2] - cmp r6, r3 - bcs _081264D6 - ldr r0, =gUnknown_03006188 - mov r8, r0 -_08126424: - ldrh r0, [r4] - movs r3, 0x80 - lsls r3, 8 - adds r1, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _08126464 - mov r1, r8 - ldrh r0, [r1] - strh r0, [r4] - adds r6, 0x1 - adds r7, r4, 0x2 - b _081264CA - .pool -_08126464: - adds r0, r4, 0 - bl sub_81267C4 - lsls r0, 16 - lsrs r5, r0, 16 - movs r3, 0x1 - adds r6, 0x1 - adds r7, r4, 0x2 - cmp r3, r9 - bcs _081264C0 - ldr r0, =gUnknown_03006184 - ldr r2, [r0] - ldrh r1, [r2, 0x2] - mov r12, r0 - cmp r1, 0 - bne _08126494 - strh r5, [r2, 0x2] - mov r2, r8 - ldrh r0, [r2] - adds r0, 0x1 - b _081264BE - .pool -_08126494: - mov r2, r12 - ldr r1, [r2] - lsls r0, r3, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r5 - beq _081264B8 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r9 - bcs _081264C0 - lsls r0, r3, 1 - adds r1, r0, r1 - ldrh r0, [r1] - cmp r0, 0 - bne _08126494 - strh r5, [r1] -_081264B8: - mov r1, r8 - ldrh r0, [r1] - adds r0, r3 -_081264BE: - strh r0, [r4] -_081264C0: - ldr r2, =gUnknown_03006174 - cmp r3, r9 - bne _081264CA - mov r3, r9 - strh r3, [r4] -_081264CA: - lsls r0, r6, 24 - lsrs r6, r0, 24 - adds r4, r7, 0 - ldrb r0, [r2] - cmp r6, r0 - bcc _08126424 -_081264D6: - mov r1, r10 - lsls r0, r1, 24 - lsrs r3, r0, 24 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r3, r0 - bcc _081263F4 -_081264E4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81263A4 - - thumb_func_start sub_81264FC -sub_81264FC: @ 81264FC - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r2, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcs _081265A0 - ldr r0, =gUnknown_03006168 - mov r8, r0 -_08126510: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - adds r1, r2 - ldr r0, =gUnknown_03006180 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r6, 0 - ldr r0, =gUnknown_03006174 - adds r3, r0, 0 - adds r7, r2, 0x1 - ldrb r0, [r3] - cmp r6, r0 - bcs _08126594 - ldr r5, =gUnknown_03006188 -_0812653C: - ldrh r0, [r4] - movs r2, 0x80 - lsls r2, 8 - adds r1, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _0812656C - ldrh r0, [r5] - strh r0, [r4] - b _08126586 - .pool -_0812656C: - adds r0, r4, 0 - bl ConvertToBlackOrWhite - lsls r0, 16 - cmp r0, 0 - bne _0812657E - ldrh r0, [r5] - adds r0, 0x1 - b _08126582 -_0812657E: - ldrh r0, [r5] - adds r0, 0x2 -_08126582: - strh r0, [r4] - ldr r3, =gUnknown_03006174 -_08126586: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r6, r0 - bcc _0812653C -_08126594: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcc _08126510 -_081265A0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81264FC - - thumb_func_start sub_81265B4 -sub_81265B4: @ 81265B4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcs _08126650 - ldr r0, =gUnknown_03006168 - mov r8, r0 -_081265CA: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - adds r1, r2 - ldr r0, =gUnknown_03006180 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - ldr r0, =gUnknown_03006174 - adds r7, r2, 0x1 - ldrb r0, [r0] - cmp r5, r0 - bcs _08126644 - ldr r6, =gUnknown_03006188 - movs r0, 0x80 - lsls r0, 8 - adds r2, r0, 0 -_081265FA: - ldrh r0, [r4] - ands r0, r2 - cmp r0, 0 - beq _08126624 - ldrh r0, [r6] - strh r0, [r4] - b _08126634 - .pool -_08126624: - adds r0, r4, 0 - str r2, [sp] - bl sub_8126908 - ldrh r1, [r6] - adds r0, r1 - strh r0, [r4] - ldr r2, [sp] -_08126634: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - cmp r5, r0 - bcc _081265FA -_08126644: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcc _081265CA -_08126650: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81265B4 - - thumb_func_start sub_8126664 -sub_8126664: @ 8126664 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcs _08126700 - ldr r0, =gUnknown_03006168 - mov r8, r0 -_0812667A: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - adds r1, r2 - ldr r0, =gUnknown_03006180 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - ldr r0, =gUnknown_03006174 - adds r7, r2, 0x1 - ldrb r0, [r0] - cmp r5, r0 - bcs _081266F4 - ldr r6, =gUnknown_03006188 - movs r0, 0x80 - lsls r0, 8 - adds r2, r0, 0 -_081266AA: - ldrh r0, [r4] - ands r0, r2 - cmp r0, 0 - beq _081266D4 - ldrh r0, [r6] - strh r0, [r4] - b _081266E4 - .pool -_081266D4: - adds r0, r4, 0 - str r2, [sp] - bl sub_812693C - ldrh r1, [r6] - adds r0, r1 - strh r0, [r4] - ldr r2, [sp] -_081266E4: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - cmp r5, r0 - bcc _081266AA -_081266F4: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcc _0812667A -_08126700: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8126664 - - thumb_func_start sub_8126714 -sub_8126714: @ 8126714 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcs _081267B0 - ldr r0, =gUnknown_03006168 - mov r8, r0 -_0812672A: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - adds r1, r2 - ldr r0, =gUnknown_03006180 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - ldr r0, =gUnknown_03006174 - adds r7, r2, 0x1 - ldrb r0, [r0] - cmp r5, r0 - bcs _081267A4 - ldr r6, =gUnknown_03006188 - movs r0, 0x80 - lsls r0, 8 - adds r2, r0, 0 -_0812675A: - ldrh r0, [r4] - ands r0, r2 - cmp r0, 0 - beq _08126784 - ldrh r0, [r6] - strh r0, [r4] - b _08126794 - .pool -_08126784: - adds r0, r4, 0 - str r2, [sp] - bl sub_8126838 - ldrh r1, [r6] - adds r0, r1 - strh r0, [r4] - ldr r2, [sp] -_08126794: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - cmp r5, r0 - bcc _0812675A -_081267A4: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcc _0812672A -_081267B0: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8126714 - - thumb_func_start sub_81267C4 -sub_81267C4: @ 81267C4 - push {r4,lr} - ldrh r0, [r0] - movs r1, 0x1F - movs r4, 0x1F - ands r4, r0 - lsls r0, 16 - lsrs r3, r0, 21 - ands r3, r1 - lsrs r2, r0, 26 - ands r2, r1 - movs r1, 0x3 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _081267E8 - movs r0, 0x1C - ands r0, r4 - adds r4, r0, 0x4 -_081267E8: - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _081267F6 - movs r0, 0x1C - ands r0, r3 - adds r3, r0, 0x4 -_081267F6: - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _08126804 - movs r0, 0x1C - ands r0, r2 - adds r2, r0, 0x4 -_08126804: - cmp r4, 0x5 - bhi _0812680A - movs r4, 0x6 -_0812680A: - cmp r4, 0x1E - bls _08126810 - movs r4, 0x1E -_08126810: - cmp r3, 0x5 - bhi _08126816 - movs r3, 0x6 -_08126816: - cmp r3, 0x1E - bls _0812681C - movs r3, 0x1E -_0812681C: - cmp r2, 0x5 - bhi _08126822 - movs r2, 0x6 -_08126822: - cmp r2, 0x1E - bls _08126828 - movs r2, 0x1E -_08126828: - lsls r0, r2, 10 - lsls r1, r3, 5 - orrs r0, r1 - orrs r4, r0 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81267C4 - - thumb_func_start sub_8126838 -sub_8126838: @ 8126838 - push {lr} - ldrh r0, [r0] - movs r1, 0x1F - movs r3, 0x1F - ands r3, r0 - lsls r0, 16 - lsrs r2, r0, 21 - ands r2, r1 - lsrs r0, 26 - ands r0, r1 - cmp r3, 0xB - bhi _0812685C - cmp r2, 0xA - bhi _0812685C - cmp r0, 0xA - bhi _0812685C - movs r0, 0x1 - b _08126902 -_0812685C: - cmp r3, 0x13 - bls _08126880 - cmp r2, 0x13 - bls _08126868 - cmp r0, 0x13 - bhi _0812688C -_08126868: - cmp r3, 0x13 - bls _08126880 - cmp r2, 0x13 - bls _08126876 - cmp r0, 0xE - bhi _0812688C - b _081268C4 -_08126876: - cmp r0, 0x13 - bls _08126880 - cmp r2, 0xE - bhi _0812688C - b _081268A0 -_08126880: - cmp r2, 0x13 - bls _08126890 - cmp r0, 0x13 - bls _08126890 - cmp r3, 0xE - bls _081268E8 -_0812688C: - movs r0, 0x2 - b _08126902 -_08126890: - cmp r3, 0x13 - bls _081268B4 - cmp r2, 0xB - bls _081268A8 - cmp r0, 0xB - bls _081268A4 - cmp r2, r0 - bcs _081268C4 -_081268A0: - movs r0, 0x8 - b _08126902 -_081268A4: - movs r0, 0xA - b _08126902 -_081268A8: - cmp r0, 0xB - bls _081268B0 - movs r0, 0xD - b _08126902 -_081268B0: - movs r0, 0x4 - b _08126902 -_081268B4: - cmp r2, 0x13 - bls _081268D8 - cmp r3, 0xB - bls _081268CC - cmp r0, 0xB - bls _081268C8 - cmp r3, r0 - bcc _081268E8 -_081268C4: - movs r0, 0x7 - b _08126902 -_081268C8: - movs r0, 0xB - b _08126902 -_081268CC: - cmp r0, 0xB - bls _081268D4 - movs r0, 0xE - b _08126902 -_081268D4: - movs r0, 0x5 - b _08126902 -_081268D8: - cmp r0, 0x13 - bls _08126900 - cmp r3, 0xB - bls _081268EC - cmp r2, 0xB - bls _081268F4 - cmp r3, r2 - bcs _081268A0 -_081268E8: - movs r0, 0x9 - b _08126902 -_081268EC: - cmp r2, 0xB - bls _081268F4 - movs r0, 0xC - b _08126902 -_081268F4: - cmp r0, 0xB - bls _081268FC - movs r0, 0xF - b _08126902 -_081268FC: - movs r0, 0x6 - b _08126902 -_08126900: - movs r0, 0x3 -_08126902: - pop {r1} - bx r1 - thumb_func_end sub_8126838 - - thumb_func_start sub_8126908 -sub_8126908: @ 8126908 - push {lr} - ldrh r1, [r0] - movs r3, 0x1F - movs r0, 0x1F - ands r0, r1 - lsls r1, 16 - lsrs r2, r1, 21 - ands r2, r3 - lsrs r1, 26 - ands r1, r3 - adds r0, r2 - adds r0, r1 - movs r1, 0x3 - bl __divsi3 - movs r1, 0x1E - ands r0, r1 - lsls r0, 16 - cmp r0, 0 - beq _08126934 - lsrs r0, 17 - b _08126936 -_08126934: - movs r0, 0x1 -_08126936: - pop {r1} - bx r1 - thumb_func_end sub_8126908 - - thumb_func_start sub_812693C -sub_812693C: @ 812693C - push {lr} - ldrh r1, [r0] - movs r3, 0x1F - movs r0, 0x1F - ands r0, r1 - lsls r1, 16 - lsrs r2, r1, 21 - ands r2, r3 - lsrs r1, 26 - ands r1, r3 - adds r0, r2 - adds r0, r1 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_812693C - - .align 2, 0 @ Don't pad with nop. diff --git a/ld_script.txt b/ld_script.txt index e60badcc20..263bcbd200 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -185,7 +185,6 @@ SECTIONS { src/heal_location.o(.text); src/region_map.o(.text); src/contest_painting_effects.o(.text); - asm/contest_painting_effects.o(.text); src/decoration.o(.text); src/slot_machine.o(.text); src/contest_painting.o(.text); diff --git a/src/contest_painting_effects.c b/src/contest_painting_effects.c index 142ad7bc91..a791df65c6 100644 --- a/src/contest_painting_effects.c +++ b/src/contest_painting_effects.c @@ -3,6 +3,13 @@ #include "contest_painting.h" #include "constants/rgb.h" +struct Unk8125954 +{ + u8 unk0; + u8 unk1; + u16 unk2; +}; + // IWRAM common u8 gUnknown_03006164; u16 (*gUnknown_03006168)[][32]; @@ -12,32 +19,46 @@ u8 gUnknown_03006174; u8 gUnknown_03006178; u8 gUnknown_0300617C; u8 gUnknown_03006180; -u16 gUnknown_03006184; +u16 *gUnknown_03006184; u16 gUnknown_03006188; -// this file's functions -void sub_8125230(void); -void sub_81252E8(void); -void sub_81254E0(void); -void sub_8125630(void); -void sub_8125448(void); -void sub_81257F8(void); -void sub_81258A0(void); -void sub_81256C8(void); -void sub_8125250(void); -void sub_81253A4(u8); -void sub_81250B8(u8); -void sub_8125170(u8); -void sub_8125954(u16); -u16 ConvertColorToGrayscale(u16*); -u16 sub_8125E18(u16*, u16*, u16*); -u16 ConvertCoolColor(u16*, u8); -u16 ConvertToBlackOrWhite(u16*); -u16 sub_8125C98(u16*, u16*); -u16 InvertColor(u16*); -u16 sub_8125F38(u16*, u16*, u16*); -u16 sub_8125CF4(u16*, u16*); -u16 GetCoolColorFromPersonality(u8); +static void sub_8125230(void); +static void sub_81252E8(void); +static void sub_81254E0(void); +static void sub_8125630(void); +static void sub_8125448(void); +static void sub_81257F8(void); +static void sub_81258A0(void); +static void sub_81256C8(void); +static void sub_8125250(void); +static void sub_81253A4(u8); +static void sub_81250B8(u8); +static void sub_8125170(u8); +static void sub_8125954(u16); +static u16 ConvertColorToGrayscale(u16*); +static u16 sub_8125E18(u16*, u16*, u16*); +static u16 ConvertCoolColor(u16*, u8); +static u16 ConvertToBlackOrWhite(u16*); +static u16 sub_8125C98(u16*, u16*); +static u16 InvertColor(u16*); +static u16 sub_8125F38(u16*, u16*, u16*); +static u16 sub_8125CF4(u16*, u16*); +static u16 GetCoolColorFromPersonality(u8); +static void sub_81263A4(bool8); +static void sub_8126270(void); +static void sub_8126714(void); +static void sub_8126370(void); +static void sub_8126664(void); +static void sub_8126334(void); +static void sub_81265B4(void); +static void sub_8126318(void); +static void sub_81264FC(void); +static u16 sub_81267C4(u16*); +static u16 sub_8126908(u16*); +static u16 sub_812693C(u16*); +static u16 sub_8126838(u16*); + +extern const u8 gUnknown_085A1F94[][3]; void sub_8124F2C(struct Unk030061A0 *info) { @@ -104,7 +125,7 @@ void sub_8124F2C(struct Unk030061A0 *info) } } -void sub_81250B8(u8 a0) // it changes palette someway somehow... .__. +static void sub_81250B8(u8 a0) // it changes palette someway somehow... .__. { u8 i, j; @@ -127,7 +148,7 @@ void sub_81250B8(u8 a0) // it changes palette someway somehow... .__. } } -void sub_8125170(u8 a0) +static void sub_8125170(u8 a0) { u8 i, j; @@ -149,14 +170,14 @@ void sub_8125170(u8 a0) } } -void sub_8125230(void) +static void sub_8125230(void) { u32 i; for (i = 0; i < 3200; i++) sub_8125954(i); } -void sub_8125250(void) +static void sub_8125250(void) { u8 i, j; @@ -174,7 +195,7 @@ void sub_8125250(void) } } -void sub_81252E8(void) +static void sub_81252E8(void) { u8 i, j; @@ -200,7 +221,7 @@ void sub_81252E8(void) } } -void sub_81253A4(u8 arg0) +static void sub_81253A4(u8 arg0) { u8 i, j; @@ -218,7 +239,7 @@ void sub_81253A4(u8 arg0) } } -void sub_8125448(void) +static void sub_8125448(void) { u8 i, j; @@ -236,7 +257,7 @@ void sub_8125448(void) } } -void sub_81254E0(void) +static void sub_81254E0(void) { u8 i, j; u16 *palette; @@ -270,7 +291,7 @@ void sub_81254E0(void) } } -void sub_8125630(void) +static void sub_8125630(void) { u8 i, j; @@ -288,7 +309,7 @@ void sub_8125630(void) } } -void sub_81256C8(void) +static void sub_81256C8(void) { u8 i, j; u16 *palette; @@ -349,7 +370,7 @@ void sub_81256C8(void) } } -void sub_81257F8(void) +static void sub_81257F8(void) { u8 i, j; @@ -369,7 +390,7 @@ void sub_81257F8(void) } } -void sub_81258A0(void) +static void sub_81258A0(void) { u8 i, j; @@ -389,16 +410,7 @@ void sub_81258A0(void) } } -struct Unk8125954 -{ - u8 unk0; - u8 unk1; - u16 unk2; -}; - -extern const u8 gUnknown_085A1F94[][3]; - -void sub_8125954(u16 arg0) +static void sub_8125954(u16 arg0) { u8 i; u8 r5, r9; @@ -487,7 +499,7 @@ void sub_8125954(u16 arg0) } } -u16 ConvertColorToGrayscale(u16 *color) +static u16 ConvertColorToGrayscale(u16 *color) { s32 clr = *color; s32 r = clr & 0x1F; @@ -499,7 +511,7 @@ u16 ConvertColorToGrayscale(u16 *color) // The dark colors are the colored edges of the Cool painting effect. // Everything else is white. -u16 ConvertCoolColor(u16 *color, u8 personality) +static u16 ConvertCoolColor(u16 *color, u8 personality) { u16 red = *color & 0x1F; u16 green = (*color >> 5) & 0x1F; @@ -513,7 +525,7 @@ u16 ConvertCoolColor(u16 *color, u8 personality) // Based on the given value, which comes from the first 8 bits of // the mon's personality value, return a color. -u16 GetCoolColorFromPersonality(u8 personality) +static u16 GetCoolColorFromPersonality(u8 personality) { u16 red = 0; u16 green = 0; @@ -564,7 +576,7 @@ u16 GetCoolColorFromPersonality(u8 personality) return RGB2(red, green, blue); } -u16 ConvertToBlackOrWhite(u16 *color) +static u16 ConvertToBlackOrWhite(u16 *color) { u16 red = *color & 0x1F; u16 green = (*color >> 5) & 0x1F; @@ -576,7 +588,7 @@ u16 ConvertToBlackOrWhite(u16 *color) return RGB_WHITE; } -u16 sub_8125C98(u16 *colorA, u16 *colorB) +static u16 sub_8125C98(u16 *colorA, u16 *colorB) { if (*colorA) { @@ -591,7 +603,7 @@ u16 sub_8125C98(u16 *colorA, u16 *colorB) return RGB_BLACK; } -u16 InvertColor(u16 *color) +static u16 InvertColor(u16 *color) { u16 red = *color & 0x1F; u16 green = (*color >> 5) & 0x1F; @@ -604,7 +616,7 @@ u16 InvertColor(u16 *color) return RGB2(red, green, blue); } -u16 sub_8125CF4(u16 *a0, u16 *a1) +static u16 sub_8125CF4(u16 *a0, u16 *a1) { u16 sp0[2][3]; u16 spC[3]; @@ -660,7 +672,7 @@ u16 sub_8125CF4(u16 *a0, u16 *a1) return RGB2(r, g, b); } -u16 sub_8125E18(u16 * a0, u16 * a1, u16 * a2) +static u16 sub_8125E18(u16 * a0, u16 * a1, u16 * a2) { u16 red, green, blue; u16 avg0, avg1, avg2; @@ -704,7 +716,7 @@ u16 sub_8125E18(u16 * a0, u16 * a1, u16 * a2) return RGB2(red, green, blue); } -u16 sub_8125F38(u16 *a0, u16 *a1, u16 *a2) +static u16 sub_8125F38(u16 *a0, u16 *a1, u16 *a2) { u16 red, green, blue; u16 avg0, avg1, avg2; @@ -772,3 +784,582 @@ void sub_8126058(struct Unk030061A0 *arg0) } } */ + +NAKED +void sub_8126058(struct Unk030061A0 *arg0) +{ + 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, 0xC\n\ + ldrb r1, [r0, 0x1D]\n\ + lsrs r5, r1, 3\n\ + ldrb r1, [r0, 0x1E]\n\ + lsrs r1, 3\n\ + str r1, [sp, 0x8]\n\ + ldr r1, [r0, 0x4]\n\ + str r1, [sp]\n\ + ldr r2, [r0, 0x10]\n\ + str r2, [sp, 0x4]\n\ + ldrh r0, [r0, 0x16]\n\ + cmp r0, 0x2\n\ + bne _08126108\n\ + movs r1, 0\n\ + ldr r0, [sp, 0x8]\n\ + cmp r1, r0\n\ + bcc _08126086\n\ + b _08126194\n\ +_08126086:\n\ + movs r0, 0\n\ + adds r2, r1, 0x1\n\ + mov r10, r2\n\ + cmp r0, r5\n\ + bcs _081260FA\n\ + adds r2, r1, 0\n\ + muls r2, r5\n\ + mov r9, r2\n\ + lsls r1, 3\n\ + mov r8, r1\n\ +_0812609A:\n\ + movs r4, 0\n\ + lsls r6, r0, 4\n\ + adds r7, r0, 0x1\n\ + add r0, r9\n\ + lsls r0, 6\n\ + ldr r1, [sp, 0x4]\n\ + adds r1, r0\n\ + mov r12, r1\n\ +_081260AA:\n\ + lsls r0, r4, 3\n\ + mov r2, r12\n\ + adds r3, r2, r0\n\ + mov r1, r8\n\ + adds r0, r1, r4\n\ + lsls r0, 3\n\ + muls r0, r5\n\ + lsls r0, 1\n\ + ldr r2, [sp]\n\ + adds r0, r2, r0\n\ + adds r2, r0, r6\n\ + ldrh r0, [r2, 0x2]\n\ + lsls r0, 8\n\ + ldrh r1, [r2]\n\ + orrs r0, r1\n\ + strh r0, [r3]\n\ + ldrh r0, [r2, 0x6]\n\ + lsls r0, 8\n\ + ldrh r1, [r2, 0x4]\n\ + orrs r0, r1\n\ + strh r0, [r3, 0x2]\n\ + ldrh r0, [r2, 0xA]\n\ + lsls r0, 8\n\ + ldrh r1, [r2, 0x8]\n\ + orrs r0, r1\n\ + strh r0, [r3, 0x4]\n\ + ldrh r0, [r2, 0xE]\n\ + lsls r0, 8\n\ + ldrh r1, [r2, 0xC]\n\ + orrs r0, r1\n\ + strh r0, [r3, 0x6]\n\ + adds r0, r4, 0x1\n\ + lsls r0, 16\n\ + lsrs r4, r0, 16\n\ + cmp r4, 0x7\n\ + bls _081260AA\n\ + lsls r0, r7, 16\n\ + lsrs r0, 16\n\ + cmp r0, r5\n\ + bcc _0812609A\n\ +_081260FA:\n\ + mov r1, r10\n\ + lsls r0, r1, 16\n\ + lsrs r1, r0, 16\n\ + ldr r2, [sp, 0x8]\n\ + cmp r1, r2\n\ + bcc _08126086\n\ + b _08126194\n\ +_08126108:\n\ + movs r1, 0\n\ + ldr r0, [sp, 0x8]\n\ + cmp r1, r0\n\ + bcs _08126194\n\ +_08126110:\n\ + movs r0, 0\n\ + adds r2, r1, 0x1\n\ + mov r10, r2\n\ + cmp r0, r5\n\ + bcs _08126188\n\ + adds r2, r1, 0\n\ + muls r2, r5\n\ + mov r9, r2\n\ + lsls r1, 3\n\ + mov r8, r1\n\ +_08126124:\n\ + movs r4, 0\n\ + lsls r6, r0, 4\n\ + adds r7, r0, 0x1\n\ + add r0, r9\n\ + lsls r0, 5\n\ + ldr r1, [sp, 0x4]\n\ + adds r1, r0\n\ + mov r12, r1\n\ +_08126134:\n\ + lsls r0, r4, 2\n\ + mov r2, r12\n\ + adds r3, r2, r0\n\ + mov r1, r8\n\ + adds r0, r1, r4\n\ + lsls r0, 3\n\ + muls r0, r5\n\ + lsls r0, 1\n\ + ldr r2, [sp]\n\ + adds r0, r2, r0\n\ + adds r2, r0, r6\n\ + ldrh r1, [r2, 0x2]\n\ + lsls r1, 4\n\ + ldrh r0, [r2]\n\ + orrs r1, r0\n\ + ldrh r0, [r2, 0x4]\n\ + lsls r0, 8\n\ + orrs r1, r0\n\ + ldrh r0, [r2, 0x6]\n\ + lsls r0, 12\n\ + orrs r1, r0\n\ + strh r1, [r3]\n\ + ldrh r1, [r2, 0xA]\n\ + lsls r1, 4\n\ + ldrh r0, [r2, 0x8]\n\ + orrs r1, r0\n\ + ldrh r0, [r2, 0xC]\n\ + lsls r0, 8\n\ + orrs r1, r0\n\ + ldrh r0, [r2, 0xE]\n\ + lsls r0, 12\n\ + orrs r1, r0\n\ + strh r1, [r3, 0x2]\n\ + adds r0, r4, 0x1\n\ + lsls r0, 16\n\ + lsrs r4, r0, 16\n\ + cmp r4, 0x7\n\ + bls _08126134\n\ + lsls r0, r7, 16\n\ + lsrs r0, 16\n\ + cmp r0, r5\n\ + bcc _08126124\n\ +_08126188:\n\ + mov r1, r10\n\ + lsls r0, r1, 16\n\ + lsrs r1, r0, 16\n\ + ldr r2, [sp, 0x8]\n\ + cmp r1, r2\n\ + bcc _08126110\n\ +_08126194:\n\ + add sp, 0xC\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"); +} + +void sub_81261A4(struct Unk030061A0 *arg0) +{ + gUnknown_03006188 = arg0->var_18 * 16; + gUnknown_03006184 = &arg0->var_8[gUnknown_03006188]; + gUnknown_03006168 = arg0->var_4; + gUnknown_03006164 = arg0->var_19; + gUnknown_03006178 = arg0->var_1A; + gUnknown_03006174 = arg0->var_1B; + gUnknown_0300616C = arg0->var_1C; + gUnknown_03006180 = arg0->var_1D; + gUnknown_03006170 = arg0->var_1E; + + switch (arg0->var_14) + { + case 0: + sub_81263A4(FALSE); + break; + case 1: + sub_81263A4(TRUE); + break; + case 2: + sub_8126270(); + sub_8126714(); + break; + case 3: + sub_8126370(); + sub_8126664(); + break; + case 4: + sub_8126334(); + sub_81265B4(); + break; + case 5: + sub_8126318(); + sub_81264FC(); + break; + } +} + +static void sub_8126270(void) +{ + gUnknown_03006184[0] = RGB2(0, 0, 0); + gUnknown_03006184[1] = RGB2(6, 6, 6); + gUnknown_03006184[2] = RGB2(29, 29, 29); + gUnknown_03006184[3] = RGB2(11, 11, 11); + gUnknown_03006184[4] = RGB2(29, 6, 6); + gUnknown_03006184[5] = RGB2(6, 29, 6); + gUnknown_03006184[6] = RGB2(6, 6, 29); + gUnknown_03006184[7] = RGB2(29, 29, 6); + gUnknown_03006184[8] = RGB2(29, 6, 29); + gUnknown_03006184[9] = RGB2(6, 29, 29); + gUnknown_03006184[10] = RGB2(29, 11, 6); + gUnknown_03006184[11] = RGB2(11, 29, 6); + gUnknown_03006184[12] = RGB2(6, 11, 29); + gUnknown_03006184[13] = RGB2(29, 6, 11); + gUnknown_03006184[14] = RGB2(6, 29, 11); + gUnknown_03006184[15] = RGB2(11, 6, 29); +} + +static void sub_8126318(void) +{ + gUnknown_03006184[0] = RGB2(0, 0, 0); + gUnknown_03006184[1] = RGB2(0, 0, 0); + gUnknown_03006184[2] = RGB2(31, 31, 31); +} + +static void sub_8126334(void) +{ + u8 i; + + gUnknown_03006184[0] = RGB2(0, 0, 0); + gUnknown_03006184[1] = RGB2(0, 0, 0); + for (i = 0; i < 14; i++) + gUnknown_03006184[i + 2] = RGB2(2 * (i + 2), 2 * (i + 2), 2 * (i + 2)); +} + +static void sub_8126370(void) +{ + u8 i; + + gUnknown_03006184[0] = RGB2(0, 0, 0); + for (i = 0; i < 32; i++) + gUnknown_03006184[i + 1] = RGB2(i, i, i); +} + +static void sub_81263A4(bool8 arg0) +{ + u8 i, j; + u16 maxIndex; + + maxIndex = 0xDF; + if (!arg0) + maxIndex = 0xFF; + + for (j = 0; j < maxIndex; j++) + gUnknown_03006184[j] = 0; + + gUnknown_03006184[maxIndex] = RGB2(15, 15, 15); + for (i = 0; i < gUnknown_0300616C; i++) + { + u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16* pal = &var2[gUnknown_03006164]; + for (j = 0; j < gUnknown_03006174; j++, pal++) + { + if (*pal & 0x8000) + { + *pal = gUnknown_03006188; + } + else + { + u16 color = sub_81267C4(pal); + u8 curIndex = 1; + if (curIndex < maxIndex) + { + if (gUnknown_03006184[curIndex] == RGB_BLACK) + { + gUnknown_03006184[curIndex] = color; + *pal = gUnknown_03006188 + curIndex; + } + else + { + while (curIndex < maxIndex) + { + if (gUnknown_03006184[curIndex] == RGB_BLACK) + { + gUnknown_03006184[curIndex] = color; + *pal = gUnknown_03006188 + curIndex; + break; + } + + if (gUnknown_03006184[curIndex] == color) + { + *pal = gUnknown_03006188 + curIndex; + break; + } + + curIndex++; + } + } + } + + if (curIndex == maxIndex) + { + curIndex = maxIndex; + *pal = curIndex; + } + } + } + } +} + +static void sub_81264FC(void) +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16* pal = &var2[gUnknown_03006164]; + for (j = 0; j < gUnknown_03006174; j++, pal++) + { + if (*pal & 0x8000) + { + *pal = gUnknown_03006188; + } + else + { + if (ConvertToBlackOrWhite(pal) == RGB_BLACK) + *pal = gUnknown_03006188 + 1; + else + *pal = gUnknown_03006188 + 2; + } + } + } +} + +static void sub_81265B4(void) +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16* pal = &var2[gUnknown_03006164]; + for (j = 0; j < gUnknown_03006174; j++, pal++) + { + if (*pal & 0x8000) + *pal = gUnknown_03006188; + else + *pal = sub_8126908(pal) + gUnknown_03006188; + } + } +} + +static void sub_8126664(void) +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16* pal = &var2[gUnknown_03006164]; + for (j = 0; j < gUnknown_03006174; j++, pal++) + { + if (*pal & 0x8000) + *pal = gUnknown_03006188; + else + *pal = sub_812693C(pal) + gUnknown_03006188; + } + } +} + +static void sub_8126714(void) +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16* pal = &var2[gUnknown_03006164]; + for (j = 0; j < gUnknown_03006174; j++, pal++) + { + if (*pal & 0x8000) + *pal = gUnknown_03006188; + else + *pal = sub_8126838(pal) + gUnknown_03006188; + } + } +} + +static u16 sub_81267C4(u16 *color) +{ + u16 red = *color & 0x1F; + u16 green = (*color >> 5) & 0x1F; + u16 blue = (*color >> 10) & 0x1F; + + if (red & 3) + red = (red & 0x1C) + 4; + if (green & 3) + green = (green & 0x1C) + 4; + if (blue & 3) + blue = (blue & 0x1C) + 4; + + if (red < 6) + red = 6; + if (red > 30) + red = 30; + + if (green < 6) + green = 6; + if (green > 30) + green = 30; + + if (blue < 6) + blue = 6; + if (blue > 30) + blue = 30; + + return RGB2(red, green, blue); +} + +static u16 sub_8126838(u16* color) +{ + u16 red = *color & 0x1F; + u16 green = (*color >> 5) & 0x1F; + u16 blue = (*color >> 10) & 0x1F; + + if (red < 12 && green < 11 && blue < 11) + return 1; + + if (red > 19 && green > 19 && blue > 19) + return 2; + + if (red > 19) + { + if (green > 19) + { + if (blue > 14) + return 2; + else + return 7; + } + else if (blue > 19) + { + if (green > 14) + return 2; + else + return 8; + } + } + + if (green > 19 && blue > 19) + { + if (red > 14) + return 2; + else + return 9; + } + + if (red > 19) + { + if (green > 11) + { + if (blue > 11) + { + if (green < blue) + return 8; + else + return 7; + } + else + { + return 10; + } + } + else if (blue > 11) + { + return 13; + } + else + { + return 4; + } + } + + if (green > 19) + { + if (red > 11) + { + if (blue > 11) + { + if (red < blue) + return 9; + else + return 7; + } + else + { + return 11; + } + } + else + { + if (blue > 11) + return 14; + else + return 5; + } + } + + if (blue > 19) + { + if (red > 11) + { + if (green > 11) + { + if (red < green) + return 9; + else + return 8; + } + } + else if (green > 11) + { + return 12; + } + + if (blue > 11) + return 15; + else + return 6; + } + + return 3; +} + +static u16 sub_8126908(u16 *color) +{ + u16 red = *color & 0x1F; + u16 green = (*color >> 5) & 0x1F; + u16 blue = (*color >> 10) & 0x1F; + u16 average = ((red + green + blue) / 3) & 0x1E; + if (average == 0) + return 1; + else + return average / 2; +} + +static u16 sub_812693C(u16 *color) +{ + u16 red = *color & 0x1F; + u16 green = (*color >> 5) & 0x1F; + u16 blue = (*color >> 10) & 0x1F; + u16 average = (red + green + blue) / 3; + return average + 1; +} From 768a68d3e8d09b0f244047c2b75cf47a3a713ff9 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 21 Mar 2019 18:15:47 -0500 Subject: [PATCH 47/47] Decompile ereader.c up to faraway island code --- asm/{rom_81D1C44.s => ereader.s} | 1177 ----------------------------- data/{rom_81D1C44.s => ereader.s} | 0 include/ereader.h | 9 + include/pokenav.h | 3 - ld_script.txt | 5 +- src/ereader.c | 564 ++++++++++++++ src/event_object_movement.c | 2 +- src/trainer_hill.c | 3 +- 8 files changed, 578 insertions(+), 1185 deletions(-) rename asm/{rom_81D1C44.s => ereader.s} (64%) rename data/{rom_81D1C44.s => ereader.s} (100%) create mode 100755 include/ereader.h create mode 100755 src/ereader.c diff --git a/asm/rom_81D1C44.s b/asm/ereader.s similarity index 64% rename from asm/rom_81D1C44.s rename to asm/ereader.s index 001ac1b68f..81264aca2e 100644 --- a/asm/rom_81D1C44.s +++ b/asm/ereader.s @@ -6,1183 +6,6 @@ .text - thumb_func_start sub_81D38D4 -sub_81D38D4: @ 81D38D4 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003d6d - adds r0, r1 - ldrb r1, [r0] - adds r2, r1, 0x1 - adds r0, r2, 0 - asrs r0, 8 - lsls r0, 8 - subs r0, r2, r0 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D38D4 - - thumb_func_start sub_81D38FC -sub_81D38FC: @ 81D38FC - push {r4,r5,lr} - adds r4, r0, 0 - movs r5, 0x9C - lsls r5, 2 - adds r1, r5, 0 - bl CalcByteArraySum - adds r4, r5 - ldr r1, [r4] - cmp r0, r1 - bne _081D3916 - movs r0, 0x1 - b _081D3918 -_081D3916: - movs r0, 0 -_081D3918: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D38FC - - thumb_func_start sub_81D3920 -sub_81D3920: @ 81D3920 - push {r4-r7,lr} - adds r7, r0, 0 - ldrb r6, [r7] - subs r0, r6, 0x1 - cmp r0, 0x7 - bhi _081D3964 - movs r5, 0 - cmp r5, r6 - bcs _081D394C - adds r4, r7, 0 - adds r4, 0x8 -_081D3936: - adds r0, r4, 0 - bl sub_81D38FC - cmp r0, 0 - beq _081D3964 - movs r0, 0x9D - lsls r0, 2 - adds r4, r0 - adds r5, 0x1 - cmp r5, r6 - bcc _081D3936 -_081D394C: - adds r0, r7, 0 - adds r0, 0x8 - movs r1, 0x9D - lsls r1, 2 - muls r1, r6 - bl CalcByteArraySum - ldr r1, [r7, 0x4] - cmp r0, r1 - bne _081D3964 - movs r0, 0x1 - b _081D3966 -_081D3964: - movs r0, 0 -_081D3966: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81D3920 - - thumb_func_start sub_81D396C -sub_81D396C: @ 81D396C - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - subs r0, 0x1 - cmp r0, 0x7 - bhi _081D398E - adds r0, r4, 0 - adds r0, 0x8 - movs r1, 0xEE - lsls r1, 4 - bl CalcByteArraySum - ldr r1, [r4, 0x4] - cmp r0, r1 - bne _081D398E - movs r0, 0x1 - b _081D3990 -_081D398E: - movs r0, 0 -_081D3990: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81D396C - - thumb_func_start sub_81D3998 -sub_81D3998: @ 81D3998 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - mov r8, r1 - movs r2, 0x80 - lsls r2, 5 - mov r0, r8 - movs r1, 0 - bl memset - ldrb r0, [r7] - mov r1, r8 - strb r0, [r1] - bl sub_81D38D4 - mov r2, r8 - strb r0, [r2, 0x1] - ldrb r0, [r7] - adds r0, 0x1 - asrs r0, 1 - strb r0, [r2, 0x2] - movs r6, 0 - b _081D3A42 -_081D39C8: - movs r0, 0x1 - ands r0, r6 - cmp r0, 0 - bne _081D3A14 - lsrs r0, r6, 31 - adds r0, r6, r0 - asrs r0, 1 - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 3 - subs r4, r0 - lsls r4, 3 - add r4, r8 - movs r0, 0x9D - lsls r0, 2 - adds r5, r6, 0 - muls r5, r0 - adds r5, r7, r5 - ldrb r0, [r5, 0x8] - strb r0, [r4, 0x8] - movs r1, 0xA7 - lsls r1, 2 - adds r0, r4, r1 - movs r2, 0xAA - lsls r2, 1 - adds r1, r5, r2 - subs r2, 0x30 - bl memcpy - adds r4, 0xC - adds r5, 0xC - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0xA4 - lsls r2, 1 - bl memcpy - b _081D3A40 -_081D3A14: - lsrs r1, r6, 31 - adds r1, r6, r1 - asrs r1, 1 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 3 - subs r0, r1 - lsls r0, 3 - add r0, r8 - movs r1, 0x9D - lsls r1, 2 - muls r1, r6 - adds r1, r7, r1 - ldrb r2, [r1, 0x8] - strb r2, [r0, 0x9] - movs r2, 0xAA - lsls r2, 1 - adds r0, r2 - adds r1, 0xC - subs r2, 0xC - bl memcpy -_081D3A40: - adds r6, 0x1 -_081D3A42: - ldrb r0, [r7] - cmp r6, r0 - blt _081D39C8 - movs r0, 0x1 - ands r0, r6 - cmp r0, 0 - beq _081D3A7E - lsrs r2, r6, 31 - adds r2, r6, r2 - asrs r2, 1 - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 3 - subs r0, r2 - lsls r0, 3 - add r0, r8 - movs r1, 0xAA - lsls r1, 1 - adds r0, r1 - ldr r3, =gUnknown_08625B6C - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r2 - lsls r1, 3 - adds r1, r3 - movs r2, 0xA4 - lsls r2, 1 - bl memcpy -_081D3A7E: - mov r0, r8 - adds r0, 0x8 - movs r1, 0xEE - lsls r1, 4 - bl CalcByteArraySum - mov r2, r8 - str r0, [r2, 0x4] - movs r0, 0x1E - mov r1, r8 - bl sub_8153634 - cmp r0, 0x1 - bne _081D3AA4 - movs r0, 0x1 - b _081D3AA6 - .pool -_081D3AA4: - movs r0, 0 -_081D3AA6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81D3998 - - thumb_func_start sub_81D3AB0 -sub_81D3AB0: @ 81D3AB0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x80 - lsls r0, 5 - bl AllocZeroed - adds r5, r0, 0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81D3998 - adds r4, r0, 0 - adds r0, r5, 0 - bl Free - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D3AB0 - - thumb_func_start sub_81D3AD8 -sub_81D3AD8: @ 81D3AD8 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r0, 0x1E - bl TryCopySpecialSaveSection - cmp r0, 0x1 - bne _081D3B04 - ldr r2, =0x00000ee8 - adds r0, r5, 0 - adds r1, r4, 0 - bl memcpy - adds r0, r5, 0 - bl sub_81D396C - cmp r0, 0 - beq _081D3B04 - movs r0, 0x1 - b _081D3B06 - .pool -_081D3B04: - movs r0, 0 -_081D3B06: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D3AD8 - - thumb_func_start sub_81D3B0C -sub_81D3B0C: @ 81D3B0C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x80 - lsls r0, 5 - bl AllocZeroed - adds r5, r0, 0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_81D3AD8 - adds r4, r0, 0 - adds r0, r5, 0 - bl Free - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D3B0C - - thumb_func_start sub_81D3B34 -sub_81D3B34: @ 81D3B34 - push {r4,r5,lr} - movs r0, 0x80 - lsls r0, 5 - bl AllocZeroed - adds r4, r0, 0 - bl sub_81D3B0C - adds r5, r0, 0 - adds r0, r4, 0 - bl Free - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81D3B34 - - thumb_func_start sub_81D3B54 -sub_81D3B54: @ 81D3B54 - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - adds r5, r1, 0 - bl sub_81D41A0 - movs r7, 0x2 - ldr r4, =gShouldAdvanceLinkState -_081D3B64: - bl sub_81D4170 - ldr r0, =gUnknown_030012E2 - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081D3B76 - strb r7, [r4] -_081D3B76: - movs r0, 0x1 - adds r1, r6, 0 - adds r2, r5, 0 - movs r3, 0 - bl sub_81D3D70 - adds r1, r0, 0 - ldr r0, =gUnknown_030012E4 - strh r1, [r0] - movs r0, 0x13 - ands r0, r1 - cmp r0, 0x10 - bne _081D3BA0 - movs r4, 0 - b _081D3BC2 - .pool -_081D3BA0: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _081D3BAC - movs r4, 0x1 - b _081D3BC2 -_081D3BAC: - movs r0, 0x4 - ands r0, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _081D3BC0 - strb r0, [r4] - bl VBlankIntrWait - b _081D3B64 -_081D3BC0: - movs r4, 0x2 -_081D3BC2: - movs r0, 0 - str r0, [sp] - ldr r1, =gUnknown_030012C8 - ldr r2, =0x05000006 - mov r0, sp - bl CpuSet - bl sub_81D41F4 - adds r0, r4, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D3B54 - - thumb_func_start sub_81D3BE8 -sub_81D3BE8: @ 81D3BE8 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - bl sub_81D41A0 - movs r6, 0x2 - ldr r4, =gShouldAdvanceLinkState -_081D3BF6: - bl sub_81D4170 - ldr r0, =gUnknown_030012E2 - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081D3C08 - strb r6, [r4] -_081D3C08: - movs r0, 0 - movs r1, 0 - movs r2, 0 - adds r3, r5, 0 - bl sub_81D3D70 - adds r1, r0, 0 - ldr r0, =gUnknown_030012E4 - strh r1, [r0] - movs r0, 0x13 - ands r0, r1 - cmp r0, 0x10 - bne _081D3C34 - movs r4, 0 - b _081D3C56 - .pool -_081D3C34: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _081D3C40 - movs r4, 0x1 - b _081D3C56 -_081D3C40: - movs r0, 0x4 - ands r0, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _081D3C54 - strb r0, [r4] - bl VBlankIntrWait - b _081D3BF6 -_081D3C54: - movs r4, 0x2 -_081D3C56: - movs r0, 0 - str r0, [sp] - ldr r1, =gUnknown_030012C8 - ldr r2, =0x05000006 - mov r0, sp - bl CpuSet - bl sub_81D41F4 - adds r0, r4, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D3BE8 - - thumb_func_start sub_81D3C7C -sub_81D3C7C: @ 81D3C7C - push {r4,lr} - ldr r4, =0x04000208 - movs r3, 0 - strh r3, [r4] - ldr r2, =0x04000200 - ldrh r1, [r2] - ldr r0, =0x0000ff3f - ands r0, r1 - strh r0, [r2] - movs r0, 0x1 - strh r0, [r4] - ldr r0, =0x04000128 - strh r3, [r0] - subs r0, 0x1A - strh r3, [r0] - ldr r1, =0x04000202 - movs r0, 0xC0 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D3C7C - - thumb_func_start sub_81D3CBC -sub_81D3CBC: @ 81D3CBC - push {r4-r7,lr} - sub sp, 0x4 - ldr r5, =0x04000208 - movs r4, 0 - strh r4, [r5] - ldr r3, =0x04000200 - ldrh r1, [r3] - ldr r0, =0x0000ff3f - ands r0, r1 - strh r0, [r3] - movs r6, 0x1 - strh r6, [r5] - ldr r0, =0x04000134 - strh r4, [r0] - ldr r2, =0x04000128 - movs r1, 0x80 - lsls r1, 6 - adds r0, r1, 0 - strh r0, [r2] - ldrh r0, [r2] - ldr r7, =0x00004003 - adds r1, r7, 0 - orrs r0, r1 - strh r0, [r2] - strh r4, [r5] - ldrh r0, [r3] - movs r1, 0x80 - orrs r0, r1 - strh r0, [r3] - strh r6, [r5] - ldr r1, =gUnknown_030012C8 - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _081D3D0A - str r0, [sp] - ldr r2, =0x05000006 - mov r0, sp - bl CpuSet -_081D3D0A: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D3CBC - - thumb_func_start sub_81D3D34 -sub_81D3D34: @ 81D3D34 - ldr r0, =0x04000134 - movs r3, 0 - strh r3, [r0] - ldr r2, =0x04000128 - movs r1, 0xA0 - lsls r1, 7 - adds r0, r1, 0 - strh r0, [r2] - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - ldr r0, =gShouldAdvanceLinkState - strb r3, [r0] - ldr r0, =gUnknown_030012E6 - strh r3, [r0] - ldr r1, =gUnknown_030012E8 - movs r0, 0 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_81D3D34 - - thumb_func_start sub_81D3D70 -sub_81D3D70: @ 81D3D70 - push {r4-r6,lr} - adds r4, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_030012C8 - ldrb r0, [r0, 0x1] - cmp r0, 0x6 - bls _081D3D86 - b _081D3ECC -_081D3D86: - lsls r0, 2 - ldr r1, =_081D3D98 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081D3D98: - .4byte _081D3DB4 - .4byte _081D3DC8 - .4byte _081D3DE8 - .4byte _081D3DFC - .4byte _081D3E74 - .4byte _081D3E84 - .4byte _081D3EBC -_081D3DB4: - bl sub_81D3CBC - ldr r1, =gUnknown_030012C8 - movs r0, 0x1 - strb r0, [r1, 0x2] - strb r0, [r1, 0x1] - b _081D3ECC - .pool -_081D3DC8: - adds r0, r2, 0 - bl sub_81D3EE8 - lsls r0, 16 - cmp r0, 0 - beq _081D3DD8 - bl sub_81D413C -_081D3DD8: - ldr r0, =gShouldAdvanceLinkState - ldrb r0, [r0] - cmp r0, 0x2 - beq _081D3DE2 - b _081D3ECC -_081D3DE2: - b _081D3E04 - .pool -_081D3DE8: - bl sub_81D3D34 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_81D3F1C - ldr r1, =gUnknown_030012C8 - movs r0, 0x3 - strb r0, [r1, 0x1] -_081D3DFC: - ldr r0, =gShouldAdvanceLinkState - ldrb r0, [r0] - cmp r0, 0x2 - bne _081D3E18 -_081D3E04: - ldr r1, =gUnknown_030012C8 - strb r0, [r1, 0x4] - movs r0, 0x6 - strb r0, [r1, 0x1] - b _081D3ECC - .pool -_081D3E18: - ldr r2, =gUnknown_030012E6 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - ldr r1, =gUnknown_030012E8 - ldr r0, [r1] - adds r3, r0, 0x1 - str r3, [r1] - ldr r1, =gUnknown_030012C8 - ldrb r0, [r1] - cmp r0, 0 - bne _081D3E3C - cmp r3, 0x3C - bls _081D3E3C - movs r0, 0x1 - strb r0, [r1, 0x4] - movs r0, 0x6 - strb r0, [r1, 0x1] -_081D3E3C: - ldr r4, =gUnknown_030012C8 - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _081D3ECC - ldrb r0, [r4] - cmp r0, 0 - beq _081D3E64 - ldrh r0, [r2] - cmp r0, 0x2 - bls _081D3E64 - bl sub_81D413C - movs r0, 0x2 - b _081D3ECA - .pool -_081D3E64: - bl sub_81D413C - ldr r1, =gUnknown_030012C8 - movs r0, 0x2 - strb r0, [r1, 0x2] - b _081D3ECC - .pool -_081D3E74: - bl sub_81D3CBC - ldr r1, =gUnknown_030012C8 - movs r0, 0x5 - strb r0, [r1, 0x1] - b _081D3ECC - .pool -_081D3E84: - ldr r0, =gUnknown_030012C8 - ldrb r0, [r0] - cmp r0, 0x1 - bne _081D3E98 - ldr r0, =gUnknown_030012E6 - ldrh r0, [r0] - cmp r0, 0x2 - bls _081D3E98 - bl sub_81D413C -_081D3E98: - ldr r1, =gUnknown_030012E6 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3C - bls _081D3ECC - ldr r0, =gUnknown_030012C8 - movs r1, 0x1 - strb r1, [r0, 0x4] - movs r1, 0x6 - strb r1, [r0, 0x1] - b _081D3ECC - .pool -_081D3EBC: - ldr r4, =gUnknown_030012C8 - ldrb r0, [r4, 0x2] - cmp r0, 0 - beq _081D3ECC - bl sub_81D3C7C - movs r0, 0 -_081D3ECA: - strb r0, [r4, 0x2] -_081D3ECC: - ldr r2, =gUnknown_030012C8 - ldrb r0, [r2, 0x2] - ldrb r1, [r2, 0x4] - lsls r1, 2 - orrs r0, r1 - ldrb r1, [r2, 0x3] - lsls r1, 4 - orrs r0, r1 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D3D70 - - thumb_func_start sub_81D3EE8 -sub_81D3EE8: @ 81D3EE8 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =0x04000128 - ldr r0, [r0] - movs r1, 0xC - ands r0, r1 - cmp r0, 0x8 - bne _081D3F0C - cmp r2, 0 - beq _081D3F0C - ldr r1, =gUnknown_030012C8 - movs r0, 0x1 - b _081D3F10 - .pool -_081D3F0C: - ldr r1, =gUnknown_030012C8 - movs r0, 0 -_081D3F10: - strb r0, [r1] - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D3EE8 - - thumb_func_start sub_81D3F1C -sub_81D3F1C: @ 81D3F1C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r3, =gUnknown_030012C8 - ldrb r0, [r3] - cmp r0, 0 - beq _081D3F54 - ldr r2, =0x04000128 - ldrh r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r2] - str r5, [r3, 0x8] - ldr r0, =0x04000120 - str r4, [r0] - lsrs r0, r4, 2 - adds r0, 0x1 - str r0, [r3, 0x10] - bl sub_81D3F68 - b _081D3F5C - .pool -_081D3F54: - ldr r1, =0x04000128 - ldrh r0, [r1] - strh r0, [r1] - str r2, [r3, 0x8] -_081D3F5C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D3F1C - - thumb_func_start sub_81D3F68 -sub_81D3F68: @ 81D3F68 - ldr r1, =0x0400010c - ldr r2, =0x0000fda7 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, =0x0400010e - movs r2, 0x40 - strh r2, [r0] - ldr r3, =0x04000208 - movs r0, 0 - strh r0, [r3] - adds r1, 0xF4 - ldrh r0, [r1] - orrs r0, r2 - strh r0, [r1] - movs r0, 0x1 - strh r0, [r3] - bx lr - .pool - thumb_func_end sub_81D3F68 - - thumb_func_start sub_81D3F9C -sub_81D3F9C: @ 81D3F9C - push {lr} - bl sub_81D414C - bl sub_81D413C - pop {r0} - bx r0 - thumb_func_end sub_81D3F9C - - thumb_func_start sub_81D3FAC -sub_81D3FAC: @ 81D3FAC - push {r4-r6,lr} - sub sp, 0x8 - ldr r2, =gUnknown_030012C8 - ldrb r0, [r2, 0x1] - adds r3, r2, 0 - cmp r0, 0x3 - beq _081D4034 - cmp r0, 0x3 - bgt _081D3FC8 - cmp r0, 0x1 - beq _081D3FD0 - b _081D412A - .pool -_081D3FC8: - cmp r0, 0x5 - bne _081D3FCE - b _081D40FC -_081D3FCE: - b _081D412A -_081D3FD0: - ldr r1, =0x0400012a - ldr r2, =0x0000ccd0 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, =0x04000120 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r4, 0 - ldr r6, =0x0000ccd0 - ldr r5, =0x0000ffff -_081D3FEC: - lsls r0, r1, 1 - add r0, sp - ldrh r0, [r0] - cmp r0, r6 - bne _081D4010 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - b _081D401A - .pool -_081D4010: - cmp r0, r5 - beq _081D401A - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_081D401A: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x3 - bls _081D3FEC - cmp r2, 0x2 - beq _081D402A - b _081D412A -_081D402A: - cmp r4, 0 - beq _081D4030 - b _081D412A -_081D4030: - strb r2, [r3, 0x1] - b _081D412A -_081D4034: - ldr r0, =0x04000120 - ldr r4, [r0] - ldr r0, [r2, 0xC] - cmp r0, 0 - bne _081D404A - ldrb r0, [r2] - cmp r0, 0 - bne _081D404A - lsrs r0, r4, 2 - adds r0, 0x1 - str r0, [r2, 0x10] -_081D404A: - ldrb r0, [r3] - cmp r0, 0x1 - bne _081D4080 - ldr r1, [r3, 0xC] - ldr r0, [r3, 0x10] - cmp r1, r0 - bge _081D4074 - ldr r2, =0x04000120 - ldr r0, [r3, 0x8] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - str r0, [r2] - ldr r0, [r3, 0x14] - ldr r1, [r1] - adds r0, r1 - str r0, [r3, 0x14] - b _081D40BA - .pool -_081D4074: - ldr r1, =0x04000120 - ldr r0, [r3, 0x14] - b _081D40B8 - .pool -_081D4080: - ldr r1, [r3, 0xC] - cmp r1, 0 - ble _081D40A0 - ldr r0, [r3, 0x10] - adds r0, 0x1 - cmp r1, r0 - bge _081D40A0 - ldr r0, [r3, 0x8] - lsls r1, 2 - adds r1, r0 - subs r1, 0x4 - str r4, [r1] - ldr r0, [r3, 0x14] - adds r0, r4 - str r0, [r3, 0x14] - b _081D40B4 -_081D40A0: - ldr r0, [r3, 0xC] - cmp r0, 0 - beq _081D40B4 - ldr r0, [r3, 0x14] - cmp r0, r4 - bne _081D40B0 - movs r0, 0x1 - b _081D40B2 -_081D40B0: - movs r0, 0x2 -_081D40B2: - strb r0, [r3, 0x3] -_081D40B4: - ldr r1, =gUnknown_030012E8 - movs r0, 0 -_081D40B8: - str r0, [r1] -_081D40BA: - ldr r1, [r3, 0xC] - adds r1, 0x1 - str r1, [r3, 0xC] - ldr r0, [r3, 0x10] - adds r0, 0x2 - cmp r1, r0 - bge _081D40EA - ldrb r0, [r3] - cmp r0, 0 - beq _081D40E4 - ldr r0, =0x0400010e - ldrh r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strh r1, [r0] - b _081D412A - .pool -_081D40E4: - bl sub_81D413C - b _081D412A -_081D40EA: - movs r0, 0 - movs r1, 0x4 - strb r1, [r3, 0x1] - ldr r1, =gUnknown_030012E6 - strh r0, [r1] - b _081D412A - .pool -_081D40FC: - ldrb r3, [r2] - cmp r3, 0 - bne _081D4108 - ldr r1, =0x0400012a - ldrb r0, [r2, 0x3] - strh r0, [r1] -_081D4108: - ldr r0, =0x04000120 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - mov r0, sp - ldrh r1, [r0, 0x2] - subs r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _081D412A - cmp r3, 0x1 - bne _081D4126 - strb r1, [r2, 0x3] -_081D4126: - movs r0, 0x6 - strb r0, [r2, 0x1] -_081D412A: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D3FAC - - thumb_func_start sub_81D413C -sub_81D413C: @ 81D413C - ldr r0, =0x04000128 - ldrh r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_81D413C - - thumb_func_start sub_81D414C -sub_81D414C: @ 81D414C - ldr r2, =0x0400010e - ldrh r1, [r2] - ldr r0, =0x0000ff7f - ands r0, r1 - strh r0, [r2] - ldr r1, =0x0400010c - ldr r2, =0x0000fda7 - adds r0, r2, 0 - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_81D414C - - thumb_func_start sub_81D4170 -sub_81D4170: @ 81D4170 - push {r4,lr} - ldr r0, =0x04000130 - ldrh r0, [r0] - ldr r2, =0x000003ff - adds r1, r2, 0 - eors r1, r0 - ldr r4, =gUnknown_030012E2 - ldr r3, =gUnknown_030012E0 - ldrh r2, [r3] - adds r0, r1, 0 - bics r0, r2 - strh r0, [r4] - strh r1, [r3] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D4170 - - thumb_func_start sub_81D41A0 -sub_81D41A0: @ 81D41A0 - ldr r1, =gUnknown_030012EC - ldr r0, =0x04000208 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, =gUnknown_030012EE - ldr r0, =0x04000200 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, =gUnknown_030012F0 - ldr r0, =0x0400010e - ldrh r0, [r0] - strh r0, [r1] - ldr r1, =gUnknown_030012F2 - ldr r0, =0x04000128 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, =gUnknown_030012F4 - ldr r0, =0x04000134 - ldrh r0, [r0] - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_81D41A0 - - thumb_func_start sub_81D41F4 -sub_81D41F4: @ 81D41F4 - ldr r1, =0x04000208 - ldr r0, =gUnknown_030012EC - ldrh r0, [r0] - strh r0, [r1] - subs r1, 0x8 - ldr r0, =gUnknown_030012EE - ldrh r0, [r0] - strh r0, [r1] - subs r1, 0xF2 - ldr r0, =gUnknown_030012F0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x1A - ldr r0, =gUnknown_030012F2 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0xC - ldr r0, =gUnknown_030012F4 - ldrh r0, [r0] - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_81D41F4 - - thumb_func_start sub_81D4238 -sub_81D4238: @ 81D4238 - push {lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r1, =gUnknown_030012C8 - ldr r2, =0x05000006 - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D4238 - - thumb_func_start sub_81D4258 -sub_81D4258: @ 81D4258 - push {lr} - sub sp, 0x4 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x1 - mov r3, sp - bl TryGetEventObjectIdByLocalIdAndMap - mov r0, sp - ldrb r0, [r0] - add sp, 0x4 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D4258 - thumb_func_start sub_81D427C sub_81D427C: @ 81D427C push {r4-r7,lr} diff --git a/data/rom_81D1C44.s b/data/ereader.s similarity index 100% rename from data/rom_81D1C44.s rename to data/ereader.s diff --git a/include/ereader.h b/include/ereader.h new file mode 100755 index 0000000000..da31c82127 --- /dev/null +++ b/include/ereader.h @@ -0,0 +1,9 @@ +#ifndef GUARD_EREADER_H +#define GUARD_EREADER_H + +bool32 sub_81D3B34(void); +u32 sub_81D427C(void); +bool8 sub_81D4A58(struct EventObject*); +bool8 EventObjectIsFarawayIslandMew(struct EventObject *); + +#endif // GUARD_EREADER_H diff --git a/include/pokenav.h b/include/pokenav.h index 55bfb366c1..4e02461fe9 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -3,9 +3,6 @@ #include "list_menu.h" bool8 sub_81D312C(void *arg0); -bool8 sub_81D4A58(struct EventObject*); -bool8 EventObjectIsFarawayIslandMew(struct EventObject *); -u32 sub_81D427C(void); void sub_81D4998(void); void CB2_InitPokeNav(void); diff --git a/ld_script.txt b/ld_script.txt index bd0bb7661a..5a1442fa85 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -291,7 +291,8 @@ SECTIONS { src/pokenav_match_call.o(.text); src/menu_specialized.o(.text); asm/menu_specialized.o(.text); - asm/rom_81D1C44.o(.text); + src/ereader.o(.text); + asm/ereader.o(.text); src/trainer_hill.o(.text); src/rayquaza_scene.o(.text); src/walda_phrase.o(.text); @@ -596,7 +597,7 @@ SECTIONS { src/pokenav_match_call.o(.rodata); src/menu_specialized.o(.rodata); data/menu_specialized.o(.rodata); - data/rom_81D1C44.o(.rodata); + data/ereader.o(.rodata); src/trainer_hill.o(.rodata); src/rayquaza_scene.o(.rodata); src/walda_phrase.o(.rodata); diff --git a/src/ereader.c b/src/ereader.c new file mode 100755 index 0000000000..053f82381b --- /dev/null +++ b/src/ereader.c @@ -0,0 +1,564 @@ +#include "global.h" +#include "alloc.h" +#include "event_object_movement.h" +#include "link.h" +#include "save.h" +#include "util.h" + +struct Unk81D38FC +{ + u8 unk0[0x270]; + int checksum; +}; + +struct Unknown030012C8 +{ + u8 unk0[8]; + u32 *unk8; + int unkC; + int unk10; + int unk14; +}; + +void sub_81D41A0(void); +static void sub_81D4170(void); +int sub_81D3D70(u8, u32, u32*, u32*); +void sub_81D41F4(void); +static u16 sub_81D3EE8(u8); +static void sub_81D413C(void); +static void sub_81D414C(void); +static void sub_81D3F1C(u32, u32*, u32*); +static void sub_81D3F68(void); + +extern struct Unknown030012C8 gUnknown_030012C8; +extern u16 gUnknown_030012E0; +extern u16 gUnknown_030012E2; +extern u16 gUnknown_030012E4; +extern u16 gUnknown_030012E6; +extern u32 gUnknown_030012E8; +extern u16 gUnknown_030012EC; +extern u16 gUnknown_030012EE; +extern u16 gUnknown_030012F0; +extern u16 gUnknown_030012F2; +extern u16 gUnknown_030012F4; + +extern const u8 gUnknown_08625B6C[]; + +static u8 sub_81D38D4(void) +{ + return (gSaveBlock1Ptr->trainerHill.unused + 1) % 256; +} + +static bool32 sub_81D38FC(struct Unk81D38FC *arg0) +{ + int checksum = CalcByteArraySum(arg0->unk0, 0x270); + if (checksum != arg0->checksum) + return FALSE; + + return TRUE; +} + +bool8 sub_81D3920(u8 *buffer) +{ + u32 i; + u32 checksum; + int var0 = buffer[0]; + if (var0 < 1 || var0 > 8) + return FALSE; + + for (i = 0; i < var0; i++) + { + struct Unk81D38FC *var1 = (struct Unk81D38FC *)(&buffer[i * (sizeof(struct Unk81D38FC)) + 8]); + if (!sub_81D38FC(var1)) + return FALSE; + } + + checksum = CalcByteArraySum(buffer + 8, var0 * 0x274); + if (checksum != ((int *)buffer)[1]) + return FALSE; + + return TRUE; +} + +static bool32 sub_81D396C(u8 *buffer) +{ + u32 checksum; + int var0 = buffer[0]; + if (var0 < 1 || var0 > 8) + return FALSE; + + checksum = CalcByteArraySum(buffer + 8, 0xEE0); + if (checksum != ((int *)buffer)[1]) + return FALSE; + + return TRUE; +} + +static bool32 sub_81D3998(struct Unk81D38FC *arg0, u8 *buffer2) +{ + int i; + const u8 *ereaderVals; + + memset(buffer2, 0, 0x1000); + buffer2[0] = arg0->unk0[0]; + buffer2[1] = sub_81D38D4(); + buffer2[2] = (arg0->unk0[0] + 1) / 2; + + for (i = 0; i < arg0->unk0[0]; i++) + { + if (!(i & 1)) + { + u8 *var0 = &buffer2[(i / 2) * 0x3B8]; + u8 *var1 = arg0[i].unk0; + var0[8] = var1[8]; + memcpy(&var0[0x29C], &var1[0x154], 0x124); + var0 += 0xC; + var1 += 0xC; + memcpy(var0, var1, 0x148); + } + else + { + u8 *var0 = &buffer2[(i / 2) * 0x3B8]; + u8 *var1 = arg0[i].unk0; + var0[9] = var1[8]; + memcpy(&var0[0x154], &var1[0xC], 0x148); + } + } + + if (i & 1) + { + u8 *var0 = &buffer2[(i / 2) * 0x3B8]; + var0 += 0x154; + + ereaderVals = gUnknown_08625B6C; + memcpy(var0, &ereaderVals[(i / 2) * 0x148], 0x148); + } + + ((int *)buffer2)[1] = CalcByteArraySum(buffer2 + 8, 0xEE0); + if (sub_8153634(SECTOR_ID_TRAINER_HILL, buffer2) != 1) + return FALSE; + + return TRUE; +} + +bool32 sub_81D3AB0(struct Unk81D38FC *arg0) +{ + u8 *var0 = AllocZeroed(0x1000); + bool32 result = sub_81D3998(arg0, var0); + Free(var0); + return result; +} + +static bool32 sub_81D3AD8(u8 *arg0, u8 *arg1) +{ + if (TryCopySpecialSaveSection(SECTOR_ID_TRAINER_HILL, arg1) != 1) + return FALSE; + + memcpy(arg0, arg1, 0xEE8); + if (!sub_81D396C(arg0)) + return FALSE; + + return TRUE; +} + +static bool32 sub_81D3B0C(u8 *arg0) +{ + u8 *var0 = AllocZeroed(0x1000); + bool32 result = sub_81D3AD8(arg0, var0); + Free(var0); + return result; +} + +bool32 sub_81D3B34(void) +{ + u8 *var0 = AllocZeroed(0x1000); + bool32 result = sub_81D3B0C(var0); + Free(var0); + return result; +} + +static int unref_sub_81D3B54(int arg0, u32 *arg1) +{ + int result; + u16 var0; + int var1; + + sub_81D41A0(); + while (1) + { + sub_81D4170(); + if (gUnknown_030012E2 & 2) + gShouldAdvanceLinkState = 2; + + var1 = sub_81D3D70(1, arg0, arg1, NULL); + gUnknown_030012E4 = var1; + if ((gUnknown_030012E4 & 0x13) == 0x10) + { + result = 0; + break; + } + + if (gUnknown_030012E4 & 0x8) + { + result = 1; + break; + } + + var0 = gUnknown_030012E4 & 0x4; + if (var0) + { + result = 2; + break; + } + + gShouldAdvanceLinkState = var0; + VBlankIntrWait(); + } + + CpuFill32(0, &gUnknown_030012C8, sizeof(struct Unknown030012C8)); + sub_81D41F4(); + return result; +} + +static int unref_sub_81D3BE8(u32 *arg0) +{ + int result; + u16 var0; + int var1; + + sub_81D41A0(); + while (1) + { + sub_81D4170(); + if (gUnknown_030012E2 & 2) + gShouldAdvanceLinkState = 2; + + var1 = sub_81D3D70(0, 0, NULL, arg0); + gUnknown_030012E4 = var1; + if ((gUnknown_030012E4 & 0x13) == 0x10) + { + result = 0; + break; + } + + if (gUnknown_030012E4 & 0x8) + { + result = 1; + break; + } + + var0 = gUnknown_030012E4 & 0x4; + if (var0) + { + result = 2; + break; + } + + gShouldAdvanceLinkState = var0; + VBlankIntrWait(); + } + + CpuFill32(0, &gUnknown_030012C8, sizeof(struct Unknown030012C8)); + sub_81D41F4(); + return result; +} + +static void sub_81D3C7C(void) +{ + REG_IME = 0; + REG_IE &= ~(INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL); + REG_IME = 1; + REG_SIOCNT = 0; + REG_TM3CNT_H = 0; + REG_IF = INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL; +} + +static void sub_81D3CBC(void) +{ + REG_IME = 0; + REG_IE &= ~(INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL); + REG_IME = 1; + REG_RCNT = 0; + REG_SIOCNT = SIO_MULTI_MODE; + REG_SIOCNT |= SIO_INTR_ENABLE | SIO_115200_BPS; + REG_IME = 0; + REG_IE |= INTR_FLAG_SERIAL; + REG_IME = 1; + + if (!gUnknown_030012C8.unk0[1]) + CpuFill32(0, &gUnknown_030012C8, sizeof(struct Unknown030012C8)); +} + +static void sub_81D3D34(void) +{ + REG_RCNT = 0; + REG_SIOCNT = SIO_32BIT_MODE | SIO_INTR_ENABLE; + REG_SIOCNT |= SIO_MULTI_SD; + gShouldAdvanceLinkState = 0; + gUnknown_030012E6 = 0; + gUnknown_030012E8 = 0; +} + +int sub_81D3D70(u8 arg0, u32 arg1, u32 *arg2, u32 *arg3) +{ + switch (gUnknown_030012C8.unk0[1]) + { + case 0: + sub_81D3CBC(); + gUnknown_030012C8.unk0[2] = 1; + gUnknown_030012C8.unk0[1] = 1; + break; + case 1: + if (sub_81D3EE8(arg0)) + sub_81D413C(); + + if (gShouldAdvanceLinkState == 2) + { + gUnknown_030012C8.unk0[4] = 2; + gUnknown_030012C8.unk0[1] = 6; + } + break; + case 2: + sub_81D3D34(); + sub_81D3F1C(arg1, arg2, arg3); + gUnknown_030012C8.unk0[1] = 3; + // fall through + case 3: + if (gShouldAdvanceLinkState == 2) + { + gUnknown_030012C8.unk0[4] = 2; + gUnknown_030012C8.unk0[1] = 6; + } + else + { + gUnknown_030012E6++; + gUnknown_030012E8++; + if (!gUnknown_030012C8.unk0[0] && gUnknown_030012E8 > 60) + { + gUnknown_030012C8.unk0[4] = 1; + gUnknown_030012C8.unk0[1] = 6; + } + + if (gUnknown_030012C8.unk0[2] != 2) + { + if (gUnknown_030012C8.unk0[0] && gUnknown_030012E6 > 2) + { + sub_81D413C(); + gUnknown_030012C8.unk0[2] = 2; + } + else + { + sub_81D413C(); + gUnknown_030012C8.unk0[2] = 2; + } + } + } + break; + case 4: + sub_81D3CBC(); + gUnknown_030012C8.unk0[1] = 5; + break; + case 5: + if (gUnknown_030012C8.unk0[0] == 1 && gUnknown_030012E6 > 2) + sub_81D413C(); + + if (++gUnknown_030012E6 > 60) + { + gUnknown_030012C8.unk0[4] = 1; + gUnknown_030012C8.unk0[1] = 6; + } + break; + case 6: + if (gUnknown_030012C8.unk0[2]) + { + sub_81D3C7C(); + gUnknown_030012C8.unk0[2] = 0; + } + break; + } + + return gUnknown_030012C8.unk0[2] | (gUnknown_030012C8.unk0[4] << 2) | (gUnknown_030012C8.unk0[3] << 4); +} + +static u16 sub_81D3EE8(u8 arg0) +{ + u16 terminal = (*(vu32 *)REG_ADDR_SIOCNT) & (SIO_MULTI_SI | SIO_MULTI_SD); + if (terminal == SIO_MULTI_SD && arg0) + { + gUnknown_030012C8.unk0[0] = 1; + return 1; + } + else + { + gUnknown_030012C8.unk0[0] = 0; + return 0; + } +} + +static void sub_81D3F1C(u32 arg0, u32 *arg1, u32 *arg2) +{ + if (gUnknown_030012C8.unk0[0]) + { + REG_SIOCNT |= SIO_38400_BPS; + gUnknown_030012C8.unk8 = arg1; + REG_SIODATA32 = arg0; + gUnknown_030012C8.unk10 = arg0 / 4 + 1; + sub_81D3F68(); + } + else + { + REG_SIOCNT = REG_SIOCNT; + gUnknown_030012C8.unk8 = arg2; + } +} + +static void sub_81D3F68(void) +{ + REG_TM3CNT_L = 0xFDA7; + REG_TM3CNT_H = TIMER_INTR_ENABLE; + REG_IME = 0; + REG_IE |= INTR_FLAG_TIMER3; + REG_IME = 1; +} + +void sub_81D3F9C(void) +{ + sub_81D414C(); + sub_81D413C(); +} + +void sub_81D3FAC(void) +{ + u16 i, playerCount, k; + u32 value; + u16 var0; + u16 recvBuffer[4]; + + switch (gUnknown_030012C8.unk0[1]) + { + case 1: + REG_SIOMLT_SEND = 0xCCD0; // Handshake id + *(u64 *)recvBuffer = REG_SIOMLT_RECV; + for (i = 0, playerCount = 0, k = 0; i < 4; i++) + { + if (recvBuffer[i] == 0xCCD0) + playerCount++; + else if (recvBuffer[i] != 0xFFFF) + k++; + } + + if (playerCount == 2 && k == 0) + gUnknown_030012C8.unk0[1] = 2; + break; + case 3: + value = REG_SIODATA32; + if (!gUnknown_030012C8.unkC && !gUnknown_030012C8.unk0[0]) + gUnknown_030012C8.unk10 = value / 4 + 1; + + if (gUnknown_030012C8.unk0[0] == 1) + { + if (gUnknown_030012C8.unkC < gUnknown_030012C8.unk10) + { + REG_SIODATA32 = gUnknown_030012C8.unk8[gUnknown_030012C8.unkC]; + gUnknown_030012C8.unk14 += gUnknown_030012C8.unk8[gUnknown_030012C8.unkC]; + } + else + { + REG_SIODATA32 = gUnknown_030012C8.unk14; + } + } + else + { + if (gUnknown_030012C8.unkC > 0 && gUnknown_030012C8.unkC < gUnknown_030012C8.unk10 + 1) + { + gUnknown_030012C8.unk8[gUnknown_030012C8.unkC - 1] = value; + gUnknown_030012C8.unk14 += value; + } + else if (gUnknown_030012C8.unkC) + { + if (gUnknown_030012C8.unk14 == value) + gUnknown_030012C8.unk0[3] = 1; + else + gUnknown_030012C8.unk0[3] = 2; + } + + gUnknown_030012E8 = 0; + } + + if (++gUnknown_030012C8.unkC < gUnknown_030012C8.unk10 + 2) + { + if (gUnknown_030012C8.unk0[0]) + REG_TM3CNT_H |= TIMER_ENABLE; + else + sub_81D413C(); + } + else + { + gUnknown_030012C8.unk0[1] = 4; + gUnknown_030012E6 = 0; + } + break; + case 5: + if (!gUnknown_030012C8.unk0[0]) + REG_SIOMLT_SEND = gUnknown_030012C8.unk0[3]; + + *(u64 *)recvBuffer = REG_SIOMLT_RECV; + var0 = recvBuffer[1] - 1; + if (var0 < 2) + { + if (gUnknown_030012C8.unk0[0] == 1) + gUnknown_030012C8.unk0[3] = recvBuffer[1]; + + gUnknown_030012C8.unk0[1] = 6; + } + break; + } +} + +static void sub_81D413C(void) +{ + REG_SIOCNT |= SIO_ENABLE; +} + +static void sub_81D414C(void) +{ + REG_TM3CNT_H &= ~TIMER_ENABLE; + REG_TM3CNT_L = 0xFDA7; +} + +static void sub_81D4170(void) +{ + int keysMask = REG_KEYINPUT ^ KEYS_MASK; + gUnknown_030012E2 = keysMask & ~gUnknown_030012E0; + gUnknown_030012E0 = keysMask; +} + +void sub_81D41A0(void) +{ + gUnknown_030012EC = REG_IME; + gUnknown_030012EE = REG_IE; + gUnknown_030012F0 = REG_TM3CNT_H; + gUnknown_030012F2 = REG_SIOCNT; + gUnknown_030012F4 = REG_RCNT; +} + +void sub_81D41F4(void) +{ + REG_IME = gUnknown_030012EC; + REG_IE = gUnknown_030012EE; + REG_TM3CNT_H = gUnknown_030012F0; + REG_SIOCNT = gUnknown_030012F2; + REG_RCNT = gUnknown_030012F4; +} + +void sub_81D4238(void) +{ + CpuFill32(0, &gUnknown_030012C8, sizeof(struct Unknown030012C8)); +} + +u8 sub_81D4258(void) +{ + u8 eventObjectId; + TryGetEventObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &eventObjectId); + return eventObjectId; +} diff --git a/src/event_object_movement.c b/src/event_object_movement.c index ba62db10da..8ebdd883f5 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -3,6 +3,7 @@ #include "battle_pyramid.h" #include "berry.h" #include "decoration.h" +#include "ereader.h" #include "event_data.h" #include "event_object_movement.h" #include "event_scripts.h" @@ -15,7 +16,6 @@ #include "metatile_behavior.h" #include "overworld.h" #include "palette.h" -#include "pokenav.h" #include "random.h" #include "sprite.h" #include "task.h" diff --git a/src/trainer_hill.c b/src/trainer_hill.c index 43b29e26e3..7bb1b997a2 100644 --- a/src/trainer_hill.c +++ b/src/trainer_hill.c @@ -3,6 +3,7 @@ #include "battle.h" #include "battle_tower.h" #include "battle_setup.h" +#include "ereader.h" #include "event_data.h" #include "event_scripts.h" #include "fieldmap.h" @@ -32,8 +33,6 @@ #include "constants/easy_chat.h" #include "constants/trainer_hill.h" -extern bool32 sub_81D3B34(void); - #define HILL_TAG_NORMAL 0 #define HILL_TAG_VARIETY 1 #define HILL_TAG_UNIQUE 2