From 450aa1c2a6720951d94b7319cf5c86aba28301d9 Mon Sep 17 00:00:00 2001 From: Retnuhytnuob <65794339+Retnuhytnuob@users.noreply.github.com> Date: Sun, 8 Feb 2026 14:17:19 -0600 Subject: [PATCH] Gbagfx OAM chunk handling, with override support (#143) * Add tooling support for graphics with 2^n chunking * update to OAM handling, from 2n sizing * Update assembly to use the hex, rather than music name, for ease of uese in decompme/m2C * additional tools/examples * graphics build, not currently compare matching. * remove sprites.png * working conversion in make file! * stage/main folder done * stage/misc folder done * stage/ruby complete * stage/sapphire updated * base for remaining kinda-graphics; file name casing * more name casing * extract catch sprites * remove special 6x4 handling from oam slicer; switched hed the 2 images to using non-oam 2x2 chunks. (net same, but allows the 6x4 to process normally when things like the whalmer are found) * Palette info for the catch sprites, thanks to cyphgirl * obliterate the old hatch-sprite code * refactor segments to not have the base file name dependancy * catch mon 1-9, horizontal layout * rename the f param in the json for graphics * casing cleanup? * . * possible fix for the out of date segment piece * Replace graphic_cnvt_attrs.txt strategy with individually-generated makefile rules * Don't specify tileCount --------- Co-authored-by: Marcus Huderle --- .gitattributes | 1 + .gitignore | 1 + Makefile | 3 +- data/graphics/mon_catch_sprites.inc | 85 ++ data/graphics/mon_catch_sprites_pals.inc | 133 +++ data/rom_1.s | 63 +- .../catch_mon_01_treecko.png | Bin 0 -> 1031 bytes .../catch_mon_02_torchic.png | Bin 0 -> 687 bytes .../mon_catch_sprites/catch_mon_03_mudkip.png | Bin 0 -> 851 bytes .../catch_mon_04_poochyena.png | Bin 0 -> 1039 bytes .../catch_mon_05_zigzagoon.png | Bin 0 -> 995 bytes .../catch_mon_06_silcoon.png | Bin 0 -> 942 bytes .../catch_mon_07_cascoon.png | Bin 0 -> 1104 bytes .../mon_catch_sprites/catch_mon_08_lombre.png | Bin 0 -> 1081 bytes .../catch_mon_09_nuzleaf.png | Bin 0 -> 959 bytes .../mon_catch_sprites/catch_mon_10_tailow.png | Bin 0 -> 815 bytes .../catch_mon_11_wingull.png | Bin 0 -> 971 bytes .../catch_mon_12_slakoth.png | Bin 0 -> 1010 bytes .../mon_catch_sprites/catch_mon_13_abra.png | Bin 0 -> 844 bytes .../catch_mon_14_nincada.png | Bin 0 -> 906 bytes .../catch_mon_15_loudred.png | Bin 0 -> 1307 bytes .../catch_mon_16_makuhita.png | Bin 0 -> 1106 bytes .../catch_mon_17_goldeen.png | Bin 0 -> 1567 bytes .../catch_mon_18_magikarp.png | Bin 0 -> 1105 bytes .../mon_catch_sprites/catch_mon_19_marill.png | Bin 0 -> 1003 bytes .../catch_mon_20_geodude.png | Bin 0 -> 908 bytes .../catch_mon_21_nosepass.png | Bin 0 -> 771 bytes .../catch_mon_22_tentacool.png | Bin 0 -> 1276 bytes .../catch_mon_23_sableye.png | Bin 0 -> 1081 bytes .../mon_catch_sprites/catch_mon_24_mawile.png | Bin 0 -> 1309 bytes .../mon_catch_sprites/catch_mon_25_machop.png | Bin 0 -> 889 bytes .../catch_mon_26_meditite.png | Bin 0 -> 1023 bytes .../catch_mon_27_electrike.png | Bin 0 -> 1025 bytes .../catch_mon_28_magnemite.png | Bin 0 -> 929 bytes .../catch_mon_29_voltorb.png | Bin 0 -> 681 bytes .../catch_mon_30_volbeat.png | Bin 0 -> 1117 bytes .../catch_mon_31_illumise.png | Bin 0 -> 1114 bytes .../mon_catch_sprites/catch_mon_32_doduo.png | Bin 0 -> 1090 bytes .../catch_mon_33_roselia.png | Bin 0 -> 1134 bytes .../catch_mon_34_carvanha.png | Bin 0 -> 1168 bytes .../catch_mon_35_wailmer.png | Bin 0 -> 854 bytes .../mon_catch_sprites/catch_mon_36_numel.png | Bin 0 -> 993 bytes .../mon_catch_sprites/catch_mon_37_slugma.png | Bin 0 -> 1146 bytes .../catch_mon_38_torkoal.png | Bin 0 -> 979 bytes .../mon_catch_sprites/catch_mon_39_grimer.png | Bin 0 -> 1296 bytes .../catch_mon_40_koffing.png | Bin 0 -> 1330 bytes .../catch_mon_41_skarmory.png | Bin 0 -> 1281 bytes .../catch_mon_42_vibrava.png | Bin 0 -> 1115 bytes .../mon_catch_sprites/catch_mon_43_cacnea.png | Bin 0 -> 1025 bytes .../mon_catch_sprites/catch_mon_44_swablu.png | Bin 0 -> 1036 bytes .../catch_mon_45_zangoose.png | Bin 0 -> 1017 bytes .../catch_mon_46_seviper.png | Bin 0 -> 1169 bytes .../catch_mon_47_lunatone.png | Bin 0 -> 1179 bytes .../catch_mon_48_solrock.png | Bin 0 -> 1345 bytes .../catch_mon_49_barboach.png | Bin 0 -> 1130 bytes .../catch_mon_50_corphish.png | Bin 0 -> 1231 bytes .../mon_catch_sprites/catch_mon_51_baltoy.png | Bin 0 -> 734 bytes .../mon_catch_sprites/catch_mon_52_lileep.png | Bin 0 -> 971 bytes .../catch_mon_53_anorith.png | Bin 0 -> 916 bytes .../catch_mon_54_jigglypuff.png | Bin 0 -> 768 bytes .../mon_catch_sprites/catch_mon_55_febas.png | Bin 0 -> 1095 bytes .../catch_mon_56_castform.png | Bin 0 -> 609 bytes .../mon_catch_sprites/catch_mon_57_staryu.png | Bin 0 -> 900 bytes .../catch_mon_58_kecleon.png | Bin 0 -> 757 bytes .../catch_mon_59_duskull.png | Bin 0 -> 919 bytes .../catch_mon_60_tropius.png | Bin 0 -> 1335 bytes .../mon_catch_sprites/catch_mon_61_absol.png | Bin 0 -> 951 bytes .../mon_catch_sprites/catch_mon_62_vulpix.png | Bin 0 -> 955 bytes .../catch_mon_63_pikachu.png | Bin 0 -> 967 bytes .../catch_mon_64_psyduck.png | Bin 0 -> 943 bytes .../catch_mon_65_wobbuffet.png | Bin 0 -> 922 bytes .../catch_mon_66_girafarig.png | Bin 0 -> 980 bytes .../mon_catch_sprites/catch_mon_67_pinsir.png | Bin 0 -> 1167 bytes .../catch_mon_68_heracross.png | Bin 0 -> 947 bytes .../catch_mon_69_rhyhorn.png | Bin 0 -> 1026 bytes .../catch_mon_70_clamperl.png | Bin 0 -> 1062 bytes .../catch_mon_71_relicanth.png | Bin 0 -> 1317 bytes .../catch_mon_72_luvdisc.png | Bin 0 -> 555 bytes .../catch_mon_73_shelgon.png | Bin 0 -> 860 bytes .../mon_catch_sprites/catch_mon_74_beldum.png | Bin 0 -> 823 bytes .../catch_mon_75_regirock.png | Bin 0 -> 1334 bytes .../mon_catch_sprites/catch_mon_76_regice.png | Bin 0 -> 1202 bytes .../catch_mon_77_registeel.png | Bin 0 -> 1072 bytes .../mon_catch_sprites/catch_mon_78_latias.png | Bin 0 -> 1323 bytes .../mon_catch_sprites/catch_mon_79_latios.png | Bin 0 -> 1357 bytes .../catch_mon_80_jirachi.png | Bin 0 -> 1186 bytes .../catch_mon_81_chikorita.png | Bin 0 -> 978 bytes .../catch_mon_82_cyndaquil.png | Bin 0 -> 921 bytes .../catch_mon_83_totodile.png | Bin 0 -> 830 bytes .../catch_mon_84_aerodactyl.png | Bin 0 -> 1263 bytes .../mon_catch_sprites/catch_sprites_gfx.json | 349 +++++++ graphics/mon_hatch_sprites/aron_hatch.png | Bin 1247 -> 1392 bytes graphics/mon_hatch_sprites/azurill_hatch.png | Bin 1240 -> 1370 bytes graphics/mon_hatch_sprites/bagon_hatch.png | Bin 1374 -> 1514 bytes graphics/mon_hatch_sprites/chimecho_hatch.png | Bin 1322 -> 1492 bytes graphics/mon_hatch_sprites/chinchou_hatch.png | Bin 1660 -> 1714 bytes graphics/mon_hatch_sprites/corsola_hatch.png | Bin 2080 -> 2007 bytes graphics/mon_hatch_sprites/gulpin_hatch.png | Bin 1471 -> 1453 bytes graphics/mon_hatch_sprites/hatch.json | 144 +++ graphics/mon_hatch_sprites/horsea_hatch.png | Bin 1733 -> 1697 bytes .../mon_hatch_sprites/igglybuff_hatch.png | Bin 871 -> 1065 bytes graphics/mon_hatch_sprites/lotad_hatch.png | Bin 1222 -> 1274 bytes graphics/mon_hatch_sprites/minun_hatch.png | Bin 1562 -> 1633 bytes graphics/mon_hatch_sprites/natu_hatch.png | Bin 1401 -> 1623 bytes graphics/mon_hatch_sprites/oddish_hatch.png | Bin 1695 -> 1799 bytes graphics/mon_hatch_sprites/phanpy_hatch.png | Bin 1129 -> 1329 bytes graphics/mon_hatch_sprites/pichu_2_hatch.png | Bin 1175 -> 1309 bytes graphics/mon_hatch_sprites/pichu_hatch.png | Bin 1463 -> 1598 bytes graphics/mon_hatch_sprites/plusle_hatch.png | Bin 1657 -> 1724 bytes graphics/mon_hatch_sprites/ralts_hatch.png | Bin 1254 -> 1423 bytes .../mon_hatch_sprites/sandshrew_hatch.png | Bin 1582 -> 1628 bytes graphics/mon_hatch_sprites/seedot_hatch.png | Bin 1028 -> 1260 bytes .../mon_hatch_sprites/shroomish_hatch.png | Bin 1317 -> 1391 bytes graphics/mon_hatch_sprites/shuppet_hatch.png | Bin 745 -> 969 bytes graphics/mon_hatch_sprites/skitty_hatch.png | Bin 1720 -> 1778 bytes graphics/mon_hatch_sprites/snorunt_hatch.png | Bin 1231 -> 1369 bytes graphics/mon_hatch_sprites/spheal_hatch.png | Bin 1724 -> 1787 bytes graphics/mon_hatch_sprites/spinda_hatch.png | Bin 1313 -> 1479 bytes graphics/mon_hatch_sprites/spoink_hatch.png | Bin 1000 -> 1215 bytes graphics/mon_hatch_sprites/surskit_hatch.png | Bin 1153 -> 1264 bytes graphics/mon_hatch_sprites/trapinch_hatch.png | Bin 993 -> 1146 bytes graphics/mon_hatch_sprites/whismur_hatch.png | Bin 1518 -> 1577 bytes graphics/mon_hatch_sprites/wurmple_hatch.png | Bin 1344 -> 1499 bytes graphics/mon_hatch_sprites/wynaut_hatch.png | Bin 1363 -> 1483 bytes graphics/mon_hatch_sprites/zubat_hatch.png | Bin 1885 -> 1937 bytes graphics/mon_portraits/mon_portraits_gfx.json | 852 ++++++++++++++++++ graphics/pokedex/pokedex_gfx.json | 183 ++++ graphics/pokedex/sprites.png | Bin 5672 -> 0 bytes graphics/pokedex/sprites_azuril.png | Bin 0 -> 1360 bytes graphics/pokedex/sprites_boxes.png | Bin 0 -> 128 bytes .../pokedex/sprites_delete_confirmation.png | Bin 0 -> 389 bytes .../pokedex/sprites_dex_entry_continue.png | Bin 0 -> 104 bytes graphics/pokedex/sprites_hand.png | Bin 0 -> 130 bytes graphics/pokedex/sprites_link_activity.png | Bin 0 -> 117 bytes graphics/pokedex/sprites_link_cartridge.png | Bin 0 -> 182 bytes .../pokedex/sprites_link_disconnected.png | Bin 0 -> 134 bytes graphics/pokedex/sprites_link_gba.png | Bin 0 -> 242 bytes graphics/pokedex/sprites_link_gbasp.png | Bin 0 -> 220 bytes graphics/pokedex/sprites_link_wire.png | Bin 0 -> 172 bytes graphics/pokedex/sprites_medal_gem.png | Bin 0 -> 177 bytes graphics/pokedex/sprites_medal_mid.png | Bin 0 -> 76 bytes graphics/pokedex/sprites_medal_top.png | Bin 0 -> 236 bytes graphics/pokedex/sprites_not_seen_pic.png | Bin 0 -> 167 bytes .../pokedex/sprites_press_start_trans.png | Bin 0 -> 204 bytes graphics/pokedex/sprites_select_full.png | Bin 0 -> 154 bytes graphics/pokedex/sprites_select_left.png | Bin 0 -> 327 bytes graphics/pokedex/sprites_select_mid.png | Bin 0 -> 188 bytes graphics/pokedex/sprites_select_right.png | Bin 0 -> 78 bytes graphics/pokedex/sprites_spaceA.png | Bin 0 -> 78 bytes graphics/pokedex/sprites_spaceB.png | Bin 0 -> 72 bytes graphics/pokedex/sprites_spaceC.png | Bin 0 -> 72 bytes graphics/pokedex/sprites_spaceD.png | Bin 0 -> 78 bytes graphics/pokedex/sprites_spaceE.png | Bin 0 -> 72 bytes graphics/pokedex/sprites_torchic.png | Bin 0 -> 442 bytes .../sprites_transmission_completed.png | Bin 0 -> 271 bytes .../pokedex/sprites_transmission_error.png | Bin 0 -> 253 bytes .../pokedex/sprites_transmission_start.png | Bin 0 -> 740 bytes graphics/pokedex/sprites_transmitting.png | Bin 0 -> 233 bytes graphics/stage/gfx.json | 74 ++ graphics/stage/gunk_084ED6CC.png | Bin 0 -> 312 bytes graphics/stage/gunk_084FF90C.png | Bin 0 -> 3002 bytes graphics/stage/gunk_0851514C_a.png | Bin 0 -> 2265 bytes graphics/stage/gunk_0851514C_b.png | Bin 0 -> 188 bytes graphics/stage/gunk_0851976C_a.png | Bin 0 -> 2463 bytes graphics/stage/gunk_0851976C_b.png | Bin 0 -> 81 bytes graphics/stage/gunk_0851DB8C_a.png | Bin 0 -> 3599 bytes graphics/stage/gunk_0851DB8C_b.png | Bin 0 -> 72 bytes graphics/stage/gunk_0851DB8C_c.png | Bin 0 -> 71 bytes graphics/stage/main/ball_save_banner.png | Bin 0 -> 553 bytes graphics/stage/main/ball_save_latias.png | Bin 0 -> 535 bytes graphics/stage/main/ball_save_latias_arm.png | Bin 0 -> 154 bytes graphics/stage/main/end_of_ball_banner.png | Bin 0 -> 381 bytes graphics/stage/main/end_of_ball_left.png | Bin 0 -> 276 bytes graphics/stage/main/end_of_ball_right.png | Bin 0 -> 272 bytes graphics/stage/main/end_of_ball_space.png | Bin 0 -> 95 bytes .../stage/main/end_of_ball_top_corner.png | Bin 0 -> 94 bytes graphics/stage/main/evo_banner.png | Bin 0 -> 3370 bytes graphics/stage/main/game_over_text.png | Bin 0 -> 230 bytes graphics/stage/main/gunk_084F61EC.png | Bin 0 -> 474 bytes graphics/stage/main/jirachi_banner.png | Bin 0 -> 3387 bytes graphics/stage/main/latios.png | Bin 0 -> 655 bytes graphics/stage/main/latios_arm.png | Bin 0 -> 155 bytes graphics/stage/main/main_stage_gfx.json | 137 +++ graphics/stage/main/pause_menu_text.png | Bin 0 -> 165 bytes graphics/stage/main/pika_spinner.png | Bin 0 -> 496 bytes graphics/stage/main/travel_arrows.png | Bin 0 -> 272 bytes graphics/stage/main/travel_banner.png | Bin 0 -> 974 bytes graphics/stage/main/travel_bottom_border.png | Bin 0 -> 75 bytes graphics/stage/main/travel_pole.png | Bin 0 -> 441 bytes graphics/stage/main/travel_pole_base.png | Bin 0 -> 80 bytes graphics/stage/misc/gUnk_084FA20C.png | Bin 0 -> 186 bytes graphics/stage/misc/gUnk_0850558C.png | Bin 0 -> 544 bytes graphics/stage/misc/gunk_084FA20C.png | Bin 0 -> 186 bytes graphics/stage/misc/gunk_0850558C.png | Bin 0 -> 544 bytes graphics/stage/misc/misc_gfx.json | 21 + graphics/stage/ruby/hatch_cave.png | Bin 0 -> 2118 bytes graphics/stage/ruby/ramp_prize.png | Bin 0 -> 398 bytes graphics/stage/ruby/ruby_gfx.json | 41 + graphics/stage/ruby/sharpedo.png | Bin 0 -> 762 bytes graphics/stage/ruby/shop.png | Bin 0 -> 2792 bytes graphics/stage/ruby/shop_door.png | Bin 0 -> 470 bytes graphics/stage/sapphire/sapphire_gfx.json | 36 + graphics/stage/sapphire/seedot.png | Bin 0 -> 656 bytes graphics/stage/sapphire/shop_shock_wall.png | Bin 0 -> 423 bytes graphics/stage/sapphire/zigzagoon.png | Bin 0 -> 2465 bytes graphics/stage/sapphire/zigzagoon_fx.png | Bin 0 -> 663 bytes graphics_rules.mk | 16 +- tools/gbagfx/Makefile | 2 +- tools/gbagfx/gfx.c | 62 +- tools/gbagfx/gfx.h | 12 +- tools/gbagfx/main.c | 40 +- tools/gbagfx/oam_helper_scripts/convert.py | 163 ++++ .../oam_helper_scripts/init_gfx_json.py | 128 +++ tools/gbagfx/oam_helper_scripts/prune.py | 87 ++ tools/gbagfx/oam_helper_scripts/readme.txt | 26 + tools/gbagfx/oam_helper_scripts/split_gfx.py | 68 ++ tools/gbagfx/oam_slices/oam_slicer.c | 155 ++++ tools/gbagfx/oam_slices/oam_slicer.h | 52 ++ tools/gbagfx/options.h | 4 +- tools/scripts/generate_graphics_rules.sh | 118 +++ 220 files changed, 2959 insertions(+), 97 deletions(-) create mode 100644 data/graphics/mon_catch_sprites.inc create mode 100644 data/graphics/mon_catch_sprites_pals.inc create mode 100644 graphics/mon_catch_sprites/catch_mon_01_treecko.png create mode 100644 graphics/mon_catch_sprites/catch_mon_02_torchic.png create mode 100644 graphics/mon_catch_sprites/catch_mon_03_mudkip.png create mode 100644 graphics/mon_catch_sprites/catch_mon_04_poochyena.png create mode 100644 graphics/mon_catch_sprites/catch_mon_05_zigzagoon.png create mode 100644 graphics/mon_catch_sprites/catch_mon_06_silcoon.png create mode 100644 graphics/mon_catch_sprites/catch_mon_07_cascoon.png create mode 100644 graphics/mon_catch_sprites/catch_mon_08_lombre.png create mode 100644 graphics/mon_catch_sprites/catch_mon_09_nuzleaf.png create mode 100644 graphics/mon_catch_sprites/catch_mon_10_tailow.png create mode 100644 graphics/mon_catch_sprites/catch_mon_11_wingull.png create mode 100644 graphics/mon_catch_sprites/catch_mon_12_slakoth.png create mode 100644 graphics/mon_catch_sprites/catch_mon_13_abra.png create mode 100644 graphics/mon_catch_sprites/catch_mon_14_nincada.png create mode 100644 graphics/mon_catch_sprites/catch_mon_15_loudred.png create mode 100644 graphics/mon_catch_sprites/catch_mon_16_makuhita.png create mode 100644 graphics/mon_catch_sprites/catch_mon_17_goldeen.png create mode 100644 graphics/mon_catch_sprites/catch_mon_18_magikarp.png create mode 100644 graphics/mon_catch_sprites/catch_mon_19_marill.png create mode 100644 graphics/mon_catch_sprites/catch_mon_20_geodude.png create mode 100644 graphics/mon_catch_sprites/catch_mon_21_nosepass.png create mode 100644 graphics/mon_catch_sprites/catch_mon_22_tentacool.png create mode 100644 graphics/mon_catch_sprites/catch_mon_23_sableye.png create mode 100644 graphics/mon_catch_sprites/catch_mon_24_mawile.png create mode 100644 graphics/mon_catch_sprites/catch_mon_25_machop.png create mode 100644 graphics/mon_catch_sprites/catch_mon_26_meditite.png create mode 100644 graphics/mon_catch_sprites/catch_mon_27_electrike.png create mode 100644 graphics/mon_catch_sprites/catch_mon_28_magnemite.png create mode 100644 graphics/mon_catch_sprites/catch_mon_29_voltorb.png create mode 100644 graphics/mon_catch_sprites/catch_mon_30_volbeat.png create mode 100644 graphics/mon_catch_sprites/catch_mon_31_illumise.png create mode 100644 graphics/mon_catch_sprites/catch_mon_32_doduo.png create mode 100644 graphics/mon_catch_sprites/catch_mon_33_roselia.png create mode 100644 graphics/mon_catch_sprites/catch_mon_34_carvanha.png create mode 100644 graphics/mon_catch_sprites/catch_mon_35_wailmer.png create mode 100644 graphics/mon_catch_sprites/catch_mon_36_numel.png create mode 100644 graphics/mon_catch_sprites/catch_mon_37_slugma.png create mode 100644 graphics/mon_catch_sprites/catch_mon_38_torkoal.png create mode 100644 graphics/mon_catch_sprites/catch_mon_39_grimer.png create mode 100644 graphics/mon_catch_sprites/catch_mon_40_koffing.png create mode 100644 graphics/mon_catch_sprites/catch_mon_41_skarmory.png create mode 100644 graphics/mon_catch_sprites/catch_mon_42_vibrava.png create mode 100644 graphics/mon_catch_sprites/catch_mon_43_cacnea.png create mode 100644 graphics/mon_catch_sprites/catch_mon_44_swablu.png create mode 100644 graphics/mon_catch_sprites/catch_mon_45_zangoose.png create mode 100644 graphics/mon_catch_sprites/catch_mon_46_seviper.png create mode 100644 graphics/mon_catch_sprites/catch_mon_47_lunatone.png create mode 100644 graphics/mon_catch_sprites/catch_mon_48_solrock.png create mode 100644 graphics/mon_catch_sprites/catch_mon_49_barboach.png create mode 100644 graphics/mon_catch_sprites/catch_mon_50_corphish.png create mode 100644 graphics/mon_catch_sprites/catch_mon_51_baltoy.png create mode 100644 graphics/mon_catch_sprites/catch_mon_52_lileep.png create mode 100644 graphics/mon_catch_sprites/catch_mon_53_anorith.png create mode 100644 graphics/mon_catch_sprites/catch_mon_54_jigglypuff.png create mode 100644 graphics/mon_catch_sprites/catch_mon_55_febas.png create mode 100644 graphics/mon_catch_sprites/catch_mon_56_castform.png create mode 100644 graphics/mon_catch_sprites/catch_mon_57_staryu.png create mode 100644 graphics/mon_catch_sprites/catch_mon_58_kecleon.png create mode 100644 graphics/mon_catch_sprites/catch_mon_59_duskull.png create mode 100644 graphics/mon_catch_sprites/catch_mon_60_tropius.png create mode 100644 graphics/mon_catch_sprites/catch_mon_61_absol.png create mode 100644 graphics/mon_catch_sprites/catch_mon_62_vulpix.png create mode 100644 graphics/mon_catch_sprites/catch_mon_63_pikachu.png create mode 100644 graphics/mon_catch_sprites/catch_mon_64_psyduck.png create mode 100644 graphics/mon_catch_sprites/catch_mon_65_wobbuffet.png create mode 100644 graphics/mon_catch_sprites/catch_mon_66_girafarig.png create mode 100644 graphics/mon_catch_sprites/catch_mon_67_pinsir.png create mode 100644 graphics/mon_catch_sprites/catch_mon_68_heracross.png create mode 100644 graphics/mon_catch_sprites/catch_mon_69_rhyhorn.png create mode 100644 graphics/mon_catch_sprites/catch_mon_70_clamperl.png create mode 100644 graphics/mon_catch_sprites/catch_mon_71_relicanth.png create mode 100644 graphics/mon_catch_sprites/catch_mon_72_luvdisc.png create mode 100644 graphics/mon_catch_sprites/catch_mon_73_shelgon.png create mode 100644 graphics/mon_catch_sprites/catch_mon_74_beldum.png create mode 100644 graphics/mon_catch_sprites/catch_mon_75_regirock.png create mode 100644 graphics/mon_catch_sprites/catch_mon_76_regice.png create mode 100644 graphics/mon_catch_sprites/catch_mon_77_registeel.png create mode 100644 graphics/mon_catch_sprites/catch_mon_78_latias.png create mode 100644 graphics/mon_catch_sprites/catch_mon_79_latios.png create mode 100644 graphics/mon_catch_sprites/catch_mon_80_jirachi.png create mode 100644 graphics/mon_catch_sprites/catch_mon_81_chikorita.png create mode 100644 graphics/mon_catch_sprites/catch_mon_82_cyndaquil.png create mode 100644 graphics/mon_catch_sprites/catch_mon_83_totodile.png create mode 100644 graphics/mon_catch_sprites/catch_mon_84_aerodactyl.png create mode 100644 graphics/mon_catch_sprites/catch_sprites_gfx.json create mode 100644 graphics/mon_hatch_sprites/hatch.json create mode 100644 graphics/mon_portraits/mon_portraits_gfx.json create mode 100644 graphics/pokedex/pokedex_gfx.json delete mode 100644 graphics/pokedex/sprites.png create mode 100644 graphics/pokedex/sprites_azuril.png create mode 100644 graphics/pokedex/sprites_boxes.png create mode 100644 graphics/pokedex/sprites_delete_confirmation.png create mode 100644 graphics/pokedex/sprites_dex_entry_continue.png create mode 100644 graphics/pokedex/sprites_hand.png create mode 100644 graphics/pokedex/sprites_link_activity.png create mode 100644 graphics/pokedex/sprites_link_cartridge.png create mode 100644 graphics/pokedex/sprites_link_disconnected.png create mode 100644 graphics/pokedex/sprites_link_gba.png create mode 100644 graphics/pokedex/sprites_link_gbasp.png create mode 100644 graphics/pokedex/sprites_link_wire.png create mode 100644 graphics/pokedex/sprites_medal_gem.png create mode 100644 graphics/pokedex/sprites_medal_mid.png create mode 100644 graphics/pokedex/sprites_medal_top.png create mode 100644 graphics/pokedex/sprites_not_seen_pic.png create mode 100644 graphics/pokedex/sprites_press_start_trans.png create mode 100644 graphics/pokedex/sprites_select_full.png create mode 100644 graphics/pokedex/sprites_select_left.png create mode 100644 graphics/pokedex/sprites_select_mid.png create mode 100644 graphics/pokedex/sprites_select_right.png create mode 100644 graphics/pokedex/sprites_spaceA.png create mode 100644 graphics/pokedex/sprites_spaceB.png create mode 100644 graphics/pokedex/sprites_spaceC.png create mode 100644 graphics/pokedex/sprites_spaceD.png create mode 100644 graphics/pokedex/sprites_spaceE.png create mode 100644 graphics/pokedex/sprites_torchic.png create mode 100644 graphics/pokedex/sprites_transmission_completed.png create mode 100644 graphics/pokedex/sprites_transmission_error.png create mode 100644 graphics/pokedex/sprites_transmission_start.png create mode 100644 graphics/pokedex/sprites_transmitting.png create mode 100644 graphics/stage/gfx.json create mode 100644 graphics/stage/gunk_084ED6CC.png create mode 100644 graphics/stage/gunk_084FF90C.png create mode 100644 graphics/stage/gunk_0851514C_a.png create mode 100644 graphics/stage/gunk_0851514C_b.png create mode 100644 graphics/stage/gunk_0851976C_a.png create mode 100644 graphics/stage/gunk_0851976C_b.png create mode 100644 graphics/stage/gunk_0851DB8C_a.png create mode 100644 graphics/stage/gunk_0851DB8C_b.png create mode 100644 graphics/stage/gunk_0851DB8C_c.png create mode 100644 graphics/stage/main/ball_save_banner.png create mode 100644 graphics/stage/main/ball_save_latias.png create mode 100644 graphics/stage/main/ball_save_latias_arm.png create mode 100644 graphics/stage/main/end_of_ball_banner.png create mode 100644 graphics/stage/main/end_of_ball_left.png create mode 100644 graphics/stage/main/end_of_ball_right.png create mode 100644 graphics/stage/main/end_of_ball_space.png create mode 100644 graphics/stage/main/end_of_ball_top_corner.png create mode 100644 graphics/stage/main/evo_banner.png create mode 100644 graphics/stage/main/game_over_text.png create mode 100644 graphics/stage/main/gunk_084F61EC.png create mode 100644 graphics/stage/main/jirachi_banner.png create mode 100644 graphics/stage/main/latios.png create mode 100644 graphics/stage/main/latios_arm.png create mode 100644 graphics/stage/main/main_stage_gfx.json create mode 100644 graphics/stage/main/pause_menu_text.png create mode 100644 graphics/stage/main/pika_spinner.png create mode 100644 graphics/stage/main/travel_arrows.png create mode 100644 graphics/stage/main/travel_banner.png create mode 100644 graphics/stage/main/travel_bottom_border.png create mode 100644 graphics/stage/main/travel_pole.png create mode 100644 graphics/stage/main/travel_pole_base.png create mode 100644 graphics/stage/misc/gUnk_084FA20C.png create mode 100644 graphics/stage/misc/gUnk_0850558C.png create mode 100644 graphics/stage/misc/gunk_084FA20C.png create mode 100644 graphics/stage/misc/gunk_0850558C.png create mode 100644 graphics/stage/misc/misc_gfx.json create mode 100644 graphics/stage/ruby/hatch_cave.png create mode 100644 graphics/stage/ruby/ramp_prize.png create mode 100644 graphics/stage/ruby/ruby_gfx.json create mode 100644 graphics/stage/ruby/sharpedo.png create mode 100644 graphics/stage/ruby/shop.png create mode 100644 graphics/stage/ruby/shop_door.png create mode 100644 graphics/stage/sapphire/sapphire_gfx.json create mode 100644 graphics/stage/sapphire/seedot.png create mode 100644 graphics/stage/sapphire/shop_shock_wall.png create mode 100644 graphics/stage/sapphire/zigzagoon.png create mode 100644 graphics/stage/sapphire/zigzagoon_fx.png create mode 100644 tools/gbagfx/oam_helper_scripts/convert.py create mode 100644 tools/gbagfx/oam_helper_scripts/init_gfx_json.py create mode 100644 tools/gbagfx/oam_helper_scripts/prune.py create mode 100644 tools/gbagfx/oam_helper_scripts/readme.txt create mode 100644 tools/gbagfx/oam_helper_scripts/split_gfx.py create mode 100644 tools/gbagfx/oam_slices/oam_slicer.c create mode 100644 tools/gbagfx/oam_slices/oam_slicer.h create mode 100755 tools/scripts/generate_graphics_rules.sh diff --git a/.gitattributes b/.gitattributes index 5607075..c200040 100755 --- a/.gitattributes +++ b/.gitattributes @@ -9,6 +9,7 @@ Makefile text eol=lf *.inc text eol=lf *.sha1 text eol=lf *.sed text eol=lf +*.sh text eol=lf *.png binary *.bin binary diff --git a/.gitignore b/.gitignore index 908206f..f912c2f 100755 --- a/.gitignore +++ b/.gitignore @@ -38,6 +38,7 @@ baserom.* build-cmake-*/ compile_commands.json CMakeLists.txt +graphics_rules_generated.mk # clangd .cache/ diff --git a/Makefile b/Makefile index 3aca21c..af1a229 100644 --- a/Makefile +++ b/Makefile @@ -72,7 +72,7 @@ FIX := tools/gbafix/gbafix$(EXE) SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c TOOLS_DIR = tools -TOOLDIRS = $(filter-out $(TOOLS_DIR)/agbcc $(TOOLS_DIR)/m2ctx.py,$(wildcard $(TOOLS_DIR)/*)) +TOOLDIRS = $(filter-out $(TOOLS_DIR)/agbcc $(TOOLS_DIR)/m2ctx.py $(TOOLS_DIR)/scripts,$(wildcard $(TOOLS_DIR)/*)) infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line)))) @@ -125,6 +125,7 @@ compare: rom clean: tidy clean-tools find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} + + rm -f graphics_rules_generated.mk find sound -iname '*.bin' -exec rm {} + tidy: diff --git a/data/graphics/mon_catch_sprites.inc b/data/graphics/mon_catch_sprites.inc new file mode 100644 index 0000000..6c5136e --- /dev/null +++ b/data/graphics/mon_catch_sprites.inc @@ -0,0 +1,85 @@ +gMonCatchSprite_Gfx:: @ 0x08400C8C + .incbin "graphics/mon_catch_sprites/catch_mon_01_treecko.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_02_torchic.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_03_mudkip.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_04_poochyena.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_05_zigzagoon.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_06_silcoon.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_07_cascoon.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_08_lombre.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_09_nuzleaf.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_10_tailow.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_11_wingull.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_12_slakoth.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_13_abra.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_14_nincada.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_15_loudred.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_16_makuhita.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_17_goldeen.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_18_magikarp.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_19_marill.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_20_geodude.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_21_nosepass.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_22_tentacool.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_23_sableye.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_24_mawile.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_25_machop.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_26_meditite.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_27_electrike.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_28_magnemite.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_29_voltorb.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_30_volbeat.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_31_illumise.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_32_doduo.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_33_roselia.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_34_carvanha.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_35_wailmer.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_36_numel.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_37_slugma.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_38_torkoal.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_39_grimer.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_40_koffing.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_41_skarmory.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_42_vibrava.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_43_cacnea.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_44_swablu.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_45_zangoose.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_46_seviper.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_47_lunatone.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_48_solrock.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_49_barboach.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_50_corphish.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_51_baltoy.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_52_lileep.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_53_anorith.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_54_jigglypuff.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_55_febas.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_56_castform.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_57_staryu.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_58_kecleon.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_59_duskull.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_60_tropius.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_61_absol.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_62_vulpix.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_63_pikachu.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_64_psyduck.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_65_wobbuffet.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_66_girafarig.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_67_pinsir.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_68_heracross.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_69_rhyhorn.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_70_clamperl.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_71_relicanth.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_72_luvdisc.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_73_shelgon.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_74_beldum.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_75_regirock.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_76_regice.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_77_registeel.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_78_latias.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_79_latios.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_80_jirachi.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_81_chikorita.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_82_cyndaquil.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_83_totodile.4bpp" + .incbin "graphics/mon_catch_sprites/catch_mon_84_aerodactyl.4bpp" diff --git a/data/graphics/mon_catch_sprites_pals.inc b/data/graphics/mon_catch_sprites_pals.inc new file mode 100644 index 0000000..85464b7 --- /dev/null +++ b/data/graphics/mon_catch_sprites_pals.inc @@ -0,0 +1,133 @@ +gMonCatchSprite_Pal:: @ 0x081AEBE4 + .incbin "graphics/mon_catch_sprites/catch_mon_01_treecko.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_02_torchic.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_03_mudkip.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_04_poochyena.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_05_zigzagoon.gbapal" + + .incbin "baserom.gba", 0x1AEC84, 0x160 + + .incbin "graphics/mon_catch_sprites/catch_mon_06_silcoon.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_07_cascoon.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_08_lombre.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_09_nuzleaf.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_10_tailow.gbapal" + + .incbin "baserom.gba", 0x1AEE84, 0x160 + + .incbin "graphics/mon_catch_sprites/catch_mon_11_wingull.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_12_slakoth.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_13_abra.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_14_nincada.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_15_loudred.gbapal" + + .incbin "baserom.gba", 0x1AF084, 0x160 + + .incbin "graphics/mon_catch_sprites/catch_mon_16_makuhita.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_17_goldeen.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_18_magikarp.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_19_marill.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_20_geodude.gbapal" + + .incbin "baserom.gba", 0x1AF284, 0x160 + + .incbin "graphics/mon_catch_sprites/catch_mon_21_nosepass.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_22_tentacool.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_23_sableye.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_24_mawile.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_25_machop.gbapal" + + .incbin "baserom.gba", 0x1AF484, 0x160 + + .incbin "graphics/mon_catch_sprites/catch_mon_26_meditite.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_27_electrike.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_28_magnemite.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_29_voltorb.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_30_volbeat.gbapal" + + .incbin "baserom.gba", 0x1AF684, 0x160 + + .incbin "graphics/mon_catch_sprites/catch_mon_31_illumise.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_32_doduo.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_33_roselia.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_34_carvanha.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_35_wailmer.gbapal" + + .incbin "baserom.gba", 0x1AF884, 0x160 + + .incbin "graphics/mon_catch_sprites/catch_mon_36_numel.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_37_slugma.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_38_torkoal.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_39_grimer.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_40_koffing.gbapal" + + .incbin "baserom.gba", 0x1AFA84, 0x160 + + .incbin "graphics/mon_catch_sprites/catch_mon_41_skarmory.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_42_vibrava.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_43_cacnea.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_44_swablu.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_45_zangoose.gbapal" + + .incbin "baserom.gba", 0x1AFC84, 0x160 + + .incbin "graphics/mon_catch_sprites/catch_mon_46_seviper.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_47_lunatone.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_48_solrock.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_49_barboach.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_50_corphish.gbapal" + + .incbin "baserom.gba", 0x1AFE84, 0x160 + + .incbin "graphics/mon_catch_sprites/catch_mon_51_baltoy.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_52_lileep.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_53_anorith.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_54_jigglypuff.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_55_febas.gbapal" + + .incbin "baserom.gba", 0x1B0084, 0x160 + + .incbin "graphics/mon_catch_sprites/catch_mon_56_castform.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_57_staryu.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_58_kecleon.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_59_duskull.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_60_tropius.gbapal" + + .incbin "baserom.gba", 0x1B0284, 0x160 + + .incbin "graphics/mon_catch_sprites/catch_mon_61_absol.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_62_vulpix.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_63_pikachu.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_64_psyduck.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_65_wobbuffet.gbapal" + + .incbin "baserom.gba", 0x1B0484, 0x160 + + .incbin "graphics/mon_catch_sprites/catch_mon_66_girafarig.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_67_pinsir.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_68_heracross.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_69_rhyhorn.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_70_clamperl.gbapal" + + .incbin "baserom.gba", 0x1B0684, 0x160 + + .incbin "graphics/mon_catch_sprites/catch_mon_71_relicanth.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_72_luvdisc.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_73_shelgon.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_74_beldum.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_75_regirock.gbapal" + + .incbin "baserom.gba", 0x1B0884, 0x160 + + .incbin "graphics/mon_catch_sprites/catch_mon_76_regice.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_77_registeel.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_78_latias.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_79_latios.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_80_jirachi.gbapal" + + .incbin "baserom.gba", 0x1B0A84, 0x160 + + .incbin "graphics/mon_catch_sprites/catch_mon_81_chikorita.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_82_cyndaquil.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_83_totodile.gbapal" + .incbin "graphics/mon_catch_sprites/catch_mon_84_aerodactyl.gbapal" diff --git a/data/rom_1.s b/data/rom_1.s index 314a8d4..950c6b5 100644 --- a/data/rom_1.s +++ b/data/rom_1.s @@ -1362,7 +1362,10 @@ gUnknown_0816A7C4:: @ 0x0816A7C4 .incbin "baserom.gba", 0x16A7C4, 0x1C20 gUnknown_0816C3E4:: @ 0x0816C3E4 - .incbin "baserom.gba", 0x16C3E4, 0x44A00 + .incbin "baserom.gba", 0x16C3E4, 0x42800 + .include "data/graphics/mon_catch_sprites_pals.inc" +@ .incbin "baserom.gba", 0x1AEBE4, 0xA80 + .incbin "baserom.gba", 0x1B0C64, 0x180 gUnknown_081B0DE4:: @ 0x081B0DE4 .incbin "baserom.gba", 0x1B0DE4, 0x200 @@ -1719,7 +1722,9 @@ gUnknown_083FFD4C:: @ 0x083FFD4C .incbin "baserom.gba", 0x3FFD4C, 0x40 gUnknown_083FFD8C:: @ 0x083FFD8C - .incbin "baserom.gba", 0x3FFD8C, 0x47D00 + .incbin "baserom.gba", 0x3FFD8C, 0xF00 @ 0x47D00 + + .include "data/graphics/mon_catch_sprites.inc" gUnknown_08447A8C:: @ 0x08447A8C .incbin "baserom.gba", 0x447A8C, 0x900 @@ -1891,43 +1896,43 @@ gUnknown_084C4B6C:: @ 0x084C4B6C .incbin "baserom.gba", 0x4ECF6C, 0x160 @ 0x4ED0CC - 0x4ECF6C gUnknown_084ED0CC:: @ 0x084ED0CC - .incbin "baserom.gba", 0x4ED0CC, 0x600 + .incbin "graphics/stage/ruby/shop_door.4bpp"; gUnknown_084ED6CC:: @ 0x084ED6CC - .incbin "baserom.gba", 0x4ED6CC, 0x400 - + .incbin "graphics/stage/gunk_084ED6CC.4bpp"; + gUnknown_084EDACC:: @ 0x084EDACC .incbin "graphics/stage/dusclops/dusclops.4bpp"; gUnknown_084F5ACC:: @ 0x084F5ACC - .incbin "baserom.gba", 0x4F5ACC, 0x720 + .incbin "graphics/stage/ruby/sharpedo.4bpp"; gUnknown_084F61EC:: @ 0x084F61EC - .incbin "baserom.gba", 0x4F61EC, 0x920 + .incbin "graphics/stage/main/gunk_084F61EC.4bpp"; gUnknown_084F6B0C:: @ 0x084F6B0C - .incbin "baserom.gba", 0x4F6B0C, 0x3700 + .incbin "graphics/stage/ruby/shop.4bpp"; gUnknown_084FA20C:: @ 0x084FA20C - .incbin "baserom.gba", 0x4FA20C, 0x280 + .incbin "graphics/stage/misc/gunk_084FA20C.4bpp"; gUnknown_084FA48C:: @ 0x084FA48C - .incbin "baserom.gba", 0x4FA48C, 0x1200 + .incbin "graphics/stage/main/pika_spinner.4bpp"; gUnknown_084FB68C:: @ 0x084FB68C - .incbin "baserom.gba", 0x4FB68C, 0x1B00 + .incbin "graphics/stage/ruby/hatch_cave.4bpp"; gUnknown_084FD18C:: @ 0x084FD18C .incbin "baserom.gba", 0x4FD18C, 0xE00 gUnknown_084FDF8C:: @ 0x084FDF8C - .incbin "baserom.gba", 0x4FDF8C, 0xA80 + .incbin "graphics/stage/sapphire/seedot.4bpp"; gUnknown_084FEA0C:: @ 0x084FEA0C - .incbin "baserom.gba", 0x4FEA0C, 0x500 + .incbin "graphics/stage/sapphire/shop_shock_wall.4bpp"; gUnknown_084FEF0C:: @ 0x084FEF0C - .incbin "baserom.gba", 0x4FEF0C, 0x400 + .incbin "graphics/stage/ruby/ramp_prize.4bpp"; gUnknown_084FF30C:: @ 0x084FF30C .incbin "graphics/stage/dusclops/dusclops_ball_grab.4bpp"; @@ -1936,43 +1941,43 @@ gUnknown_084FF90C:: @ 0x084FF90C .incbin "baserom.gba", 0x4FF90C, 0x1700 gUnknown_0850100C:: @ 0x0850100C - .incbin "baserom.gba", 0x50100C, 0x18C0 - + .incbin "graphics/stage/main/ball_save.4bpp"; + gUnknown_085028CC:: @ 0x085028CC - .incbin "baserom.gba", 0x5028CC, 0x1000 - + .incbin "graphics/stage/main/latios.4bpp"; + gUnknown_085038CC:: @ 0x085038CC - .incbin "baserom.gba", 0x5038CC, 0xC0 + .incbin "graphics/stage/main/latios_arm.4bpp"; gUnknown_0850398C:: @ 0x0850398C - .incbin "baserom.gba", 0x50398C, 0x1C00 + .incbin "graphics/stage/main/end_of_ball.4bpp"; gUnknown_0850558C:: @ 0x0850558C - .incbin "baserom.gba", 0x50558C, 0x600 + .incbin "graphics/stage/misc/gunk_0850558C.4bpp"; gUnknown_08505B8C:: @ 0x08505B8C .incbin "baserom.gba", 0x505B8C, 0x40 gUnknown_08505BCC:: @ 0x08505BCC - .incbin "baserom.gba", 0x505BCC, 0x4380 + .incbin "graphics/stage/main/evo_banner.4bpp"; gUnknown_08509F4C:: @ 0x08509F4C - .incbin "baserom.gba", 0x509F4C, 0x400 + .incbin "graphics/stage/main/game_over_text.4bpp"; gUnknown_0850A34C:: @ 0x0850A34C - .incbin "baserom.gba", 0x50A34C, 0x4380 + .incbin "graphics/stage/main/jirachi_banner.4bpp"; gUnknown_0850E6CC:: @ 0x0850E6CC - .incbin "baserom.gba", 0x50E6CC, 0x25E0 + .incbin "graphics/stage/main/travel.4bpp"; gUnknown_08510CAC:: @ 0x08510CAC - .incbin "baserom.gba", 0x510CAC, 0x1A0 + .incbin "graphics/stage/main/pause_menu_text.4bpp"; gUnknown_08510E4C:: @ 0x08510E4C .incbin "graphics/stage/dusclops/duskull.4bpp"; gUnknown_08512C4C:: @ 0x08512C4C - .incbin "baserom.gba", 0x512C4C, 0x2300 + .incbin "graphics/stage/sapphire/zigzagoon.4bpp"; gUnknown_08514F4C:: @ 0x08514F4C .incbin "baserom.gba", 0x514F4C, 0x20 @@ -1999,7 +2004,9 @@ gUnknown_085223AC:: @ 0x085223AC .incbin "baserom.gba", 0x5223AC, 0x4A20 gUnknown_08526DCC:: @ 0x08526DCC - .incbin "baserom.gba", 0x526DCC, 0xF56 + .incbin "graphics/stage/sapphire/zigzagoon_fx.4bpp"; + + .incbin "baserom.gba", 0x5279CC, 0x356 gOptionsBGMList:: @ 0x08527D22 diff --git a/graphics/mon_catch_sprites/catch_mon_01_treecko.png b/graphics/mon_catch_sprites/catch_mon_01_treecko.png new file mode 100644 index 0000000000000000000000000000000000000000..8ee9189977bdbc6a5a4a6106376eeb16f6b5b8e8 GIT binary patch literal 1031 zcmV+i1o-=jP)sYEsowIiyN47(qEoi(3Ex|GocnoYhKmtT9qzDF6TfuW_;E000A$ zNklNcnO4^iesIJ<(Pq3!Q)=;sb*kaHboWjMr;#)+K zmb)@{($28?qhwL=jJ@nh;o`Bej+4SlfHNKf7|%FDN~AP54bn5b&+mC(k4FaJ!}=eV z9sm&k7e?U#=s5WI0R0LFR{w{?0i{NL6g)?Rg8`*MKk6fTtupGPSOq8z$`B&gNZu*| zlukkzA%#&1pe$%sfVmM-8Yuu}lK|l7B{v$(q_8D`vPl5&c*Y32n>{M(R2b1BfL*C4 z0l@LtBj~sLk0rngWl4*Gu&Svx;n@YNV#sTEKD6>zp13(l;pwd9EzE%O4=lw1L)o$5t(lR$?A!VV(7!iaWGPt4}rvoBL;XQcN70RYy}y>zOZ z-X?^MuK44ZpFS_>)SsHoguQeOBiYk4K*GLzupc%?dY{KZ$W9d_dJ%LQX017iUK++0 z4D=BH4T!E|!`RG7Lmde1)I4iRKD@xHH|pGo7r48IF`{dLhp*r4W(SEqyfw|5G^4CQ zzcp)g&I{h|M#Mr&1t6v)_NMyHb^|WgMronDte_G#n$s>XnC?atvC$f^8hO!MceA0j zG(5kpo9FR`k%CIjOcccP)wIhCf?Uf{90&l6quAXhwT6}ttXku%LEABU?OtoIK&SJS zpB3y4F8~4nA@|uPg-ep?i@M41#5JB6)!tqK<3?m|OCJW2(Azm5pxHi%rmva|L)S6h zyS@DXbw>GDfqXK!4!b0U`AflC4s}9Pd&SSU>$rPHI>RK15h*$;b&Ygm>?iYXMEnQW zbz8Z;kl%Poh_F{U^=ci41H4QsEB=<;r27}xBD}$gMPDomMkV@!O``;8IP`A{Eocj$ zpNP5CT8S=Xew%iD>AkH8MILsEzLuqX`NR6B^%vkz;o`^F^Sl56002ovPDHLkV1jrt B;Clc7 literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_02_torchic.png b/graphics/mon_catch_sprites/catch_mon_02_torchic.png new file mode 100644 index 0000000000000000000000000000000000000000..4c599d95cd8876d911b9a102c3d46043c8eb9f96 GIT binary patch literal 687 zcmV;g0#N;lP))x+T^V-_>G(hlzG?l>ik&*c5J z1e~CjGk5;`Ec^u%^MPO=E{zpDx9$Syr6&fHaF#Z^N7+*M(593Zb|LCHY_TN6C{RKQA V6=}?dBf$Uw002ovPDHLkV1lc>HM{@- literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_03_mudkip.png b/graphics/mon_catch_sprites/catch_mon_03_mudkip.png new file mode 100644 index 0000000000000000000000000000000000000000..5ad9469d5f9f9d19a939513f2552d4d6fc6481df GIT binary patch literal 851 zcmV-Z1FZasP)|3QoY|K3veoGIpFDF6TfTNdnm0008s zNklRtJV=m z=s`+1<1NYppP_HCfdS7*vD97q>_zfFegB*Pd4i*9Z@6^l=HCEwbbXnT0?=p3yy!?O zKt~8)W~2b-L%Hs#R;L26T!*b)3|OLrsx*=UYNMHX zsnJZTt5&K60FfJ+5bi`euK_e2W8_F=gl8usFS&UQFozF%a^B$EJ{svXNnQcW5x+4L z|EvKAs*Suv0SI>b_#Mc|w5wml2(ayeb4*4PIiS-P&{3r$`-ljDH9RHg83};bGzc8@ zSeDNR2ostFkgPT806N{cCq44#=nI1Pz$L!srB1V|HbKXz19+Ros@99&h#+`hvB=j` z=ead%59;ij1oF}CNMK!d2vN$Sz{ z$%y#1k!yz@ZT!1{*Gw?TzWmDdtCBIcY$NalRSjA62Ug^3G9YXx#KnO)*0oF6z7Pgz z2Fq=PMz`o=UJ^{WcJT{j?1mHmRD&Sfe zoTq7A#GzosSXm{zh96ic7}dbj5ojCGy5EAn3+&DSa^O3)2xCPNE;@gR97wYYNL@iU zYyuTnRw!H-BaUOoaSjD5_IHUmR|JIn%PX+5AJ%(r^s^aY6vo{F>Lo6syG8HGPy@EJ z?R4;mY-f!ppbLbr84qCejRf|xd!PzfRY05Is84A!My6$NyL$L=czJ{bcK=b;0PAiC z55hI(`mU?HVfq+A0;_MNSHQ@!Nl!=9UzOeiFf7#?PbEfZN;q(?n=&1~`#)vhkr~K< zKw$*BEirP}88mFI4~#|z=tQoQz78|tKN}eU&jtrF)=~Kz0LpCTC|H=-bz8NIYIyb{{R30%jGua000A; zNkl((R@LY0W5s^@m3oBCI%1yew zN>ax~JogHkOhkxR1X)tD3{dfmT_$te$lk^G`|yw0+3ZvN-(r9G@m{K%PyhFe@weN) z(77z!^hLQCdCAptXL4|!2NUND6%UzGJsT8`&O0~*CEJ1jd{CN`zzeH0P`Q+bFJ1sD zjWjYX&p=fey^7C4#+Wg6L4UX)#iCb znpENBF<9%ZW{=zS;2aX%*35r+rvd(c`{fzvqRLvhMkeZQcPYGw`kX-moLHJm2lV}4 zT2|&2AMq^QgL5#9d(goFnm;I+zKAN3qw)9{~kJ~0@qr3RrP9zp))NpNuXdkmC4UbVGRS+$xN3>O15(DKF^ zwWk@)9-Mo+P`1Eh!%mbDZN#lRBYND$y+w}|b{ShvH2=i_2xK&KGX=~OgT@a1wU$dLImwym$5sEugJVzr2!N6!Pk zRjS7nz+YN7ti)Z|$i9(@;r8e0VOks0qex6X0nw|e`X+^yZ{IM_zof>}`vSJw?f_oX z7M)mQ2!=T~+pDMt)=i_-DzHIa5GW8kKLzQT^E?^X+69s2+ys6xFYT4hbh0!;bb%CZ zBeC*MBcztLpVd0ai*b#Qd=B+q*2BZ#bnU0|M;3sXX=#IWRT<9|^lrNy_^JGBA}~1hCMHN}&ADQ~c>$q|S_o`j`!?t03`(IL+98#Y zv4c=Iz9CNVY%BK1$U^8vv7nt1+ijD_+3vDa?N1QFmQpCjm)&I}G%<9+s{ICWiKo)h z5{&S6#lRR5mC$Js@)Zka;u2TENGzq0d3+5Hw@4wx55XZAxA+Y_M;m+$?nQSkxxZP7 zx`GvK*u;dt1hh6wlMp%#%w+ST7z`u;)_{R<}Z2m}!dnv^*}&1u1jlheyrl>NS|ep4Y2m z`Gm9BwTn;^;xRvjbyY8fvmnIVb9(Ep-Su{+oq&fydqUWT->D0IF+*jRx{&Rwn^EzS zm~m@|i=FI7%wE_*K+6?zZPxprAZUqWhfmM0b8@8HptmI^$i)`+%B%JXf<{q`|8}g# zYitoW;yaFTu>Z36CaDUBKoA#YaMAWbBbwU{mzd!01$ zpg8*w9w?5K(+>$@Z2txDR~u!%h<{X^4+#eK?8SlYNyRatIM0@2IZzz=c78z6g3^m= zMq}zR(Sf-Xr*Tm8Y?1sk1TC!+0AreDg?I$Br5H7R(?DVeNhs~#30LXNc}ocD8;f{@ zBviKvTH3{;gOpQ)c<%&hpaY(`_Wtxls66OriX4RCwZ&lpgtB}ml%<5%ElFKB@dgRk zq8K3yd?S=gsnA~1?}Y2i%Nk#7jfZ#aLTys)J!B!c&)*5!%ECPHNG>;pruPXH2ilI3 zY|T&-7QDY_^wG<>&RV!j&@I&KiY+1E5Z*XLp09U@tW9WoJko@A)rt}XfxoR9&b*f|LdRLhb78b^$q&&rDRV6}wCwDuky> zv|^zDfUzU}H3?EWf{VmT`uS|%osHcViIFdgmAt!q?|bjN1fi#TDq8i&BI-Pnfb_a# zp$sn*sF)=JC3u+wx#7riax}x!_>kf`fqbVEipu++UEg1;GbGt9zXIHq?+e^_P=&)% zD+rE!C=*Dk9WJo29~_Ns-;?ioDR3~WqjnGkKCJ^(nI_A?v;a7v_;w8Z)q!Nn!Lgs# zbRnIFjHVI4O<`{$DJ2e8S*QKB&&y=iXRGZ%z?)&QgB6F_ol;Ty@UZ@pg{K`00-nkS z01g5sG4=U?27QaCOOFkB)q z1V6qNFof1NBa(Eh9}&TOlMszhAtQiOyrQd1-H07DoENgb!-;xBJt687Yd0(uur!9Z zto3&eun^BYT;K3m6bM~v5mCgVTDZx7%{Q8^rvkVuSjOuov{Umd)_D~0haqDfs;}!R zR)4eq3sjSFv=9kkjpLF|Hl9&|QIC+}gcCKj9>x}iht^ZjoZ~A!Y*|(h1OR8sWl?}> zMVU8%1$Xaeu$`?mlsS;&F4h!znQu>`7?OMx6%&qL&FAyG3A*LRP(=+970{IMwkr_D zQD`I|g(SGFS{;r@t<^vP%vP~L)QBxNL8B{1Q4{u{U!7un%5ku)fMX0q%a>vlp?IJ+ zM8%bj;tDLQ+STMnE!mFHb?Hi4G>U4JX*P-nS6LJfuK$bT!S(Mbp6Ze754+vdt!@2= Qga7~l07*qoM6N<$f~(cDK>z>% literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_07_cascoon.png b/graphics/mon_catch_sprites/catch_mon_07_cascoon.png new file mode 100644 index 0000000000000000000000000000000000000000..b14e79693c8098bf483be162cfb5059ad7f00a13 GIT binary patch literal 1104 zcmV-W1h4yvP)s+bJeE)k0Q>3@bl{6e5~>XW^eTl|&+zO2AQV0%)M7%DYJ-XeU3afp70!FE+<8%D zfNV->5pJy4#d@wB9voH}pd>k=)SI9@0IhF53lS1M!*%`*Lb|~<;yMYXA+_l?s9hJm zi(K^b`-p~NLz1E#^m)#80|O(Jmy-)wE?qRsf{gsMtR#8OdJZQn!)Pgk=F8;uI0(b- z{4c@5f^5)kz=Z6GQn#xbTQwAH$|F|Erg2cxvPH|1U!d!%R__S zI8FcLFy2b%$5IFe#nkeL^;{-^PlZq! zIVl}#WPI_iF!=CpuAD8pmGXNL1Ye{!k%t4U;n`(b>g6eUu6X*UFqqEH6*r5wtP{t_ zNvsJi$!7W^;dlP*!t&+Ixg2Q*KPV3QjU%KJ1RX+T$82M8eA3N@V&WxnUphdtH*Io* zX!Ep-6(113I{eXv+MFM;&w%&`t91h&O__mu%a>*Rh<&Nf0QhZCZ1}#9P4zbaQF7A3 zct^Gd>bT%XzJJiugbY(uI_P2CyHz`N6Bj~lyrXf53;qn_1FZeuGy84kZ4tkR+YZPy z&Jz4S`|R#IKviT8Z&-pw@NU*VG_{f}$GOG5Hpb}Vl7-7*n9e=M*u=PhgSLSl53+j} zf0%(~52})CLza4-W!c9oaIfjZ-m1?A612e^eoOJZnJiy9 zS23Sx@xW5?pssQ7yV^jjYQ7e49I4-WJg6U4bK?OHJ1tPXZXV!Q4{)v2r}eb{=lUDf WDgiyfrAvzd0000000BT zNkll*O6vuheqHH|dRLB4YVkcHRR=og5qameC6=^%UB~?K{2L<8{oeF5k z;K4bdaY-WuDxfMvA{`3EhIH_j!Gk|R4K58@po>363S{Vzz9WO^jwT@kL6#zK5Ttwe z{_l71-rY&l-q~BTAhkD^iGnye<9t4SQ0T5PtY1neFWUJLR0 zg@BrsI>yUMYd>A%Ns{o)e#=jegnY#3%SjJrkNH`Y7Fz_VNLL`kJay$!FOb$^o=r_H z&aI)AoJ})NPUs>jjKEZe!AzJRDndFso&`lh1*9kvI%fRj^EnervJeUo4+@0}NKpvC ztcV}>`INy|xdF_%IV%(@B(>5iA5z*EYYecI_BfemtIi1(lOmWKZ!{>qw=px7088*Q zK|3~;PAwrt0h^pZqjdAUXEHhQLGpVLm=UMcAIn0eq}cfNk7xHsjrabxl?6OXAg>jB zc3l-JCDrPaKU=4#&%f#I$fM}-G0cx9J3sDI_cElKX8gSUbob;=^8;I{1c!=-@ge@} z;oj+sOOT2xeL=wfxvT7P2rUNgo; z@pT0=6qic~O+R$n5^NbMSOsJEv&iYVZAA))(*TR(;LTm#eX5KS$4(vLoONz2+N*3Fw(exBi8X|)^44qBR%_&3O&wdt z_HK(T85b^6&EHSiFu|FFG*_h@W#jMc|6>0E*~0eOSC=*600000NkvXXu0mjf1l9yd literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_09_nuzleaf.png b/graphics/mon_catch_sprites/catch_mon_09_nuzleaf.png new file mode 100644 index 0000000000000000000000000000000000000000..9eb523be0c9afecdf359312f1fc5b3f0091430f1 GIT binary patch literal 959 zcmV;w13>(VP)DI4i&ZR=G#Q!?Q!4)%+9A}^lnkY^rVJ5HdMZQ&LqM;gnxlh$ z0@t6w_7JEO99xA1T&zNGC=|N&GxYA9)~C}6V%n`e5Eid>zvsDoPtvr1Wt5ZT@8nDe zU3F5DT&xl_?RR_18A-ppN>aHy7$&O4l?N2C!lKJP7NeLj?W;xAgOJI`8#SOiEY!)1 z&SRX!=ZYjkzVr%plH6Z=0x(tp7D4Zaaw+9OI0VR|7XSz$lxMIebO*AKmYQ{L zWHz!vMF8G}cimxb#WT0n0D!9NNI|ezaxRE9VbZ&nSB#ELy9sdSHmm4RGNt*DGv!T~ zT+2;Z!{<*Pxy>{CV7-pd?_12IE)jS9Z((uug9Ur9xBQgi)>uDUM$o8@Agt z9{M<5vWra7A#cK%H$fz%5Ph<&np?FjB5rGeDa~ItVJ;F5pKVfANmF7Ve9E9fbDl2n7Z;MW;LTP7K-#1C~SqVo)01 zY;LrymgQ_#=9#z9Fe)V$cM=?U*Ceb#g%k0JSNbKwsEz^u?7Y6as1v-8zM7 z*)q)yv$}U*05yGja+NpLN}HBJudnw76q#yUZ9~%@{0J*@eF69`*NaR`z$3PxE!9Jh z1CU&QduJ-uwQY8KwG#57a=&_bXDZdTZNJSXc;Hu*bw6L{rgB{?`E6D)!27d0d;j_W hhPfrzY002ovPDHLkV1lw_w}}7% literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_10_tailow.png b/graphics/mon_catch_sprites/catch_mon_10_tailow.png new file mode 100644 index 0000000000000000000000000000000000000000..e2e89eb7045f46e2fea41b0a20fa8aaef74af303 GIT binary patch literal 815 zcmV+~1JL}5P)K_U3!ltWtYYF#rGn^Yyh*0008I zNklBjE7>2b;lYYc0K~0AYI+eH?BM4sFAw@CWW7$&)3bJSe#ZD6W0Xf6>TlH(v9_x*0~ zqB(t>FFNB0bj|(I1py*C4y|@|Fxqd|$?>3ToXQ}L<8X#xxrQ_iQy^;x0qG2_SvinYwX*Jt&qt*bc)-+`C>>x@fOngDP=W73-AU6!sOuwC zlFAc<-VCU~%oa^%gO(I}Vh=Y3N$|2xO9DL5AeaGz*vTNlz?y<}itn{2e%9&4Z_^;j zh27U(wjsDjNC16{w6pgynIHpAt*Ji#F!UEcISy$l*U(G`3D9|8j^n$RaeTuqj7h*X zU%+)bRT9C=<7mkGaEbhR4;Klae1~z$=gPw&Fp?x;mgFc4h}e>J9N(YD*Ia1@VyaU1APBGi*5H34#;~eW&po=lkCGcIM3> z^gsS)M8-w57#~i068TWrt0P=(JLDP^H7NDqn>$z}a z8b|=iPEc+Fkp7CPEya}9Kv4_=S!;o?tTdPakN0B+<3LIN z%;l*8k%HN^P~ZaAtuH0l8vrYATvy5Auy~bzJMY}g!eT;-LU>V(6@GrVW%`;5c;Grw zs$CGZH&P05OerV;%%p=$^LAKEc;dABU#H<|DENS+x$`BoX`P6MRX$a39Ql7Rfm0y( z&^duF*#ey6&#y29FEIgVNx&0LMky{~S8p2NX&#puzIKsw6J_BNFh1VniH6`uETIi4 z2NFlrNp3_5?o^!%?v-mgo~!aiDkI8a7t#Hl4=aQ^ICG%K?{BtsJY42@gcKvnq&1M7 z)%#Q_=P?aO*HvFsDt$aH@{2hT1E z4s6*w5bYSVm2&k6htD%0S%R(zyFmm(0q1!?Gq&4Ki_bW<+ zU}F!=nJ~R+By$T`4txRMu={>XVQs@T%V6`3U^$pVsLTJ=&~E5^-$g`W{-ECxo8Xm_ zpP@O=1;c`UYLHxO^aeND`zHz{9CF>qlt1q3&v&Mj@_<{A5=VTIMZoI~CnUY-Z;w#n t&;!+$MkYd@9)!_8+AT4jH|xI_e*m8kJVP#LE(ZVr002ovPDHLkV1nUSx@Q0Y literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_12_slakoth.png b/graphics/mon_catch_sprites/catch_mon_12_slakoth.png new file mode 100644 index 0000000000000000000000000000000000000000..c487dae58d4c5e1389b6a24278f71ff5298eff42 GIT binary patch literal 1010 zcmVdauqlHz79ZRH#t~YRYqvL8RJ(+5ITe1OeNFKwy#r7cwcdDqk5ethSwex@uU-2cAcVL{ zuFZWq1Ud@cFo?Ty$Z>B-h(~q8@z_WRuY*v2`>;>%ygu6@w%PF%jbg&pI}Jeh zQk<A-g$|znhOI5Z-akwfxlf~7*iV&U z?6fxFT#=F8dS$Nu@tXGEx7Fn$YP7hu(qqHu;hDQ8j6RJ!(C`UEYUQ`|$Mi6f{z$ z18!jBdh~u2_|GWkG~?C|$k7j)J;;emf z!f{l1{|$*R13?fg?4ja=aX&WRy(9#W1*c~imI+yT^J>Q7_s>6k_{m5(dU1TrUn==0 z$L~fdH4jBl)^A3F6NB|HfY3aga=#9S;}9v~EY((pZ;_QZ-;RuOqu=sK;7$%me9R}@ z?*{Ip?>UZa`#JA}ayH-Dxivp<4QuXpVO)Ic{F-s=JQTTS?uI32@f*j<;Q!z>E3r=&3*iOE*MLI7yP&3G1R34xuyU+zOqBXdFqY!gWK`!eM4>tsJu<8pMxMI(`)N zu5-blXgv;440mdVqylY;<0I+5qd1za5~ zqRFES4u``oc7nxIH;1XE-GagjUF)j)t5HMsX+t;CxxINvyEq~>T91#8T!-%T^hcE3 z&u^q!2dg`&;@}5%aK^=Os+H*uZLKW#``d{$yvZVvDhmC1IpJ}f{+)wAHC?T2#~YR+ zYxY*sLiyo}n$BIQZXLafIyf_x=M0rJZAZDGtQ< `Qg&0@gaF2Gq%so(@;qAWUg_ z(yqMzX@Wu&fE#MhQ7304Qk;X}oZ5EvJhC+^0Gjf}!KeoZlPf_QfRNi4Z3L;EvcVvw z%-Dl7P#!N6P(|XRv8{fOOH|N{d;FXLxvITh-tt{`&NdGG*9~m^LHbyb|4X0m44k8+zf`Fmcmv#heBbZA_r(D0YFE4ZPwJg*{}q9hSGB_L z_`D&IN~)@AmEZ7rRj>yo-L~z#UffII6@J)up%^cJDuBiF>8Ar#HA=a~qj>!5BUF%^ zMOch~MF7ijPLDb@KaLVc%dvEhTrKR4k{!JvfW>608@8?Mi%GJhhnfD~wl!lldC}49 z0$7foOuV{qxE#IUGXuG8yxu0B$HaBS(VlJt~#q$=A0?z|F#S@TJyB-U!g06fLU*Ke+T_;CVRa<1wf|h*1xU-Kw zVZ-N9;Q1DKDpxpeDrl?)H+5Kt;ZWojE$fF>54p@ZHUz1#*2w7?g>IhR)S4jkmL$z> z2e+|+w1ZasyCF{nw_YxDO41f>*MV^f8|nw)=iD(yu`{0fPidQSb&07KT&erHIX;dnL3{e(IqgMsIRTh{lHafsHJC1!} z{)46%MiaO|5hr6eu>DZxV-~RJ`9jXPa)qD0K&aT4*lEOZ--P gKRUasUHy~#4jijU_A|f?uK)l507*qoM6N<$f+z^93IG5A literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_15_loudred.png b/graphics/mon_catch_sprites/catch_mon_15_loudred.png new file mode 100644 index 0000000000000000000000000000000000000000..80cdc91551148a28c50ce00114f8b33ccd6a75a8 GIT binary patch literal 1307 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 ZKLJB01>83csk0009Q zNkll_J3~8G`yOJGQ zYXbBGW_m#iIkA{pO0SfXy*FJ$u@L{)}_u2 z=(eNSUJ5qdy?)vu-}R8AT6W#NL)~pyu@FUjH$ob=yC<6`kZpJ8zPknL?uV#EQ6}5% z_UC16gck5Ta#UX(RAF7tx=7z0SW=U0d~kLdLj~F+uk9yaoxx2HnH=MFx$3%GOI1eq zgt9TWgt1aPp-pa)=dHmSBcEmn`9tXLitA`FPPq`dd)IiO2H6{6ux~obWF!29j1)gD_3QQ91H?-yDm$Yw7}gB4(vBz z2p!U4mJ1s$+X*#EgMsOFSF}m-x->#7lIE1MbY$D6G6*4q4!P-W*(RN$?yL}4Au?j@ zl#X-+bW(Q6*uW#Z?!YI7(A{7p4P406RETt>Eb}K`qNJTchwQowNkexrFD$4wDW8ps zN-u<&cp<f9)0~3%ffzURoG*YX=ch?GuAxUj}SSW@P8^j*D6_PHgutGYYpdq_?gl5A3 zzddJQyQ>sP4RT@21*K=aC&WMq*c0ju!n?LR1tF>JtCuJSVSS-|pyLc20yeNQa8g+4 z{s;iTLm6iv0Tw-j7@DN1m1&ahyFYqhMl-(eV6-!?_NsVJ>G7mSD21#0=M%5;Z2Ag1 i&ClUgbl%SYJHG(bCrhH6#O*8q0000F~JNmvU+fauP^7VJ>2ZmMv7Qblx|N-N2J((UI>BM(!8?A^n`TAb^8`0eHtEDZBH8!= zA`H$G>?id|Rbb4WPx}{blBf=?!08_ZRS^E>Y&(+V#W6|dX9$qfI}I8>0CYx^xC3oa zK&J%;sjdu#!sy%E0SttlKoY|^su37GGRu`Clb4`w0@$)&pM=!~_oYsdg7Vb}Q9;;C z1^}>L$;ZZ}^BRG{KR2Ae`|MgIG87QSeSp_6cmklVJ+BdrxZ8MueRj}}HY^X^=<{^t zSs3_ZnI0*2&+gs1TB5aM4cc5mDyE5R&VwkhQTuMDHnAD%n9xl*)dUqj1=_e zIShgf6x9f@=Q`!ed?PBL>8}*D8ml0U0C!#MGzby-;>S7+R=xz4e{+o>10AySs~{sa z+^>K8d`g+}FF!4ylN6L^$AxkynPeh=ruRM{dqZfV8iB!ynw_oQ=eI67lpQM|jeu^7 z>>eq8*?B{|se;VW)N_Z%i&xzknWdo8&sP5OGh12hqeccYKT6Qov-;(vl|Djk zd7z2f9*^J7>bHtXt9{gvErdSocDu{^*Sgk4^$(Cxw-*cMn0^2N002ovPDHLkV1jgv BSH}PV literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_22_tentacool.png b/graphics/mon_catch_sprites/catch_mon_22_tentacool.png new file mode 100644 index 0000000000000000000000000000000000000000..b2e7ad3bad9b3c5ce401f96f4515f56884a7b640 GIT binary patch literal 1276 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 P00000NkvXXu0mjfQ;wOe literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_26_meditite.png b/graphics/mon_catch_sprites/catch_mon_26_meditite.png new file mode 100644 index 0000000000000000000000000000000000000000..ac992a86c92cba44a17958398faf76d1f75184b2 GIT binary patch literal 1023 zcmV$lzV&sgKFklIkcptv^iRHDM0`L0L9+_i@o+@l+8+WtV&vQye>Hi000Au zNklgkfw2=J0GLtZUYD|-P&)cZ2msgAm6$Gp z-hi_7*8l+4)EK7{91EfFgb2VkgKCV^>{tk*(1Z}c67rmigp}}v2mpXFdOxi1fxQPR ziWiCin9it=`L<= z_)ZaT$-snQ-4oJ@q9Z&F0L+<@9jK@(!gfF?r(rT*(olXArx3x@0G2{jb+i|AWFp-c zA_mSgAzh!}#28Hm1OR3S8*JrUo>Pq==vyVo6DnHP{HA6Ggam*!1&vBW=j9JbTCO17 zn|<*5-kkYXN7Ddnh^;vh(gS(xHn_fe`_0Ss)#tKZ0#g76HVlF-LqnF%7B&cf>T}x0 zhLz`90szqv$!C$KFf9?#Ko^*-wFN2TtT^Ezxb3Y4iKL zhMRCE0G9)_Ia{l@U%a~cn9m|9cMtEh`;>M-8Fo9eZ*;HL^Z~B(o*UBdzj(Jby_H`+Uu&P9LwWDg7n%&C#-$vc&kK;kUZK5cf& zjW(}T*m_v~X&0BNT9a)*Kn6%w`yOC805T2kaX9?$MKLJf<(C6HPBoiNQ;KRl;KyQ} z2`%>Mtz?jkx~$5LVm_h7nsvy z?n$pZiDIW0x}Oq`{lhb-szQH;2)`y#oJHV-M1Sxjrvzrg&E4}Tj%|>PZefQ5`jgX9 t6iabrVTqgy0OArj6#*_^BEY{=zX65|*-^2^^Dh7Z002ovPDHLkV1l|k*cku- literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_27_electrike.png b/graphics/mon_catch_sprites/catch_mon_27_electrike.png new file mode 100644 index 0000000000000000000000000000000000000000..ba1392dd850a2dfb6ae7f64f055d852e30ddba3b GIT binary patch literal 1025 zcmV+c1pfPpP)aw<4UD@fqnMCiIOi+uv_CmnCne)8oyvO7c@=u&Xrw{6P z1a;pR=%7PEVdJi#*Y^V|#2pHH-_`R!$df4tl?6ygvZC>qVQcAMS?4@sMT&KxT1jpP-_(@1s;eJ=a6pFTB_4k z86^7SOAzg2=XGWX5T9*iS=M_}1IQZi>gE#g%t}~wnxI;&$+~19JDV;^mq2i+%51fm z7Pz%>4e3rxk5NcWPnSSFoarp2pehD+w+w_{mkM;Jxdg*TUxn@#D8L0hvc4%9KQpeD zFekV4YbL*-BPeuR+4V1D&{%7P1-YP;fikp9s4cx0lkM=M94!|2iFaRq~f!Qn>MpwVd~ zBitz=7t`$MJd9plq9_R2k5;~ajmnRIA6Mirv*;9{=mW!@5_R;2S^E-3FJXJfketSj7+k|fAetJiWehCdDWiuQhRZvZbaG0;qp)5E!$zRfd;WKXR!dmy-smo4o)X)4t6enU`3KZp*lBD^V vnxJLo>!ljA6vsWqx4I176C`Hz+@^>L<(wGG)~3zC5Q*q&3PWQ%vd2hClS8l} z0qF-o#UB6=VXlzKhvJ>j=eVvNB~n>XU#5Gx-~YY;yR)rnckwSH2+nRrN3TKaR)pMo z;BVGai3Km@gW)ECUKb+k6XRAn{mN_V{qISZ9p!s+U4UVmE&lofb2`H1Y1|mmchj{V0U{D`2w4g(#%Y0D>i;d+_+jvOwRs2LL7#a!nTV z32W@({`<$lA?_#8WN)L(Scp>VECoE1?n|LL7SNx>d7vB%Jo+qz{@APs!@glXGhZ0`$ccUgwTOu+&e&_UB*wNp%gly zb_!TW?2QsSfxRm1xYYsB4tD!2u6xCrtTEj(`uOu`Flw?1yVO#l6gXl^i1R7f_&zm^ z?FO~YCOeJyPZ(o1sX~8y8-+TgiR+;P=n`NKm-j;)f{Bf|hOy;S8}~~gf*>a~kR90s zg`M<_sht98Rvbdx0aE~erhvwo)3X8OjBM&KN8U0#R$mCEKyr^r)NV7U0kS}cIduQK zEWwA&0ocJ)!~4Rz>JioFc(FQJ;OVDicId&2Egw=oQL~d;4FJ4HIMd~w7eZ|(1+EEk zZ5$s0wT3v0jF2{hI5N);9<#8Z0M62(#xo%eXa(4@TB{hxI;M3^NSt2^Oq5X4uP+`c zE7Wp9Z0yP8*_X2r;!6N6WQE+i$RF2+d8O$X^XJ*LYv!FjP&r#p4=f4ZY7I|*x z(xreN`l!pjFy~G8Ls5{7^PWqAdOS|Ql`G)ZrKuqAxeU+-aYE01I?=!|5nK09LyhtjO#iJ~{rAHTJBp@Q%{sECaiif)5O?vQ8gbmo6(iT03 z;17uVC3==kEcQ^kCKHRN(zx3_^rjLgG0SEq8JN9!*!TEM-uHVa`G}&dw9-m)Qup>w zm*FB20Qhhr&qWFi0N3{`4iOhMy*jW>@Pojg$#G%RZ?N_lJDb5dNtW1Ou~<)26%d zb7=kMn}Rp63d5M;U}W5KIUYKe`D-%VC4|Jx0D#2I4e?ttEAx+2!wFApFP@Y+Z8}Zk zKc6P)ln?T{U}T1K!UlQm`0QZ+)l?&FkQdUA4<3mpOjC744bH*7^+T%!wYtgVJK{M2 znX5cN4XGhX&Mv57TsDm0sMQ_CEp&tB;2on(>o3@#wI>V1ap_>~F}R%oyrWLUaMjz+ zbI^6HGeHe4EDVJ7O9zc+2!6g7WL)OzS2Pd8cbG-mzL{?l{mQRzGrU=B*k@ekDp~|# zCTJ7gi}D42!x$(>ce5AT$Mr!Qe9#s`%_tbZdx`OVj%U)=Ieu#qq?fsJr7-j`ejvj) ziy(f0(rD+r)5H2qhKricPiWH}DK2VSjMn(ULS8h@UJ?HfzHDb)f2hdut$Cpx-k_vU zd-z#e!2(Vz(U^X<5Y@Fbt)U`**?ELEbX>W?@=BlM+8Zn{(G6Bw=|9k4eNe9N^i}IR P00000NkvXXu0mjfzD7PE literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_30_volbeat.png b/graphics/mon_catch_sprites/catch_mon_30_volbeat.png new file mode 100644 index 0000000000000000000000000000000000000000..25bdaa8a40837657e76829a258c9bd3d55d760a9 GIT binary patch literal 1117 zcmV-j1fu(iP)iyO3wZ}i{*QkD_h#me zWEgK^!|28BJME7$u-<6Ax_cU{@)j32f5hs*+Au@$te~=3l^5qiKd;n*^+w0f%gQho zb^fDbbR6eg=sYr&f%Wl>M@76fZ!jsgs!%91o)w$<7|(y;!iYbPv`Xi~sNk~=3o?4g zU}RQ&u08)>|+ydg1aq z)s5Bw9fTMAzW?!0Hd2YLxe0<9|M{D-5nv1J^gzOLZ zkfjo41)DQ(HN_gBgV2x&ogN~rF+~w%mD+U;;4gzHKnGdm+AlEWmsDRQqes7aK)-Go zS*y$n0Q#rbPJREu%bk|dSEr-Huw4-VP39fV=(Yxb5l8m~Z z_n`oSsQ^wqPhuPg-67;lsX_hcg)aXX_l#5`w`k?E$$ zIwWM2AUBoLPCRb_0Am0^L4&IlgVg0dWag=RA~#mYS$ATJ&r*mwqAaZuU#p}PX8Z7RLAy94?Keq4%@?3+xUTRug9y@1Ysg#zUzZxV_w0lCzP2W!*36bP)9 zw04G>SPP*;0;M2x6k`7<j`@G4ck{(kNFpp?8$He%U;44HPGyuQEqcJ5IbE9=#Cy zK@Qvbk5TsscKM;0!D}I_HLUlwXT^{B;LB!=#4uEq|*RLHJXr_#?IBPb3Uy-vQa-S0NSsJiN18nPz zka41aD@+!doX5G^zXp6vUHG1|l(mfh9T55wRCP0F;={}$7PWv_x@@3x@B$aE>ClqO j<-c{|)pmIk|F8HPPklC@63wTo00000NkvXXu0mjfvKAMY literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_31_illumise.png b/graphics/mon_catch_sprites/catch_mon_31_illumise.png new file mode 100644 index 0000000000000000000000000000000000000000..198ed1e9dc5b919db2fe7aa36282a767aa804d1b GIT binary patch literal 1114 zcmV-g1f~0lP)N}PjIti|q&tj$_#i~s-s6D298000B! zNkl^ff=Y;e%C2tiq1oL-h$(1ymZDnc ze1(+{x#Z&2p*f@p(loyG&_h=NV-ppk**aLYA=L_e=)sgi->fWYX5>I1P$=XbyyCxp zzyE*UJPDys^8(#E#ar2(k z0GvFj>&c+ctc-J#K69i7F!+hX4ahb@8vdwdR(3|7vfh;p4qkK58Ekj=qAU-a4D?_0;N1lpV>l?=M= z4xJj%cxPJ%wNBRyWgn-|!DbkRDbiG)w8|S}205 z8fm=-q$;RuzgkM4yulV z+@K5w(h1;q!ENN6z^y3y)Zn_J2Xg}j6cWz|PU!mbiz1mCC?|Wb0V>o&SUD5^s`}Kx zQ}j#cCm`P-r9s2_LmgfLR-M<9e$(?o4qZhD&@|%e(n4N)uK_%k3_v>nhl;9K#D}2g g4TUBBQ~jUnUlt#93Ac!=Q~&?~07*qoM6N<$f@qr?ssI20 literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_32_doduo.png b/graphics/mon_catch_sprites/catch_mon_32_doduo.png new file mode 100644 index 0000000000000000000000000000000000000000..aec0ace16aef112869a921c078953b51628b46ad GIT binary patch literal 1090 zcmV-I1ikx-P)^000000000000000Hr5^M000Bc zNkliF?AlTP+*U(kjBODvdrL`(19dXmizk+f z?mFNyC3YTo4jISs{Er<6W-*j{y{9_xD84>Ns|wc@oQQW-S_gx3a@{(Sg6Ap=w)*El z+7qwXXtOU>d?`lj-c-CvfczCLjW1{7^7W4DzLY-4@Yl?`_3(lpSjog5U_Mj+>m5yr z5M&-%DY1-I<|Te;&TT(z04@n5p}Vymw%$ zeNfyAm-aqVs|-coQu*!aIm7+(v;6YT3UZ0K8(_W3cotpSit*Jip&pSDnewUNnCdoZN!t5z;yExNoFwPE)sA2UH=`t9jUv+kUUIm0v>5%0&O*Ufn$SDQDrUvYj0 z&4KoO5=)L5@12F25&WZ|7$!j%26aB=yqHO;)ZB$#ky{-FpOCvqWz0=F>Gd-&$jvaq zgh7FYMmPOj!YxzLJDRdXwcSytfw1wV`o1tpdyo;i!QjmJELPwB5Y;v~h)#LJNFpek z@!VE8L+wugGBds~A({*~37ro=3=|NHgd(Tc*krJK5FL`KN~170wHkCyxRDPgq1xRf zIK8f$7&8Mr8rin9AZ-wxMya^JUgox<1{TeP-7#VlvhhHth)@jgD#BqRxeT}S>sg4Y zVRwUYgCgfW@)(B~fQVp+nwhJ$0ThU!06Z9>T8_x+T^JL=FxxpJAfRa?fJfMcuVq9q zOei4jgGeJUmoOQI#-CDSnpX|96)s^yFlG~+Y+*X@ZGqSpDBS$!z+f|t3|;2;bQP2_ z9&v8BI(yXCn*v+6-05`FIh{Q)9tP(HA{?#4T9>Il-Y&3-+Q7i*6UKF8X_&C?>2Gwgqc>mKw*`{6+^fR4uf;dOy1XnhW})BksQ zy%+BEf5Wx_z77f%j=YAW9r(2N!kxwv0dj;|PQ^gq;(w0+0I{s%$x(W+9{>OV07*qo IM6N<$f`v8wGXMYp literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_33_roselia.png b/graphics/mon_catch_sprites/catch_mon_33_roselia.png new file mode 100644 index 0000000000000000000000000000000000000000..f9fb0c705c876847da7edf52694a8d866134108b GIT binary patch literal 1134 zcmV-!1d;oRP)cV|D?SsT9i_h)nc^&kmC#u000B| zNklB7r7OKJk2}nvEKnpX3vxNd#3$QM{NkM2SLk0qt3}uRi(B#rZ zsmfbC2uK;QljI?RC@#s!(|TY49AK-!GVHI@U&hr~7xe+m~os1{9JT z_X>WVFXzTm3qYo6CP6KPXy)QMaJC~#73lhMzSQPDMiPj9*Kw|sY9#k%wT%X1vY`yY zOkd12JZEG{uA6IXtEIg3ck3;ywoaPcXO<=?E|z$vW8(@j=+E`aUYp4^&A{&nWCl}<5-XY;VIUksVf;>u5L}&wPO&Ni7sDaS*laLf%CLnucfK6 zTo`01NX9TV0EG?aqIK!o&dQEJzM0rNJ!RD{zi->7W7^(2-2;t60h!2dil-Vj#&8Ii zwq;wv+p(GGsIR*Uxo_GI9B2f>qfkI3vMY|K!-@6_9KtKhBSoOVTo6uFrOcToa9r!! zJDi2Sz@H<*COeo?{vDowfb9OU9A_JZKf%X9Q6hR}-`MK_gf&P)iv*kOpt>qwDk+d% z6-d^%=vsK@FSIPweif16TCQb#jv`*pr-mosI8P8~2eqd>3bNw?|CNkR(=&hKxK`~M zCki)~V+Www0vnSnT88l^5;oaE<&;NHyKui0J_p;5uZ3qG=h~?DY|!D%m1*4uAlTT) zGmi7d1uo9c2dTr}g{n_4+jd!YXc79dV z4-90-iH!q(1MYI63 z@TAYcUzjq3hKR>l)5atb2r8>6yRdknS34923bncMzPS$nuqQO~e&-Ywyq?oE?u*H)wop)wvx`8`>C@!vk@*bCNZtYk6$)~3cF}kk#g6$5 zAv8zM9yd>pQYNwl?Tjdh zpN`81zom{hUmooa@3o=R0lzyz?5Sia4U|*LmErE&-S+@`k-U#_9gwB8PKgRx*&RP+ z*`aj){#Z>}LJ_%CQ0jON&ag~UR9Z(r>VH%J0UkqNhy^7!=>Px#07*qoM6N<$g8Uj1 ALI3~& literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_34_carvanha.png b/graphics/mon_catch_sprites/catch_mon_34_carvanha.png new file mode 100644 index 0000000000000000000000000000000000000000..add73413da093493f0536c7b720145cac57bda43 GIT binary patch literal 1168 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 P00000NkvXXu0mjfwdBy3 literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_37_slugma.png b/graphics/mon_catch_sprites/catch_mon_37_slugma.png new file mode 100644 index 0000000000000000000000000000000000000000..40cfe597bfa9f319bb371f561f5aebc879bf92fd GIT binary patch literal 1146 zcmV-=1cm#FP)E`>0pdXHzeiV86R(nuMT2B3zT z?1caurO28hUoHpKiUL-evC^b63SEBS`_DNz06g#e_|K!abpJ2+AIo!V&kWRInamxX znJ?-6rY|&li70z<@z&Di-bi>%UT8Gl=aH%zvyJ$+o#1)Qy!;e98L|%csi%)*Zcp%h ztiT}4<2ky-h?Y~c-s>$gva%a>c@I4MsG)Y`1-$j3!$!3Nih`GRiADP1fEnTwu!1aQUnM{<2C!)1HSA zGaHaq5-gZkg*YM?8Oa^Nqtf$J0PGS}YqWhfM(57Hh*^pFuD>ShMbUeIM$u+7Z{I=2^{zo2hbhacS0Y4jh(4i z%a1`8ku)t=_!y(ewaF*GV->z}VDos`^s_%b)J#KyRJGgggKuv1gDh zS<^K2yi|WU{u*`yvqBE|%+Zy20rXB-jYCS*GY#Wcz00fsZqsKO{y6|baJKCN%pQu!=#kPkpx{Nt<^Zoiw*n&)gciW_ zPG5wIg0AR8Y-OrpYxYgvq!5~Q5fI#B0Q4R>hVCVpFmM)9XVd~zG~lK+LJo}H1@?My z6ag5kJs=OI^#~Q<3s&&M%CyH6+w}WN_PNo;u?-mjghl`m2-9>rr>P`#tVFxM1GM5B z=*))8R$m{xP#6F_CKM1`HydFB&eIm4_gD|n_} zUs|}fi-0xGjcT8=rU-%wk=v8?W literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_38_torkoal.png b/graphics/mon_catch_sprites/catch_mon_38_torkoal.png new file mode 100644 index 0000000000000000000000000000000000000000..b672838ab93c4ff5fa7fdddea7cc4e52ed3c19f9 GIT binary patch literal 979 zcmV;^11$WBP)l*A6vw$-ebL|#(61q&5HfUXQJ`x>8(F*@OrsvW9BjcFR1{ex4Q&rW z1Cv0b06}B%4febR5RM`CzR4&sjf|`1-S_(Duc91 z^@*C4vNA}QR1a$Q8DrOPem1EdM5)VqrvE)@owOwQ5r`!+vivW*lFmzl+JF*cVY@p) zz1thlo9;?l64d(i5%t7O!grj#K7yVvUPQv)?nskPO9FiS;OR37!W7$}W1ML`x9z1r zd+`&38t&wwJUue4W9w||d24{6?z@@m3#Ztj5!Buzr_+i|6V8JoX!Pm>r5zBnkE3u| zShh}3Kjd$lkK=38S~y3=NOJKn=K_3r%fnFS9XdfBm)30cKbyX7NBad(G&DF}n5 z;LGq!l^_Mh{m<6^%yzsy(%wiY&^U_xFydkvRtXfSMf=xB!R&+M=Nl*dBd2tt0Efx@X3hzbEAF-tBfz4C&ED<#j?214>xgFujJZeE5? zK=vLcNuod=z({OBQVKX_c=8z1Z;pbnLa^tFfG07f*S;SGK9{g28GsE;jjp)$JXs|W zrUhwIOoMrFTQ?*J+(AkL5P@(=h2Y#16ZPQ)DKHP0R(1jm#_Y?qgV}fyhgpYCAUI4; z@Wew`axTR&WDdN8or|=g-EjDrWgj1%KmxexpKyT!fM}m*yMUm^7@zJibs=mvBo%@S z6yU4D2`7@m0Vsf6toGEx#{<@_5X41+7_%%XktdX4&W;_cH;AvWP){;JURM`nr-0b% zKEcAa->)0q6zWC6s$S>217iH)QcxyH8=PYZRv;J*206$XC1O>dZ0agUvJ$*ihaeM>dK>?x201eb z-spxipP&D@9&ZGORG>^i>M!Siul{t{z#PLcD(V}7u_Ykn^*>)ftr{*Hz3d|B>pDSU zTs^q_>#S5Q)pg>0{CWTW{4RB!_|8Ko_&xsH@eQ|M(H(wakM95g002ovPDHLkV1n?A B!&3kN literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_39_grimer.png b/graphics/mon_catch_sprites/catch_mon_39_grimer.png new file mode 100644 index 0000000000000000000000000000000000000000..a7d5cfbfe9c3849b8c34f7e60cad90532a769ecb GIT binary patch literal 1296 zcmV+r1@HQaP)f$xSnLE? z5vKt1^m;eLmrP5B0i_m4egE_{UJIdO#0LVoR8J}?@3}LKFK;xy{~Y1s{=gl}XqvY* zfxPJZ_xB$YonKw)oiPlEjK2%cKyfOWi<`b?9Al6MVzmC;21)=B`8%D_X}nSSG{$~_ z1JuAVtkpiybg@Vss9jk&VlIf7iyfe;MBg-C3+%DY1&KLlSnSHet-0s{W!f3WVI*gI z^i z@I9c<@kaa-U)}+drfJR5c7Ruqm(RxI!}VjK&27i zjz^<|9|_G?#0;3D$8^pdX}sJ5GU!b6?8(953j*sl#a3kS?UT`H^aFw02#Fi`IbIx)V zVUhf-N3l+w)dGrkINm!DtG>M z%Pfm_c{a-94Aa58+le)D0HqFV*utq7D?VC6gN5aFBIx8zB z$po{}0;xd(~ z!SDm*Qi5f{JHOJa#1zP(qpF<(15wb10`CAS`Ja-q^?Rx%QVpijDtCc{>f|4mUSs9j zcNcdM6#8H;JH>Od+B>4uvEjdE>mLSIunBzNL`mF?X=q9F&C;XF|Tw6x?M0sM~&kS0wMFW*EH+f$rM=hynvzL zi?woUxgLS{y3|sxx8$(tqMP;8D@zx=;vRiVSd$<$nd;YmIOI_4haXlKlffywcZwjN_f++TZ3sSW40SQ`8;Ty15J_J3CP{zH&euB1A zIdHYhX%8!9COyEx!ZR)`60$@*HUgnuZ1cwUxNe-ZJ*@UAPL%PR-|xNOn?Fy}-kq7| z(|z>=P3!C33AzE}nl^eWPER*R{jqLM*2f_n`8#+bPXD>CTjrr@uLH^dqb^W?TZEQ9 z)=kT@J3wVLqYAKP<1Ija!=9Sv$hJFgdR1718b~TBZJYRGUDp9f({{u?{Q7CzXzjQ5 z95q13RI&s#U7OS|p(=udJK%MZ8X&`hh`9J^l@wZ4^9D#$1idZ!v}|flr_YTeFLY^w z5?BlRNCC;GCg^R*Nu^ecX4{sf8=tvLwoI^}f?|i|>nZ_7@DNayf;O=2scwGmE=dSL zC;GSos+|fyRE3a>O4CL%05YtM#KadFJ((KDp<;m2Ges}~6jenzQ;2|;nzk3L zZQ5eaC`T*yi#;A&&3NBd1bAX9@yh^U6tn|P?*R?$V@wF+oX}SgUb8e`*~f~2|7@45 zTT#$T?`|5ze3v{%HgB7iIMNy}v(V{LTJe?sF2R4-#lv0opAqq5K*4Y}hK4--Jj;Ot%z0+j&#CQ@xzaFUAxEEgH5_Xt676?jYL zUNP#zs&Fv5J6T0MzutcV_VvEcaUH3#jbQb9PDsu?9(ducj}Yb+5L}Njnv?&&n$2b} zG6$()t!Hc`(6SISLURU->lVr{M4d7mi68qBqkqn3UkW7Rn`-y~us+#904a+Y&blHe zA%qIriJ}e&&Q_d*WB~1pgxAD!lOJv%kao+6>jf?ih>WP7Ac4$JPhlgUe}CpDSy;B*oHUNczGE1y9AX=_%zBBC<1&(YGn`L z-Zzgk6kq;&!7nk-TR_?dg5F53un5QHu7#qhRWvZhhJBO>asC~Dd4`g^%?x^X3CcTT z*N0647+^_squi$eGz<&D&o9n=C%wyHqz$qzfh@uh!)Yx_%W*SdFoi?9NQ)S~#Nr>- za+Gr>4Z%0zlvTJC+1(KbSa7qUh|~3v`BWif+F&1b=98Cdywq06|Y7G~wss;s^Ojo2&o6jZITu z9|M9C=%C$0z|n94IK{S>vTs`Yq&wWJp7xtzAw*JiU6t9kxdBK<(_imOi~G`bp*BYP oGgSPDLVNKo^(mS#L0mDShoebu*0RR9107*qoM6N<$f+VDC;s5{u literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_41_skarmory.png b/graphics/mon_catch_sprites/catch_mon_41_skarmory.png new file mode 100644 index 0000000000000000000000000000000000000000..0937ef9525e3d3b19946024f3f88b54550167857 GIT binary patch literal 1281 zcmV+c1^)VpP)g6b3s8tQV0O{i)!vtLA@y;gBSqz)d0nV00000;YxI_000Dx zNklz4UW*Fn^gD}6x~&l zKq=^bdY1uFkw$yPFPyxfXcKNrNuUsPl16tsNs|VMj!?74Cg{yN`cOy$g&==(vqO&1 zyauA9rl7KdDsIEiCe|}Y!7dx0Y=WP%2eJjnIcSHSLcDwt#3g;t`(!R9o8P%exePuD zLYLb_3rSA)$AajjnMj(TD7_7T!3srG#oQ_`ZgU-{cikXNJ8E8xlh?_6kTszS-JaJ$ zn=n~N@01042O*lvQ{_CkO1Rm-t;2XR8kZo8_aKR)8c2GJl{)E7aFc`&nu!^Na4cax z*(90S-RpI9uV%JnB}-E@z6@4zEzx=l3lED();CG)o+|bfLWL?9Q5sxj6DO-Mw)onV zvXZ}o_-wNZ>w>0}tb{r#UB{OX=2$z0NOSeApK~}Vitc$kEzX}?Xp%HIf@Ds3!nbur z;nv@NK$`Y7QuM`{pL$9BK6}vdqu82BBR;XN;)@_3EyJG97O+^!d35>O_DrOXfvxGp z-+EE(Wy497da0}N9%P_Nvi0hm&H`x!D&Kjv(T<-!K#Y&6zR=G+Kg~0e>(wgu9&!*> zFFZeq;;J^!vxX{JXjuW?qtea~2p|2yTvzwJa*A%U3BuTONmd#qUJ|WV>$t@D+vyPh zNi}-raoyVrb&B!t2GfaV)SHmSN1{_xp=W6n1W}rMmvU1-PSKG;G-_XPlAo3&lP_(9 z5~4YE9|SJjBYawo@e4mqbEy&65rj)vdtIiUCb>o#Fz29dJbM)RGM-Zv&+OB4Fk|-y2F0ZdH?^PWtY(Nhk zS;cx#Emc4qq2C8=V8}~Wit6r`fk-W?yE8{9N!{D^=0_Fjd~U`DJ;%kEtinPr00-a@ z^!qmd9ao^d7ff}?VfL-|l6=c@MHZJcbO3W~=Lo1+IbRoxRVD`m$6(B%2Vnnb0EmJC z>FvzPK;18&eub!(V2|MVJSY|hbq4(`X#dH%O@|9U@uPR$=x2z=wFJgDQtdz)8gcBbHl3tnZP`JHWryJ#p~pou!ax5~y9=mO{kl9^qDu z@TB2germTR$VcUP^9&RL8{y+8-nA#lRnu8xoCBu2e<_;YwI{TNXo#lL6P|eY>fjEz rMse|vf?JU*K>z>%q@<*SgM(61Qvd(|xdq9~000B# zNklBV3G$`dix0UJ@1cjD+8lb=Kcj@+ z+?!!{2^()&9BSO;I9S2zsf#R3ecH8VP$PQSNHc#!zoQ?cQ79#_hf>&KG18lPpZ8`w zUW9JO&G-)or|@x`#@938HOj^e;fuo#0(b8;h zG*CNi*(=Zkvj&MP%e-^Q-bjOp#-@2!#1*L33K$r6Bfr%IS-~4SgTJL!gSay?Eh}K1 z)o;7e(z47WM}aKM4w5X%e9N+Q&=PufPM`1kwi(u-{;1W0iC&iUeY@2%j}=Jj-Q@In zW`o`US)flqw=5m>69n6<^z;SyVaBdOQZEdkcQugTvhC1)>_dPK3P84lc=9ZR8M_@; zpiJuBOLq|2Qctu-b_LQJL9$%eed~Um5HdWv5qvT`n@xTZ31vi000{zy5YXg6 zTb_gNiC9+=;k5sD@WYP-sFTjM2q5JFvnB@%e0c&p@TUw59mI)8FTXvTd=GUNv99x8 z9snFo$DE1}2XLn61No@++@=PZxO=Yqf*5Iiref<6{!j)usYjHKdFn0V$?VC&b1yLz}rPq1aQK187ke^ zG6%h!qsC#!Miqdx0C+UgqG^is2@KF30?ChF6)*oD0EG}Lj{@$BR>^}IoKNgZeXi>& zKWX11V5&D94!`;g+??sU3Q#&{()dBqRDwnIwZXXq=+@7}{WEwY zgg5jmpwclT@;9{escb468N@3i%4WBoJ}tY)x?TlTIxcpon&xMK-e;(Q=BS!pd(=&@ hP5S4iH{*Xa{syWd$r|%}X9fTO002ovPDHLkV1i>h6-fX9 literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_43_cacnea.png b/graphics/mon_catch_sprites/catch_mon_43_cacnea.png new file mode 100644 index 0000000000000000000000000000000000000000..68f61fab06fa297fa61c4d9be1608fb7ce365dc1 GIT binary patch literal 1025 zcmV+c1pfPpP)}wNyLb@#LN3yE z*w9NayLqr(<2oKlE?&fg|3K8c;PwwptgPsajQC!Yrb*Xohr0;-Q9}EY-}m#r-(Qk) z+0x(tR%fZ3k$Jqf>>yrDyb@yinOe{n= zj<^S|>(lS8*#Hx>Lk|d#iR%*6M=xVSe*{d-?t7V3N`zoccFM7n(*Ud{XZHiw>ZMW% z*KStK832*ciR_R8X)0t?)A;EO0BV_k#fGr&k6A`-fO@HH05pB_cL25AHQ5k6;v_8d zBoC0Tl&b(jw-h@w4e-5;@hjK;gmEQd8JUps^L2wBpc_L^1^mFqGnSoEPiD#$L4V$V zSk>S3Av+{c^Wy+#c>P6OO;<`~TuawST-u24_!S_eppZ1>Cu$fCSFAoC_oCI)Cj zW|#*u=n$Z8fF?pC^2QpZB8VV~AZGHa2$=zSyPZh_0JevDdu-`pHRXRBMZp^E8@hUU z*+0B|n9bW_Kt|%~j-3DySj`447bMXA{@N-%45A3ONgGT>*Zn!4ezJv*Mh0Xg30*S| zkjvXbHW-d5!=1NVYwQ5B!104k4H|4|E)WtVZK>QIkhkSx0#L-Zlw%F|3m}O4&({EV zUud9$d@FEA8ysGe`?Mj|zj`f4a6s;>ijx2kRap*)Bjm&EAa4Wg1VXf-h;B<8)Bp9*OrIFC?p|WCGn`*;qaq)@+hWDLJqZnGoPdsE7=A-L* z-0Uo@Y^qC^(M$+U0MOyIxTDZA-6^ju=rJLy+0m5TZapb92|$NKcN$t=Y_vFgY2=JI zoF4N19`bNf$Z&iHaN_Ii?`-!duxznRWA8}b4}YMe#LJ(pGr);;y3<8!x!4$sVpPbR vWu5KRUfI;0F$brvX*>Ogn&#lV{)hSv)t@F0pO#2*00000NkvXXu0mjf{RZT< literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_44_swablu.png b/graphics/mon_catch_sprites/catch_mon_44_swablu.png new file mode 100644 index 0000000000000000000000000000000000000000..f50cbe02869e453ff09a342723708cf82d28183c GIT binary patch literal 1036 zcmV+n1oQieP)Q_W%F?Tq=UE000A* zNkl$r}~18Qq7B$sebM)kEg#^k%};K}FinvR;ER;EeJZ?4S&FtG%+{4fmfG)zO>SeFBU zI}Crd6Ys(>v`Oexf3rRZRK}r$iPyc@L^M3Na|IA^>!O7>g;{(Y0{HGK9MJp==<{M} z=+^aOmN@nQ1i>L(!4Y|9UgUV*I3#J>3Lcypt2kmzg~b)m(Oj{gVx*@lNP4ky3@Y$l zaYSHq3g36Tlic~Mnz1922-NMoXwx3r&JxH;IuJY4&8|cVp{=~2gv?$}WP4vGEAJW6 z=V5wpDE%2y)ZxS6hO8& zwDV3&oN=GEO({^%S->gkW$QifGafBZsVWMePDJ6V%qRh6KILX2_;8O~0Ye$+ILhNC z&<4E~7v8nDWUh}GV|*b6uQ{U#rTbQiI>wmP^PEyUa3j#D;h&{72gqXVsTAx40@RWX zn74409+8KAGXtsq`EdloPMgWa!V+TiNh%P1C5B2Wvt0bPSv~xBL>$V@vDZ z5nH67Z55$Z@PQ(;AA@St_gy^P`gfsAT<-1sC5v1 zDv8krI>t554rip{i&K$EHaIhJ95dAqQlp}|KQqD4a?;_!ptmvZv&A7H&#i#-E%_x_ z;GtbToZ?xH2iZMP4nRc;Iw1A~N){LA;H8WIsj5106vV`SCYl<1j7Oq_{SkSQ%_s^e z1!<-h_>8uIVUN*cVH6A)^Z8lQ0=+3a*rgY)ILHJt+MF`cCH(kaGll7d>g{WmiW(iouLMNlHhT2sRV)dOYp z+k@^d>Ikt2S-szb`m}meI8~N9iv`cneqAPn{ZLmv6LZ-)+6xnEc6GoHcMQ#Ne*Xz9 zN7?)pfV*l2Qqnt%V9qYVZ2C}yI2$Okg7WmhtYHpr_kjlfZqR$;e;Uc;hQaG2LR(S z8)_x%2Vh~KrS1e^&Ford;LazZw@ydl3<$;a-?6kMvQ?uX%En%2&eSNg0#$d_|YJO7@w6g#DPJP z8?*(uG!FwDLIuilC=`tNHOpn`oOOR%2wbrN7*R0Yp7$_Ve@6uLa@C zdF%mt6uAI|tf-_(&rGEk`J|GxEJ2*GltZ=vBMR@DF-?w|fspe1O63wP!EoH#sXaiC zB8bBJG*e`DK%DWE3w=v)8K(NDEodhIha!G`2xXq?Xlw#XtPesA$NDTnj(|$<2&)aD zES>&1ObE>uN+pQ2_~6C9@eTk&3i*ue{OG(@XRavEEDh4;{nodwXLYxZ%>#Ta|MYvU9bi^gG|O6crwUfX;P~NIgg13mHTLE3 zSv$a^=SP;~MTzLBXIsSDBabv4HMYH9YXi_bH7uh!sW=U+N~?>Q!@7*BZtT_C0l>j- zJ!R<6QbJ%QgZY=*?y8`!f3CFyfS#?04#1m}lQJo^BdXPCHk-Yys!{7(xRR+f0Z}X9 zK!iM2)i>iZ{kJeGtiKw}*FYu`wZ1$%qEJm6fGPpl&p}?)>@LpVen1L^`3t6?T1}Ak zb>o_$>Z6rvw$W&OP#4LMZC8df8#z&l4v_WO(LtgPT#@vU4Hq!k?9pALktgdWz?E;1 nU!H8fW~2Yxt406+`m5Fte2Z{d{L1Y!00000NkvXXu0mjff@tF5 literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_46_seviper.png b/graphics/mon_catch_sprites/catch_mon_46_seviper.png new file mode 100644 index 0000000000000000000000000000000000000000..4505f293f8aa88bc6e72637e094be8cafe7fed61 GIT binary patch literal 1169 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 DjCG4o literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_49_barboach.png b/graphics/mon_catch_sprites/catch_mon_49_barboach.png new file mode 100644 index 0000000000000000000000000000000000000000..9bbfe89b90e55c69311a0ec7f814756776897750 GIT binary patch literal 1130 zcmV-w1eN=VP)WE%#BgeG$64!t;;XBfN0l6%_4spZ`V)?ufTu*qa8 zIog`Wowo_3o-Rj%WezG<{TT)mIg01Sr&c>f3CZ z=kKmQy1pRP*}If{+UMG4ET8p~t`sOe^Rnj$GEP)>Cw&fQsk~z@J%i<#g}YBqowo`A4k3W5EP*)!PD-!fnYPe#7^>M_|;`a zJ7jX68T?aBHtYu3g2XaA+1!9gRrzqI70A(R-qkyS7d5~}{N9<^20gh*jV3}}No<(S zM8>l_s9_pSbR!jI{Xo+*rgTJ=5oP?KGI3@Kbi0Wtvu6&_4L0mI>6>h1a-XTa5$I)Q zu(iY{sUy{g}{Sr}X zT}`CuWL+C~%>M#ERbRlHiA*@9R0wDucPmEQ35tIogH)?wEh7aVJfy?-Re3!87A(Xq z1>*~bPeqe8+#*X!m9$R<;Kb=@QduORkowjqsx`FoJRN;s zIqs9Jx@~yk1SR}x$=v@<$n!9q{h&9oq?GpHub(YT;ImOSUQ@{J;~01+DB)K{5kKd7 z7|yM2x6dZBVp;im7ouk1RG@0)y>JXeC+L_jA7hL^Klv7hvr}7x(CN$l=bwRM-9G#& z$!!2L1Re9KQVpM#is0qkM@6;tg=$CT++VD1*d4CNSO`k^@;UcT`3Vg7965^@hC1T7 zPbu4w6FAo`MHR*EG7qCYSIz>)zXHd5l8+3~G5rL5v8cK!itf>P&-;@#_VP!R?FI1m*K>a{TlLG*%e w`~nIV3(^cEkYCkW4ElG?T-RRcH}zljH}&+{@g8%>kE0OXv000D9 zNklL zKo$m~7P3<&s;$9F>jLZ8q(e*HtPKP*H(+H}*-1Sr*vM_L-fd%D?V^V2=9*UdPv-N0LxyFZL;$qw2IV{dwYhwE;&K2CSSaJ2|!eqo{A2=+lX9>s_R|QS|*S6|zD? z4H&Ye!!WE@eN$!Em4tqbqQo~oS(&!Arz?v7EQ-FPj}@1Y!tQcpn+_$RdsTL5Ug)5& z|F!aJqCI{1yAegvVcF3pA;dR1GBiYpgeHzlU1zW~b*?@Gp`8cUTOgZJA>;)?SQres z=@J-9AmX^xb)O0aSHFOeesv9Ghy8LsIEjwK;M)q>5BH$&TWJ}~P8K?e4$}O^+SJ+A zc7h{N9hdXZX>a=+c?fn16VhBHjtgpNLTz}Ir1|RQMcmhn)srYmZ+Ui6+Gof&M|4y@ zurF0mV%aH=U!8NM`)Qi`#>=fJ*>&L*rKeJMeTIA!iR_fi35Ij>C(Z5!ve%|q=Pm80 zS<$-~MDeK;+@%=<0GNaH2ZroJM@f~@W4JqN_m3*O->h=PcOV$II_%^0 z% zNdQ zo1vp=wNO(H-Q!`LjQXB@!>Iv7t_^I>*1sx(-Iox5?gZq{(db))3ArR3^hcxgG%RE` zFkr~Ffv@}SxMy^JilaCK0+Ktv5K<=Y`dJ*O>3G$W-h!y-5{B#*GuF~99A||ZT3c~B z?}vBc*yrtTW8dAQLb=mxOCk9amm^!7Y`*m-BS7G1bQ63aXx*ipLirgJG91Kd7LwPh z^wQbJ0YeUI130lj&>qrF$SFZfY=nZ>yP%tn@>>*QSLi4h&lqxh!2k#-axhP@jSFbG z80FAn^KV@|v9K5NPD86L4ogXp0dhW`C#Y1}Eh~hOGJy-jJ4K{kQ4+k#Mx$(=08Wdv zQ%#2pHF2q5b&AkyA;buRV1WSn@}CM4d)cc_0)HR0gu@a7_&$FvZr?gBjh7IB_T2Bq th@kmu@fAx5-oKU*ynihr_*nl^{{X5vA8!T=1L*(&002ovPDHLkV1neFMr!~7 literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_51_baltoy.png b/graphics/mon_catch_sprites/catch_mon_51_baltoy.png new file mode 100644 index 0000000000000000000000000000000000000000..5700ee089b994cc8034792fb593d6c86f503784b GIT binary patch literal 734 zcmV<40wMj0P)tlmLl_LNfYYFdjyQUCw|0000000000009301ZjYV0007M zNkl_d{u8h)y-2fWutR8^U z8x_|BQ0gjJ)B%tMohT910Z=~aiNv(Ri3AWzWs0J+%_adUMiRkBQ-ES9;uR%zX4!Xz*>q?d5dgRSYKl6 zP~zuT0-Bx#|CfNaT`7yX-|{)Pmze@IzW_(z+_Q|r$cNZ`AmHUg!JmsyS`XjlOGH)P8Q!VZH>E3;0IFcwjc3GNR%+Le&h6JmT#|#NCRE{2#hzd{y($1*v-iP+N~1cd!4gzd4Tr(khEP QWB>pF07*qoM6N<$f<(eZ+yDRo literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_52_lileep.png b/graphics/mon_catch_sprites/catch_mon_52_lileep.png new file mode 100644 index 0000000000000000000000000000000000000000..b960a43ee2708a6fcfa8242ee8d126df29e3cb0b GIT binary patch literal 971 zcmV;+12p`JP)-N~hAi!G`b7-|xNePL`(K*FRpm zaR1hU^We*)y#7bO^XCO`(Xzn~At!l%ioYJy1w&{@TR=-1o%R+Yc3?lX=SJ42n>-tg zvg(@dA?#!XZ3%?1x*#mPqcsq&Q@*3x=7D zVx*r1M*a51sC+%Bh)AE>Eg&DgW7%1!Sd9++5v5oC^Xl1=7s*It_!gjtvVi1oI*sOI zVb}Y)e|&w|6_$FLvH_rbJ~#zH7`DzWtVE$S#N7vZ_Mv|+&yM6+;4tk508T$1UwsJx zPPiY=z;DY@S;~r_VcKv(bw=M@NO{dVq$qBUboM9&Soqf87mQLVp(E)uLfhG z>K>xa4TMR)hL%(#zlI#yzyQFlp$Nh7_|ezhf&6hSWzkm};?zHA05w-pk_Z+o+}wap z$2GJ&jOftmbT(O3bj{T5sqI6P zkp9WM8~_Y64%l8tOQe4wX#B-9B7{_9DgcZmKuKV?O!|4A@CF-o6MWJD@VC}9R!LvE zj$xVe{m-1tB!J*eGojN-b(4*fb=@asQWQ`RQ#wl1Q=-UhZha~a<(>6ZKq~wu40K{W@XuN>`@+z5MNY|eN tAQ#g$O-`hEc&U2u5~(Jg=6(Ht^&1M2#WIF>6~X`j002ovPDHLkV1hwb%~JpX literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_53_anorith.png b/graphics/mon_catch_sprites/catch_mon_53_anorith.png new file mode 100644 index 0000000000000000000000000000000000000000..bf799642b904fb8239c3bf2665658e629b2366f6 GIT binary patch literal 916 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 literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_59_duskull.png b/graphics/mon_catch_sprites/catch_mon_59_duskull.png new file mode 100644 index 0000000000000000000000000000000000000000..0c49c15d65b15a74ab8f82b6e133a080bb45867a GIT binary patch literal 919 zcmV;I18Dq-P)TDES3UvmOIbv^%tb0m)|@NVlN0mrSY6EZ%C^OWvV- zmn>PDcI?!-e}F>I&?6N~q)Y(`U=$t7O(gI4eRoGn3W9%PoSldho(jZI1QKL?5>80E zC*cIV6%-118i@F76!NwOzd%Gt(xTv>ZxcXJzXjwEXcM4qptQwmi$K^*xWE5V=2vJD z;K|E(nYV9(#NzP+AsNZV%4bOs9K%No@I*?fJeER21hS45jKERaf4GdZfThr?o&z;xnDuw>v4%KWE7p`)3uA8>?8oh9xv) zoK^zbVT}78Kv}fp`~j55#5NQr7yClWVn4{7Q(Tr#JFNsDH=s8UshKBMb(P2aqIhvp z6xY1#f-0w#K$K&0$@czEs`L9fKE$lff{$*B-_y%4#m}t+;>iWoPU*lpdWN*a_Agd& zol|OY4Cr=x`5ZyaHe@@kw?_bEwl*oRD1gPm3~q`~v(3li$ClcB<8-#sPMNKclet<- zxl>zePvbQhZOQ-y)z=|Rw7~6bqn*;+QpmeX!FmBoC0&)I&TGp7<*qLg9b)(fSrQVZ0xoVp-J89>hR zCWua@l5#Cq)B@!st(`Kbtl0H(I3)_Q1VLLV=kl#B98u%c4BM$*N=r_E?0}*!oh!gw zuH2f!gigzp^?9)aU}8x9A-E*SDX`@}2g;n6VN^S{14I@NK~O62;xU&LAs&lIX>+=A zYAxs&Kwp3mkm?)jLOQ0TQyzQp thUEL7il|>8Fj@FPZS*JY|3Ci1_ye>RhC$Vag?<14002ovPDHLkV1f>Yt*8J1 literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_60_tropius.png b/graphics/mon_catch_sprites/catch_mon_60_tropius.png new file mode 100644 index 0000000000000000000000000000000000000000..736d200aa413d556a6eb7e2890a967d93ef84eb9 GIT binary patch literal 1335 zcmV-71<3k|P)Ht_7{)0B&Lq$gRjDm%&?PB%sX;`@UvZP^acq3BJ-bG+yGyzdcr zB#8g+;K_f-hlIVmSI^9yoxP9IkfrFsAXm9O(;FABcz>38O3YZ&n*7nhB`4BmgiBcm zbjdd~6H_#{fp%HDn!h2WC2}-E+ffIv)!76?|%MAmZ`jGwuyNiZTP(-gQS@biUJ4S#gJAy) zK-up!nHx3&6KfGL{0$!+_!o=y~R^2cXWRS@0g$T zlu8<OyX}#V+kD^HfKpiC(WF*Keb~~2HFiKrq$zjh2EZF< zeE^G+D~am!@0EB3Luc8r7#9rTkQdC>wSWaVTPO)7c_bExD)ya+zj?lS`8Knq{p zt!n`Vb0`Q7E8D;9mQUjq2y23<==+S7!AATh)w&iywt>Tf`?B5HEkB4=u&^d@MT8!j z=2p+P7$rzF1CVAp_ls|!UES5bj8*W);T-P@%qZvqOP!<5)(wDE7AX7BHg;e2q5#}H z2j;O+ybcgy00kMoo@P(*Ij8O!hJn-^QjAszzlFt#u+@X%SbA_tpP*;~#v5)^rt)NFV?J002ovPDHLkV1ngVZ{`31 literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_61_absol.png b/graphics/mon_catch_sprites/catch_mon_61_absol.png new file mode 100644 index 0000000000000000000000000000000000000000..c77d2eac4f2fa853a642b718fa250d366fd93058 GIT binary patch literal 951 zcmV;o14#UdP)#l_X$-tPbZ{{R30DLFY(Vq$ZHgOsGC000000000000000XAK@30009* zNklQn_zin<^f7cN;W+3G>PMDiEl zwXH-lCaFvO=XxZh(!F3QsnnrTZeVzh_xZSw_ay0M{69mkfZ}NMe4@CFq|x(fB>4g& z$=%=ZNFgNJ-=?EoqW6(e^>hf~t8HPZRPYcP#g#+|E|I*=M#T&$C?bc|!4ZV_IniFT ztCb3h$U6*``PbWM&m@GjU_lW%*hK{4^<6Y4#3U9KXC5O5RmtKws3KB`H7B+z;*XJo zvLX5MGC%=D*O#$NPBTK<0Dp{JB9brpE|iIqh`Q#dln|}t^dYhXd9Jo;)!~XpwNC2B7zIImT(TtX z(T|GudIE@cMb6J@sB}Ax5#*8U^j(s^nE>Tok&|u8=6pLlD@e33d)YckC#|y6s>ms$ zfll&s0slu|?6aFBa#he@xYMf0zEhj!=ZhRW;QlX6yZ4nc#Z@6*LAPUu;(8en56I+f6-U(bnrP=E@jKmh5a z_3iF#j@2VjFx?z43C1_)Kw#Qvn4D+^Uh~?-KA|*KG}nd&%v#vk_*o)ijXD>&2EAPJ z>y{catk&TYtp`@fmqJ$~fO`kIzySr>ShsE+xT<>$)*_6CRyN0Ly(hjqVdQCX2e%bZ z#1RW8Ch5`kiUOz1v@$t+rQ4As;;xnpC@o*W12#Kq@^&|F_+sYTxoM503#8i{5qHg# zOg6ZH*e`;CZjDX5t=r)4phf(FBj_gXJ7xT$gx8dy?>9T@b)bp;Wg2A$_Y%(6;pS=h zucOUaqvI(Pa1{BG7dnW4Sm-FHnO~3=@ z2Hc4JK4TZR0YI4|6j8%Sed_6Y7;G_j9T_bH%#6+jpBG^U&zJ-m__Wd5GJx75laVnA zn?~PU!Tn9P-rl_xV2jz~(2w+H-VfX~*mT_XywMVX3L}#sAgosr9NwyZ?mNtN+8OS4 z8KA}VG|n8xdUJ`dd?XRbuXjp()Hi?%xAfGEpi@>mp_W#DdYf-QFk*=a?YIF53pq{A z$;^i_6ScIGF!t$}cT#>eg*@C1Kp_%Wh$ofu+XB#r_Q$kNfDbPLs11N;xXy{c| zH{`T;$`psO#n|U5HKLK=h;R)sM4F(PA6_y>9T+(!)|`H_IAfH6wUR7zEy zUNTzsX%$8SrKf(eD7CUY;XbjjQ4Pp*4l_%wnq$V^9a1~0^@&UvPpL%@EI%kkDjPkz z0^~lVEiKeWlpg7RY(RQL$tbWYSa_)qM~DnF%mBe~lyZJUHn}~eb_L(pSx81oc6wYlZdqYT=8ZqkB0l*tm7(5Ro@W#gT7ky@mwB*A8-$-ryl)2@^ z5PlQj!n@%_zS)_!yImXcG9BXI1x4$eIvpU)J^w2JJdjlGQ(3JpTBlx-`U2}P!d|C( z)~yNn4XRqFa=N3~oZkQ!<5iLJ#vcHrm+f`AkI(Y24jUSOV(Oj&ml0h$WtQIe{chM; zxYCX021S{DkB+!5qU~<%KZm2VZl^>2sC9qdAJWq_QdQML{i2~mfv!}IK4*IteEkpl decji;*KhBq5hp>JUuysW002ovPDHLkV1nYNya50J literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_63_pikachu.png b/graphics/mon_catch_sprites/catch_mon_63_pikachu.png new file mode 100644 index 0000000000000000000000000000000000000000..399c4904585fe6f6f9e6ea0dd82b47ac8df11d43 GIT binary patch literal 967 zcmV;&133JNP))pb0Oqs+_T~Wg_G+vE0Nwxq_BlBq5D;2gTK4w#{{a900RR60|Nj90hya6g000A0 zNklhUdgGY-Or^%Mq{(zuH68}Kb>_y>GiGreX z$7Heppnq4=vMnCt03NawEdd+Rk?*~u-rdE7`~@p0--&1OPDHc$8$>~kAIsOt*Vc2e zsL|Q>VK&Eth6smH65J-TlbbDYM%##j#RlQSS-CAv{Kfn+!RpP&4hFNuywm&{gDCxj zHj9lUKdTQfu(;VTeLG0%XDAvb4jD-|d$YyMO3(vQkNR7P5IYG3K;LKVzys*{Eg*OX zSPO`KKtwM+LaOuf7?5+71a&wX6%nY;u?47FfgDt3Av|-6Lo`%~D4-xmqY;1i z9xwmJ0gB%#bpUIDO1K$i%P-+%swIMsf4=;2513D85jWs@OVR1RG~xk1>oj8z+i#_T41^ECOwBomxYe2%9(9@ zIye}c4gBtmfLX4953AM1Jj9btJf|42w>qyX?9PWZ(WOg7oAZoffF*zwe#%D^K2l%r zw`Qb-1F!^ag&)$nmoPj7SFw7zj!`>YtQFiQZrc|F!`1{6*w;tXd5eFKSgVIY7d zfbG}Dn4JObVcQZ@zo0mD9l%BayBX*PiF7~buKi3Zb7!d%4A7%-*;CL>vHj8V&MJAp zJS2`!4AHQkVE~iOyHE+UD<Y=Pt)n>qY{tcLnjrw;Fe2QOgv+PcEK4_ZQK!9cfWeIp?is$ z_SiA*36rMw4gc0LE`;5>eh7K7Tikm{bH>uV>k1TNNnHzG?h+?755u|+!xT3H@w%%N p>xXieI0>7di$U#H_W$)yu0NeUJvZz!?9>1N002ovPDHLkV1julvxWcw literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_64_psyduck.png b/graphics/mon_catch_sprites/catch_mon_64_psyduck.png new file mode 100644 index 0000000000000000000000000000000000000000..609a174e16571c9025d580c980621545aa8126b2 GIT binary patch literal 943 zcmV;g15o^lP)BjE6vwqGO9w9@QwAxJ?5EH!$>J0C;zFqoYjGh<$575TasmxXBjLl) zy>`BUExWrx{Qz!1L2aTTB#=#?p?7Dy(L2edp+lFv@qhPz@Bg0f32WMO{Fm6;DwO?V z`47R^mY=8l?8zYCXGQo8MmLAfSl$q~#8?qu6fQ2IQ`0KS@C*wVlZru{gHS<+XCSnJ zR6IS(6L^NN@`a3WPS?cGP&8A|Fl9znn|~zj?c}eTQy$9!!|B zOgcm?zWyL5_^ckdreP+K=w zAf-3mY^Am9@O6so07T6Ir}vG1n7*|B64bWmgQ?=FZ$wS z2Bu2)+Ko}KHwkSxQ%!pzIg=1$up~{st~Kd(0+xYVL{=X1QP|*Q9!WzEc5pTGy=_|r z5T-)YDmx!f~3#!lpqX2=i>4=(HUb_rs+-@q1yK) zDC1N|M`Chgkx>QH{x}+NK7WwdzRC_s?B?N(ND5ij>D#%`;yA>C3wJ6R$I_4r5^K=- z(H|t_D&tgd{sy_=K3|xxBf+wmdD!mG$0EO!&<3Q+TC z)E~$3%uzw|ySxcx<#ax}n>bz$gQ%c2$yN20B>+O`i1+)`QSOT;ye8QjKtQLDe0u}P z22Pi{%m8|`yw+_3LEcKQcc9M7vVcuG;Qi`ud6_^uAtW5v literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_65_wobbuffet.png b/graphics/mon_catch_sprites/catch_mon_65_wobbuffet.png new file mode 100644 index 0000000000000000000000000000000000000000..8eb019f38384d3ffe082ecad6927fb93fce247b3 GIT binary patch literal 922 zcmV;L17-Y)P)riC_!kZ4gK#UEQ(XhP$0pATBfmPifPcjjv37u=1sY*<1o)|`hon+c z@K+a5kvj~>4JcjNAU_ZCAQqOz2(t~+>d4vvd92x;y&{L_*(M9-fe*1^G0J^Plm-Is zUiOB$!)Z(PrGb@*pCCVK#K2ZplIjgUy|!y;&J_^8ye_AtwN4;icR6htO8P)-gYvo|Xo2EWQUm0;5!|JZ z<)hDSkf&~vKq9=7)Ee0Z|Lt=52)=1Rg`x)CX5C2>vq~*$P7%zDJyiomzGlZS z1Y>+E=-Tv#vtC%&Nv}~vBh0#9i)6?KJhAV8h)N%cmd?s*z$Pu-aoJs1g=_1#d0p>U w>TCZGs#7nmU;VOv%4Hk;;kjn;dj9SC3H4tq!cRx$x&QzG07*qoM6N<$f__k^Hvj+t literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_66_girafarig.png b/graphics/mon_catch_sprites/catch_mon_66_girafarig.png new file mode 100644 index 0000000000000000000000000000000000000000..86aa61589fc037cc378a245e71e97b9f8f02458c GIT binary patch literal 980 zcmV;_11tQAP)Ndh`zn6xkIK0$WI;D2v;= z*~LOZq1`B@XqI-3>qP}Y@G8Y0C&hzy{s!Mf#bh#DTBzW`VNai(`Mj4m-^~L2vnv4@ z-#P-%_+As9?@IVqTH_F+k4+d#L@4Jq4zW7;ksLrduW^XAiXX`V(gZR%gl0ThO_J44 zQc#ii$zXT<;3_h6jj<2$Wl@wUL-y_cxtW8DHr_J!d9Ek&mnW) zi*ooTa%0K`h}N=vbSmyK_JZ;!c-VKdojzjh3$36(na^$?oeC5U`&B&ftbZXZ+GOkv z-9Y~v+sW|JsTgD5Z}qXVnk4I4jvWnSe5#wt)2wK8Do}LWzyoTu_chDASRlsIH#R@z zL?cr{*cZd%z1DAK4`6|Bw=EY7c<(ZFpHz^^SC+{YYE3NAH(g#J>)$68WU>^YsOkES zz+cXyNZ@}`A?5|hsS``ILrzZkg#r&#?&aw3RDhTlfY7Jr}s{^!u4pjv0yI5qKFqLa-Ir(FcFr#x+hHa_-Wf-h~s!5 zh{mLxr-IUUVRpEdscl>RIO#bD;b|(&fo!JyfNh_RIs(_EJdK@c$Yy$s8n#VmBcatX zL(VZ3zh>taM10NmgpTf8atbl+on1j>bu?QKgKl1A z>rj_)Z1wl-ilVS(SDT`!th=yS&7OdH*6AGfcR?{=8K=LmI2=ofbIHBA`r~QIx z#i}T0=7IFY0~JTcSFEak#j1F9Ulc9VigJ1$0^z5umIFt|S1ccvbl+71;RS}JU9VAv z!tKz9%MoS$BQyyt=+FegVLFyPfB% zwhoQ5i(Kr;TXa;-YS)C9!p}oRuF`2IpleF4E^ZD(N3AVN|Al2-@gt|9PZu|nogGlx zJ2H=ytGJ(dQE{`1y_0RZNXC_Y_NQMS1^>VP_WA*AD!6R~9mSRa0000hnKq7@7 zAhmQ-gVd7wDf^>jiKN@00S4?;0*p_h;hU9Ac&3xKtj( zvzN3q#b?drQig$T!{@SOj+G5Gf_gh)W94x)c0<3JEc>zvV_>U7cBlvqu-G#LV+9mr zV!KBnTREN3cDpiTVJkT&xLe zxQ^`0g|XxKaV-Q1JS7@r>j=IAgVLLX2>e#nK?_JA0@Mjq0<_c-x_SdXR+L=80{xUm z1w6Lfy%Y&nwQ-~f1*Zg~hC{e@)$JNrgfL9sFu0L}W4$RNlVfD*JP34xQQsfq@iMRy z7Gs`Jj?;=3#@R)1tZyR|hVKXD7Gd$beL~;g(TWtt=u^W64&^#%uSN|5rdN6*ULb6gAH}wcTCf8Of32E^} zF9gnkdM|L!fs*e)mbdj_%&UYlE{u=$$f~wFp=3q9z*)tutlXZ@OU5}ov96x*_+6gR z!TH%!OT$5ltz>iGRGuCIbd=&e^}ZM-`Wq9xmqmXPcU z72n- z9Y4V{)tDMBPq#Hsn h!OgDKgDgXbA5D*Xm0000000000n`%n80009% zNklBl~6vusoZ}O0E$(AW0TbB#T)+J=ka7}rV10DjcB-45-Sh~W^J`Y{f zp>z(E_7jv2zO-^k(1)sYXWhw;4Gx_OdBY(~*8lhZ(tAG7dyd{QyxRQ!n^0zc*(0GR z1N?ZR-{+IQfbIxW&x_OEfbKwZg6E_+pga6L&qWKk3(zez%|)9~7ob}xjVW#u>Hu^L zU4_Z8O{g7El|?HdOr8L!%A#Fp)}CuCz-Jw0F}#9srdlhw9bif#Zn@1krQr-7@96~S zvOsNR!P04%0U)1Z2L)=mXqx*{ZO-jztddMpJZdf{}2@} zAdrVP0ZcBA_hd+-#n~a+G_f zSOAJjPE@r8rSv5a!<3@m6t6Qf7W_DzBT^=m=y7Gi*FrqC0L)53iVBT+Bx9z9QYo2j zlcfdVI8QMtDKNFRpkG&^1rR00`iPi$n#Y_$q)=+7jfD)PFhL`r)`CAHMW8G|6+SC1 zo2m$NF%=XMsffKxV*v_%+ z*1~N?3-D^868!5X=kFg#xmht5Jnt?uy@L~zVd+%<8qiR}U#|tdymtvp3qhIXb0bu^ z7CaYFivV$yl!Q9QR`W7R_4@*qQGLY))Iu_X2wI+<8~*$gnHr(HdP8eKW&jv90A2}# zQwonV#kpic@JQ5i?E+|P2`B|+)0&6!nXW@piu$Q`0d$e1R96K~nwjdpPyh-y{}ws` zzV4pfT!L(V+xB32Y!Vi|00EjIV;Sz6-bQpe5zuiz01_+9tWjWtvlpwu?Q!i3KiJ<} z4HoSDr~e}vijYP#{dd+RzTkHQ#RSbM*#$MY_dx5t+JVaOHpkcV0$v} z0Qv?vO#y_4RG3C=mC8)*>oUIUshI!}d`+P21fb-Ja-p?MRL8t$L8Q3p6q<=nLj+tC zWK)1_lH(e}kb+?4pLKEvYlUDx0my&gW=K|SUwe%{(;Ld2o+vS0=^=t6hj~;aS=rVT zy>PlpGTTl7{YqEfN{QZ5XIRbw4Q*?C2XQ*xUG-J#11R(>oq$96!x`3)sBG1gFLe*V z&4=W;y->&)Ka2oL#{@oLt`Z5!>(-#oxELCRPKQFKxX{kiwFBQ1AzCmLTX0<{UAZ0icEs+4UOmzx*p1*o zDSe2RZ^d%eIzwBQ13*W`C9BFdZFoBZ3S4Osx<+{Z8yG$SM1Io|y;N1n&|o)ZzZVMx z09DK|&JoZbHYK%=PUjdC2)k=-IUEu>+bSq7sbLKlYSHT?0r+S*TKYyr&JIy_ zikBFY^3+4Q3VzU!xUijN)e<)4Q123)QzMRCR71V{-ktX6Vqw_M#LLsBKZPoO-S5x%*5#s% z*TC9xtj7c$WF@zku^t^^-kzJALBOz7CF6E)ZDDO|yESe4O(j@wjlzS|2*$8}XmkoU zrG4rkv9(pOutVgTK(B@jmF6<;k*n_$yo~ihQ03Oav{Nd}hS%c!?Hd28697?r^|n!l ziPC!Y0eS9b^#>D@3GbuDO#gdvE4d|@n927*j)rkkeV5*k);Q}+ZY%Z8wfCP1ugLvU w)>t(RZ}v(3r{f8?b)4bl&p$c-j{j!-3#XfSoW$QcasU7T07*qoM6N<$f>tr$qyPW_ literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_70_clamperl.png b/graphics/mon_catch_sprites/catch_mon_70_clamperl.png new file mode 100644 index 0000000000000000000000000000000000000000..1e2b57d31b3cc24c08af8e0f4d2b800c57f80a20 GIT binary patch literal 1062 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 Bc1ZvL literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_75_regirock.png b/graphics/mon_catch_sprites/catch_mon_75_regirock.png new file mode 100644 index 0000000000000000000000000000000000000000..4f91a05b44fb3144836665d8ed4ed6450022d9b0 GIT binary patch literal 1334 zcmV-61+S^IT#oibXlI?000ER zNklq^lc3EYXqR=G)B6xceGx3a+|tq+h?GJ=kET$|MT4O1%UtKKNRrs zpJlr*_(iSN#o(jw9;8F}o%`8G<1WA2uJ@GxT#O4VfaZOGN+}^R|Dz;Xp>P=S6;0wF z^7(_|n^gc=1pxI~gAi^BmKsJ@DC9yaA*5d5i^GLbI0{pMyUj(z(W{Km0iWH{g1NC- zTnM4hNR86RLa0B__k>f`BP8H};nFD=+CL(&)qu1?b_y#(rRy5K#)aHyDYO98WdH!B z0|;5GUgAPQMkoviFJP@vqm6xh8-;^{1Q1STK<;FnAjWPy3latkCySnr!tfl?ci;T_ z&bK~~!swL*5Kd*l>3FRguvU#)E`-qR%)4|kj0W9j^!n?y>l!Ra!>Cut0)$f;aC)Lc zhFX;Fxo!Z>(bde*m@n<}*^OF*VthIr%+ND{a9Rs80B~~o2C{$)(P9Nbr?U_mg@c!y zRFvQ&b~*@qaTXw)N`TzuSO`t{P%&W8`Q`OY=(6AMeP5>{Fk_ugyBjY7G<8bY5&&}J zo~<)Slw3p%{ysXJmE7q>?H}kS;jIW5D@Rvn8Gtu;x&Wj?+uB5w{4EzsqWN~_!l?ff zrS;15%PtB!(QN)5VBvHD0J&jrjX_hC>`$2kKc=^&i1t8~K>R180V;>R*AgIgDgknX zw>vCY7bUw!@*yz7nUFGRci&T=kmpf9Fx%ZpECGa588CRe4bAmy%I}1=Dss$lwm?B& z87dd@aoA;!b{xbqfIF1|on4}7o4n$>Ywj@J{5T)bJVzlr9!BM37VEwSWB_+60YH0~ zu){i6`m&2O1M0W40kx^cz=i>Gg8;>fhGc+nDgn5V&DN=JJsCyE8VeReR;AhkI)7SJ zJa-EeZPtXe5AeDgi)l3gLS~ zFpm1{)=2tuAqDy|$c=t>vCE-~r^OOLIF$eZLCIccQDgQ`^^Dd{4X3#4H9I zCTd9l;Zy>op<7t=bPMFp7HPY($;ss|3pScDSfdq30tlxP;EsZA(bKFpP~m7+acqSwOnfx4(#s+;VoNm%= zyGuttnpkNAbmZ)K)z%V_$_+ZET4FO?Ov6+>(@+Pr!rndCi3!sSsjqt*-cI skxwT4s;mW-_;2SvBoyOb3ID$M1Btvm<^Oiy(*OVf07*qoM6N<$f?eio6#xJL literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_76_regice.png b/graphics/mon_catch_sprites/catch_mon_76_regice.png new file mode 100644 index 0000000000000000000000000000000000000000..06fe2086704ddea56aebaebd1b327f81d3e82526 GIT binary patch literal 1202 zcmV;j1Wo&iP)4SUA63yJ$tsH=^b)TLn80|kIs_b3VRYQ(7!yJ2TKj-c z+3FB*OoicxaK4B*N#iED0MZ^wNjQuIQy}f+*j>c@TgGK=V{22k8JwT-bo$jeyU0r1nl&OC>0|7ty1v>XkSAx!$g;u z$O4#ePdpSs`Z80p%LagCO2y5URx#bi&wUVYhgH`mt{(($z0&<1#O#-BeTj)IWIY1N zqEISsFH@z0C0_5TAmI)LHh~oGAQJPs5f6T_`0MpL!mbsrA1!J?TTDQyh!Ct)gl@f` zQeOyp9swg07~KVeI@O8pHHgd|Mt~O*++mP?&<7|1t>Q|n5OclX7|*4c%LoES3ieHX z)-BC9=Zj4GaKX!hkCuz92K@Q9R)J2H3RI#K-OXW`IQZwW2~1|L7|e8{hq=r?NVr(@ z63UtST*W)X`La@>oT3U5Nqq-8ZVZ&11p-)sKWA<<)tAqo!Ry4iSOYJ3F>|vT&1SHhG`HGm^vt>Psh05o7pJp2t+K&2u*V;=E))q-WY z@e**b0w5-ib*dIxxtAkA#d)Csxx@&fy#Ex_^2z=zoz8_a@MnJ9s94dgX0k|Kett#b;Eb%X>?~(1;vE?Qt zO-4?dIwsh%rw>pK01bfp0D`4fp$ICGte*t)#0F`el2MwPRvMcp<}RRo1c(}N(zD~L zQt)-9y{D(7gRP7$$1$<4?ThyaD8DrUxME?Yl~aP1HeRFw!#Aq$1AdR}zF!^ShX56q zZbFxQR#m#2$LKhHe4*6Tj1Ra5-iI$3*dV{-OAFyq%llzV|dgCvLQM=I6wJj{ji%11jTzi<4ib Qwg3PC07*qoM6N<$g6iNh?f?J) literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_77_registeel.png b/graphics/mon_catch_sprites/catch_mon_77_registeel.png new file mode 100644 index 0000000000000000000000000000000000000000..22f90bcdfb1f09259cd4cbd9df57bd2d1b5627f5 GIT binary patch literal 1072 zcmV-01kd}4P)Ht_7>ADMw?<6lSAm~n+JP5X^Ik2spxKv8Oc1UArNi#SG zIz>y-zeTMzaWK-s9jVGcnDDCuS_tdVj|o(AKrXei1R7y*8oNj<*3U@SGZSqS9go)38B@3i4GX|&0IAy zazr_Q9=I_7Y7sEbcLUvSPyxnlWag@ok)u7%DfeOi<%~1Vk{#fLQ~*NzX0A+)93kv7 z?n`ouQ_?p9t^_O$z$RCwMvjnOFg|#3cX{h@S`>c+m>U3eX@aczZgcY)Y?}{cBbaQ>cPrec4k+V2 z0`p;S0Fd{P_3d&yviAcxq-_>Obl8^zKWe5Gpft6YzrxdHGYKFv|MN?{>GaKI6BX@g zz-SPhfad<|q%ze28&ezq@?PeSGKJi2;aJ_=_HP*5G>k(bM7)N>!27@NOf|sPG>fr6 zleyg55OTcAi%c@?cV21_C$XxZp;34Iyik=6Md!6*gmP#qk zQyZXx5K|5}yp^YF&&sp}T$iRA|glD)@Ksm?AI?BD~)^rO9Bw%A|1Ke7n zLaAPJULbpb)DfXa9zfchki;UKL!+DgQL{94E5Ozij>Ca|=@5?MocB905!vcY+s;$K zjpZA*#fOqPZZ}I)EiX+I1dCB8pkFNtJls^z7rDt*3Q4H0lSqamME9~WtA$1ZIMr#9V@L31+zPAw}*m|W>hHD6e<~dtJ4-)Iyoj_ zStnx>tkuah6uR3>zDt^;j=uIg>?%4m>0$fcj1=uiH6%2Lu0fLDy!pNV|Gg&}#{c%| zeJD`>7+*`r{~dIVoc;#ry_NP)dbu%((v7%8mp0;eJ|~kTIh|Z@7I-9I-yPIXk~oTQ zHsjKA{2q!JXHj$hpKmEQG~9=E&fi_I1-EN?2k6BHf^?iWF%tP~Y2TdVXthe_JW zQ||W*5!07%qm^aST!Er<^(`@9J1prq21c4ukX`F3^MA4_(x&{fb&5EMtj z@5%vDzMO_tmX?{cOsr}FREmZ$gkDr=-rSX}b}WLw6`qs{cEe$>%7%%SKgKm8ey3az ztcFl*s>3t%{-Dc)H!4hg`v-jM*kxt8hL(xLi! z+>(|_H^gIWA!}6JJ0hbFhYJP~{`tuQw9jO=!&0>TR9Plm(VHnYurLJZgzYaR$x^+O zp#nJ_HF?r$faUK+@a9-z8!EeDm(|`era-~K-PEO+b%(15Jy94VW0VnJ~(if2=+Nzb~sCy+16t3YVs>+9ns}DrKCX;MVBa} z!`$T@(3{OZL8VpZFQQfldj~_{E)L&De3!&v(jn}`p!~AqE z0$q@ojGn=bi~Z)B(yt~68egt~vaRP3ef`X(ngQ6ItwDV^NglWP?Eb$fy||w7;%|uY zs2$qD2^}uhpecSge??$C4!3PfV5eyE(A@kSWwZW zZVkZloY6ZN?a-)LUEN?eL|TG5~2x4Koy9PG8^!J#HBJjN;?vdVbAjQ!%Bq zrYkkfx{6cX8J@UEa&tZ3Alde3(?2M+G^J*qV|@AoE9ZLc%yJw}y?|*g;~CXYW_t=mXIeZ5Q>ZkzDw?Dj^<40mr-rF3GHLF*@_kRcVD6~` zW<@h+&Q{aSJiWA;VxsA;^=Ot^sRC&y=1REf=6aLVYpORD3aA^iS*riAt^QlPao1y} h3*cITbqOEt`3E^x+LfM~U-|$5002ovPDHLkV1nF&fkXfR literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_79_latios.png b/graphics/mon_catch_sprites/catch_mon_79_latios.png new file mode 100644 index 0000000000000000000000000000000000000000..7a116574420c76a8c6e111178580dec911a64b4a GIT binary patch literal 1357 zcmV-T1+w~yP)TDu z`w8eG%s8N9QNtx9W|tRU?xm(kln^R5^S+{{?S^OJ+>8font)KX#=>SwDh%B4I2>!Y z#cBzmGThG#t+pdT1(E@qhBc2Ibh8x>$ZaVBd2U=_RbSm=0sv-S=|-y*o+K$5h(Lv* zi<;4t1!&7W$Qj=-cUguY$yb!j?W7~aE)Tldszp)RXzMYEO}P*_H_Ui|l`!w*glg$( z#RFYBvn&Q`l2A}!rZFikV7726PN>9{Qz4ShQ~+p&pvR|ycSQGFnW;wF5P~j3&~b~T zm1W)hoDDO^gBAut{1dwlaacQ2bOh2zaps+67)(ddj(9gm4QU4wC^C> zAb6cJP-=>nLXs2~@c9C4ZklN{yRP6;^>^fAU35n4uoVv z9(ayPNPRfvpD6(doZJh1*!(jOGVtcB#55OI2-)!*Lhu3Y@C8tnC4``#CbTepq)k zeo^tJe-fKId|V`(!N<;_Wj!8V1Npu(0?=0Wb0GMn|0p(f^PtnfwS&O-u7Cviv~O22 zfcniW2h!F?UTm6=W8Zgt)+oIKsvL|4C+sHQay@=6B+d4{$aIrXlUDz*nb+V#C>TEFX1B?T$g)tQ3?6VEyg>ofluhP5XXiKGduxaV}B9+~#fE|k2f@^FM>PyTk;@xw(2Jpq}*RWA48hKMCV0TkncU2*c3kGiBG(jyX9B78OmZZCX!`<3s zoE1n+BhX}JU%knLfF;Or!W?AanZ)kA^oLZQERB^brb^&HZ)htMH8VvOT%WQ8HA#Ru zs3*Y2guQ%{uA-}^PapcQp}PBOX3F+8xQr9Zx-?U=zrqS`pvhPYZ;Ql0kT*TP$7ZH> z9S+2{quFE}KG7w)^hSY3R-l23N&l>n6-Z3kUkvEW-#XG9gye>OiK3mpIJRWYv@y#b z60SgO8Y-%6J1@Z;RD5Hl{jvRM{)Ry9`wWyX5Sj|W7Q?!@^A93-M ztUziS&f!Vzyj07ZNZ1>BGY$o3ryd=z5gflf3p1x&Mnu`>(NN~ P00000NkvXXu0mjfaCL{g literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_80_jirachi.png b/graphics/mon_catch_sprites/catch_mon_80_jirachi.png new file mode 100644 index 0000000000000000000000000000000000000000..b6be7b467b6782e617b65f198fe0557b59332713 GIT binary patch literal 1186 zcmV;T1YP@yP)hFZoNuSIM#yF(t?4Yi?B8xS(wffN&!28L8fjhUjfK__B*O8NZ3vP3VZKm) zIO{s^5;7QCMlK^i9P(qHkgf?Ke7M>@KO9{pgZo>{SR$02BSQLp3v0DyQhqp`Fc^|$ zLfLW31PXAntd#315RRbnG67)6GPw>m&+H|oJRw0yI%f&H4#zPe7>YR0z0C_}9pNj0 zZ2^jf=icUh7HbI7nPXd|rgHEXv9zG=lvPOc?k|I}jP@FWWD?6DwKuTfzIiUBS9zK* zd79*4KIe=8Z+@30^!peaWIqahD9yn5`~J z0{Ew!jHiiE*3$)n23Z2fHM0NTMHKxWYgnBN2~X3{A{)Xg;Z6_+504!G7x3QzAD{e_ z2qm7*!&!K@N=Suz3s1$sKcUbhu- zB}w2|tXz5=_aBw?T{s^K{PBENZ~Bd=9=ESRj?=};Mbz_PQaYu4)Up9AZ1Yu_dXRrB z4sa!r;s;Gp_F~^>Ze!Y^Tu376uT0gRbVCo6ylK!K?O=ipAdpuulSjQKo3vs&#^$Mb zm!DYMi2Y{AZ?$O%LW;tFu68lPj(ysw$89#D(_n1C1yNJbu1*}sc;Ut|Y>me3Gd78i z^iuT|=GR~x*00Wg=(d7KMZ$(v;-kWXL&$jyrc#z1=e@KyJhB8I3tT59e2i4UE9~hH zVzn5Ylfy&^_I1V?N=*G0eN-1h-$G-7Hvv}!PEOIWxUS&_xw!IuIyMw+TAGmwFT z;)RVVeJ!c51z`r-;X(@J-e^;K)DBdzUYcu+KS-5(O|d18cmMzZ07*qoM6N<$f}*)A A%m4rY literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_81_chikorita.png b/graphics/mon_catch_sprites/catch_mon_81_chikorita.png new file mode 100644 index 0000000000000000000000000000000000000000..870ab0dc6a69ec5b96145e1bb18fb97e5dfd1f93 GIT binary patch literal 978 zcmV;@11Y))=8uz=T9;j*0b=`WPpr&gs59lQHoNzsA%K`NJEsa0P+TCu)_iKu@_onM( zLS28tlrlk|r&MisMCnZTLzrm2Ghs??>v2;X>Uk;$fUs9aw#7N|Mzd$Ui~T-wlug)VB}rx$!8%Pk03In;#2pSljKU7~ zLHrrCIXqObgk)_(o0Lb`OA%zF0!0O2c1Z?BsamoC35#IsQVF2~4~Qk)wTG~xl4&GR zlrkDCh$WbgFb55KBmdL&4$KRt7}^vVRO>QmSdN7;}I)j_eNwh$F2J z1)@xuw1Jh&WgtOZ{_zHf4 zlHo`*&;2>oZ^YR-!8822Z2pWX(B1-&hXE4TyD0V*UgCn!MbRe<7*f&oY^E+Pwx@JROqkM01!EMc zyWtZM51q}O#0NNkhjeL2`kVoCFRqkST_WW`9vJRWvz!A+WtFs$*=$%=7lbI2Q{w>2jpkKVLMwGH zPU@CrwF#6dC%I7V+7>|h4NVBNmCl&;1{`R2VfUsSyLGeyP~Hcc%cl^^fgoEtsTT*j zn|kldUE2aEbWLjaDr-pEK6rptew@c z-gH5R%Ja*GK8DzDFO%6~wzpIQvc+Ov(acRRRYyR+%aUZ4?yFh?Abx+ZHS+`S0F!cS z7D7R9I!%&v|CERTh?neLGndP`(#xjRhoTNHPeEudAOrwpTq^CFnJs2>dALjqdto03 zt!a{q3;~ett5G%+jHdFuo0c;KwDTeQJJB6?^NIej8ad0j_38q~DoYDI`aZW+VUH|gipUsY3nT|8+s!y_U zFvd=Ror~fVCIF%k<6i7sF?sBYW^$+6>+V&6J<#$W4Efc(14v)sriJ~m?_zLjC~rF> z?0H^*O9LYP5K33CZ vdUsLd58I0hh~xOD3iyY$1#5tp^{mz(TXZ_e)c-ZW00000NkvXXu0mjfnt-OC literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_83_totodile.png b/graphics/mon_catch_sprites/catch_mon_83_totodile.png new file mode 100644 index 0000000000000000000000000000000000000000..2e1d3b3d36c2cecb5467970e65c6c91e487cd96a GIT binary patch literal 830 zcmV-E1Ht@>P)0g&#L7huNqDR{R?-*f(D8c`@b(=58(4yf z-vH=}eMrI``FcQSBnV$ds=l~YB#pBlkHqZdZ6DP0tdH|T3MAkV&bONk*0J7#n{$3x63?ax-))wjnG~NLSbK%q* zMj*6KK-3p4L?^&&yu%99D+bu?(Nt5P5#sUJ*7QYyH}|d*C?^cC8G)AO{0t&t&a?Gy z86cRpR#@)_37`u&Ftb@b`T;_T^lFXZfR^8lcOhskjyNFj4$68o25H&1TQ30?-i5t= z9Y18ep@E(Y?LzELR!ca5dxui*1E@6Pjq}p_WQ>0c=;Pz4<=+wj1n`zc%)QGKyDL#& zG97=X&bCP?qAjsTtO2)Mr!DVh`RFGpp-8!qr_C7Rn`;G-=H^*II$0G#-j(^um?k4g z=kO$Dgx`znP+@J-_EzVB1p0Bl5+d((o^6N97RQBr2u*cUKon{rna~12CQZ$HO)&UM zfIqgllnbFeE@(b=1KDPi1wdhGbgOaL0HEo@v~80f-WAsn?oy*Q6B2WP-D!Iui5mb$ zARnA_SoTSsgji*sl4}4fSz7=^ls|N?o{FxX(hBh_X1D@q?nYV^FtC7_3#rePvu)th zTL8@ogJXaJL8N$O3)HR>LPbv=u@yiYmiL=0(h8{~J`jaUNFm&(Cs_ixj-4L~Dx1z6 zGsBO17#kyma6T}(0EnSOP^d&n7hkGb&3;HJ&$~nCS#9#hJjv65h;>R8&?p-)#(uc> zQaTH|^8P(g1%0=IWdv3F?7%bmfB*q1^_D-3?l4X-KjJ@)e|MCh8+ish<^TWy07*qo IM6N<$g1TUI{r~^~ literal 0 HcmV?d00001 diff --git a/graphics/mon_catch_sprites/catch_mon_84_aerodactyl.png b/graphics/mon_catch_sprites/catch_mon_84_aerodactyl.png new file mode 100644 index 0000000000000000000000000000000000000000..ff30379bc419f59f07fad18b2f09b68b7a405480 GIT binary patch literal 1263 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 Q000002uVdwM6N<$f|A5Qg#Z8m diff --git a/graphics/mon_hatch_sprites/azurill_hatch.png b/graphics/mon_hatch_sprites/azurill_hatch.png index d9dc9f6955c1674a6b9b15be49597f88b2c1290b..654a04ef81c50ae7c0f6816c74fabffa74562c6a 100644 GIT binary patch delta 1326 zcmV+}1=0H03EB!FiBL{Q4GJ0x0000DNk~Le0001Z0000;1Oos70M9TiOpzf!f8|L; zK~z|UwN^cE8#xdqAoc=f73mCf2}hky+AY$B0?55y9rQlV7wA-9*mJKHz`^`Q?>UQb zZqL0|0J70-m)8%)5p7s;o?8XLX)}S*sXYr;dF23#(6)iEy(V7H?4VZS?Bycl<;UR&OS7#?ch#NgjeM45B)?0gSpS*fg0B#XC@Few# z60V1EVV}GN{~^AHAj`e?>srU_;vYcWy7R4k0kh>fv%+*#CDU^SeHNt)$W|e+Aws z(y$vgZh0xOEU>~;uvzG`JN$?cFxht8dG z>}UZTZ-YV=8YuZ4!P?G;fh26(Wfr+tr8W^B@cZl-e^m$N=_!C2B^tsvOSJVH$m__!sWXoHA-7GN zG&xa~`rV-NU{T1?lim|JHj}XfF0u;OM;B)V79Q^>5H@&!5}%*8ds=sNRH!qysed+b z1Dr_Eeg>- zJeDRFsLsdqkWVB!1+OQn1+EV#F^FQ6?c@y&4ydogPN#Q0&gWN*@)#Y49s6p?yUEo$gilH!of{~?3d0-3tj4bc8v#WuRCcgIf` zNt+gNiV|?5*Q7|^{=Noc+2(!QS3U z&h6Vfsu3+0Li8>5U=2JAIZ$t`fB7!NN1=n5g_wgdTd~@S?U2M>68L_rLI)_6GCGP@ zDNB>9EItpd7i@%Q8()Hnj#Bx7tkO&k&WGxp|D1&mjFssCszm3C^GpYUBsv8U=7D57 zr$B^yj7~#zbP{b8&<^Q@P>GIdbfROe@Z3zRkNvXs-Pxgc%%QQ$QmZzfve1#sKv=C{!9Z29evO4+sJ zIz2OPvoNbHm|0yUVeD#se-SI1v5nwB$UX_;`&|}dMgfZq#a7(oa7(}gqP<7b!qKmQ zsGy1Sj)mTACpHei(W+p}blhgHm{QSv_>IdE{9H<3GPBIWEM=}}?z3>s=hQb_ ziZA?Kd_(rVi0zCRMHFPE?p7CKk76QmeY*lt*Asf=`u07Djh-#Ve+>h%%gfrv)MqXQ zHKV=2AXkKdaa$DV9!)@SWn@*Eoa9I!6m%torD*>qZ3|4mGFXhbjI7s zD&Yn2B*IoZ&Buths^*FC<_N};=*!_fO=+A`8gW~240sJ;p=bn5X6;wj0#I-smKlST z1|_95UZgaBlF|xce^Bg;&9yre;&8}Ew$8dm$I3Esa2OQPm5F=&sL(WJ>0mLZAAwvXb zo0LIt;-W}tCB*7E5KqeA5ry*`e~KvN-b564*8rpu7>^h5e`FGPc*1zHXrln41DrfU z2YsuO-;k(^M41Gl$Jk6sw@KikJv$@_?p(?45un6~+^R)YDWYATxy>fJ_e$35c%6 z!!iP?JVZQD01y_|pa)`w&OqY5;MF$Mr%E{i#tX${d61L4{4=oiF8@O7i=B*B5N|)k zUkKBijlzCJZlRr>3vna1BnZe&za@*IN2{?X@(w);f7E&}L|_fDkK|D_A7sR7BWSD< z6B_KjehyD1w3oh;f|a^-_U~Xj^pk-r>3+5Aesv{vNkAH-t9ZDQ`m1=nlKS($zmkRx z#NVbu{-!Ib4&gGqlIpNDy_iDau9}Wj6mT%9>kMToDjq9806qA+k?&-kBme*a07*qo JM6N<$0fOmMIIaKy diff --git a/graphics/mon_hatch_sprites/bagon_hatch.png b/graphics/mon_hatch_sprites/bagon_hatch.png index 347bfab2f99e0aca0e9912892f0f82b722f6dc4a..4d1af40a90f5468be33ef19c20bbc1dfd2b6308e 100644 GIT binary patch delta 1472 zcmV;x1wZ=U3hE0XiBL{Q4GJ0x0000DNk~Le0001Z0000;1Oos70M9TiOpzfze+6|( zL_t(og{_yrZ`(!`#}Dd2ZbX2hs|86m&@K#Q7a7@#*EB-`p=wV?vk(n(XCRA$q7spb zMXbU9fLkbwwgTeff1;!R7+Df!$jkM}dv|;kG^x_^X>=5?>!UppP#GuhvUa` z@bjM1)}a^!kLn#t1HT?);4$3|fAfKGY2!X!?gKcdQfOKX(4dHE0YBXba89LA6+WZ1 zN587+kHmX$kE+Q(9=@Wd`7&g&q}J(uaw=;}#W@w&UH56Y3G^Pek}(<8i=rH?6W4EV zg6>Mg*>*dMqFPa$Q<;oxkK*`F10)kd@TguC&!OXF50q25e5rY%X3$09{d_d>{=VJ2t;yS7Uj>sNvMhtR9S;!H| zhlPZJ37^fGfmsO%nWiR3e@q^3IPBBmKc(q4Y;?<|jEtV7iwyK}G@E5UF@?-zg!~ev zDGU&ANwNW)MV#ymKqmQtnRgz|=5Ydh=5M9+OeMuj8+cNf!&Ax9{CK!rO7lkIw|Sz4 zD~|#GP5WP-tE=A*%O3$;DHB`PbT_x#G6xqzfJ@cWuj$j=disY7e_>$y!oTl;ahJMF zvE8CVRbV>Jy|=rkYgngL3RM92MLydm*wd#JnLa911ytNxp9R65j$s_{0b!2~*3b3} z{R51EM)>98`l#F7(=YRDsB;Le0^^(CkM#GZ^cm>xSyy?rKBP-!`r*dFQv^)IN&2VI zpM#36-d6A$ZWvTZfBh1|u>oBA?TPZnB361?NVYrS8a{}1pbB+iV*2cO2!M)*{QKt| zVq1u0aznfDc}fKv54${#IWs^n7K2?{eB76(iQqqerXAYL)GnJE$b1^YWvIUAu^2oo z3c!hvg`emT)`>H#D+h>ZA7=9+8XBu6&d>s6T>3w`7o{$Te^J;nmzxY*)(@12zcO_c zD`0iGw_iZ)3C6=NOy`Zlz+MdMP{vJLhmTAB+!XRSV`~F%`8qHcgTpg>drU5bFe`Ed zW4XQQZLVI<V=@K z4iF6XTmnT-FFaJJXsi2WmNqmDbo%*ho#uWa^+%V|e|8-Ppx8lY69y6t0PEzc_4R%7 zsjR~q(3baWaLhK^Q?X9m?Ga;l(70UY-MxkZ(8k-jdo%lCjSIn#J9{F;6ZmA@vmOoG z#c2aj%;t^m-t3|?TnLW4(tEZ8W&ttQ3HjtXW3QhAEPdM5Rtf->Iu?Ae zDPAGge^sgPZg2lGA8WRzfwoc&tizy)fBr^YRmCd-9bQlC;r8~%d{qr)$x)M7K%VAs zgQfFhE<1grGYRWHVQFd|!0&|6+-V@vp5e>;l^7JU)_w32CuS@%z4wT=GNzXS08}Mg zxNNj;9BRT-+g3M5VV4cLDK$~A!Ng)KjGpgXe=pT}6{n`HR&YCDw!LqNiJihbAC~`Q zoC_$VTIqMDttQ?;?yh}flxjm3CQ@+I>Nd6_0zJF1ZM90-rL(Mb=nv)q@;{gz$k^^0 z-ZN^e3uDdfY>j9h*-9RJS6X*6FZGIfT1!`NQI^JkQvUy>LVE{1`l!YoS$FB&s{FoJ a7XJ+f0i_(e2b)y@0000;3 delta 1331 zcmV-317yEVE+Lzf5ENd9WE!xx;R+-astPzt^MXo3bZ+j~>^n9ueb0ly8%?bT5GElC$Sz>bsM4E!dbxtzf|MdJr3K1Ece0+l|R z!$YW8ZlPj4P2rrPQ8+WGf1+Xn?cU@ts>AImLi~&03WzHWk=YQV+bfzIh&tJ!Jez2=<3%a8PEg=qx5$s&&e3SX!My9m#vtRZ%-t-e{wuxz1syisn5Iw zA`}eIVgDl8u@L|*)7(1EXLJ1xP_)|;o%+jR-q(K|l(_ehdwf)mg-URXG%5#weax8Q z)~A4K+=*Flm&yRkal=A2vi_|C)sO)l!H|w1nrOh7W-vN6ub}d82Ag=)KQ|(IZ^Jzn z#F^!{$o5-g`^`YSe{3a;e*X#hEw}u(Wd>q#W(O4j!q_P@f{>!D*teL53*$Gk(`5{D zDJKT0II;)9O(weQ6e$h3jf?cu1!`7Glfo`abV@rYE{k%du7uNWiu|T#Lp32XA2wR6 z2N`TN=WE=A@Z5ZjeSm;AA@0I3-VcMS%3>}fG-xUeE+r(>e?vYS+jBwf=9MrVmeA{mxZW>e>_BE=K03BA8 z@alms97;o6f6WO85j07kE|sYH1WIDJ$9Gc?VDnu%(=!w%%k3P;4_pxrHOFQ+w#txk zk+#&P9o$J)^$t7`a5{k$^=>h&F4wHD1D|76Y}9`C8)V&7;nZ&~X5VFUI(K+;u?ySs z`-pUQu?X9kE5T?l3w$Yl{EGB=YcEP9oi}Kxg7f%xf5m#*6r!}F`X*3f5z|1*F);$= z?=);NE}ZN83pys;3=@~GJN@?GpsLuYDmJQ$jcRG5TH2^IH-Ty`tt?Sx@@FJb@p{)r zrGwirQ{k7`hEbiZPWz_lL!43LF_aTaxa5to*s*z~0QYdh`#<_ka@#{Bylp}BY`#mNGWj#cp50mde{@2~tLG5FH`mvHz^1FW*VkA2UQg0gSES;|5q%gVnwqQp pd7PT7{D8bMSNVMKFRt=`0)@4u900*IXaE2J2>?k&PDHLkV1gIZZdL#Q diff --git a/graphics/mon_hatch_sprites/chimecho_hatch.png b/graphics/mon_hatch_sprites/chimecho_hatch.png index 33865afda4fa136089435922f045a95ae66c2d12..5586e9e78b1ba8a70f62605536e29d9bdb5efc45 100644 GIT binary patch delta 1449 zcmV;a1y=g13e*cBiBL{Q4GJ0x0000DNk~Le0001Z0000;1Oos70M9TiOpzfze+6Gj zL_t(og`HPVZ{tK1ca3DEp5n4f*qe7^EqiSoK0woHl`GIL<(5>-B!)}VMVVB4sy2;Z ziL?i_1e+5_NI4=X&592I6`z9xAA&c3?2JR~?(RFyc;4?fZ{FCy_iR}!HlP2nc3fzN z)8-$yH`(~=c77+3>Ev)ed?O;mf9c&YNs^wPeDUh`rgImO;WUZ?AU;t+e1El=&+Z^H zox&-=^ip|+FXr=~l1@31;bh0t5j?v*mCw&!`~z@#Qch$z*)Q7>2ij6ZAncn`BGbv< zAK`F#EXQqe1SluUIfcS2QD7>LFm9C+nNC(;F36CaF+@Y4`(;EqC(9Xee-8RBIg?SG zlo92eEUSB#3@iE;x=Av-UnwI>osJ2SGxuC$EoQlHWusC?q?~HiCzN`Ucu+kio?7Yg zL5^sPtP)8lUhx&!sqt`3bv6J74pUzE!3?yEBzmx=BgGtN;1M6j`Yo}}lDOJ~Q|aU+ z@j0cWl}3c_I%S~*%gHDTe;<7ncpCf>e@f}Dr@=w1(a@U>>=f)Iz_*%IE`(9|L7>5X z1P1}Bd+G?|twuofafSvs8q_r+9DawxhRPlK2Mx>i)NbRQhC1h20yP-#dO9)V9Rz41 zahzQ>VIwMNJe@J5w-wKX4_Q6ElBelr20LSLK#Up7F6W#xf4!M_P7E(Ay@VnY zI%k`JH!{XLZ;AZBZN84YXSSl@KQHyLfXFNiru5?U)xV2uZ7q=rFr`<5Z!_?EA`@Ur zFIsrDxS3_(bwmarC%rh0zn+7Z`t?M)!T|I6kEyqKKT%EfbUl#?Fr^pma|BPXXC*{t zVTi?8OE21o^ny-*f14B&nE?9;fF2!uoPpa16e3nkWCHAii-Wxjnt{V_+t7wtF_8&y zUXI%s#p5ht3C_~Ox{fFZkR{3Z@>r6@lQJR%JP#ULNW&Q;ls;IZS(skWS|TS*nv|Za z#~Zy<>Njbo+*WTODlQ=pQz9=?cq}#xGD@~?&`j}n5;3|Re35{erqdipI<}3SJZQ9SGRxONyHY5Ups5U z*j)VmSB5Aca$?l8Og#-j-(1{g;36XVJ!k4^oFS*Xe+5J#nBb+LJ25OJxq!%y7ZIQS zu6rRv&=HI>Sx#irMUQ{^OV&tbf*ww<5&XE62zzpD=v7ai6ZHPGYkEXKvC4?do;)Y$ zYy@;~tiVM?W>20I^bp1{{!AUNh$z>S=LB6w)UnElay@xY(EFE3qT8(^BFpT_)f=P# zE8lmBJ~H55sCiM?8#BkQ3RDHGtN6zwYefdvb9W1;#Sf63av_pzz}9MOWU(A2HYU1NHlq>&Znm2)4zU z9oNf}YH1B8GN&9XjGLx-r6+guif&sgrf$mhau5FlW$ZOY_Mnk`00000NkvXXu0mjf DEl#7! delta 1278 zcmV;J_cjoAI+}N`FuUhn9EpSGM2SpLu?McAUT3Y<6th zODBt2A%0$*S@FrM#o0Es+1DrYf7ua<=*4XIZAx8xFMbC&e3G}_1Ty+{Le%rVP^o3#h(44=lnZj6f?8>b zCW&~^2m(Ed!FV+YnzV`VDYolody;e0z6Mp94pVAq+OJ1xnua7s*?tnUf1ixO;Wp99 z7#!|u@v;*upf$T2Bb+nb(IU!$Xo368j99agQeeN@+e?Sbc0JyH(RSFNx??uPYAPDj zhn$fbCSXMzJ^YN|I8hwE9au5^s$uc4bbzGS2%Ow@g($(&zv_bB_7EdjS%@uHEV)n( z?AjQ>fJy4wOOt8{yPU+kf9fd`$szPn1Oac<^_=kvMwqMd$dSkp5-WB^gk58I3gQX{ z0v?QkJ((;`_Ay-ARs`)P9Zf)1&44EL@oYAE;Q<5DHCvMM#=tJKy9Dw6ieV7u5b2=y zVc;5p+=f={rBH*h4n!O^QA4Q%5$EqKX_8%*t6Up?Qksokw51X(f9JarpQTrS%#RDP zC`5EJKQpjc^7#xX-Qh}+mJuJLn4Z$Ocf^61{x~7g*%T1dKaRfaKnG|TrgE?j9GRxc z#I8rm$oAlF2lR)e?BQm$vnD{?!u@MhlC5}fnKYE6rbzU%8O zp#OyHnjqfbrkvH<-=7F>KD~w@jG)f3^i6wl?3>V)I~g{Xl5J zUXD9B>;v+a!1JI2wK8k z)~;AB;qgl4&sBEYPyyI0FFKN3i2GVq!d>B;o%WR)ieROoiS%PX7&sLz7(7?F zG$Mj|@b7W_e+PE^h}v2?N-+{mfK)t;#3J6>q60SG8h)T`^i+J#i-1Geh2Ul3V!Kp) zUmAVqQrOAjm!f0-+poukSQO%X3WEX;3M4`znx3MdUH6}ziY@WJ7IFk)eM};PF^oSt zvJSBFAO}wWFilNa#ge0<#A0d9J}}UoQrlJ2iIqncf8QxOVngTwbVdGPU@)n51w9c^ z+`~$a>-R#a+Sv%63+C1Hx#wOCu5-QJEr|N%sv%0Dt6&Keq=IEeQ+ts8%{IM5BLMlh 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 QTL1t607*qoM6N<$f{6eJ`~Uy| diff --git a/graphics/mon_hatch_sprites/corsola_hatch.png b/graphics/mon_hatch_sprites/corsola_hatch.png index caaa738bfd8992011dfea6d67bcd662da3038620..c0870d8dbfc6330a1f2a2381314fed84bc9e0612 100644 GIT binary patch delta 1968 zcmV;h2T%B*5Z4bOiBL{Q4GJ0x0000DNk~Le0001Z0000;1Oos70M9TiOpzf!e_}~Q zK~z|U%~wrte=(Yjzjf|+YmGa&{IfQpcFe`SJ-l$YIle%9ncrDkb~3HU`g=BUgBxA^U+WuThS z3#wG9auG#ontN%ZRhCCtYi9warP5L8XJvSv6WBKNqgbV-Mb98mc1u+XLP=IK zs~4e%Dd=UR7a9cYKv6cD`^RR*AZIJI&(3p#xh}F*VRaty7g=ZwRap5*7i59y72{MF z%Vz1?gR`8V$f^bDrELEKE6_v|qz;!oUh>Z`a~AlqOV<%z;D5>84!CbmtsXlX+JSYk zLSLL85WOY(OtMh2FGM$mf5UieK_lkSVasC-6%A^YyfHQ$%P|e8Ue4%CYTaV54UsH(@b)hT%VD5Bbk?`c`&=fc(o;R zWQwGH7(lQu&Hb9wS_n@CK5l9|!DM)Zns<0#|$GJ~ok9C;j;o(EK-9Bb~Vj}PH zh-VGpd6VtOs-HSlkya`SF4fgS69D5zOZet3c|Q*lS51?RWpDq#It|+wz3zXOW?-McHI+M@6a{>+nFnp?_fC`$^nDF^V3eokfppgmMB{j@Sp8 zRqTd0DdstMLdIt%7dWyNm7F_0FRYVZKYzWG0Zhc?e?DNLi;Hf+O4i`Wj0<#Zm7GH9 z-*QsK6X$ub&5)rHz@C)-2I#pL2*#SYK6~Epb~W^{jdB)c4RHhco#47-)vUs_bOo?p zLe5LK8TFDi&->;Bq!EWKk)9;b6`ztH8Sii+luBKlTk{nduoQRyev72Ia={jiozYms zG-BKte{G;@vK4y~H^H^T-gI-n-EM8<0>*#)<9qJtIO55t2NwO!Cr-Hs?z+v!21Y9i_W^cOoxz%kCj#GRw}2%P{-qb|&J?&lTl58VFaEkK`n``72LV zPyy(+pTT%9s0saeIrA@}@M7Lg%!gB?8$smOj*)C;ad$HKX?S*ca$L8dFz`8)Cmdvo zfAhu91`XspBR7X^#WQR89;vj2eKzpqm{ia(liHT;Q)X30xm;Ag1#U>NmtnM4WC2$) zq2;yBAiXn@At*9wlNgqmmX?L#olF>)4nwyp3=%_agOWYDg(r_gu2+<@iJkkA=#$Nh zGKrjhBw*i!&h^5S&XX{hT{uJgN-Abrf2Jr_;-#fMhl9i{E`$t4GG=tWM*b)vcE-*= z2l!in8Y61>`%$comwrCsDSdYG!Dr0*(1EOA`Y{|j{dUl51j$Q}vB%%i%Sgs7j{HxI zs~R-fkwtF#Lo=C!oH3Kxf5xnUDVtam_he^#FQwSB(Azv8aQ(zMO8S7wY00)ae=#E& zx~da}5yS%H&mOMw66lbN0Sh&z!RMCAc$MT#_T6WwbyE5biByZNzGiaW367%{Z+7)x zc#mHHozr8HZEr0q{wBXvI4m{0-oNr0!C!!kIo~%pUL3q@$l(Jd*4gb|ZnqAvA2yG$(h^L!oZr8gtXYRY+zI(3r225@+VOtcE9~Tc z`;5H4T|D{os1k!N_bTn4$1^-Rp0$HFJ&XUp=ies2&RkV4_f`M^002ov22Mn-LSTZ1 C1=CId delta 2041 zcmV7i&1Zsn7ckNhxiEdb6|*^ARa><~Ps#XFTtjhaOH;;Q5W7c{=pG@U-y!D$%-J zgkh3oo|iO+(o3omJM)w#Ytj{+e>cmyr^3iA8?!Jb#23AVsTz~xCO#HKWQdl0?&lEr zEBTU7^oHmY*hJG@9?<#EzGWs1Rz1>=VfD(9@Pu7;6`U66349+F>n)zWFG-2?@?V8MDZgFUz0;+ z=NKE`Z(}^evao{65`jTtJK;tJKj05tM_qlt|An9Zx$BtK2YKoAUvmB+VzT|P-+$g- zISOn1pRB(Tq4>=g&xIIUf2C(hiD9Xn2bz@Hgn>%=lZ2KSXqhG&S4v|HmC5;P0irsB zNLTP1Lr6@%Y?eJla9i?^paO%$nt>ZR^UQkj3H}?!BP=)ijm6y{DD3^_Q_ZVzpJRQ! zlzs%o-Fgqls+ZxUI*{TSmErW@l_r{5Zz+n zUkln?M135zhd8x4;?!|NoKn}vX#u;{L!1UZHy5YE?ctl_^!RXI11>S%B_64g($@`K zW!nHybW-v%F3J^8e8H>em+9LQ%9;gko0~jc<Q|21}tGIcVXtEP?1LAP5vOR2fm# zB*arFP6{y+KVIc=Z>t%(|p&Qw#Rw5RJKjXkZerrXWcfy(~q{40kF zeSHw^>FOZPo5Ko3bb0tr7+09`5XvE~5X$n2r^NNm)jieuPA z#2Nd*#Vozyf2B7)&j!*r%@(Dy*+POS|vWZmqypf)JyQtI&pPH0&ubxi{3l&@rH}U=A(>Y{gLa!wWBk+ zM+5h??oqA3y$2b=^>&lSF6DR&PP`=PxrIeBayxAR(YI3C+Je{jRQr2dr7r1cWD(I2@|IWj*fgXUexJAtP z4WCilatq379d092#0B%Fgp1}}h4Q=v#iZ}w(Bn~4424po=w`%~no&8w^}=;_CxZYu ze-m>=I8?Qfnzj~-ud@?QB5Milt#i`V4bOxDcp{ncUi&+(i;3lHhv zzifh0s>+6Tymm^Nkvy!W8;V@AO*ISGYj~;EDP;@y71*VvWnL)Pk7CwYUdDXm3lZq} zLDc*GnBX8@4*88=`%;n{F7k_{j!gpP*F}O9H>SXX!DR<-^__^&Ra3)3f3MD2 z)SYmP(St+UC>upmwABb}VcPs`5OHR+ zGtULDvZs=iFBfyMlsUHKk9^VLXPH^mq_4 z3-13TZtCM69E*sP8<4X9RTQ=`f7z~PR;s}38QeP-VUuwd+qmh3Idi*qtkyT1TWm@D z{pt1g0kPUobFzOXwy_P7?7!;wX(tzEq?6da#>yjPzPaa5~MI<6A zc`F|mg8;)g6Y=UFEF!l*t=Xa7oe?6x<9&U1?@GZBU+n9*d_Hh<`}*E}xA;H(FLwV1 Xhf~g6z_0m400000NkvXXu0mjfU8Dm_ diff --git a/graphics/mon_hatch_sprites/gulpin_hatch.png b/graphics/mon_hatch_sprites/gulpin_hatch.png index 911ae49865dda6b5be57bd2dc71e6e67961f912a..9f0727156d780f40d87ad1c723e6183b59d6135a 100644 GIT binary patch delta 1409 zcmV-{1%CR!3#|(wiBL{Q4GJ0x0000DNk~Le0001Z0000;1Oos70M9TiOpzf!e>h1* zK~z|Uy;nVN;#d^5+)(&WAc!Na*eZnC!d)pQ)#S(Q{do4fWMGyVt@c*O_uX^ehs}8x$N6ugaReWYdxhushp~ctnvI3R zAMOuhRiibX#?uL8RWnyY&RiAEf0swFuGu3WBP{;CMn8D7#rhzgFW*<#{Y8yeew{ri4_H57!Tn9K?$XyKudHsDylgs>lV7^*6XjLc{d|p(BLj7=@q` z;z)P{kPrO?coQnWhqaI%IEMs!G30Rf9r7z7o-JHUzTJ`$FF#=w=f2Dqe+79K9bXbg(4vcyD*gBi`OvT7RA`tcP#gtx)HBYJNLHXfb9RhEBDN@#LYF zMO+KP?KS7!SbW=WA|3+V-U4LnihMhP&iXaR6=7A3b9Z7PQx)~h{b z+sYSDjK!mBZ)P3uHTC4gG z_5xYis`&>+R;@HTW1{NqO6Plqt}OY_8ln%^{->>)E(5#GrQMCEoSIwXxFRpqb{6%; z;C-rX8+*e)ZtFf=e)3IzD5eh^OL$0{2IorOCo{Aye>0gImwE7T3zjgR7=j0g&48(| z+?j2a$_jC6so$`LH(z77>OI$H)ue<&?l>o>mLmU-Ej+gPW+QW+SJnQ{~*ZQ2-k`L|Q`=LzS1 z?0C;nAT>U`B_F1NEEG1Kj2BW{j!i!fY$DEorM!DKpnn6SNc*smdvEU0GY2guzZ;XA z;(oGd0+%N5VC#I<4vqKX({^`x<;ZOB$Z`1(S4tSQ2@mj8vv4!XOrFSJbFK&|`PY^kvM P00000NkvXXu0mjf@Y3`p~H6_ zfzW~XEn$dsgrXe+1PPAmW3vH3g6RQ4H0h8g8;3kydJMMkbnjzue`u>WwY_Rc z>M39)5iMTAP1*8w-1hs;kw6^qgRGd( z!6GY$)!%Kb)$aSX*z3K9f2$q{#m)OoiOwGiB22c6MlI8n;f+MB2O{7U#sjcu(V`r8J?t%kVLo$t#^IWeCoh{#Pr zthu3+YHrNHaWloe=5|+e``vM)`8=D`?^6Qe1w?9g#KHhUw8t5vvRT9t^J9!~J9rVM zr$SR)UMPzG@&QHVe?EVuM0c{Rny&}*3Di|PpF?6@0<8$s*#QYds1O4S_S*;&5kxVU zj91vYy1O!FBJ8)%e~zNcZ&n~Wzr~q*AK~_LHvFlLp7!j;)oZQ`n-Wf2S{l2>OJrRL z=&QT9pFnJoQ<(%E^d6e;n2Z!0O6D}-xd6_Q)s*fbSN^!Gf1BNTffz-2P+*i|xGRd= zvAlwb2DiJiGFxdcOnb3=QA7Q$-jt-FVrcgFx5g6sX`k4;gtj#*SUukT+l&gje9=gN z@cy6+f{Oq9Adt*Bc7jkPvExRllIx#P1%fK9x$VkTW;iX1+;PK=9&)QuAvd*u>nT)e zs6N{$Z2o>ye-|J2iAEROeyXQKSCy@bxGhxuA*!TIa2%9^=p4AKm|Id_MHx;V_5t30 z!`eJ0f!q)dBqR{x+oJg9YPKWXj@{I^#O*+H6VW=1Zg(fAC5|*q)vDRk8{Y=E7wkzM zM5Du9T~^A!+Ab@=jrO+M)Zp!MQ7u>o7IXJ$Ei2uPf5+ZgPTfsX9yc&JFAow(5q|7k z2Ake_v6HztY{55Wk*FIH{WtHij}56im?(coT}@1CV_q4oUQb^I=RquMBFL(C9I~nt zYsCsTC3V8zR0Z5JUl!7vDDuhK%o)+#@Nz1t;5{#=k_w0pz;_mHToQ6-knX?cA+uZO?(=_pT)h|cuK9fU{o1$ZJj!XHxJza0+g#6OOCZah|W=1ogo`c{&H_rPzvEO1I?&O5iBJ1zKz5x2= zYfk5cjbUIEaC`zR0b>(dfc>%Kf3*0W^9Ti!lO&SZFl=X{NuxHW#b;wBh*H2j+DANW zfFv~u`a7A&@%XR;34+r%xC%BseUvhbEoNnd78VESQtPe-~x=q~41hP0^W>B0r(03!iVzrovNhA6SuE?D3Ifw;o{T#8GZZAkKI2e_>yw6~GzsUSX75 z0bH_l2OnNZ`$JbW-}e`A$kU%hn(bC3t0a~J55z8={CiQ$Svs#Dh0^aIwCeQ9J665-3zZIIql25L1gCfg{TR4=t zeA-xC7#ul>10phl#KYjXT)5NF2pgzzMvO;evjgK%e@b^?*7^c)&y_=ez&lDl_Kd#W z*f&b!f75u|pWOo=x_-uYW^R?$?Rs0la^(r8qXF@nZea-R(tn`_2qp zf3L;6_0k2>vw(VA*pj(hdg8tE_Sjl?2^oy1n?M|V_+C8g_^{osm}I=V)qepPhs;MR z8+4Z$1!A%fpA662r1jxoFgZ50_h9m_G^9asyv~krIVi5YnSxk^YRlj_JZk~FkT18I z#Lnxlzh)bJJ!}*#ZZpsS;5CH${}VX4O&$PP3lHm(nI&+2{L(nI9^1>B%t3oB09yf& zedEO=<5lY(w6E5~Ec8C@*j(xA7w+D%@G&#)@)sURz2Yx7m-_$!002ovPDHLkV1g@M BEb9OO delta 1691 zcmV;M24wl64aE&1iBL{Q4GJ0x0000DNk~Le0000O0004K1Oos70KW_-zL6n6e^5z8 zK~z|U#h1@-+cp%(1qN`BhS6X^PE9B&>CK&}Zbu{5(}JD^IMO*mQpmY=NCwNd0UZ$Q z8lab)`Y#5KmUJiW@y8?SwJF+Rz;x2rq($<>FW-9%g3lh#ckO#vm6=vsuUKA{Fb%jA z$5CDZ0H2~@c?9x_Ch8wB0yx}OfB$0D;SP!$klljl@D||Bjcz&K`v_3nq=giG?=~;r z+>CoYra0+Ea;GQ2?osqKo#AvnaTDzXuTRbUU{RkxTG6hYVB^L41N|i`Kb_x^h^LS4 zYjM#zaSxg86%2bj{#TzbbCY}!)s!ZnP^l)yqmdM9*@z116de?**Wt$sf4YJoe(2Y! z`9v7yC^Dg1@-Ur*B2nPCj=2CK_*!<`dKKIYk@RY_sBlcj5XW>3gKuOQBs?^4LPA7R%5O7cKD9V7=96Qw z(wI+nWBMI3g(}rT!Dh$Cf0k-~Tssl;{InAbJ?frnF%uuAIY2_|9%kvpx@w4a`I!VR z{N9OqbG~oabN1+oxNzWtsPL>D6@?QWc;JRlf^(<>gG&GW)H&VCHqWU>rRY?ej>4C0>o$!>a1Y|R_qaX%{4eoMw%GUvnHS%R&Wmq;5R$0&Ef5*su1U!FMrTvTH_J`N zH_Pomj&J_MxqA(vvKt@GqN=1%D{uw<0pCYvR0$VhX~DQc_=*+)haX|8c9LbG?55|+ zxIE992`UWjmL)WCe=aP~K!zH6f3`Rc=ch(2+e=syw0Uz0O>2xWXwG1HS(y-BGdOyG zlF~OqDBzw1#x(At+S(6y-msew^X$gD{FoFH$t$vQT+MKGS*N3~%c*DV@_0Q^B2~f8%Zavh`5Sm+xUoW>ct$ z+n`2N*LFn=n)flKwjetCz3iw7xs{e16QciKZobC??s<#>SdS@Nk;h_0g(uUq)vXDN zEUcu*5;ateCmTJM=2Gx%$k6J<% z%rB3cUr7wke~wyb1oq2iJhLKwXM?xQ1P&WQ^suoFY~LH~*sczCOloG51e22(3LWg! zMzT%^yHK{U%%o7Y6Om4+>8|>Z5}8mR=oB`QsG){oDjUel0w23|cu*(qaIU#s0%ElF z5}wEA?ZmY-Zxic;x`xbJ42vmGgdid-)Zfo1L!7Y87Tj(3kk7Hj(75Mp- z?Rxo?O-(*kt^$oJR>yXu4iTnin-LG!qWhVAs+xq!r>s8rP+cq>s$hQYPz4vwxtr*G z<)Iq*f81E@B}d#z#|?!D?I$phhIgLuzOYgG`eAI7n=8qY8(52~`vQGHqMDjduoO$Q zyqcNG+-@UKIUVGISph1wZdPXS7q(O;Mrs-<*H%uMmoYxh}Kgc}!Be-RR*B|3Ky(QZvf5aaS-mF;U=vg7X4Z`oaKxq-(G zzKz?zxFV=qfw>|aN-?49D%gxA#z>NbbzB z=l&HzmQuC7PK|qU&{{eRbk!+gtA)8Da7+x>;z7fKT}&AUf)p)9J~j>JS9BU#iXp|K l!p(8fjfGx(#Uj+a{|(5Az2fzlwU__^002ovPDHLkV1lOJJOls$ diff --git a/graphics/mon_hatch_sprites/igglybuff_hatch.png b/graphics/mon_hatch_sprites/igglybuff_hatch.png index f0ae71eb110de473a5c7677374032b8112de6899..9f0398956954894305b0573b04cb13343c32aa7f 100644 GIT binary patch delta 1019 zcmVWez#wS$bI=NA%O$ zHX%B_hOlqAq7!9@4+QhFvd!$hpA#k~$^@k%zTk-2Ei2p1@{9X3@23Dv)S1Qm#jowo zhwHTO!^(-+%*9n=_>t!7 zFiBK+9eV0-i*S3uRJ9%RYo0*aHt_>UsXU);L#u7X6oLwJ(IMZec^PReqF>I5Uzi3- zR$5jJ^_)^%t`0zwb^kQC3~){{O2$$E1fT82tsQgLz%5F|Ehe@w#w1j$Tn3dDvT zh@J}B`~A`oWag#42%y;tO7| zVqkG&kEolI6Rb-`0d&B?X`_6$kI;#owYN$#g91a=*do20CuntQ22d(WvT}rvq`c?Q zF{WCPl4LF7d|5suf7LMn1Cq?3*-!QREJ>qSZzR%-J@D0oB%4yt6`?nNa~tF-lyDLC z1M53fpo@*;6OEzjqOL-VzS-1ymMze8s6vm=IByqCHN?7DA`CPV9G_LD+HI_l&0jieJBRFkH1cGh9MvGR31Z>)xcnLFpB3WXIM!x&e)kj?yA=I@|oJXT9?H6JAYhkuK#UT2>+Mggq8pR002ovPDHLkV1jwm-)8^- delta 824 zcmV-81IPTS2r*?V~>5B_EfI)LSLiMhwEePjO`hZQA3l! zwrdHIU$IH%r(fS(}TVh^y`f5&NliFcMSme(xzyvDQu2dLw7Du=3W)64l5N0)>{ z)wv|h#`}#5@76I2RYjji7+@{m1kd75p zZ%F6NvjQDKMRWue(MhNxorEgVfiLK|NGGnrp9XPnGd5f)w>HeYWM<70YG*UNL-kj~=7BAq+mN(`9X zDpaGxE{66FzJ!|QlzEMZTGY0Ndc_Y_VW+rb*c`XYpY^fJOBQ>Z1^R^r#eHN!aa+YY zK`5T%hzLV40SH6zsuj>5tRXlJB-gqyaRAlGF-%my!2K;YsV^NvryTOmp$q+O#QAsTqyLW5ze7Z z{dNY1!}fVeS~Lvg!bn$Y)sJjFhR6S8u@Y}-v9Nxc#Y(*XqCnj?Mt2V@s>klZ6Q^{K zL^J_SZDD;>g0>+de{dVpv-ow0l~1~db-8;$-prNV0~@Hz|F&11Ny*5bH{40xHb(IKqm26Om@7*>i zMLQjvv9}*qVd${Bn|N3?d=T()NjzFvrt^b`)xVvQ2>&qt4yr-`0000*;Z~8k zq&RU>gf}TxRLdyENon@b7Rja|iSm6jV|xbJw9!fXNx<`)@7dTe?|Xzi){`ET!K_0l z^Y?pfo-(FhO4}Du8Z*_TyQs!Cf1epG({F&!P%EZP^Bw*6FoqKuFC|vV|j?0BHp&|}B6zc;X^A!0}g7`(6 zp2I6K{CT2ycVQB$EAwDSAXu1Qq$AdLd3RyTzm`(|ddYVLqP!iKcNciFe|_(HxA#2R z5tQYg$a%t)N8ZUFC#_=;yHEZB?EJPN`|1QL=di#GANy{P%@Y#b-!pdqC*tr_Vr?!_ z5ZuB)_4#iz)w6}3t?Hpn^ZM@=-EE}2+o**|u8TrSCFm;tLss`_Z1W_##`~1&TQFG^ z#nnpT$ooRd){z#gXHnvse<$50-sh1PtU$cbCyJUNIMGd}r^FRc=(Pv6(m28^>)ScK z21V<}>M{5&@@percUY%u#1e31@aCE49oaovOuBD9Pu`T98&~}U7(Vj@J^0zl$YXtE zg?rmF@d~pCu%ZUI*8jojcaW4APxWzjM!il4`BtG(geg7cK9(n12l?3K&K4Z^dbZ?=?jL3JQhCf zPZ(Z}_h8=G{1gUBI^rAzR7`pL9UKT0UxF3Ja0>ziA($e-KujE-3Z8->9SvXMJQLp+ zKfyb0%Er(b@f3`^f5ZcqZwn5BaEO9Hh}XrtwwS0LJu^m(fxwvZ;2W238v%-GAm(!2 zo~Zdu8q553@AgA%a6a4q^>l})ZSk@whQbW=NJ^6oNCRxXxO@M(gEe>#^}Yq`+-L}TB=il(FYQG)wbL8znZ+kMenku`Uxx5|d91~YIjhUJGDuQDk=y-CVe=L^AldQ&pZ}VVD>WppStFT^s@;F3G2G5*k7WN%ps65ZPip-8D2jHhxOW%AxkUQ7UEkR2Fk*RB5`=gzb9&c18w>_CQTgS2z9L7#2CsFOg6yhv8 zwEo&Pc6d9JgSe=Cn0C>tm%fF`9=0;M_F*%(Xu+bJ+)RV+B3jOkKX(^$Sq=#+lRLSZ rGSbMaBLg2@T;s+p&kkkp|Ec~3p$=5gwP^Zg00000NkvXXu0mjfs{&om delta 1176 zcmV;J1ZVsD3C0N_iBL{Q4GJ0x0000DNk~Le0000O0004K1Oos70KW_-zL6n6e^E(9 zK~z|U)t51EBSjR)rran?#8=r~)-lWgr@}_cBm86}G{pIF-h;Xon(l(GMj>MDVo;;!9NO!l zdunuj4RHN?&5Gn|Va(Nn#rghk`+LTT=FUFGV<+T!h%w_O%p1^XvJf<>ti1;^x8qR@ z!(X>)3Cyj!p0$ zLd5VnF(?#G9X~M?ixW#UG4rxCX6z7{vMkSL3~`3ylp)H5Mu52)af}8$*=9u_lh}H6}E|5DO8sBZZ*yPFk;tpbHS8f5_aFbPTvONGAQ7u9hqoMGQNDt^K zo?FMx?YMQmWNyWHfBDA;Rc?&x4sPye!g1r*o=hjR<|(fy7zLvZ?bEe*kbVOJNU*E`HNvLZrm9d}~%;SfpnQg}gi2o@-LPpO!MR(bw44s}srA)~%2 ze~7z!WQBfNevjWIWL-Zm%dT#?H&D;bTxFc!N@P`*oZpbzf820NlV?<}tnwSxA=Ug= zY=N8fY{WXZDk`MI@xlt`W>JyB^8DDL8Y)E9Q`(`@h>Gb%jA~#}MS5c9^#P-T#27xA zM3Y=Kub@J3cL-_AyeY51o~Kj420?pu!_dUT@mo^mmQY2!#tpVyzcC+vW`&Nd3Y*%f zN5Hp|{m7zHe<_+r_G7Xe=CL6P9U-e6Q`*4RA@)?z`m4&ZFr?X9PIVlr=*MqcPm77G zgmymq3)=<5VsF>11eO|PMfO{h^4pZtatX;r;hhK~D7I7h-gBOgxj*$@yx|trs@zcM z7IEuAdteU2w0000)1q3*`@gh z!+v0~`xG?wQ6u?Cif&S@848R*Vp@9N!Up{RZpa&7LyzDRDIJ@A{zs;w+3c znufIk$I6;%9}-Bz{#RD)T5!Lse?PYRzg~Z!=Y1LuYSQy4(uHy@|00IZX*589dO@YN z@*@yDXc)!k$RgY-OF3_9e6D8FQZGixg9#z)xB9sRHzx#*!kUJ0?Z8pfHDDh=(ovG6 z6WmXq98C~R<-gy8*5+TIFjo|qJ->CtZDFx2wb~`E-xc}Xt z>Up;XaN{VtmR^@Qen9Y5<;7wP)!mLI4R8zOZwKmlvJBxvVT;e<_5!c=Kc(iq6IEK<*3Zcp&I$$@z>XpeawS?Ula-;(dW?HKICV%7-)=AiB z?9(Jc5)$3V7g3{@f6)~|VpIZ#CWEz+W!)vg-l)j&O=MZfS&gjqw{4PK*b6gg8jpWE zlh@v8jAMaS#ioBD$HK)o8m^3P%bPnchE`-+7K*C9FNYGbXJtr!g>1I4V1VCj{YVST z!lN3T$P=lZ3+!MO%YPpf&;XgOqxl3^kDIdD{? zqvE)#ap6zT6F7}U`MUxPdPTyRP{$P4$;PsvWz?`9HxU~b$A-k<6Mqh;u>VGP0N1Oc zlEJ1RG4&F4ycx*iS7cLzEx*sK6#AxAPSjv+S(k^>|r zjk;+vS+XAXGxrkUOWh1GG8;-6ZVwRLfxvnM_L$e>^#fzXf?+NQ!?Kc={N>hWLIyCi zb*mJs(f~*YmT{Xet*DNLxUlJ*s|+(-Q<;sK1rs4!e@V&RO!=XW^%X7X*1pJZ?N}-kD^-A!8eNdPET&Wgg0gQb`js{$PJIH?Jq(kyV+u;~HbE8)-_g(Peu18(%0DyBU^+=1Sg&Qx1DF78xOFSb7}L@a zXroG}>W9g@*nvG3yWOAyH_e^~tDY1pow4tge{#++<$V^rJ$V4^^VEV@2$qN2QOcQP z=3gonGh&j}Z?Wn1`Ku|5l+h28&ORjPzbJ@O&SH6`tlrNhiz*3CtI+o3vN%~9j8M`>t+q%GEs2x5ONiXuP!zW1mgxV{nUKKtrl#Ec?QZN$+2cBy}g zM@kSjTAB`x>JW`C?XCC9AlSTGe_D}Fk|ZtN;NfG=(}zx^Q_jI%3E>BT_r=nQH9#(` zAWQ;C{V**~;FovBM=JsLgI;a+I zDCZ?1-d75!XFlEThH?tmvu zgLkZhM^YK-KCa>3i?f+uf6!3M$it!L?^`q##>9rEB^sHfMm338Z3SU9VGTvm*F?QA zM41!eTr5%4ryORnW4&0nL}N?T(J@3THy2CPe!s%K#TD)i9%=V_qS?!{$`iex%eNSs zWYl+iZPy$OZVcK_QQ^pXYhr5srWvTLW(U_IZu(y6bk~ZzWh;WLfBN2urmxH=o%!Of z`3$PLGatFae2D5(^SRi*rTK!Dlmoxc-m>@kaK5q;>T@Ka5n~wIDjPOULwWy>V25lpQ;H#QiYx|us=J7BE1XF4>r1V3XxL*Ar z+?ntk?@H$if}36lQ$Fq*=GU|%CL0tBV0)VvcDNve-Q(g9`_TS+(KNPx(9wV=l-m3q zU95Q_Y@CtN#bjK(wiSbn?j#^qF6d}D&SgMxHbvK9dGIeaf6_syN-1m0u(6m|ByNf7 zyF5|V{z;U7CQ+)bXo(Wa>SXJPs{A%tdgm0dG$#ax$$ zTe7l^c0P#BU}R*^z4pLs%@d7USLu3)z0g&d|Kr}T*}TH$2V)8ifVj1 zM5$uAe>r#MB+REZ7Md`dgAWCj=^o<(Lj6*qJYl+-^959PH_f?B3%#4)sYBT=B&R>? zOTFJ!F%_rc>ACK=eWi-&;>mt(ZrZ1VO;X}%Dw|El_%0KK><+XRi@MlW?P|WPbqlI` z?_yp>$_H3plg(2~-HS!S)1!wjCx+@kkRW=Pn`wo%#9d++C`~g3A+kl8E*e)6L1bjT|NgXy@HX@jrU6-vE^UxL*Qn|L^bhe*?9Q VHGq73{4)Rm002ovPDHLkV1nys-(&y) diff --git a/graphics/mon_hatch_sprites/natu_hatch.png b/graphics/mon_hatch_sprites/natu_hatch.png index 68aa5208b02c0c9ecdaf061deb8ae036e091c00e..fdaba68f1c6c61ba75035a4b7a77d74cd74eb9b1 100644 GIT binary patch delta 1581 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 A-2eap delta 1653 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 delta 1084 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 diff --git a/graphics/mon_hatch_sprites/pichu_hatch.png b/graphics/mon_hatch_sprites/pichu_hatch.png index c6d25345713a09ff04a1706826fdf0b8d4b9675c..59cd5491fea0d87c1a9a0e2c791c0bd2a286671b 100644 GIT binary patch delta 1555 zcmV+u2JHE_3%(2?iBL{Q4GJ0x0000DNk~Le0001Z0000;1Oos70M9TiOpzf!f5}Ni zK~z|Uy;r}B+(r~0u9-$4u5cY}Fa|gICq^t7hs9xE1mcpd!nG=-8`wsFiv!DoFz8=! zv(2H48kc9TN|$02RtOe3FK>QHqdl3}31o`pX*Az^-@Kjq-V*$KHw7?)4mKFFSKWlfAc=zlbQ|jb^!Z;Iok((dPTo@du1K>UbNn0(GRqJ zKp$0%ouE3fKsoRA{xm48z5S0)M*!KdW~>DQ2KQ)iXu&qHb{Y;&E#N^ffmq5mAzb*O zK^7hu_SHcH&;Yd4aBw;T)LS7$q^D0&bC6xwZyV+Vv{PoBP63SND@3f4N4yaZC7t4;Pxt zLx{sufpenCA?5HnE&Zp#)fWCOcxF7_+n0~v;p;JV{oY{j9v6hV`CO6EZ;34SwKDG> z&KK78#~NqS;-V4L0JZW350BRMA4LRX9U53Py+&)MjlM;JRpej{7WTKGwDg=s z$$zNd1@+zixX%zzf3V6#;aC`1&|Fnu)b?#ByW*X)!@Cb83+afKN=pw@76#myTaPG~ zM`1`|y#L4(ij64}eWSsR1Iv7s?TYcyGjSHv6BFo zs51~E7g*@OgkH#j1>a`NOCwAzr_x;qBg@<0Nn@i-Ti^q zkSa=tfAv{lHn!N!UdgKcCgF5pAW@!LEuHpsPFQ#?wvyGQlhrU286*j^D2iU63&kQAseWMj z)zFhG#iR;gHlzg{7Up|zA8%KAp`%eK*^1OOrQGYuSw@E^HZ;Oc;z_z{C`*v3J$VIg zX;&$8r)2EOqZlA_;(Mxgwp5egNx5vB$ z$yM^kOO+SCI61jh0`7U5?a66$>D;Uq?LoNbd-AUve*-e{G`RTrhg|>w002ovPDHLk FV1hUA?Qj49 delta 1419 zcmV;61$6qp47Up*iBL{Q4GJ0x0000DNk~Le0000O0004K1Oos70KW_-zL6n6e?mz_ zK~z|U#h1^E+eQ?}hrP_jFzg}c(uEMnrT@eTLr5_xeiaC}K9#-tAngNR^tYs73?krv zAs1g3xw_=IOHRGzpcWf}QTsZ-HQQ#B&2Ey;!PeK3#xtM!&U6 zdu>J2>g!7@o~bXooSCQlWW(4Ie>PUYoUsGEwcS99c*w~1O;XB)>>sdVDy4o@Hx9o6 zyvtfAdVr>~;^dS7=*$a9i_8gjR=r$Sr5|@mME;sTuW4Vp$MT<^AGTvRM=T_)(an(| zWGLJno|N6Qg}cGA6@Hvw9#!)|RN387VT@`Vqe@vob=)qTD2gd;{0R63f54{pv*(z# zy@$w(4HJP&smA|4aO__{Q*qf|f2kD+e*GLRCVG=wL{!uiKNS--H#|`h6UA;I+R3C0L~{k_ z(}*%d^sespMB#_WnJ0R(eED=BdQNoVXUAc|Aqb5(LUJF!#gE-EpSTqjd$0NEE1FMn z8&E~&V@Ndkjko-kjrqmes18ANRPU}DPgm^TsA>9PQoRDj$4R0Ue~jhWy+@s5l{oWQ zCz39~L$4s#M8tsEb{TMz%RDL2+iij%1VIbN!T&A9A-*P!eSC$BcDx=PghZj&C{d({z zmWB72X2?BV!w_Sr_he)~UYqNYDa@MQsGS*Gqhp!6VZ_J`e|SfcXq+h;ok_^0ljgE3 zv3zB*jY#%;=@%lO)QwC%wMo5CLKI603olmrWIy(0-df5%EZtNwQET9qhbKA;CccA< zsycUT#qk{RB1HU)1wRin#s&YN|KgypiPWCX&dj$r#CDp9Mquf*7M1)W~ArQ%le*)r5P}x)BflMdO9^6h*o}wtmLy2CTKsu32M~6LDQE=_!6ITw+h71_q z*F;noK_ts{;zh0kEQDyFLT@n-@7R3yz&3iVWBhA-z0<(RS?sOj#$t%(f&W@;WQaE2 zVq0yoS+Lk7vY1qa2a8c;u^U9!gWpav<2PrqC(3V`f42x%ehaZHSGgn|`x_}h?)?Uv zmqtMaeTcd$Whjf`rVb6DyGQqugvJUT5QNHMUl%KGB?tL${pj2wj&c(d%8pS9Gegnl=k!|Zp(z>E2I z5X<==k32T^=jz2H@PSh*`}*$QQ89(2dn@W7Kz%7h|>rO zU;Pg$^;V*IH=^>ML=6K=6ph_1(LydPIJMvKVIUX2VlQc>P&r>MH`P#47HNlxFG|$E z1d1jpypQ5%IM>hbcCOEFJ=g!O>WdJ#W&qodpX)J;&h>eGt}kZMxt_=8dKRDS*+b6t Z{{U>fG`Ol;8*Tsq002ovPDHLkV1mG{u4(`P diff --git a/graphics/mon_hatch_sprites/plusle_hatch.png b/graphics/mon_hatch_sprites/plusle_hatch.png index c5715c8574d8a275368a839ff0c219b533f02dfc..dd16efb15c09a2259393408c68297c9265cb79fd 100644 GIT binary patch delta 1682 zcmV;D25tHI47?2?iBL{Q4GJ0x0000DNk~Le0001Z0000;1Oos70M9TiOpzf!e@96~ zK~z|U#aGX7+cp#?p@Vl6)gL|zR^jHTri$!iQB+QkMPgIlX+`Q2tqPrhmbZMx7l{uxZeY zH4r-*L~@h{8w5u<&ZG}83AP=Jf53U$HSi$n`0}Tc|I77b+3(P(-jKFMFhXbOngn&o z)Hn@e1;7a!Z=@fgz;(^28dofW3N3va*BdoXXpI257$Nt^ge))QID$`zG6JFjm}xKx zYhQz107-{Ql8zP64mlbtFpXfPn%R}Xj{!RX;tjJbePqB%X}~_Ru;9C6e+%}WSpZ2# zS;m#4aMQ~2Sx_smWD#lFy|P)k0eHO6`68F&EKic8pJOZl;7y8|0@pq`71HT0z~eu2 z{;5!bMSU`wQCtQIQAeI1n!GC<8 z-zad(aXWulK*`ktj#ENke>wnGoL?18Gs2cTfRZ>)^~G}lgd{?UgS}X|0N1Go=zUUN z6w^xXhi)+zYCF3@m3{p*5KyeuM|cfh*XjX15k(>Xbb_k45Me(u@2boBs{{2B+~vG9 zEbhO#I`f^NYQST3`oQeD$MdtcT8;L2QP#S@5hBzJJjS4Efa4VRe+-^N{novtn3+D4 z|FqNdtI`1GLYP-hyu1{AZf4Tbkr~_QgT7ds0JmnXnFS}amat!m*h3;XwlDbG8_Hz+ zzkrSpXQ0M1x6qlpU8U zc;V;g36D-ifBuWSL+vbKOkj<&-6Si`f=~dncA+CS%8oUO`g8G|cX{_*Cb8>9mKST4 z&j;C9vw(ZSSiw!Wn?zFIxy)A|&p%);q4D)_kgsK8tl1>viUqV}kR9{BJ`fQ7WTww~ znT+R5Y7BTvcrlmxoRP@@WVktf&dpiz<&YamT8@_Yf3*?w27N)8N-Jqzys9)f?{Pjc zc`Fx-Tmwjp&uinzvk461BE;HU=YEwWYt1!<+t@Q;B1BW&^=%LRQ0q0E(aKEpQM#=i zwF$s&=!Y32HoM*Ee`{>#=PT?T;iF0|Y5bKUzEhLyk6>ShZx`{Mnj8vVtBm`0k%QJE z>(=C0e-D0vbpVoKQUKgnEwXM+u9dNFj7&t5FXoB{pV&r*T!QZg0Zz3Ns|Pv_&GaFqJ1he`gR?^ZJgS2KA-#1S4smVPK*|5GR!B~^>5>CY@ z??4qFP6z}2wk+hC?9}8QXE$dC{3+`4QYO?^QD5BjX@u$R3R!?7b)asEO|LIspD|fv zfBwKlH{!|Vi!FSia%S@_@_RQ07G)B|>ZoN+u8*gk<|+R)x}L+PM;sja0JzKw0tS;fknczo+@HwO+MG)6cXJ; z{|Ru&+92an8E7mD-k)z3zh1#dD-~|HXeRgguqaY}ZlrfM)TtT-Pb@|=9hoN&i|J5T z8%|B`@p4s~LnmH*$7Tb})>e8eAqK|Asmc2So3Rg@E@@;O1-$Wedrb~)e(NX|j;Alw cLmdGhKe%ayD^g_Nt z>F@zNTq~DENA=m4XC($oD5UL9CiY*JR;!=>&&zt=-w#6VXBYl4t`%XW7JYN9Qip;N z1mWRApHRaIEUe6>cc-4WIa?SJe~+Ump4!R%M`;>Aup*wMsj$EJVkpEaTUhb45bts$ z2$w=gbu%TNiXUHRS4Ma=KfTB)EC>+s5%XEqf^H zniAtTC5}8Nyn|^=L8=sC zr;YFuG#{zEU_NQh7qrc%QO&IR$S2H)s6IBIjcu;DIaJDg4prNH-crh*d(zIL^968j zb`a_UolwR(hBjowx~?5~N`ukLBs*p4eUZ#GLwGlSb^v&k*acmUM|q6YVHpFRl{Q>Z zgE$5#TD*T834ScIe_zyT@AJoEAO@%Unp^8^`}XurVeYeurb~)`*-SQf(XU=dEb9i9 zlqA)%rnp&ceK^mf@Y!NjA zi9&XbEm6XDWwf=+(7rfO z4Hs)F!-a9%vH=AZn5CjawV)bEU*{hzJoizih_ME6L<4a|Ic)YvQapRHfky zS(!mwAH-xZ5}Ll(G`z+LH$muEP8ej%px+V6q{)A65;~AHu4(;@}5XuU)ER zyrk$5e*tc;@1USpCn(6}`uPdPW~`TH^K9SF))}QDbImpsmYJJ+oab?lvlZK7YlSzI zYWyQ^H!)fjRr|D$5@NaD*>d6!CnXjdKbZ*?3R*#?dj!o~S5ffQrXnjyU%eFFUxqfhv!oG_;#lQzxUZc$uN}1_CqBK5wU~{4m4Mj4u7wBD9Zfy{c zH%(y0KfUBmyq>;19w?#aeg)md{h3FJLeDPfDu7*wjthYSh3HB`$|SM~r7FqVBsUY8Ncpoxipi zLbOEnWk^)V{e>b55Vd$U2ckv9LUk)mbdyd3jR%NEB2B1G97!%FTii)Lyr0jpZ4{DXX@JhsSw+*CEC|xI?(%i>o>ixU*7n>{x5t!age+Bb=d#_ N002ovPDHLkV1l?75_kXr diff --git a/graphics/mon_hatch_sprites/ralts_hatch.png b/graphics/mon_hatch_sprites/ralts_hatch.png index 3437560e2ccf505ced108a71a6366f555f9d744a..fdc253785a0848575c937b2fa37bf22d9b73d599 100644 GIT binary patch delta 1380 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 diff --git a/graphics/mon_hatch_sprites/seedot_hatch.png b/graphics/mon_hatch_sprites/seedot_hatch.png index 427e28be40e24761c1d30b844850dbef1bf895ad..8eddf85854247a79ce173881c8b0c5b7d2de4c04 100644 GIT binary patch delta 1216 zcmV;x1V8(P2R5YJ=>L^Yj3lqgm{fI2wW%e%t^sZ)pX6dx*O~hffG~jj0SJSx31IaQUER2r z@Fn;y;H+z3p2%M}dMcf<+Qe1vsI|c2rbjBsH zQ-43dU1Tlt8o;=mnKm|Ke=Lvy2)*-ei#?fw*9zEZc!=d*ZD91Zfv>~O#@BFq9cKIB zypy_5fFQ>nIFUiVhPgP5;HWlZzQF&n;ObSt!E7LV)CSBwNL`rUBzT;G83c^W4+Y3U zzm9r0)uZ*dKR8GfaLbZ|_^&^WrnlRn9Q5^i(!`;CQ)kk8t6Y|ce^cPEyZ2OY^Kc93 z|LZ-|+dSL?oZfu$OmFjW3OKXBClNIDRu8AZ?2hKP@EUr}!;`|pDd5D9C>)sms7?U1 z-Y7EGYXRXax_%t0J*Z9qXBMILzG~~GfD|fv;dy^< z>lDz|n}o`GDZu(@f9T<)r@Wfz6hP~hRvqcDod68_($FLI-%AG(z@^q}0mB{0HL4Aw zfSan8q4p#SNRvo&-~VRo6mZky@h4h|fhm9%mRIuIU!A)wQu6 z0`Lvi*==9fDX{%IX5D+(~c(kshC zmma=f1F__jX&Otw{Pg${;D^yi)gWJ}7lSf!ev%%3Fq@4JFh1u6d=}&4M5%wyF1iFh zg0Ufp&*PoL3CfG{`Bb_sfXMRVg12}sHD_))HGJXG|F=42@0PIMDSNkt^)A`FHLSO0 zY?8^XrVbg~f6C;vsYAxLGCB3+E*YCvL02 z?vkDznboBL;ti9Z6;Rmluq??Sp5BJvHzt#F@m_{?1MCd^6X00907&+} z$xN>M`TG$sOvYxxIm^?+w+|vKU_V21*D#0TLmeAExmf;LRNf2kS@B{(M}99}2CeH0 e+iphh7XJWCO;_sU*^_<%0000=p_tuVsBfN0Ta1TQ($YsxpUcYJL!pS}!D&Efe`Ns3z6J?t}y{i^p&7G=bQ>uQ?;9?sFwQB z;yKlaR-DuS`SvK^rWZAcz7&lGLR8$YKXZsoi|xWfB+t2?TchK=+tnglU#xJOLlfr? z-uEK?`wVuR&PWEj@gWM^Dloj_))$8Yup1{F4~#>^Ly{5Jg<(sue`;}}VXrA5I?zI* zkzB5q0gjFoh@kZS4?=L?qU%5kf`Y+=+-b^1zMadpdFjlYQ$EFq%0#CN{8?|IyMS(` ziv(FL!Qwhj!#9b_K~#EoqyV_FqGDaM?{2lUu*m82`>G&z&W8wfh@B&d)UWcj!3!+c z$tUEAv-y#MTvSkpDGAG6PGzzPzjI@bc==A_eo#-cTtf#D&VNN{i_mMucu^* z^;DC3@xAwLK~%{HGdfRYJtb^qn+LKg`29`adjT)Oe~8=ff4PScWp5HyR{G{<)+pD3 zO{-79sO7e;YTUTl&5fmb=x^GU2_|2rL{Q}=)w}a6W^2KtvhX@kmA?j+aevQZbI2_~ zVP+OAH^PBcZmjN^vhX$`Laono{G4ClwBRYW>ei6dGwv_+_2Qo+y07<3Rx;Dqmz$EA zzFr93BGkoMEPZ{-;p)DA>wQdhUmt9-uQz>`emOn90%DO@>YlzJZvX%Q07*qoM6N<$ Ef`3=u_y7O^ diff --git a/graphics/mon_hatch_sprites/shroomish_hatch.png b/graphics/mon_hatch_sprites/shroomish_hatch.png index ca75b3255c922b2d72eb893098667cd320344e4e..4025593fba2bcdc96638aa1833d531c061d95d7f 100644 GIT binary patch delta 1347 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 wcN_B`Cdkj$8GF>|d}0prvvtPyjeqj;M1& delta 697 zcmV;q0!IDG2k8YNiBL{Q4GJ0x0000DNk~Le0000O0004K1Oos70KW_-zL6n5e*$z# zL_t(oh25CJj+-zLhJ)J&h=Gbd#$&h_oIC)_@BrK3XV~`0WjE?AmqyA1RNA~ileesm z$HbRtwW^Y+_~c)R(ags`gJCxNz+#I)d=5ncp{UM#*(x~iyT&WF)E#2uVthiaHR9Jn z=RW5g0O$hb-3p{|mkQmq z70A+w4%?;z5(Vl;3E}Q9IuR>D5tvDz&;Nyv$wrL()>KM~GX6z(HN_UYezndvRO#VY zT7N&0_}L?7e|SJ=TM|UO8W$i^cCRQ?uFUd4ibR2+E9{%0BNG<@3QMQtf39l1HgsIw z46$n)0C!WqGIR{MK`@C=vI1WNE)1%%x> zPs;3UF@Vuxvp9IBq2E~OHz@AnxBmncIfb+t&Y4p)Xy&6O_61(%Oz%opI3Ff7+ z=>u^fqS6ezdjFdsno)O#Xc$hnPw#VN9j5lEbGwdo-wGMR%o-?UR)BV<6)CDWd-Z fv%y~POtilSeSnhu53KD500000NkvXXu0mjfj+{%j diff --git a/graphics/mon_hatch_sprites/skitty_hatch.png b/graphics/mon_hatch_sprites/skitty_hatch.png index 9f4b5adc2fe999b73a9df886c3ae5036107dda31..e3f9e4af9274200cccad3da816a8fa2985fd9db3 100644 GIT binary patch delta 1737 zcmV;)1~&P)4e|{kiBL{Q4GJ0x0000DNk~Le0001Z0000;1Oos70M9TiOpzf!e|s#ENq1RYxBW;8*7UK>)i&(+$=jc8WK(!lk7=O9C0@{ zC$hv*Pd&xr56GeUbDf#x$I>=}pof+T;Ng(Z%rw}D-Rn$$*@Et`IyTjU0jz~> zcLKTTO#g`h=+Lqwu0?_`aV>1y4&;>!;ACHtTN9Qyuu0>*M(Wwgt`lAY}%h?UV5-R%y|Do+z^Y7YLPz^JajbOB&%i!05V5hA` z$F>7$NKLka;B@Kd$(6q%pshvMwgMq=McI5saH9PKn5EBS01N zZ0Y+xkJ@Q#(Y38WsfrWjfBOfEkZqx^e6=vksHw$Wy9wmsR!Gt!BDZa0sHPTO+X^Ib znTn;qqSw(Da_Qe3F)U0i%oee1JJ0}c19`yN1_%c-FtC$xEzB??vPa?FpuK^UN%=CY z?Lb!VJA!L*-?oGHhG$Za8yl-#!!-ZMvQO^^a-6eg(bMq0E&SM-e~c%{OhfKhyuW&tTX8Q5`m2+*2ok%A(4U+6q;vt9OqHq1Ura|Rrj0oQd2@Br{eDBu|T zp||4KO*SX(_W^^2f3!N%J$_(->6C#PfKqR@LGb8MyT;^fqUaZZiRj=-`zAF5zpweN zX`$ic>Z9U~fk%gTy$3W1&gNw$>O}m0OWW12Mw?5A^q5X^x zby+Uucy8e9KKTt$7Bd3eZ1d&s>5O5I)IYlfjX&PsG7N!~e`|&lP&`xuK0}caAoQkO zBj z%-K>6H&Px8hK-*ANOJ~o{*b|zMtT1}63Fh@Bv@)~a- z1ap(@;6==~(6FQ@J*W25U6excTit7&CRNwO8FHE@sZUOuVJS&(P)XA@`B?&m{`v6D zpn_9KOk&EA6^T;(&d?cZ{8Fr?!yj;WDrF>7T=~QAe=8Qp_Mx(SgIawg{a@GDbojx`?$7V(uzjJ3&)b`rw7b)v-_c=v2qM94 z-@rMj93X z-{+IUxUVUAOwj!LoUUL)fqI^Sv zLQeh*^aH#ea&jj*^G|A+KGwp(&ICVhKIjpQ^6dxl&^(x+giGFcrY9e@@Q24W?8?#P zxHqhx(D7=nSES+QrZ+rqdvZto^yJ6-b?0Q{TYo!fbdB`8k>_)(Kktb6MfjkEA4m3I fBkZ31UyJxZgJ=>Kdb=xT00000NkvXXu0mjf3Y%SE delta 1678 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 diff --git a/graphics/mon_hatch_sprites/spheal_hatch.png b/graphics/mon_hatch_sprites/spheal_hatch.png index d88a29dd9a130c727b9e896d77651e05bd3f4ebc..51484a9e6f6faec81685f42afdb6a659bb4ecf9d 100644 GIT binary patch delta 1746 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 diff --git a/graphics/mon_hatch_sprites/spinda_hatch.png b/graphics/mon_hatch_sprites/spinda_hatch.png index 63de4b8519ebf602cc43b3606a13d413fe3d0c01..987106f1ab4052eb263c0b39d27115a82886b1ed 100644 GIT binary patch delta 1436 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 diff --git a/graphics/mon_hatch_sprites/spoink_hatch.png b/graphics/mon_hatch_sprites/spoink_hatch.png index 64ab79ce467e4a64599079f9bfbadf6d326e6528..b387d2e6eda6be1e384a13295208e25158b3bac1 100644 GIT binary patch delta 1170 zcmV;D1a1512fqm+iBL{Q4GJ0x0000DNk~Le0001Z0000;1Oos70M9TiOpzfze*{WN zL_t(og_W1hirhF5$Bh-3c?=`lkYO)_Es+d+>y{z8+Afxmmss|L&N1vRWPF`upv}HT z*gY(Hxs@%cs^pf3iBJ0Y|Eo%J_pht7?8)c){^K(j-E)7>CewU>sYoumu=APXUjO~y z`R5D8W|3u^zRjPKI@D~;JX>s@f9Ieh4O`qArkR<=gcGK*i$&Ue&BN-KpMJa4ygL1I zU}lz0pH8?Vpl$17s}Vy}0i|Zy1eDDfb~KDK$Vek#?3kHl6JQ^|BlK6Akj6^h*F9B7 z+4TE5>;O?P1+&uW@FShLYcB|2SXIHby8W$5&Es>?$2Quyd=t|!H)IluBNhYN_#VDgtjs9x`oTO z&hl=M5{%oay5*qjH8G6_XcgcEN7;;h{5#2wb@#G}HMz8_qmQ4-ZfILD?hxf-ZoIj| zKwOiv_{-UBsE|z=bM#TOf4pql;!-2qwh59bo2^RH2AJEFM#?%2<7{O&;zni~nber@ z5!qz36B;(vj;1=|m}kq?kwlut8x2ab9PeeB6j^G#tI0ONO|R|ZIs)#_+AgjmW~SGY z4BrZ|*eA^Kfe3F@Yy{yQhOduk!v^KMp5O2?(+tnn@961rALei8Ju~ewdOl%} z3Z*>;K;A!pu;XN*(O%qQWB+_LvAf>XarIXS#p%iW=M%6GRcvm5e~GnHm(2TTO^nza zLX60ys7t2)d4&q5zG7!?DJ-X_U`XO)`}|6H?tZKZy$s=uDz>?0X3OwUg&6vqM~_|& zbst2|yxx=0fBg-sn_Yky;QWXkusZq<*qc{}y_B=%ExQ0rt>{2+E!^IGjxziB(9rF% zzZf=9588>K)3)I*@c3RNjtJQ0g5``q8H>4e8T4v)5c4E;hGuzHp2Ev9$-FS!O=M@s zN8bVS{y8@UMll%O<78#K@5zr+D(uM_pDO~RIGVOHXq@dnL)-x~KIf9gDx$vScIk%^ zJvpE4;lj9Cya?-FBAz39az4w_pr*9HJvga}^Ba1y{`pX1pq!Fr>QFGfWMjtXTn#vm kGO#{8>dC*m$M)m@0jLD|9o6vy_W%F@07*qoM6N<$f=Lct+W-In delta 954 zcmV;r14aD53FrqQiBL{Q4GJ0x0000DNk~Le0000O0004K1Oos70KW_-zL6n5e*<$# zL_t(oh3%K$Yt%px$3r66KjYXW(Bex;c4>=mmkrd{O$I6bC&V9|k41$xuV)Jv{4a_= zNdGw}m))63wM9L(Rotif-t5m$W_E6)=m*-_8QWX^>V!mh)t}xVdLeMkGZJR8mCjSt)xN1e{~He|~rDrdwm? zT{DWT0jR+9&2VNzq8>hj|0uCVuQw#Nf|0 zk%CfFv?+|XHsow9b2d_Ce_8NOmC6}NY8`tpN-MTC+h4`orlFLSB56&tAP1g_mR(2E zE;}Z|eRAAunfp^Dh^>Pi+lkzlD+D<}|f9)IdbaNbs0>_)D zB?}Gplt=ich`@aebRNLbG7qOVaMVFg0$VsJre;nM4HPUiSdK7_b{j$@ndE8ltMl|O z>M4kN3PP;ykimK_LOopz_bu_io?fe`0?t&_0;p#_<6c1ZbP)ekJ-x;wxJKb5g9#AF zr ce%F5i4T1R`5TjO?d;kCd07*qoM6N<$f=pGxnE(I) diff --git a/graphics/mon_hatch_sprites/surskit_hatch.png b/graphics/mon_hatch_sprites/surskit_hatch.png index fbf7c0e3d8e58d037c7ff2ea0126e25d05c50e07..e1dd1df06ff28f6c3a715774441586935916248a 100644 GIT binary patch delta 1219 zcmV;!1U&nJ3GfLaiBL{Q4GJ0x0000DNk~Le0001Z0000;1Oos70M9TiOpzf!e|t$p zK~z|Ut(LuV+eQ$8_n?OC?m)m!7gDf#law-PDVh_vpm=s##$)#`61Mg*1xPiTNh4Y> zpr02YiKlXrKD&nluxH^I<>v}<7q{OYNRb~F;9sq4Uvdr2i(PMTp*dl3d*i9O`2@`g zi`%>Z0K?5y^Yt$r{^Hs20Gsu7e{9QuZQ^ zwN}MOa({=XWf+U9Mqz!N{;Bm>Q!n~9QGMKa9;Z6h&u{~QpO>3IvLynlf3A_DAI<52 zcT|5QZ6ZT#^n8Iwy#0V12xwXabfByW&amheZFGhDNTKKO`<;=%RUO(D!GVBz4(~uApPc@>VDHmRgE}+4yPL$3!Bu*cz0$~qt*9+_C2V5c}$W?`|<;f47LNWqbQe`P~@0C*fu59k7>9;H_! z7xp>4hWiYr*V4U55_}HFKNg^u(z5jGfuE*i*642l-g-b_Vp@I_6_FSE+Z#zHA<=9hE*|#^$l3QV&2iIEX*4cjjjg z5M18i{A|bSe{7Yltw|k~`hev1kDKditR7pFf;&I^0II>FBF3?LX2@r7=$-kw0*r>A6#&ID91I78e-VjLT=03D&(9oC#|AKsL_#7x z#k;^+x~Rtq8=U!BC{4gb(;GdxFo4l>kebH>NwO3pS<#uFAue1^W)G%?!y|GsiQF2N z!_NFH?95EBRm_N}E-}~L5tzgFmW-3FxjP5pmp1NKK6ixP;ZKjqowpsh^f?#002g+b h{O0xX8B+CO@-Lv)A?&i$@TdR)002ovPDHLkV1n*cR22XK delta 1107 zcmV-Z1g!h;34sYAiBL{Q4GJ0x0000DNk~Le0000O0004K1Oos70KW_-zL6n6e+)@P zK~z|U&6mG((=ZgrrF2O)J;yF=G)=qXxb3mJAqT75h_VI__70F0E(}h(aL3Znf1p49 zfi(WB7}$~ClN>3<&_c_e6K>WJy&v{cigIJc@% z%!~PjnY=c+E@qb>NwlAjrlY(gfAoE@C8g|llRzmRN7;8NzaR0pPx(vR{3l)jEUN8@~UXG?;@=*YcL9BSHp@L5Z1q)-0M2%{L!?9*P0H!t<9lqDW z_e!dFcm@a&K#@@l5hCL~e;3HMD1oAAmTO;I62IeC8E@6WcW-&h%RD7iHct_i$y1Gr z0p+QRDJDQ-p6+HkHKjonX;hhmDyT-~<>|ekT181?1{I~IK}D%)P&uioN*bo7DQVTI z8DV|1yZ-m}t>NXLo0|12_os>TQ++&}F778qVb%DuD6R_g+QX}&f4H8}f_Xb1Pe-3R zBzAf_1NV*4_m2)70kmUis>faoTR20|RO-cRAQ86PNxQ{y%g|Napd(O(pl6BbqZDK{ zoSM^|97`LI+2Vgz(8W+JVOEa13#aatw3E+OqJH7rkIz>OkrTuLV5S2?+$7OQh`TsJ zl;ZCBwtmMoi897Qe^=nuhS@Fb)EllZ_*UQ{^~EY6f&-CPLzI0DQKE=4z=0tax!gQq z3*6cbaTkbxQ2AWp`{}%*^5weN*~-^dwJQ0kNoZ1s)+9(6Kh<=*G5P61(v$sUclCbi z^&YqL(>tTuB$J>8dwv?;3KcV`$WQkXRVPJ1ZT;VVdiSWhf2E%i9pk5#8~Q1sGJZ;^ z{vSVG8kLRj-*+hLC_$oja;CcAlIWA^sY_HLC9(ZYDL#qkPSt7qlqP z3o2XIfDhkEIUI0Z-$Z223##!2e(2OU6-Zd$QXL}JDK8&dSd!f8X{3n=%? Z#SdAeA?!gni<|%e002ovPDHLkV1kL$6FC3? diff --git a/graphics/mon_hatch_sprites/trapinch_hatch.png b/graphics/mon_hatch_sprites/trapinch_hatch.png index 635d93de78b69c29424b52841908f4cc79d4ccd8..63667750dbcdc2c32c26dfe3ce73e47df4221068 100644 GIT binary patch delta 1101 zcmV-T1hV_#2l@yhiBL{Q4GJ0x0000DNk~Le0001Z0000;1Oos70M9TiOpzfze*^_d zL_t(oh3!|tZrnByrMUe7bL~y8D@qD-w58P{w_2jwTvu9tKrTtIDcaiSw5WZxjs9@vsn7e-4L1Y$B4##%YVIg`joYv6l;;CbHDEuFKpD9Pb74 zvF^IAemLg&prPq>-(GvcSXn(j_=+mqT3-?6d9pL6G{#S~)7{vWUQoLE5BV|Alfpps zXDDbrR+`su);zXamXsm)(M0uX*TsldDK7R9p>`4{fH`39(uc`ER>^*wHLa#=Ays$f`MjK@3?1kdYG{I0c=Zf9}v zWNn3)PvogU{x#!Avho;;f|ctijyx4ezl9pb!(q}vT-u?+izx9_e{fv(ZmjVvR|713 z*dFoH*uEJKUQn98F($a7%nMWFhSttX>jhu-aPtO%bQo=G1IG)-J+HQz^v=|03tq0_ zEYL|D4j*&Y+Wuc~71^nfmu?h<40)-jfqg-VuM1u9FUyvSYsUH235|f1Es7&%Lc@iz>M@ z5qk3E$+C99Td=6=0_vF$mGNMJH8k`sYg{{LwHl22DTtlxzVm)bdDuh`4SncUlP62( z_i<%A7PvCy=U%mp4Q=#f7^K@F91_WKLPgjk)E7+GQ1nFZz>x$ z?Ql4yi_HW$@Tn(vCaVr8&Yg=#aWrV5W*blbOG9B9BjDq+l?OQgW1`dvyn#%+ZMsL}?mv1Btn64^d*16u*EwX+Yv1-QZh$r%`$D|C2YR)2Qw z0)@61hO(2)=!+~x`pxHEDM==Yvb;C60s3WZ&j6!~qHuz`Y9}C!5}&&QRQD-}N;O@R zuY$+{YS?5!to@jWVS>sj8~;{Ye~k7Zi8G*B#Xn6|S(=Q*^LOg>DT!vcfAx?=d-qvR zV}wj)I{z~a`T{gFFse~CF;FfdgVMD%F;GUCoEVgiYHMO(ZEksuA7Dz`As9-u&KXD>*d&O@se8X)J2u%>gspCfa4UW%q(?c3u$%0lr zx#2F3*$Cqd0rjN3mD(sgg}5NmJE50B+^?Zm^^$u!fGF0RUa_b;gL8*=rY(xbiv<|u z*!ri^8rs!7rm-3R$~N9|X7LGlJMGotNOq$Hr*s%$-iMjJwoNUpn%9^mh zwBD4Q{lDXO8aq5UNn+u+u{e>Eg@ZORxN+PVzY(_-xqXx|0i?*Se?B2`2ohE@j*;?D zVmp`Y*3gpj$*zwgqjKD6r-|dX zBynACd_uttx8UNMf4Qo01u$2M|I2Uqa>@-0r zZf8-r`oKMy4C{5Q0}i_`+9)t>VtSj$=deN;4bdS&Wrr2?1GtK>B8fQuU?0<|q&V5_ zpAxtN?raN)gECi9foV%$Rws#XPH(gwtazg`Al&hdwylf7e_%<0+k~F#r>g?@4GYaZ zXxDB-?k&PDHLkV1f-U#i;-Q diff --git a/graphics/mon_hatch_sprites/whismur_hatch.png b/graphics/mon_hatch_sprites/whismur_hatch.png index fb5363f44d540160578f4ebe0355956fc5569ea9..e541e2e625336ed178a5bc57ddb13804b554e228 100644 GIT binary patch delta 1534 zcmVPKlYz9Pl&cq_eQqI3du}DM*F}r1e&x<^ zh7#o@Ko?k|Xhx%X-jPM}6_ezD8)>$R{`|+WR$Kg&tJ~itv=0BLD!^(L^4B%XjBxJ2 z|EEfBG0r8xV*L9MilUm3`D4Vme;9w&S{L8PI!UG6)Q~w!xk{c!brXQ7hBJ?9{0VS5 z{$tz0{xx<0Z|zCzi_PUqjB3AOK(s&ho2EJL9)<%89d`;^i&iP)T%{D;$Ts%m+{GTV zL?|UULG&94IS0V~ikls!QUK34;KJJ0xxrfa{k#3vvS^AzPy@hM3jXj#q8T#nv_ru1*ASqPw1J zFwZsEtgmRE6H{qzp2tGlNpz9NW>!-kcH#>DJ&!$bq!?GSU(GN!e^Ij}$yRAL#r|Iq zO41;T`4F#?sln^xbrYSNEr-rtx$&w__86MzA8J3*Ahde+48hy!N_I|2ljY+1W#zQ`@VN{z6O z^YPaqbORV-v7_&Ue{f%<%q2~tXg+7*jTuo-0e&Ne8nJk47*84 z`+DkT$VqvNfty=0dW2!LHOGArBB0TvIa}`nprW$7&PRYaQ`{e}0bf*i-BmsS&*2#O z^s-P4VEpYqz%lTVYV=h;00W*ITK8?gyZ7-DDDc_JuDZ$#25_pN`8y#L6u z&ksdStJ$~qCQbnUAOc_kl;NCgFdc;Gdv0Y-uZtF2{mPx; zkQCh}n?*K<6;h{fD3hE=@61p|@oz7s=1&2ziJwI~{WvJqew_{|%=DM-NBhS#;CSCO z8lY>MaZ`vd&GiysyKdg1kj=^hf7rT_I72O$dw|ncu5f~~!T}trE@&YGJ-`TqUvv)! zV1U!ci^I^5re)Fd$QT41T3}Ha1-b*}Cn)ruZaZ~eh)z4#=?zDxJEe3NLM`P5{=~qm zi?VtQPRZNlUyFtUDeC45|I$R!T%eFE;#Nx%QZA8LyOol}%I=gp+M3p_f0lL!aI{-m zS6E97to1w9JEC(8A@n4GLoh%P85If-Byh`7ok7e|i31QSXqlU#nFpRtY1%=jcu{Me z3%mJeZvN-V7dwqFG5xtof4ZBR%Vfa`T@}qInno_8`O5V*S&YqB)GM+Wo3ALBWU*jA zGzBE{6+Y_cGM^YAHy05KXS_c82q^xCl zK&`7P9UqW(olW^IY-h)?HMEtr`$G_hL>Ln2JR6Ih@Ys63PkUh^M7$2cNFVZ%_g z_=;i?zSE+RNw`mP6(56eAFDKj*jassY8TfbIyRv~IyRvKGgTB0=5|34k zM7j0{l@>;ouw%KEL_=28KBGV0eJ?f<)j}DC+ewO{hsEI3hboJbcCToBw31 zF`b3yRx%J2IImz-b?m1k?ojk2itj$^@d&W%eW=Kdx@MrG{E=u@g}YO!N{VvXMSaliH8u zI!|;uBv-ZMHFOoHjCUfY6Nlp-fEdNE5OKK-A_R#3Hp39P2DAZUaSueDK_rT)pZd|q ziI$ghc`FxJO>+~zvuN;L;obMhvR*guCLY38D&^}?k;Khv$%x zsP!w~P(wTju#|KAD2mGjv8v`Au8>DmcMwPq7fk z9F@)J^mOz{sIsHSGoT_E8fAv$I)-r9HL{{M*d{r%Thzlf@Ad1N2YU#`y3)<5ckgr(Knq4(PR*JXtxNlCWs%S-(Dia zI_&f(zio2A<<$Pi@Aak|_9vr#Z#40JfrgOau00$>D=_?uz%3LDX?y4+H*Q8@QH!XK d8Bcw${~J(YO1=gVX*~b{002ovPDHLkV1jCyw2lA( diff --git a/graphics/mon_hatch_sprites/wurmple_hatch.png b/graphics/mon_hatch_sprites/wurmple_hatch.png index bfb518136f16256c39af4da96105007cf629d1ed..f7479bb80c9ab9c9880f5651e0d2b6f009ebb0e5 100644 GIT binary patch delta 1457 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 diff --git a/graphics/mon_hatch_sprites/zubat_hatch.png b/graphics/mon_hatch_sprites/zubat_hatch.png index e9947c7ecd2762e710cd6488ca41a20d749435a3..9812889d46f4a0f68df50da55c96241343f7af60 100644 GIT binary patch delta 1898 zcmV-w2bK8U4v`NbiBL{Q4GJ0x0000DNk~Le0001Z0000;1Oos70M9TiOpzfze+L{% zL_t(og}qnJa@@EP1~92P6W~Z|mvbNijwDy*U=oy+EuV(OtPeR!8m_N1l2?*%v7~6E zqjj*fM{la^&0}o&36dvEqZ=e={8PzRrGnB>V57hO1NZ@8>>Ew%&=ETMmd-cZuq3p| z_I@{(u}g;@v-+$(ra<)mCi2?z2n21Ib-7naE6Ni|eCm~kzase0 zAH2>3%FpkhyZsYIafUV7|62|(yUS-@>D}(k?LFLK3YCZDnCDZJ{|sGGf45QiVYYK$ zSzEk(K&5-<+zYR?mM8f0a_=iE+9*mK`1P`J_02ChG5WcDQeZ%c_$aP@7aR}G zZ}QWYpeQmq3iIFRNh<(nf8S5Tg^%Kz8Va z`dN8(_ zRny+t?e}y*uSkDS7O_S(ijs>`| z(dIN6d02LYtIf@5i^LP&wZSB1z?ZT^u*zW4&!m-%qHn)nX8L-sST=0s-JICB>YZ=0s!RBW-i6_7Wr(F z&&gLEI~xc3go(}68?`*9w{sH;0MqMiS;>E)%|a;(e^q3;vW2t(t&MSdxxApUvJM4c zymXb#B~8ysW){J54y?~@prkxC)=kc?(Oc}Cp#petotods0~9H6bvY4Ca2Mi;qS%^h zaUBJ4p`MdB$Ssj!QnGe>gpDNQiAn=Fi3?k?O+=`&E;w=HwxmOL99ft5rBN>7+H zwoEvIe@#0JJQ1@0_Mu2?;8?d~5jSwc@NYa#!v+Xs%30rdyD^&FlVZY)-Y~bc)H&;9 z$r@O4G!2qf76P26~?o`G=z-I4e5GV>p7q zImn;%g^R{NP=(IOwRqvd8LIQC^%g~AbDyfloU$Tsiiwq893xtc85wV7N4{lW%Nxxy@wmXez*bP z_JJQ7rdGTo>7QfRi!gv3p;a@>%KAK`FJhrO*k>b5rk zY{@F|NhMj|B0tDscPpZvh`Sp=Kmhlax?^+;bN~PV delta 1846 zcmV-62g&%658VzSiBL{Q4GJ0x0000DNk~Le0000O0004K1Oos70KW_-zL6n5e+KAD zL_t(oh0T~vbKABSh5@LfH37s+O zr@ilULg-}u5XH`QrFHT2Cb2L5e|XlI`sEMq6Y|^`bDB7DtUzopT){B=nZMs+wrIR1 zITu^w#MU!ka?YRGdeqZ(HRV;coG^Shsj6$K_LTr&f9y!fQJY*DL#@OD4Pl?dFAev0WmW6 zEoCYY!Wejvl_sG8N0|bIHi_UOQgwkODu6MFSdCcdbO29hbc!FK6~!}~x;mY3wI&11 ziXueip1+$w(RlAC6vH2_`1f0f7n5YU z$7@+{c)XVNHy*ELed6(2)-B#`WbLCGo`R?@e29k#e$fg9--;oC-wZhc_%3O{8wHWd zG?cK2N1?HD4D_KFNjUvpeAFSiz0iM%0dyf?5TZr~LG;Zh(R@Boe>MdM>HnkOJ_ruG zi*$X4Z&<%I93vP%vEm6rWZU05qQ{UBt6QRwt14QeWkRwGPju@nAzMT`qRB9U_=2mj zrr{|P4Hg5U>B0*NM0pz=MWP|pk8>6Ef3Ae|MzCAr&IfC&74jk3Xzfd%?Nbv1+MJ|y z5cgO6X^4CHuAT=gf6>dbISAj~EN6575|agZ#*4DjCjG(*W~x}XdC z5bHxLWR@AZUZ2`m@-)+CdVGP;u_%glRxK|gE0Va-71^}WC4^_XOsEevq8YSkh@0xr z8?dszAcB12L1kYwvP~LHr5m3p{3`U;p;gK>i7XZl_Q;t1e{Vf(X6iI;Vbl8FRdjz< zS=e!Y^fGE;gP-rGJ=pY0^kAQ49c)(C9qibcEWid)h)14>DC>f@X^X7rFr{fQFSxL? zD?sXr-tF%XCi`$=4~Jn7W#!BTwlWoTHe=TsWO$QRG^>bv@bW5`SwdZ+r#jl4B_r2Z zCub2|?T?)Ke~xZa`gY<6&E)tMd44|ej-@|DpZ{;xcw^s7)0Js_a}TeyGO3R*GrFw! zukM}FR66HTE9x}+*)xcZPPqFr;arE_OcTZf2G;dhG~zAs5y!3hR2h$K+(aVocI0(~Z{9q^bq?w}~?Q`j@nOALNP}B6L&{CJ3 zu~)t1e<-9KfG9}2&5qTOcI*tpR1Rr-`>;BPw5guD4^J6k)Z{MEh!dKK)WsQL+QLp6 zUc^r176>i8uwhsc`?~G5B}+fhT^)qP{n>jo%0^)oo6X_;*@5kIs=*7LX)N*hrd_P!UIY{Dc7QvrgJ){1QF5Ii7VryV>QW|Dc6F%yly85`qG zAr6*8l=d+y)b1O)^QyG1Ju5F4^!g}9{*$JD7l}8Ju5GJ&neMpcSgN2MUiTITt;oVfp3+NlCx#FHrSZ$tLs|!sZYf^QB{0 zR>InI*FFS`vk2B_3lx)x6*As=XJ1iMHeXV`ZACU6??!abCClZ(^GMtrIfw_3-;#S5 zcF8no=Kpy?zjSz1V|Imjr_U|m5fA|+yFoF8EqdbQBq8-y76wn^6U>w%IdEb3K z$5Ed290z_&`r_6K?vs{tedb^uGLS8IG|yLUmDW5V7BSv^(+X>zR#@}2ub_F_uUqqk zO(>d2)xHSKlPf=RvgLazM#_!RTkG`mwDPm#_IfQ%;mpI1FGfZeBF2~K@un(te@>|t zOQLj^Gbdo%0OO*YlCt#-?He+mkh`|TKRZ=U%gg&dCkX6G@AlXF|7 z>}K`k%5EMWTl3v%=eo9gjHiCrc8+_Dm+e0WV2`o)=R4Q0`Gc@?UBR}ZT(kmq6>%#D kC^{s6Z|CY@VFbScoM&qLnO;zD3;+NC07*qoM6N<$f-zZm*8l(j diff --git a/graphics/mon_portraits/mon_portraits_gfx.json b/graphics/mon_portraits/mon_portraits_gfx.json new file mode 100644 index 0000000..3c33fc0 --- /dev/null +++ b/graphics/mon_portraits/mon_portraits_gfx.json @@ -0,0 +1,852 @@ +{ + "kind": "gfx-config", + "version": 1, + "defaults": { + "mwidth": 2, + "mheight": 2, + "oam": false, + "width": 6 + }, + "files": [ + { + "gfx_filename": "207_portrait", + "palette": "207_portrait.gbapal" + }, + { + "gfx_filename": "208_portrait", + "palette": "208_portrait.gbapal" + }, + { + "gfx_filename": "209_portrait", + "palette": "209_portrait.gbapal" + }, + { + "gfx_filename": "210_portrait", + "palette": "210_portrait.gbapal" + }, + { + "gfx_filename": "abra_portrait", + "palette": "abra_portrait.gbapal" + }, + { + "gfx_filename": "absol_portrait", + "palette": "absol_portrait.gbapal" + }, + { + "gfx_filename": "aerodactyl_portrait", + "palette": "aerodactyl_portrait.gbapal" + }, + { + "gfx_filename": "aggron_portrait", + "palette": "aggron_portrait.gbapal" + }, + { + "gfx_filename": "alakazam_portrait", + "palette": "alakazam_portrait.gbapal" + }, + { + "gfx_filename": "altaria_portrait", + "palette": "altaria_portrait.gbapal" + }, + { + "gfx_filename": "anorith_portrait", + "palette": "anorith_portrait.gbapal" + }, + { + "gfx_filename": "armaldo_portrait", + "palette": "armaldo_portrait.gbapal" + }, + { + "gfx_filename": "aron_portrait", + "palette": "aron_portrait.gbapal" + }, + { + "gfx_filename": "azumarill_portrait", + "palette": "azumarill_portrait.gbapal" + }, + { + "gfx_filename": "azurill_portrait", + "palette": "azurill_portrait.gbapal" + }, + { + "gfx_filename": "bagon_portrait", + "palette": "bagon_portrait.gbapal" + }, + { + "gfx_filename": "baltoy_portrait", + "palette": "baltoy_portrait.gbapal" + }, + { + "gfx_filename": "banette_portrait", + "palette": "banette_portrait.gbapal" + }, + { + "gfx_filename": "barboach_portrait", + "palette": "barboach_portrait.gbapal" + }, + { + "gfx_filename": "beautifly_portrait", + "palette": "beautifly_portrait.gbapal" + }, + { + "gfx_filename": "beldum_portrait", + "palette": "beldum_portrait.gbapal" + }, + { + "gfx_filename": "bellossom_portrait", + "palette": "bellossom_portrait.gbapal" + }, + { + "gfx_filename": "blaziken_portrait", + "palette": "blaziken_portrait.gbapal" + }, + { + "gfx_filename": "breloom_portrait", + "palette": "breloom_portrait.gbapal" + }, + { + "gfx_filename": "cacnea_portrait", + "palette": "cacnea_portrait.gbapal" + }, + { + "gfx_filename": "cacturne_portrait", + "palette": "cacturne_portrait.gbapal" + }, + { + "gfx_filename": "camerupt_portrait", + "palette": "camerupt_portrait.gbapal" + }, + { + "gfx_filename": "carvanha_portrait", + "palette": "carvanha_portrait.gbapal" + }, + { + "gfx_filename": "cascoon_portrait", + "palette": "cascoon_portrait.gbapal" + }, + { + "gfx_filename": "castform_portrait", + "palette": "castform_portrait.gbapal" + }, + { + "gfx_filename": "chikorita_portrait", + "palette": "chikorita_portrait.gbapal" + }, + { + "gfx_filename": "chimecho_portrait", + "palette": "chimecho_portrait.gbapal" + }, + { + "gfx_filename": "chinchou_portrait", + "palette": "chinchou_portrait.gbapal" + }, + { + "gfx_filename": "clamperl_portrait", + "palette": "clamperl_portrait.gbapal" + }, + { + "gfx_filename": "claydol_portrait", + "palette": "claydol_portrait.gbapal" + }, + { + "gfx_filename": "combusken_portrait", + "palette": "combusken_portrait.gbapal" + }, + { + "gfx_filename": "corphish_portrait", + "palette": "corphish_portrait.gbapal" + }, + { + "gfx_filename": "corsola_portrait", + "palette": "corsola_portrait.gbapal" + }, + { + "gfx_filename": "cradily_portrait", + "palette": "cradily_portrait.gbapal" + }, + { + "gfx_filename": "crawdaunt_portrait", + "palette": "crawdaunt_portrait.gbapal" + }, + { + "gfx_filename": "crobat_portrait", + "palette": "crobat_portrait.gbapal" + }, + { + "gfx_filename": "cyndaquil_portrait", + "palette": "cyndaquil_portrait.gbapal" + }, + { + "gfx_filename": "delcatty_portrait", + "palette": "delcatty_portrait.gbapal" + }, + { + "gfx_filename": "dodrio_portrait", + "palette": "dodrio_portrait.gbapal" + }, + { + "gfx_filename": "doduo_portrait", + "palette": "doduo_portrait.gbapal" + }, + { + "gfx_filename": "donphan_portrait", + "palette": "donphan_portrait.gbapal" + }, + { + "gfx_filename": "dusclops_portrait", + "palette": "dusclops_portrait.gbapal" + }, + { + "gfx_filename": "duskull_portrait", + "palette": "duskull_portrait.gbapal" + }, + { + "gfx_filename": "dustox_portrait", + "palette": "dustox_portrait.gbapal" + }, + { + "gfx_filename": "electrike_portrait", + "palette": "electrike_portrait.gbapal" + }, + { + "gfx_filename": "electrode_portrait", + "palette": "electrode_portrait.gbapal" + }, + { + "gfx_filename": "exploud_portrait", + "palette": "exploud_portrait.gbapal" + }, + { + "gfx_filename": "feebas_portrait", + "palette": "feebas_portrait.gbapal" + }, + { + "gfx_filename": "flygon_portrait", + "palette": "flygon_portrait.gbapal" + }, + { + "gfx_filename": "gardevoir_portrait", + "palette": "gardevoir_portrait.gbapal" + }, + { + "gfx_filename": "geodude_portrait", + "palette": "geodude_portrait.gbapal" + }, + { + "gfx_filename": "girafarig_portrait", + "palette": "girafarig_portrait.gbapal" + }, + { + "gfx_filename": "glalie_portrait", + "palette": "glalie_portrait.gbapal" + }, + { + "gfx_filename": "gloom_portrait", + "palette": "gloom_portrait.gbapal" + }, + { + "gfx_filename": "golbat_portrait", + "palette": "golbat_portrait.gbapal" + }, + { + "gfx_filename": "goldeen_portrait", + "palette": "goldeen_portrait.gbapal" + }, + { + "gfx_filename": "golduck_portrait", + "palette": "golduck_portrait.gbapal" + }, + { + "gfx_filename": "golem_portrait", + "palette": "golem_portrait.gbapal" + }, + { + "gfx_filename": "gorebyss_portrait", + "palette": "gorebyss_portrait.gbapal" + }, + { + "gfx_filename": "graveler_portrait", + "palette": "graveler_portrait.gbapal" + }, + { + "gfx_filename": "grimer_portrait", + "palette": "grimer_portrait.gbapal" + }, + { + "gfx_filename": "groudon_portrait", + "palette": "groudon_portrait.gbapal" + }, + { + "gfx_filename": "grovyle_portrait", + "palette": "grovyle_portrait.gbapal" + }, + { + "gfx_filename": "grumpig_portrait", + "palette": "grumpig_portrait.gbapal" + }, + { + "gfx_filename": "gulpin_portrait", + "palette": "gulpin_portrait.gbapal" + }, + { + "gfx_filename": "gyarados_portrait", + "palette": "gyarados_portrait.gbapal" + }, + { + "gfx_filename": "hariyama_portrait", + "palette": "hariyama_portrait.gbapal" + }, + { + "gfx_filename": "heracross_portrait", + "palette": "heracross_portrait.gbapal" + }, + { + "gfx_filename": "horsea_portrait", + "palette": "horsea_portrait.gbapal" + }, + { + "gfx_filename": "huntail_portrait", + "palette": "huntail_portrait.gbapal" + }, + { + "gfx_filename": "igglybuff_portrait", + "palette": "igglybuff_portrait.gbapal" + }, + { + "gfx_filename": "illumise_portrait", + "palette": "illumise_portrait.gbapal" + }, + { + "gfx_filename": "jigglypuff_portrait", + "palette": "jigglypuff_portrait.gbapal" + }, + { + "gfx_filename": "jirachi_portrait", + "palette": "jirachi_portrait.gbapal" + }, + { + "gfx_filename": "kadabra_portrait", + "palette": "kadabra_portrait.gbapal" + }, + { + "gfx_filename": "kecleon_portrait", + "palette": "kecleon_portrait.gbapal" + }, + { + "gfx_filename": "kingdra_portrait", + "palette": "kingdra_portrait.gbapal" + }, + { + "gfx_filename": "kirlia_portrait", + "palette": "kirlia_portrait.gbapal" + }, + { + "gfx_filename": "koffing_portrait", + "palette": "koffing_portrait.gbapal" + }, + { + "gfx_filename": "kyogre_portrait", + "palette": "kyogre_portrait.gbapal" + }, + { + "gfx_filename": "lairon_portrait", + "palette": "lairon_portrait.gbapal" + }, + { + "gfx_filename": "lanturn_portrait", + "palette": "lanturn_portrait.gbapal" + }, + { + "gfx_filename": "latias_portrait", + "palette": "latias_portrait.gbapal" + }, + { + "gfx_filename": "latios_portrait", + "palette": "latios_portrait.gbapal" + }, + { + "gfx_filename": "lileep_portrait", + "palette": "lileep_portrait.gbapal" + }, + { + "gfx_filename": "linoone_portrait", + "palette": "linoone_portrait.gbapal" + }, + { + "gfx_filename": "lombre_portrait", + "palette": "lombre_portrait.gbapal" + }, + { + "gfx_filename": "lotad_portrait", + "palette": "lotad_portrait.gbapal" + }, + { + "gfx_filename": "loudred_portrait", + "palette": "loudred_portrait.gbapal" + }, + { + "gfx_filename": "ludicolo_portrait", + "palette": "ludicolo_portrait.gbapal" + }, + { + "gfx_filename": "lunatone_portrait", + "palette": "lunatone_portrait.gbapal" + }, + { + "gfx_filename": "luvdisc_portrait", + "palette": "luvdisc_portrait.gbapal" + }, + { + "gfx_filename": "machamp_portrait", + "palette": "machamp_portrait.gbapal" + }, + { + "gfx_filename": "machoke_portrait", + "palette": "machoke_portrait.gbapal" + }, + { + "gfx_filename": "machop_portrait", + "palette": "machop_portrait.gbapal" + }, + { + "gfx_filename": "magcargo_portrait", + "palette": "magcargo_portrait.gbapal" + }, + { + "gfx_filename": "magikarp_portrait", + "palette": "magikarp_portrait.gbapal" + }, + { + "gfx_filename": "magnemite_portrait", + "palette": "magnemite_portrait.gbapal" + }, + { + "gfx_filename": "magneton_portrait", + "palette": "magneton_portrait.gbapal" + }, + { + "gfx_filename": "makuhita_portrait", + "palette": "makuhita_portrait.gbapal" + }, + { + "gfx_filename": "manectric_portrait", + "palette": "manectric_portrait.gbapal" + }, + { + "gfx_filename": "marill_portrait", + "palette": "marill_portrait.gbapal" + }, + { + "gfx_filename": "marshtomp_portrait", + "palette": "marshtomp_portrait.gbapal" + }, + { + "gfx_filename": "masquerain_portrait", + "palette": "masquerain_portrait.gbapal" + }, + { + "gfx_filename": "mawile_portrait", + "palette": "mawile_portrait.gbapal" + }, + { + "gfx_filename": "medicham_portrait", + "palette": "medicham_portrait.gbapal" + }, + { + "gfx_filename": "meditite_portrait", + "palette": "meditite_portrait.gbapal" + }, + { + "gfx_filename": "metagross_portrait", + "palette": "metagross_portrait.gbapal" + }, + { + "gfx_filename": "metang_portrait", + "palette": "metang_portrait.gbapal" + }, + { + "gfx_filename": "mightyena_portrait", + "palette": "mightyena_portrait.gbapal" + }, + { + "gfx_filename": "milotic_portrait", + "palette": "milotic_portrait.gbapal" + }, + { + "gfx_filename": "minun_portrait", + "palette": "minun_portrait.gbapal" + }, + { + "gfx_filename": "mudkip_portrait", + "palette": "mudkip_portrait.gbapal" + }, + { + "gfx_filename": "muk_portrait", + "palette": "muk_portrait.gbapal" + }, + { + "gfx_filename": "natu_portrait", + "palette": "natu_portrait.gbapal" + }, + { + "gfx_filename": "nincada_portrait", + "palette": "nincada_portrait.gbapal" + }, + { + "gfx_filename": "ninetales_portrait", + "palette": "ninetales_portrait.gbapal" + }, + { + "gfx_filename": "ninjask_portrait", + "palette": "ninjask_portrait.gbapal" + }, + { + "gfx_filename": "nosepass_portrait", + "palette": "nosepass_portrait.gbapal" + }, + { + "gfx_filename": "numel_portrait", + "palette": "numel_portrait.gbapal" + }, + { + "gfx_filename": "nuzleaf_portrait", + "palette": "nuzleaf_portrait.gbapal" + }, + { + "gfx_filename": "oddish_portrait", + "palette": "oddish_portrait.gbapal" + }, + { + "gfx_filename": "pelipper_portrait", + "palette": "pelipper_portrait.gbapal" + }, + { + "gfx_filename": "phanpy_portrait", + "palette": "phanpy_portrait.gbapal" + }, + { + "gfx_filename": "pichu_portrait", + "palette": "pichu_portrait.gbapal" + }, + { + "gfx_filename": "pikachu_portrait", + "palette": "pikachu_portrait.gbapal" + }, + { + "gfx_filename": "pinsir_portrait", + "palette": "pinsir_portrait.gbapal" + }, + { + "gfx_filename": "plusle_portrait", + "palette": "plusle_portrait.gbapal" + }, + { + "gfx_filename": "poochyena_portrait", + "palette": "poochyena_portrait.gbapal" + }, + { + "gfx_filename": "psyduck_portrait", + "palette": "psyduck_portrait.gbapal" + }, + { + "gfx_filename": "question_mark_portrait", + "palette": "question_mark_portrait.gbapal" + }, + { + "gfx_filename": "raichu_portrait", + "palette": "raichu_portrait.gbapal" + }, + { + "gfx_filename": "ralts_portrait", + "palette": "ralts_portrait.gbapal" + }, + { + "gfx_filename": "rayquaza_portrait", + "palette": "rayquaza_portrait.gbapal" + }, + { + "gfx_filename": "regice_portrait", + "palette": "regice_portrait.gbapal" + }, + { + "gfx_filename": "regirock_portrait", + "palette": "regirock_portrait.gbapal" + }, + { + "gfx_filename": "registeel_portrait", + "palette": "registeel_portrait.gbapal" + }, + { + "gfx_filename": "relicanth_portrait", + "palette": "relicanth_portrait.gbapal" + }, + { + "gfx_filename": "rhydon_portrait", + "palette": "rhydon_portrait.gbapal" + }, + { + "gfx_filename": "rhyhorn_portrait", + "palette": "rhyhorn_portrait.gbapal" + }, + { + "gfx_filename": "roselia_portrait", + "palette": "roselia_portrait.gbapal" + }, + { + "gfx_filename": "sableye_portrait", + "palette": "sableye_portrait.gbapal" + }, + { + "gfx_filename": "salamence_portrait", + "palette": "salamence_portrait.gbapal" + }, + { + "gfx_filename": "sandshrew_portrait", + "palette": "sandshrew_portrait.gbapal" + }, + { + "gfx_filename": "sandslash_portrait", + "palette": "sandslash_portrait.gbapal" + }, + { + "gfx_filename": "sceptile_portrait", + "palette": "sceptile_portrait.gbapal" + }, + { + "gfx_filename": "seadra_portrait", + "palette": "seadra_portrait.gbapal" + }, + { + "gfx_filename": "seaking_portrait", + "palette": "seaking_portrait.gbapal" + }, + { + "gfx_filename": "sealeo_portrait", + "palette": "sealeo_portrait.gbapal" + }, + { + "gfx_filename": "seedot_portrait", + "palette": "seedot_portrait.gbapal" + }, + { + "gfx_filename": "seviper_portrait", + "palette": "seviper_portrait.gbapal" + }, + { + "gfx_filename": "sharpedo_portrait", + "palette": "sharpedo_portrait.gbapal" + }, + { + "gfx_filename": "shedinja_portrait", + "palette": "shedinja_portrait.gbapal" + }, + { + "gfx_filename": "shelgon_portrait", + "palette": "shelgon_portrait.gbapal" + }, + { + "gfx_filename": "shiftry_portrait", + "palette": "shiftry_portrait.gbapal" + }, + { + "gfx_filename": "shroomish_portrait", + "palette": "shroomish_portrait.gbapal" + }, + { + "gfx_filename": "shuppet_portrait", + "palette": "shuppet_portrait.gbapal" + }, + { + "gfx_filename": "silcoon_portrait", + "palette": "silcoon_portrait.gbapal" + }, + { + "gfx_filename": "skarmory_portrait", + "palette": "skarmory_portrait.gbapal" + }, + { + "gfx_filename": "skitty_portrait", + "palette": "skitty_portrait.gbapal" + }, + { + "gfx_filename": "slaking_portrait", + "palette": "slaking_portrait.gbapal" + }, + { + "gfx_filename": "slakoth_portrait", + "palette": "slakoth_portrait.gbapal" + }, + { + "gfx_filename": "slugma_portrait", + "palette": "slugma_portrait.gbapal" + }, + { + "gfx_filename": "snorunt_portrait", + "palette": "snorunt_portrait.gbapal" + }, + { + "gfx_filename": "solrock_portrait", + "palette": "solrock_portrait.gbapal" + }, + { + "gfx_filename": "spheal_portrait", + "palette": "spheal_portrait.gbapal" + }, + { + "gfx_filename": "spinda_portrait", + "palette": "spinda_portrait.gbapal" + }, + { + "gfx_filename": "spoink_portrait", + "palette": "spoink_portrait.gbapal" + }, + { + "gfx_filename": "starmie_portrait", + "palette": "starmie_portrait.gbapal" + }, + { + "gfx_filename": "staryu_portrait", + "palette": "staryu_portrait.gbapal" + }, + { + "gfx_filename": "surskit_portrait", + "palette": "surskit_portrait.gbapal" + }, + { + "gfx_filename": "swablu_portrait", + "palette": "swablu_portrait.gbapal" + }, + { + "gfx_filename": "swalot_portrait", + "palette": "swalot_portrait.gbapal" + }, + { + "gfx_filename": "swampert_portrait", + "palette": "swampert_portrait.gbapal" + }, + { + "gfx_filename": "swellow_portrait", + "palette": "swellow_portrait.gbapal" + }, + { + "gfx_filename": "taillow_portrait", + "palette": "taillow_portrait.gbapal" + }, + { + "gfx_filename": "tentacool_portrait", + "palette": "tentacool_portrait.gbapal" + }, + { + "gfx_filename": "tentacruel_portrait", + "palette": "tentacruel_portrait.gbapal" + }, + { + "gfx_filename": "torchic_portrait", + "palette": "torchic_portrait.gbapal" + }, + { + "gfx_filename": "torkoal_portrait", + "palette": "torkoal_portrait.gbapal" + }, + { + "gfx_filename": "totodile_portrait", + "palette": "totodile_portrait.gbapal" + }, + { + "gfx_filename": "trapinch_portrait", + "palette": "trapinch_portrait.gbapal" + }, + { + "gfx_filename": "treecko_portrait", + "palette": "treecko_portrait.gbapal" + }, + { + "gfx_filename": "tropius_portrait", + "palette": "tropius_portrait.gbapal" + }, + { + "gfx_filename": "vibrava_portrait", + "palette": "vibrava_portrait.gbapal" + }, + { + "gfx_filename": "vigoroth_portrait", + "palette": "vigoroth_portrait.gbapal" + }, + { + "gfx_filename": "vileplume_portrait", + "palette": "vileplume_portrait.gbapal" + }, + { + "gfx_filename": "volbeat_portrait", + "palette": "volbeat_portrait.gbapal" + }, + { + "gfx_filename": "voltorb_portrait", + "palette": "voltorb_portrait.gbapal" + }, + { + "gfx_filename": "vulpix_portrait", + "palette": "vulpix_portrait.gbapal" + }, + { + "gfx_filename": "wailmer_portrait", + "palette": "wailmer_portrait.gbapal" + }, + { + "gfx_filename": "wailord_portrait", + "palette": "wailord_portrait.gbapal" + }, + { + "gfx_filename": "walrein_portrait", + "palette": "walrein_portrait.gbapal" + }, + { + "gfx_filename": "weezing_portrait", + "palette": "weezing_portrait.gbapal" + }, + { + "gfx_filename": "whiscash_portrait", + "palette": "whiscash_portrait.gbapal" + }, + { + "gfx_filename": "whismur_portrait", + "palette": "whismur_portrait.gbapal" + }, + { + "gfx_filename": "wigglytuff_portrait", + "palette": "wigglytuff_portrait.gbapal" + }, + { + "gfx_filename": "wingull_portrait", + "palette": "wingull_portrait.gbapal" + }, + { + "gfx_filename": "wobbuffet_portrait", + "palette": "wobbuffet_portrait.gbapal" + }, + { + "gfx_filename": "wurmple_portrait", + "palette": "wurmple_portrait.gbapal" + }, + { + "gfx_filename": "wynaut_portrait", + "palette": "wynaut_portrait.gbapal" + }, + { + "gfx_filename": "xatu_portrait", + "palette": "xatu_portrait.gbapal" + }, + { + "gfx_filename": "zangoose_portrait", + "palette": "zangoose_portrait.gbapal" + }, + { + "gfx_filename": "zigzagoon_portrait", + "palette": "zigzagoon_portrait.gbapal" + }, + { + "gfx_filename": "zubat_portrait", + "palette": "zubat_portrait.gbapal" + } + ] +} diff --git a/graphics/pokedex/pokedex_gfx.json b/graphics/pokedex/pokedex_gfx.json new file mode 100644 index 0000000..73406e7 --- /dev/null +++ b/graphics/pokedex/pokedex_gfx.json @@ -0,0 +1,183 @@ +{ + "kind": "gfx-config", + "version": 1, + "defaults": { + "mwidth": 0, + "mheight": 0, + "oam": false, + "width": 16, + "palette": "" + }, + "files": [ + { + "gfx_filename": "sprites", + "segments": + [ + { + "segfile":"sprites_hand", + "mheight":2, + "mwidth":2 + }, + { + "segfile":"sprites_select_full", + "mheight":2, + "mwidth":7, + "oam":true + }, + { + "segfile":"sprites_select_left", + "mheight":2, + "mwidth":4, + "oam":true + }, + { + "segfile":"sprites_select_mid", + "mheight":2, + "mwidth":2 + }, + { + "segfile":"sprites_select_right", + "mheight":2, + "mwidth":1 + }, + { + "segfile":"sprites_transmission_start", + "mwidth":13, + "mheight":8, + "oam":true + }, + { + "segfile":"sprites_transmitting", + "mwidth":10, + "mheight":4, + "oam":true + }, + { + "segfile":"sprites_transmission_error", + "mwidth":12, + "mheight":4, + "oam":true + }, + { + "segfile":"sprites_transmission_completed", + "mwidth":14, + "mheight":4, + "oam":true + }, + { + "segfile":"sprites_delete_confirmation", + "mwidth":12, + "mheight":4, + "oam":true + }, + { + "segfile":"sprites_spaceA", + "mwidth":4 + }, + { + "segfile":"sprites_torchic", + "mwidth":2, + "mheight":2, + "width":6 + }, + { + "segfile":"sprites_spaceB", + "mwidth":4, + "mheight":2 + }, + { + "segfile":"sprites_boxes", + "mwidth":6, + "mheight":6, + "oam":true + }, + { + "segfile":"sprites_medal_top", + "mwidth":6, + "mheight":2, + "oam":true + }, + { + "segfile":"sprites_medal_mid", + "mwidth":1, + "mheight":1 + }, + { + "segfile":"sprites_medal_gem", + "mwidth":2, + "mheight":2 + }, + { + "segfile":"sprites_spaceC", + "mwidth":3 + }, + { + "segfile":"sprites_azuril", + "mwidth":3, + "mheight":3, + "width":15, + "oam":true + }, + { + "segfile":"sprites_spaceD", + "mwidth":5 + }, + { + "segfile":"sprites_not_seen_pic", + "mwidth":2, + "mheight":2, + "width":6 + }, + { + "segfile":"sprites_spaceE", + "mwidth":4 + }, + { + "segfile":"sprites_link_gbasp", + "mwidth":6, + "mheight":3, + "oam":true + }, + { + "segfile":"sprites_link_wire", + "mwidth":2, + "mheight":1 + }, + { + "segfile":"sprites_link_cartridge", + "mwidth":2, + "mheight":3, + "oam":true + }, + { + "segfile":"sprites_link_gba", + "mwidth":4, + "mheight":5, + "oam":true + }, + { + "segfile":"sprites_link_activity", + "mwidth":1, + "mheight":2, + "width":3 + }, + { + "segfile":"sprites_link_disconnected", + "mwidth":2, + "mheight":2 + }, + { + "segfile":"sprites_press_start_trans", + "mwidth":3, + "mheight":1 + }, + { + "segfile":"sprites_dex_entry_continue", + "mwidth":1, + "mheight":1 + } + ], + "align":16 + } + ] +} diff --git a/graphics/pokedex/sprites.png b/graphics/pokedex/sprites.png deleted file mode 100644 index 44d06915ec30685358870203ac53e2333a8f508e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5672 zcmV+@7T4*CP) z-;W$ce!zC z=&I_T?%DOSxkwc3ba(yy)c03acduvJF!p`FJsb|dY`#6rN**SL|4rhD&Za9C;rV1{ zyS2=AX1{Ax5bz!!WDc!6TJ!kC+Qi!A1e_QETmfXaW0~!2Kt91@9t^_Y<^eFA2~K4a z&X|$S@&P6@+qwM$Kx;5U_(n$@}o#*uKGx`-ZKmt4$VBEx5rY#oLVDXhR?>p6U$(2CVweHhfE0{4;HEc-^-)wzuRg_i_ z|4mNtwC>RQ&HMzw%WbEu-YsW&eu_qvU(Ue8a?7zsetDjsu3_`sa?ZT`@`*KY!@TkW zKjlS!?5!2}IVdJS4&?YLwa+aFK$c&QhL>BO=cnj4`Q@TUUO7|lKC;}-+?p?MvW8WK z8Mzo5^ZXbSMBm(UtdU<1?XiOP6IIR*laCy!(_zJhLMbNO@r{IIka5l2a>sow zThRd5XA9ELYSjpgh^8BrGz3H(F=#+*@E2|lXy zDaxx_VkO8GC)KeJ{$ zN!STF42uE*K(3cGF>J;Y00b^=6wOoW6!lmd$4F~W2HeLX!0xas+)G2Q&pYpV{i zH7$X{Kt}+a697sfs&WAE$kkDg;{iP3`|qO)Jib`Q@K!6M%Fp=zFTJ8rpGd${VqiLU zW4yKis;QVKjkMYPrI3J#Z^D+JXf|tk&kw|6L;zKoy~j97A&9^$$kof}(qaJLe-953 zzJ?LCX7@?Z@jleA=@Z{2(kG;_zk=Avk<81*b*0C}&3~t~o;4r9TVdb|B z;2MPx!pMYXB8{Yk*C@P52o3G0i4+q8 za8OE>q6p6d2nOg>xE&e?Kt%vOqZ-5;lOw5Jb*mm#UuzNKK4cvlZcaU|79cvN3$9`bi+EsSQ$9n@Isc z_QZ@C(&CT+;Ce3rqH0Rx((1*&8KgD_0NBBSTJ5pfQ9nhCi3mhhb-y6DOP-9FrQAq~ z`(}y*qXs{6;&-ZYVg|0&V%xe2RC)ILIgfO2zjL5`Z(cp}?h8F0RD@dE!U) zjI~w>2{77L(YRho0~GCu+(DUfjz+QxfT|WiB7tg=22%jhEdX%ZSmL;4_>XoM)gmJv zQvy|Mg`_|rqk#fo)~-TbMAgFOIL`(Q0B%NkP&c?+WCCQSD%>3w0u)t{k~$!|L@;qw zkQ4#918`c4J&(z2 z7cdP_kTwed4o*)JOJoF(74}#7uzIrq0d9wIKkQ`!97q8a4X{}NwKY}}C~Cj$07XWZ z0w_`ec}dQ4zU>bvG66;}=fSN5jJ2MRT+XANc}6sPIgf5Nj%)%Tb2*QSG`O7rS<87) zWW?hEj9$(az?PTuF#$#{=ePVIvKYWgYHkrd6fLD5;kX^hW(NfC=Ir0Thfsn|@9h=_DTg7Xavez$kzMH%*DSs)py{`FW9Fs{s{&yY7$ifWpbp0>E2* zmh$tF08AX+dYc9y_ZE-*${6#<28b+x11W$idb)c2mplh#x>#3}J|G|dxdXaMZM~S3 zfLopb;PYPCrO-$ozSczu{hAQno-!<)TCtyxGQKoGBwu&HNC2J>$YRa4Z@VfL@Rh0KPcD z9Q7j2wIAjw>1F|N`~|&8y>`Xk>`*LsdT9W9K~|DajztyuA}w)X;hNP*^^gU?=q0ZD z^$Pru1JDaHoM7_wSH4Iql2DSwfQfmf064yU$KSD_*L7e4_zqI(c%_5G0TFI_2`LaS z(l!kc+1JeU(`vG(R&Hn;SrxRh7)T=%FVYG_tyWr*1V$tYzz6RMBa6ga5n<(yk!7WT ztM^!9KvyE;0%$km^1YCf!1V$E*X>dOX&qG~6;_La&~~Iu0P*&3hXBNzAJa&x`sv2b z0B9v;>*%Wo;OdR<{}li});DzShRz)T@GPs(+kAXQ0BjV%fgJ&m=^OBKYz9);|MjU5 z(rd51)`WBtPA^+GLw7fS_7f<8vt9KjrEmY_SaSi6Z`4m54^PNy;fM9zW9_ICfL*T% zfagwy&F90JefzL;g!!oh@NED%f~UKVK8JNGmAjk3vQU3&&vJNjx2U!pPVN5T<^b*% z0Nv+K-F+GWW(eT45`d;S1_L%<_v!r4`sa@!z_B;#m8p8=csIOqe5pc3{YvGI$|eAI zVb2KgRAuT^vmOFKQv!&gcdMGWHJ`ex`7Hec>pxyu56>QJp1P}fx_-W1uOAQBm-qBU zO+Izvj(5ffIPs^@aT7)G3JiK;3IO&=fQzEWNsao->&IT_2yn-dABQ2oh}9NO{u%&I zuJg*Ww3y1&iAM*2KQ6%3zI|+0lL%1tr}u=Ru&?Ini{~VwVFb-n0ZD-U_;Se43iF$S zLw)_(qv1s%fqMNR!(kB3%V=llqpy(-~=((r*cl{d*pgu>< zD<_YJ;fK2gz;}H9!`pU`1Aykg4<`0H%&obPtpD_Gbg##rYc8-9fIt=MsC?KY0h|;P zJ6*4bl_>#mq7v{=XNv*cj2rgli$&K?yBFPKQUB~l-AaW6rmpRF>0?3vY|{f~Ul$!m zw*MO7{~xfxWG1RG}~>IUjzIB0oS;JuxY?iVChJ>!*O9$DBdxn{2Jg70AQ3K?@(MAwJqPVxKMas zFbXV5*XQq@f9df2OO2Q2KW)sb+(+(h%wLDAhPZqSzh&WiJR_?;TMPX`os0#)gRV1zeIqyv2gar zgATw83!gO}dI?UhKQjM75kNs)fazRaxVrG^jiXl=4*%}zLelgt&cW2L9=$q$;}b^! z^%p+5e|{E+PINR1z$wpgzZ-|YcX;8*j}{ICz+t1mFFAgt%l-Erp1ywA>Ep8p|Jrpw z4WQ5B-#p*ryoIN~dA^Mq__(m!4cbQaR`AU*`~{x%I+PKF{cgA8n_b51EDWjNP&AE~ zph~OXvHHQzZGf9$pUceUz5;;WTfM^0gLS;P*_Cw~;pMro16d7Or|0{vrEbUSM@__t zgb9_LU5jSd?-h353bD@0`Ug-EgaUP*4>@Etq?G#Y^75c-LDEF99|ItvvP4JZ1)ZaK zZ>}GK>=o1srX$daoOBBgOFdGP+0PvH!?LIp0L*Twhvd1PGpK_AS5HEnmaNl1I;ZR4 zS6;<5e$o$31p8rGRC0E$ZaWqRR@6B{q7j2Sa3W~DXvkg5IAuRnC+UY}QAq&b7eCpZ zx08OU5*YCn&O=eB-$g_2w%Rs;_B7#P*bmF1vJ7@OqI0Kj!$rw8(U3b~FV&CmG~r>` z53?-Z>~*ZTfGN049iSHY06Gf8M*kUm;(#4Pd3fp7Hk7x?x@0#j6encyzNxdZ;sRz1 zfHkNRtcN~XX%ci|1rQ7n;LdhTQd!bdWuX|9EZ&~msJP(hCukAC${Hz=0Q!j}1N^cF z1Q@`$AH90HO=dfc69CiV?YWV`5r8SBmSZ6C`cj|jK&95DaM6cKiS@_p!;Otel-)A~ za8Zq`YXAV{Ep^1t(2NUcRGD$X0_ZI(fH*8~(0ASGQh$B8*k))K&vvkmYuy0Q?a;i@ zMq<&mjtdl+FfN2{Trd*q3A4g)LPdX(fpilY#e*=8q74K%&OaE2DfdEvB`4F03v=0V z!4M+?aFh~L3e*M;g}vn<3P}aaV0_)Q?`8q$xX@5>p^*m1>2WkD1ZY9OjqsUtl^|RS zP&Z&0Ap*FOacJ!a24rw3s`yfm{Miy&3~mVtPnBEtJDdyGN$dujS$1>IkO-w#z(XNO zzheRf!kAE0U^oO|iwqlDZn@M2#}|TM;mU3h0Ke~0vIkv&v;krs_QXU`at1)Sgolv2 zoMdJ6C*Nskxn=C5e0z9)lZVD?*lFfFA(NU0}P5MvBC!{ty)xSba7orZY*ZmTa&Z-ywd+Fe=#a!KzTB&I7E9ve2q0#=F)6-bDi!KMAIlw6 zN-zPQ`RdK0_(t-3lh5@3Lz!B+ra^^*X& z^{=eq=gPX%TG!t)z?*#S{WB|C1S0_g{yyXiIczI{)A2|E2Xy-Y9MO&ha8$K*fGf7~ zxW;vcJI1F0Y-8Oozj9gOtCh;0-M6h)_N;#V=evd# zOnVt-e*CX+Eff9r_aEJ}R~^$`zwyS)FYAl{q1%=(n@zPbd9+i0_XlBkfert&q7n>n z&ppG+IT)+b?N%&+iUPQY(qDYx0=P2D;6Z!92^ZNesyO`1W_uKay0Oxn#w%3|50g%oO00gvV z4gdn^<1B!eAAdQW`{@3%zdsFdZsMG$0Jv6x0kC&fs>l_+P|3G40RF31`=@Mxcflw+ z{fSWkWQ1G;C?nl7MMjzl07jV%0j8ew7a0)1pCN$G2o<0arrl1ZG2HK!H!?)80l@lw ze?J0T05|*<>vSh(W@i3j2Fh-JAYzTIn)qi0u4eXEzH^pFeWvrycj5Z`_BAv|F}+jS zvxn*{VPqbM=q3L$J$+xd%Q_cspP8ARK>+1{lAuyq?~)IHSiu4J?;Qo;pEm*a?$rR~ z_wMl;o;@%W@7Ey`BEa9w2mt6{1qp;gD=N6OiU2+o0Ou=vmizClu2#M)0m$#&BmVvZ zzSqBo01pU&N2OF0fapLEu#^R0l>4h1plbo3-@C_aIBgsm6mSsE+06^L|E;JE9Z<|$ zbpdFA9DpU+pi3&y6A*@!oXXtk>AwQ)4;2U-o?{7j7&cYCM(VapaEwebpdQQ9j4sa z8dbCSKDuABYFhh&Sg)SrJRA6;xXKubnO_<2uMGHLrNcXX&`z>hHrVg^wm`5Uex0Mo z@k=}>{ed6&14x12#(#ia9?-u(9-3fcY>+eOUkHd>21x!?gul`Wd_Lgt*%se?jsFmi z4NWi{T>TKlc1ZxHJL&raJ3;!ruGw54Hy?EX O0000_m?{17y7IRsp7Uk#}&Hf}%Lx6r#QEJORZZ-4u=m_Y9yp7hWAXyVwzO zp{Vm6{)du&9WnjEA+BF~Gx)dH{~0cU-RU2g813~$7jOZ*oj$|A-DjsS5>;@KwFKUN z{S9OFWu-3?<#iz;ggOsf0j z+&9}#G(S4W^F_RMaQDvSF}^35<%N4fK#&T5TgxRVqrC~Q zbBY%+tK}5{5HKcK!i;Bj!mXn1D&s}W8a9c6u-(PsHUCa!Ji@pSQWlZb$@?S4f8d_~ ze$2vA-~3T|*n74+egyAE^04DP+#T)AY+884r(kz-dJgudy8`ACDtmTtt9EW4mZ!h^ z%M!9wuptK?wyofFcl^EWR3 z60+1_TPDH&)DCpzd~VPuo*sT^e7|xDSt`S(ge`BzMhitzJ*;&sN+78>!I8*?OstuN ze6o{&c{!_45QOVo0!HkY5e9Zy!@^G8izC^X7Upy+fg+Xxp1_5^FL5ZaHoUZUcLYqb zrLTnAI~_|Pse2g>20U!J#G%02Flas8;eSmIgk7L~15 zQrln8b2q=}jK!s`CaG`Z57(tsIZe?SW8>=JWDIbY3Z2KGVk$poT6H(@g0gQ{wpvJq zSE_djw&|k)=ClV(!nFk3Dm>eLE!96keiwCkyGr%=_03_mUo#B0iru%arTTpZ?^bCm zbGu1hufz9K*HZoJ>4D%gp6y;&HZC1IV@bUy!2C5xQlWwJUlDft+%#li+dis@z3NGG zdsfQ4Ze1PEQ_7=?S8;*||#@=)2xpD2G z8-~15s>eWhXGylZ1$z|*96Dq8L3lfu;K@O%cQ+QD2RDThJ-Ri)+)Q!@41R#GB-$T+ z0ix7N;r9uQ4ep=E^T+L)<~w>+s591*cH3L{0xZbTSt@+A7PJBxm4auf-I64Udja#< z8S69OXJh4N$?ir{H{#4Y!;QVf(UxJC;U+Y$(8VspBTZ7z(H7$qiAf>rg7yOEo5d7h z42p67iU&*d*Jk6wy%uK_cj;mNeXBk3R$_C$h-);s@OuNi(rWv;Ps$(l+rI%vj}?KT Stx8G&0000%I+(blLUB zjR}z6UiCL3r7o>gGkHkq#g-J8_HgLBdW37znPma4`iSN*k?N!(71s?yuwRgQjPrSlX e1vZfh#~BzN@>clmy4Mu|GThVE&t;ucLK6V?VK@u` literal 0 HcmV?d00001 diff --git a/graphics/pokedex/sprites_link_activity.png b/graphics/pokedex/sprites_link_activity.png new file mode 100644 index 0000000000000000000000000000000000000000..b5a3f64194b1ead432e879e895269568cd97fb19 GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^5z50XV%PIoiO9!|MOcy4SLcTW?ht+)}+cPWwRze>T<3u O$UIM1KbLh*2~7aS4=0uY literal 0 HcmV?d00001 diff --git a/graphics/pokedex/sprites_link_cartridge.png b/graphics/pokedex/sprites_link_cartridge.png new file mode 100644 index 0000000000000000000000000000000000000000..270601c6ef0a06f2db3a2fd020b19773631e28f6 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRm0wfrOtxx*=c zLg|r!Nkr=g<^I>J=JmLU&SLuJ^QS%hf3xg`sQD+S$sJ%#nbn}pl>TPMtsdXY0>SUU gaA=g}bnpMn%J8%>U;c#4F_42iUHx3vIVCg!0FWz1O#lD@ literal 0 HcmV?d00001 diff --git a/graphics/pokedex/sprites_link_disconnected.png b/graphics/pokedex/sprites_link_disconnected.png new file mode 100644 index 0000000000000000000000000000000000000000..9daeff4f14c837ca1257fb52268a466c6f3d3335 GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExzMd|QAsjP9eGl>;aNsCXpJex| zaEA2S^7>N)8jY|Y^2{1|QKUg6AX}vc s-JW`|eR4U(!sx6pJ)}y>(hX|)1&ID>a_j^+T>t<807*qoM6N<$g6Q*Pr~m)} literal 0 HcmV?d00001 diff --git a/graphics/pokedex/sprites_link_gbasp.png b/graphics/pokedex/sprites_link_gbasp.png new file mode 100644 index 0000000000000000000000000000000000000000..d9e8ebc253b101f06eecee8ad5918efe0769e172 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^20$#q0wfq>(#|jfsl}cyjv*Qor(Sa8JES1M8t`hF zw6j;Z-mK1V3~}dQCtjC1^pHWqzoEfLbDH5t{YuWm2FfHnaTIeP$s1V)3;9j-R#KA3BEAa9cGPxxGE0V0vSPU^16S zbaSj$!Rt`%oUYw$M;<8@@V^v}4B*jVVUznLKE-h=8{_JW$2cz;`7B?bn(&Ej>!EYM Tzki<@4|2ArtDnm{r-UW|u**_P literal 0 HcmV?d00001 diff --git a/graphics/pokedex/sprites_link_wire.png b/graphics/pokedex/sprites_link_wire.png new file mode 100644 index 0000000000000000000000000000000000000000..eba8eaed3984d5c0cd54fae6ae3ad658c6b70f18 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<60wfs39Z%E%sbWtT#}J9B$v^m6d3G;sc*rAS zaA0Z1$sb#@u2vZ&KV38RvO>?)%gY+?Zq9mk#$-da1J8!)ur$BsRWqk?Cf0a+pFW;` zG=9eZcL)D`lErn=NT-Dq=KlS@O8{pB#hWIl$i Wp^99K%nHpx&hT{gb6Mw<&;$UuTSE>2 literal 0 HcmV?d00001 diff --git a/graphics/pokedex/sprites_medal_gem.png b/graphics/pokedex/sprites_medal_gem.png new file mode 100644 index 0000000000000000000000000000000000000000..13fe03281f8f201e824e65416066b924f75e83cb GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx6`n4RAsjQ4fBgUde^xl-X+|MayBXMS{WyWcb2`0%oS=|3)B{C=aTXoc8y=~vusZsII-bL%7&Bi%IdeBbxh6L bZt<}(C_M~MbEv!waukE7tDnm{r-UW|^jAt? literal 0 HcmV?d00001 diff --git a/graphics/pokedex/sprites_medal_mid.png b/graphics/pokedex/sprites_medal_mid.png new file mode 100644 index 0000000000000000000000000000000000000000..756b15fe6db3960a3b8a7d1e4c52887fa4991f81 GIT binary patch literal 76 zcmeAS@N?(olHy`uVBq!ia0vp^93adBBp6ht@Pq*=VNVyw5RRG2Gk*U6U(d$!QJ$TV YAyi3j{j=A)Pe95%UHx3vIVCg!059eejQ{`u literal 0 HcmV?d00001 diff --git a/graphics/pokedex/sprites_medal_top.png b/graphics/pokedex/sprites_medal_top.png new file mode 100644 index 0000000000000000000000000000000000000000..ff596c0396ebfe16a6132088adc983e4aaa02414 GIT binary patch literal 236 zcmV00029NklrGgS|i@o5LfJ>`o4Ps9I7SvXnsR64O@fQbF*CM}GJS z=q#_Q?2rs5r!H^E1hIcynX~BMg m`vSz9bI+yUjlFa8h4=zQsxeB2n;&Wb0000#Si#OVLn!+o*(bqS&G_Zm(V=RX9} zjt8?l>?9mK_Aq&_QFdjzt1)MqaEYED|05ouJB=O2Hv$hPOpVwpZOy$kI9gSWxM^$ zcmLxXn5w*=F;4u%_I;X8mPU`P!p0Sn;gfqO2}`^Pc^^ zz%-8(5uu45?gTe~DWM4f DXVOc# literal 0 HcmV?d00001 diff --git a/graphics/pokedex/sprites_select_full.png b/graphics/pokedex/sprites_select_full.png new file mode 100644 index 0000000000000000000000000000000000000000..b03c021020a77744c8be8ed61cdf9ea4cbab509a GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^7CZmT+QJ0 zzTTSOVMkMtS?RwY=}EIU==N_)y%FE?-!bM<(7`sjr(2A4ZRc85_-Qz%>Bnxgos{U< zJyAraJS4_-aFCm&q8L)KC8Ue6{RmhmU_DSxvX6^2 literal 0 HcmV?d00001 diff --git a/graphics/pokedex/sprites_select_left.png b/graphics/pokedex/sprites_select_left.png new file mode 100644 index 0000000000000000000000000000000000000000..a8614b696fa3850da4803ef6d04756e519b30a16 GIT binary patch literal 327 zcmV-N0l5B&P)j}d!3|l$7e-5xPqN}@QM~tMS{3P5*1rZ_8C31N%zIYHwJZ4An zz~T|V5D$*IsfUOlXBjgVkBF}xTx{`R$Ko->BYmm|2i?@8h~QkcHq>KKqT!u|5dWdTi4~7I_2R)zA|6&d&ie!FeLBP=Z|mwYm*MTH ZzW~g?q7hEN->3ip002ovPDHLkV1iu3msj_^f}GAZK~H`njxgN@xNAWg<#@ literal 0 HcmV?d00001 diff --git a/graphics/pokedex/sprites_select_right.png b/graphics/pokedex/sprites_select_right.png new file mode 100644 index 0000000000000000000000000000000000000000..1316790722d0069ef2f814fe9815ba7ea6be923a GIT binary patch literal 78 zcmeAS@N?(olHy`uVBq!ia0vp^96&6<0wfqt3-&AkQlg$Njv*W~lYj8D@Z8|23t?Jr a6~e@j%Wm`0dTVALNTH{zpUXO@geCwz)Df8g literal 0 HcmV?d00001 diff --git a/graphics/pokedex/sprites_spaceA.png b/graphics/pokedex/sprites_spaceA.png new file mode 100644 index 0000000000000000000000000000000000000000..e1d1832c309d7362693748b2f701f9b1f9000c9b GIT binary patch literal 78 zcmeAS@N?(olHy`uVBq!ia0vp^3P5bY0wfqFn4j7Nq(nVk978lFCjaPXlW=1N!2(VO YhNiiHsUAboFyt=akR{07dx`P5=M^ literal 0 HcmV?d00001 diff --git a/graphics/pokedex/sprites_spaceB.png b/graphics/pokedex/sprites_spaceB.png new file mode 100644 index 0000000000000000000000000000000000000000..bbf1ccdfd80db491be2cea01504b707907006f8b GIT binary patch literal 72 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et0wfrw&pzJ*r1(8u9780gCjaPXlW^O{z|ipX VKjV=fYX3k=JYD@<);T3K0RSFV62t%i literal 0 HcmV?d00001 diff --git a/graphics/pokedex/sprites_spaceC.png b/graphics/pokedex/sprites_spaceC.png new file mode 100644 index 0000000000000000000000000000000000000000..0b181bc724e07c732c41c7c1f7f60875d34c725e GIT binary patch literal 72 zcmeAS@N?(olHy`uVBq!ia0vp^5dbs+4aFP-S X!}?fRK0DS2J|Kmju6{1-oD!M0`=Me>Qktz-YDYHEn7EhMPf)oi3GBvrjM!4upiB$UrhAy~*zkOc$^u^w(} z;eNxey|!H0E8i#2_g=v;RBAllFs^biv`7##j>81Jl)*M+Ry4d64ATL^kp2_=>oH>F z6WOozp4`bu(vtnB-cOPsBI^ZuZ%%AmDHzrDL#{2O6bvo|J8=@gG+-%Ury$ZE>!JdP z<&g^Fq!2JVkC>PeREd1;QXbYT0Sl*=0*&VoM>=@zW}xeqK|_K!2>>jlLH)b|fYXJW z0Cz^c4=A4NG;tv2F0v*@wDp}U=6LE(g%ImxW)$oW+6c0x5OdkjsL$8MNKG~lG`|vo z_Br2c^I2vz;2cN+Oq%z;Ck1-`9nD^t-f>zxzT>3cF34@X0z$#t@?#88&A-HWI-dB7 zQtI*3P7uHPp7qtY4(A&Qf|CFs{^Rd`u5=EZ$Q61T^eDYrh+@9)#Oa$Mkl! zv2NTj42C&rF~GMwbc`k!NanV0l;OH~%1{-0fxd)x7u+&8KS@cp&mQ6wXd1$>b&`Mo z7WIifdcK^FJ36nqT(bw^0eE!!WqHs8D-McXt#VkbnGm;)laA>CkQ6a*C zD4{lP<50xHGc!v-gVCG^VVQXlTnGFNdr_WYz+B9UwaIKJoc+2NjTkC;B*g+(ra|4r zZkBpIa8i+u#Dasv-iX&JtRk5yZznn#@4((o zzfB?biNwtfeQ`tYGX5-CgG{YY)<`srxFsn%e^_T4**Odp>J4ElBIOIf8FIQ#Xa?LU zlgN}Oh;*@TL?gGTPP&{1qXk}X#nM7KSJZ;@XTVd*Dv@FxJ5l#BC;Lq*@}NUeo{cZt zK4ko%83us~BJ1nn2HA*4%UXlX_|wMH=dG>N>!NSpGont#->`REx)#)QW^F8zH(DYz z&5LHmVqG`yF5ajqHxO#>sH0~5Sq_WuYyhJCbs}u-LE4myqDCN5j6Xa1&8c!oT@>NMB<2Rx zvKQ7tw^rR8n3GNpcD?Q`nAs;{1>%N2AN?40?;S*OS8Fxa(62=)J?RBy!Aqi@A5yX> zt)X9u9)A9|aRA_evpzh@FMU*nKDIK^ML8$kVOms;YGrIp^ZW!$haSZj6=^Gyq&o~X zUul!YiB&ZA@BNWe)Y=cef{iXt2EEq!BN36qK6WP)_42zB-KX?JUyo%Pw5*PU&gpwf zkNSFfR_N{D%O>U5>!Uk)UG)NVf4y4nZ$9!LjJ;Qj-t-syEq~^p&ui}J&l}=D7rg-E W15Z);^?iT<0000s$FX9ZQiu&=UP?&o zV}L!y!#2R~d!hhX9t)?Di-ss+KJmHOp!&4omh#p&KZF`N7wpL|;C*U=}C*b>nq)-eNF8WAj`D2IUQUNvFyG#vmY=bDUbIG;UBXh6| zN)fOYyC7`RWR)!pQsFfhJYk?O7ySit=VXo2TaVUDIhN<%S^?{72S>+ogWLR^{il5V z4(|y{Xyq7~2b!ISe0%`DhJ0vXhJ185^KmBV$_L<<4;=f)^YH_l@B+Vl@L<&d0000< KMNUMnLSTZDWrWuN literal 0 HcmV?d00001 diff --git a/graphics/stage/gunk_084FF90C.png b/graphics/stage/gunk_084FF90C.png new file mode 100644 index 0000000000000000000000000000000000000000..e998ce271e839775d3196332d6b34104873a0042 GIT binary patch literal 3002 zcmV;r3q|yaP)q5Ln2v{TYSVKUbZ7^8VlI_HK)J%Q5p(<5r&{4Of?sHn+ z>3{g_{(k|>xA*Hed;8(xzaSP3@rS*8dae7%|83h}zRa+|191bajmUNU;kRvB+8?XW z@t2&D`*aqtwr%U?%LA~r0Fa(OT`WQf7Ox+Gtz|%3!J7Ld{gQ~Bv`P4}9%vnV*TUs2?*H?W=5geBU$>lI#Q095)MC zyn>b8oIe2T`-ygc1_azZpjnVVLl89a4e;K0bWm!~)55uhz=}6DoEp~Ko!n$14{A7s zZroZx(46Q&DWBKHiy2UDq)2`B+K^j>+mgw>ul8n<7T`5fB;7obroIJzp>62@nR)tB z-HxSj93NMWFFpY7;PO_y+z%E3Z@91R&F(J+a}F#N(B5`wYca_3ujgjYJ#%PEI|gZe zPmZ-v27D2TB6cTWW^^Oj-$#g7SS4+8VA`ba(@p1c{-?%Vk{QRDV+e+J$%(R@S4f+ zW-B#_93oP<%7%0ukZKVz0Qc>H^JZR<$s-nU)hiZH4r9{1;Uacd%-h@`3WueI-2w(E zL68(MQ9C|sk=^rvHjcC*L59`X0+kR}W+P9412SZ6X~|S)s5KY?BQ8ho-03A7gO`$MX&9I?s5!6@Y59mM;|;Msz#QYjTcBu0#gkCdT3u{_$(2=EC; zG%Gc8f>;E&BRDvI3gNXdfWw#&10X!225^pYkf=b7q;Jv7qR%BG+_w`<{&~|wBn9od z8CN|X&Z_}%kWE)(L{5a8bS`Pg&7v_oI^3jlv==limCPej_IkIz1RPGdYDsGtE|`0H z80NGYI1wI3w4FmLZrkc4vpwm=ffO1}S|@VNNi7A64F@7jhNFj+3P{Y+krMfOr{fiK zg4^_QL0d@+QEf0gT1ZW~Z!}{B(+xGjwH}%i2^yQQNVu4fyo4sV=|yZog+alc1Qn`v zD}6R4I#BR!!V=#SgMzxW8Q$9>y}lNC1c(qg-qy4NCzud%P&cAcGBnxIs)wC5Y(xa^ zwGC;#vJy*Dc-`6Z({jB;HI}R>&z7GywRU+lJ3!P+Z%N?l1S7l-qFQexa5Wi@hW=`&2UqFyDVl}&kcg`;I+wxmL*uIRvie_ma$D4s-JjP@4PTk> zxcbA_zB4+1q2sMn(LAVcfs9!`kOOY4yJu?|cN2WV=O$nb+b;VM1fr7zkjdwk(7r7yyp1PJa!8@Y^~W z)*AL#h96_QKMU$f+d9aGN1J@Pweh=%g&B|CnaO@cq^visjmh-`)`!Us1mrf?v3-Vw z2(w*=djUHr%uj|p+*mn4goGn83S^ou0P4K~<&C!D(5eAwfgLz@aVx$E@P2^^2mt{( z#Ti>Q9y&&Of*Vj!lga~#8h~5D3|fIIL_Ays0{F_J)-atnk{lI;@@y7pyVPSKd(E7n z11vU|r;IY>CC0;{Y=oNUH)!axv^bE6rX0!w8LrPm@W%wpaS|b?a@(yjC^to-Q(Xsw z>SYT~B*O_+=^4OM2Z~@hdqegr1F3fy;=t5YsBwmj zON#nrY!~Wq3BoZ{gPqWYA(ZH0f*Aq0Y~o|KtT77MG^@G8qiRCEA;8RsF7il*FX%x4 zPKXL}$`tO(hGJSz%4{r4oj%r~6TZ2A;}3!<$BTC{hV~RjmJokPjtVEp$jf5dmpq*LgoA4_x^RVAbBO^$|Vf!9BKv^+GGd6w~7mKo;}YJs6_mr30+$Yttec9%`{O zOyeJbb|n+b+D^^RK?1MP0d}M!Q*Orur1S@1S)-hy0wE#O(Ezv$>Cnyo;E&=r51JoL z4NRaYO5VH%Z@no#xfEmwC;BC+gegO~&CUeVDaCoDOiyjh|nq6Rcx%9Rl04*shdx`>ez^@nyPJcfg~sO5^1`As2y3GcMe&;lEp;7RL3!K=`V|BGi}2;wko0@8)$#h& w+{ehx^5aLep8$M{)_Eo?B>MHC58ucC2lkWH`NRZaVE_OC07*qoM6N<$f(x0ROaK4? literal 0 HcmV?d00001 diff --git a/graphics/stage/gunk_0851514C_a.png b/graphics/stage/gunk_0851514C_a.png new file mode 100644 index 0000000000000000000000000000000000000000..144b7513137f0c76220e76a3e4c0007a8a2b63d0 GIT binary patch literal 2265 zcmV;~2qyQ5P)O%(C1z-?7s2F#ux#3RaE{sVdw7QYOT1?v= zX$JsT1YCh&!qtXeJFenJcb1O9`k6&wW@#%p+^5aC2BWHBHH*j#BlwR2??T(w&~`_f zzC>I4o(P_TV1It2ZZ%j7)|R-RE3~__v=KbwV8osbuF$g@e;)j2tpyJZcs^s2f%|?- z!46xKN4Qh`2nSn_=7K-K(v>pcIh728*Xox6H;gJs-tr@Gh4RkzU=7U$e`re&rr`QB z#UulGq0qVNq_wdx(J@v#a22>?a?c(Fd$5KMgXE{x%d-}In*;Nq%n#wWH`9TpDZ`~> z7_6zmaOxghTT4dpO1I}f7(!%ln{eH++JPO}a!If>f}x8mGm3|%myKL#`owJ>OnQuU zefSKIL@aU}*25M&h0}8jM(*kbFIZ>5PQXDtiIQy_GaI2`2p`%a_f|02+Hy762wvpC z%&>iA{zEkw1q1kgW(5Oy<=P_(&VjXId#I)bxn#IG!H+sz!Z^9=jcnX5oHvefb#EzlqV+w{O zy*vkO-QE7j!W@Qa1Z%268t^E975s`qFdJ9a;adbVF8H)hfUb9k5!kdcFwb5#u-Ndz z(#eJ-KtGa(KtBuYI&qtTw>*Vz=mcxwBuBn=0yqkv1k43**j!^_CC9#14i3FYzt&L? z*CwLekkqR@Ikj{Nn0OBZx6ZR&Oozd_Afgw_58^~{2{>>M3`|cV_ioQ;vo>%kL2v=M zjlp%Q9=_c#d^BUCbKy%2TOU7h6ic`svfy5 z%zAV#WNVg%Xy+A#F9L3v<+$JoT;tPyph^}HX*14Ksd2Nj;Mp*ES6=Wk z0yiwb){;*%qGsE_SFoNgvutMwU zVgbzKMuIi{TZJ7E-@^b_g3p-q7J75~NT@dWEM4#Xcn2o3u%(fxOE(9(P zXMT&T2dpoavr`hbsii5G2nNMN0E66RE<3D7#?l$ZQX=r+u(jrP13Xx}^bltP>gVrV zUec5KE)Uk4<>Lg53*g`q4E*}~DkfqGTD{B+Z{3=V<U!F|p zB4B%a57%$&DK?A(I4mTzIe*H13_+ZN+vw>cH;~8d4$yk1|9vDWF&Deg97J(sP-_2# z9NmC6)`6eRww7W5c}c+JNqyjhaNKtKUCA_00+ZEA6RrP~$tLq>-Ltrpqk6$hYiR&a zOeB!B6pUiUe*&!NPlsjeWC17RR!g6`EQIAiP6`9(KLV4(#14 zosVN+>uq!f(!v8%g23$qzpGyG5(n54@*;wz=XY)|D?J=tk6Xnk`G{iY{}!C#=Gr0t zJ?6FDirP9S*tX7qPs9q%Y`VX%h^=#iJIB2Y*mUwAH42h5g73(WWv}?oY#U?iccp$g z$r(eFdoBXjp$q&P`|w5%AaHWR!JjuZWC>1A!HOCBLVaw~L?A1{)-kvH&fOdl_FvE+c9JN>n!USLIK(2Kl**cIm;hJZM&+tfE z2jXw|Y#j&*C}NB2K%8%FK3fOUcn3a0=06mx6Rve27q0_}hnlUp`D=9`t#$S;t!lj1 zfqb$Kq_g74x6Zu=>o}NBuIxw}{(E&GQTQZ^x#0b^4&-xnAZ#X5N89z}j9zzd_-xh& zE_GfVNE3r=0(K{BtjD<4ft1#PG*nllmS*QPQ$vC@E0=2>NFli9TeImda@vgZRBGH} zYkR?flzQ+9mwP?@E6yCnEU}Ptpn+TbCuSCOhil91{|*@ZMs7Mjc25=K4gzm#zbW61XF;1gLvO z|Fw}Jlyp+~}^enH@M00000NkvXXu0mjf*~dMJ literal 0 HcmV?d00001 diff --git a/graphics/stage/gunk_0851514C_b.png b/graphics/stage/gunk_0851514C_b.png new file mode 100644 index 0000000000000000000000000000000000000000..af0b8983c0c4ca5d7b62e1e7498c671ec3be4f36 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|^0wfs9-CX5>RI{gxV~9m>@{fKt3ATU-uQ}E3 ztyj;x{@0SxGGNtS%F@2W#xA=S zG)02iazDd$_sjtE4?KbvV$`e0PZfX7n@Wm`ar0{pH5C4`swT59Zs6g_w?Q zXmgJlJRNKttnm7yc6)aY*l!KNx0PJYX%QEw0H;p?Q*KR@yn>4+oK89QlUpx${`e#? z=2Z#>X9D$TrZ4Ts$q8 zMWD$VfcttR6VSLpEU4i-A|raEfge3C&&v`X?E?4B3Dm%Yg8OH{KF4ubo;k=B>( zC)VDqw(}+_{u*YI`!js{FMgabxtNGVLCT$y7HGp|kH>u{T}yBh$oUQ7)2|)ra#YT< z+9BN)Tb8-eE2lMJ0B6-L!G**3uwd|sNiKNBCJknWRf1i2DZuK#hD!O=%Pc{ITz4Q$P>r$-G{awS0|d&fT(_d!R+8mIXe1y-ObPxIVfl%`&A>T{RR zlH(3wbxCo#I7Rlc29DHqP>}ABeCMuI%4Hqwcb9>=_+aey1z9)K!J5mr1p;z#*JkCi zHpf-&lB0ZN$lMEQ-FKaGk_(rI8fygLa0{0Uk1@=-mx`OYrAXVsnR1ux{HqR*RT>Pm z=#Id%Lf)C+wA`p0hP(Dmb*Gi|w=44NUFW3LIzF*tJt)#k`0Ol^Qxoi;UR?hI5lIa8 z@PWDK@W;{7PxPPIMbtutXXM2tGlT3nJu>Fl#~qZz#vyDl($~a2I+Eb{Yv&{k6j)C3 zVAa(#YMMCcsR^#d^7;pt1nv^|h!3?fy`thI9sx1yu31APe#CNIuJYK#3i2gJ`uqVp_7 zE?N?JjHUhay7!)v-Ci7oY41!kSysM!`qc z-xrmO1jZWOg)t-HcPHKu^o$ zh@0&a9MPo+#*wT2{Yf70DtX-G!lbji##!3kZJ2N zfLJZ?{{QrWw|tVXoP^k@0Vhs4)xr&Uw}H>TPls{+v0v{`y}oQLQkB57S1g% zakPSoN#<*AeF^Oai<%5QnM*E>(`97e5jot7%fMZuvSFS5pbb6{_5TQu5t6 zY%{si2f2|m#>Ryp%tUhGG`KyJVi2mWn{=VOEM0DY`XW|_8nE=ZYs_QB4VvpXkC`Znu%h$9&p zF>=I;p-tlc6Z!$z#?;9 zqJ4MnO{KQWzFt@vY6@B4%%5*YJpXCBtjOm}y)QWBR9fFVY6I(Q6{V52<*r=|?mdx9 z7kYfwx8hhfSq=EfhOt^*n&?xlnnEs!)&amgOB(u|n?aaKcR7*(m0A59&(|==1 zop#kjngVa-8HWH%v^2S_EoEY<6TYK3;SKzkftyyzkD~+Gm-}KmkQeY*koVPrG~xCS zp##~`gxC(E18Klb526EU0)Eqhm|nl>Kz!!Wfiy|#gXlmSczhTgNCWVj4y1y-rw(Kn z^m{S@-wUfk^O99mslz4rJZiQwP%1 zVqK>L!RA)016lXpbRdquuS5q@E{lR+r2`S*Y8?oTu$K!Qo}bRcV4jeF=oba0IhWG%~_0`Ad)s5WpWzckQ+ z812Ka16f;5#?pc4hl*2o>p;vpX0vr5c4EYa4#YULhYrLXQ$)hjf!JVO2V$xO(miw_ z=Aa~a080mAD-bxh$7xplDyv_v&&ey*fq1|@5IPV6vAIGX!$s{13HH!|_`o7_U7~$= z?oIXIbRe%#2Qq$POLyu(@Dy7*_fq6q9mtsb)Byx2qRy*yAZvNXA;5+9PhZxSGO^SN de?L{k{{Sa=AAxvGFK++<002ovPDHLkV1m@3wsQag literal 0 HcmV?d00001 diff --git a/graphics/stage/gunk_0851976C_b.png b/graphics/stage/gunk_0851976C_b.png new file mode 100644 index 0000000000000000000000000000000000000000..a99ff1f60b6ce8f0df04dcd0cac3bb725633c5bf GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0vp^3P7yE0wfsfH+i`LDG5&(#}JK)$v^tpB-jEP7$tco e9MF)M!ocuy&-}!=XOr7NYCT>3T-G@yGywpQo)h>0 literal 0 HcmV?d00001 diff --git a/graphics/stage/gunk_0851DB8C_a.png b/graphics/stage/gunk_0851DB8C_a.png new file mode 100644 index 0000000000000000000000000000000000000000..a107e0885375b26f99ede2d2ad0d93a181bbfc57 GIT binary patch literal 3599 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 V$sUAtq}Bic002ovPDHLkV1fw0sb>HH literal 0 HcmV?d00001 diff --git a/graphics/stage/gunk_0851DB8C_b.png b/graphics/stage/gunk_0851DB8C_b.png new file mode 100644 index 0000000000000000000000000000000000000000..7e6fc5235b4459c8183bf05bf35c09dc712108ee GIT binary patch literal 72 zcmeAS@N?(olHy`uVBq!ia0vp^8bHj!0wfr+Px7|`DSl5E#}JO0$v^s84S4Jv8T?J= UCn_9&_zy9#nO1D%qD3zHG)O@ka?MHc{^`1 zyTyyIiMTim{0o7}xGW~&{w&ZHSa^W24=n4W1t2))F#=bQ3B03_u&npspdNg8ImP zg({@4x`G|fW)avxVkozjaM;=4&fXh%>{ReVt^#AidBbsMY(d$rpbuhIS^zui7K93Z zB4D(D9;6PES%!cvniz&Z3%vUICL6&@Bi8x9w}PY`qD&7kJRu>X_qOXjh;ev`-fexS{+|1Jyz2;<@d9)5)HtX(=ldZmuq9910-s@p rbLBO6oU=Fufywy$|5(lfCm`?*@sV!pV2?Li00000NkvXXu0mjfs3Q2A literal 0 HcmV?d00001 diff --git a/graphics/stage/main/ball_save_latias.png b/graphics/stage/main/ball_save_latias.png new file mode 100644 index 0000000000000000000000000000000000000000..f1593b1dca10fce7557317078da5540e22b7d13b GIT binary patch literal 535 zcmV+y0_gpTP)Zk!#Reeu0yB#tz_oz_usdr2+B( zF&!aD~dY^;TJ z2Qdq4_YOWOxn;MWOUoT~w?&ooXD@|OkW&Q;r_{+Rk*O5^fp zHv_aqrnmh`6oErOhRXyfV48RDKIdnc=-TyB@z4qNOJ69^0@jd{xALw Z@C6AO+t{p literal 0 HcmV?d00001 diff --git a/graphics/stage/main/ball_save_latias_arm.png b/graphics/stage/main/ball_save_latias_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..7d53deaad7ff768a1aacb2a2c74290f1920323df GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRm0wfrOtVd^yY zZH#3;Gye%BZ?nv?cPwc3G(MKh@H6r83yo#MriWO6+@CJm9I#voWT~gCpUXO@geCz0 Cnl)bl literal 0 HcmV?d00001 diff --git a/graphics/stage/main/end_of_ball_banner.png b/graphics/stage/main/end_of_ball_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..5731f3d8f1b29bfd359d3b65dbc6a0822994daec GIT binary patch literal 381 zcmV-@0fPRCP)qw3GZbh|KrzjqFVD1jeBWfp&rNn8 zIGKIvzuE)Lqr!64Q3W0|j1ByV-3?x6OqiYoHh3K?EIlzb9cS;od8D*1}2y`Y zT)?3ipMl_gU%)fwqVT`Pz-S{FGuHY695as24`5wj39u1mQ!EsvV^nGTr*yCkHK&9Wu;@rbMtI*E}IwNxp^AfSfg;?JUDdA+`L3X*(2#6 bEp7G$l!YkvgyW4*00000NkvXXu0mjf9RHuQ literal 0 HcmV?d00001 diff --git a/graphics/stage/main/end_of_ball_left.png b/graphics/stage/main/end_of_ball_left.png new file mode 100644 index 0000000000000000000000000000000000000000..d1dc57a526ea9abc536c4de523aa2ae61b5c6b46 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^4j{||BpAFt9cBhnw>@1PLp(a)UOmX$Y{0`B5cY$+ z;(y|ch0FyBjrNX9#Y{PkI?w9A-D)@S$H_hg&dYm_9uj?TkjHr8Xb1y$V&w*oH=S(k z8#uRli7~xnHQFHl!M2KlF^lo~Vulh{w}A9(GFMiz88FFsvm6j{*yF|S!}vq)K4W)S zrQ`>m2mE%`f&1&b=YMa$QzYV$SIxDcZ=Thj(kV@5O$@Jhv?w<)a9GLcUn+j^>0#)b z&j(ZAUB399VF!y3BUb`f07GyC(+q~%I)>VP?9Po`?=tr_sh$-ti2gJ~ZmA33yw8<; Y7+M?;E63ejtOW9|r>mdKI;Vst0LA8LumAu6 literal 0 HcmV?d00001 diff --git a/graphics/stage/main/end_of_ball_right.png b/graphics/stage/main/end_of_ball_right.png new file mode 100644 index 0000000000000000000000000000000000000000..5dbeb874ae7d4dcf82adc7cbfd1e1306161a9f98 GIT binary patch literal 272 zcmV+r0q_2aP)xUtLYrJp11kKszLvLy@6afkBr38Fl6^ZOsXUvs^q|Ri zfSY^-WC+^44`>XyE#QJuAjjZ%Y=9l%xCQ79a zh-tXN??7}j^h;f4&jAoqzyXXv27nRB%N6h>;b-E7s^Z~+dblsJ`|(2H%s$NK{r WAK$B;h*{JC0000B1 literal 0 HcmV?d00001 diff --git a/graphics/stage/main/end_of_ball_space.png b/graphics/stage/main/end_of_ball_space.png new file mode 100644 index 0000000000000000000000000000000000000000..b98af085fdae2e9d470c7c20c1b310bf5a913830 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^2Y^_B1xPR~s66x)NU3?cIEGmCCRey8A27%|xPo=D sSWlFJi0+PVHjb6jHDYrdnOm+fGRP_RzR8bSqyf_D>FVdQ&MBb@08a=S3jhEB literal 0 HcmV?d00001 diff --git a/graphics/stage/main/end_of_ball_top_corner.png b/graphics/stage/main/end_of_ball_top_corner.png new file mode 100644 index 0000000000000000000000000000000000000000..07e49d3e09c6f42e699841b89dd3bc29c5134915 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExs-7;6AsjQ4f7G)vN&IU#vAg`e rQNxSP2FLF1ZfX)Z<|^SlVHyv^mPbC@3q9U!25Izk^>bP0l+XkKkM|xW literal 0 HcmV?d00001 diff --git a/graphics/stage/main/evo_banner.png b/graphics/stage/main/evo_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..4b10461b1e0c07afa296f074da7c52ed1f9e2f9f GIT binary patch literal 3370 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 AVE_OC literal 0 HcmV?d00001 diff --git a/graphics/stage/main/game_over_text.png b/graphics/stage/main/game_over_text.png new file mode 100644 index 0000000000000000000000000000000000000000..6247711bf0f9affa11e66ab0f27757323af2e529 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^4L~fw0wfsh4j&B#Qfob3978O6j|N-w9aZ4@d}5<@ zT2r=BYTDyg|3l%gKD4=csHtsb_L}&gr$*mFH6>Z1D5~hNkGUK_gSxbH__ZnfKUBzU zWj?&7vb5r{A>Wn8D;wKBc^bt0@NBpyc6KFqN5PKL2g$2i(w|ivj+n+_P(*I;JmBf-=d#Wzp$PykU0!Se literal 0 HcmV?d00001 diff --git a/graphics/stage/main/gunk_084F61EC.png b/graphics/stage/main/gunk_084F61EC.png new file mode 100644 index 0000000000000000000000000000000000000000..56ad0ce57752eeb687a3c57bc904aae28936236a GIT binary patch literal 474 zcmV<00VV#4P)IyaHyeV#bW@FwJX*ocr?(H_oL!c zK8T8F;oig1Hcpl^pJDmk{-s_U0?V4gBS*y=n^jhM#1rffg^-K;%-bGH~) z0?gV0AddjJVBRdmI7^TfadWdmyS#DIVk z1MjdeAO$f4ynqzM43rEQC>k&jEwW)uKx|;c*zZHpfcK$jV52{joc;;$4PlbIsEN_% QB>(^b07*qoM6N<$f@rwT51aPe- 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 literal 0 HcmV?d00001 diff --git a/graphics/stage/main/latios.png b/graphics/stage/main/latios.png new file mode 100644 index 0000000000000000000000000000000000000000..78c7a487d194f4d17da04f07e1ce5c8d35274564 GIT binary patch literal 655 zcmV;A0&x9_P)TB00073Nkl~a9OOZkpwj@5S7WBhH zc+p@7zX|*c0)E&Q5SncP!K)470sF{v;oCEI`KQ9Szj*BNaw&M~zd)V`vJl>;elbmy z&mvDrKH@m`_x!#qWD;!*%;FC?XfH>8_koZknloZ%qjK#S8cA=i!yHV4j+#YcoEnBV_g(?K-#7-UjZNuY`_q7bb%Zoe0>{S^I5ZLH0^$`g z$WNT15i@az@2AH&t9wDMiC{Da!CMWcBtTO=#>NhZ_7m_@U=*rp0^0tFNmM!D~u0{bo6aXW$>NK0EggPan&~e7y6~z+t9!4CG02xIemH>CLahx|`*A;M_ z9wO2yp3<5DOj7aBTkD{TH3!}Fs^n~z;Bg#7iB%xg^aOWR3iWrAsPtlcO{y!@0Png@ zf0jQ1I`=U81Oz_iF#8()7t6s8cJN1FuOIgMVXq%H>j(P9`a!&^AIMkh2V6E^)(@~< zKd89mZ`2QYZQrOL>Y4!8d05mBGf-{+9q=zfw*q|E7eLm5y>C+}B}n;h;7fNu4H&Ed pT8?_FSAh2=2jDBED literal 0 HcmV?d00001 diff --git a/graphics/stage/main/latios_arm.png b/graphics/stage/main/latios_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..56c0ca2d6a8c5df4e23d89e4ceae7cb77fbf2dd7 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRm0wfrOtHHW+ZY?VNRG z!>;h^Pg=nn9E8PQ@Z~gw7zCbvTCLbGZ(y98#5Qkf`5%XgVhk}A7P}TdYG}2&w_xfv z_C8KOpPByzlJ{A@DQtScHa)E8IKwCBX)h#}37Z~fP3xSd*|BF{6v$RjS3j3^P6az0wfr|7IUZpsT@xi#}J9BtrI$V4=C_3-#p1& z@xRih!Q1JDdX(1AmX2a2bLKct22u5+t7e+MRh#X7SN@z7YiXwH!DO$U%P*-ccyZKB zoI$GVKf|+G<{4Xl@jjp4yTMaImitlOq>pnB?R=-#!P8jReyL9Re*@pPW&bq$FCTLS O+3)G<=d#Wzp$Pz}N<8oY literal 0 HcmV?d00001 diff --git a/graphics/stage/main/pika_spinner.png b/graphics/stage/main/pika_spinner.png new file mode 100644 index 0000000000000000000000000000000000000000..bd3df6799120b5d4fb5e4329f4fb9c152036be88 GIT binary patch literal 496 zcmVse)Nqoz4_SkEt=>j#@@CE~1o`bGoQnvqoK12>={eUgW0ObDMN#k?y zCQS->W1)9?1*QUO{Z9WMP;2j!6R;*Z0IChRHM~o&s6X-jQ3Gxb?~?k!_s6T@T`Gqg zN3?z0^>2#C&{hiryzp#4jefP|+=msgT7+}J{C??g{}jF3I|o={4WMm^M!zIKq(|~; z^h@$X`XZl3zoflOUL9KW{J=aX9Rzq|p?7)(rUK^wQ>^ZliwN~g6%p!W0jx=&cS3(; zre9J?s*gJ~P2bb0{%-7-sz@Y3zXl!&`?$2zB2tTAdWV5dLr*u-hF`*dE$wt}XrpLs m%MPZ-{;s~jFLm%$`lTj3ug}~VyJU|309FLePhIN4< z@|$R0F%=N$OGyc6&hUo_mh#83w@8AO_?c literal 0 HcmV?d00001 diff --git a/graphics/stage/main/travel_banner.png b/graphics/stage/main/travel_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..22a84bdfddb8b086d3b2bf95e30e8a0644e4a374 GIT binary patch literal 974 zcmV;<12O!GP)000A(Nkl8nu5CC9SO5?SD1A#)~RUpwlK>Gjz4DUe=cn<7AuV4Ni?@p&bJ8_1VgF~Ij`$USQ zqSU`vet&xTWnRh1Ff$s#tyuxbAAo)BwZ0Oze5!|V+VgE1a)DJwVpD+| zhtYuNVC_1_UL(0z!FCqjms7620p4?Xu&NKk4&`|LFu0wCtpMw%aoGM8;oyepO|Y4P z_adyH#$i{4o0h?r!KYN-{M|=au`(PhkEH1dVBsdLt?S@6?&uNtEw9(`1SHQfj~8Gq zz^)C2VVv<1;2R^uF3|uk1CBjw2|ngA<|i$OO*}y0t17{ddCmv0o`Wre%V7iOrdbIe zZTX)TCT$Kj2v+ubI3evQd>nzxXVLF|2*odGgx%X{0_>9&n0yxPC>+;u%5e-&+W0Hq zF*XZlXAXsI4Zt4EfAh02xQYqG@Z-A=unzSh3?*KWP=fPFVdUuYHXSP-4wq?+ zGOQ4P8{A^}bb`F0Z#?BH(s>%TldwA!0ES~Ut!fu~hQ0$>5kF_Fp9^d!VFPdrn;RdQ zD@R;wfK8b$3Dy9Yy)D5<4$JQt!FnOwmNP|yPg!Z;-_weO;&zH~S~q1I54V#+FzjU! z{zDWPGJ~sYV2$8Dm3M!4<7?-vz-ZyeH?SsYzAc7%p0th%Y|S*>V>sj_@HySwxt5nH zxX%#4dKxAprenvUeijayP){=jv$m*KGM3s5tQW(TW^GHYpMcwCBSr;aewV|$UWDC8 z*k|cr?g@MzBpaV<4)6NBrX<*Z{kPk#>b`BaKitEOC^N9{ydhU%$3VO^$hC`Gwgg5! z2|Nr& z!0Q&5`6~EKVbrsH7B_O}78vc(yTVn0Ls4j1mI6Il=(ef$b6w#6jxbJoZ@5<|-G6u) woL4%#f|?NOV+w_@-xVnvIrIT=Pu->PUkvl#Sq67p6951J07*qoM6N<$f-a@O7XSbN literal 0 HcmV?d00001 diff --git a/graphics/stage/main/travel_bottom_border.png b/graphics/stage/main/travel_bottom_border.png new file mode 100644 index 0000000000000000000000000000000000000000..093b27892f3d3a2e2376fa01044cc0252894bd0f GIT binary patch literal 75 zcmeAS@N?(olHy`uVBq!ia0vp^8bHj!0wfr+Px7|`DIrf6#}JO0$q5?AS$Mt(tB5f$ XES_ZYUr^&iEJ&57tDnm{r-UW|0s#<{ literal 0 HcmV?d00001 diff --git a/graphics/stage/main/travel_pole.png b/graphics/stage/main/travel_pole.png new file mode 100644 index 0000000000000000000000000000000000000000..fa6fa98b07a48dab5f36f96b6c87a2c735b1bded GIT binary patch literal 441 zcmV;q0Y?6bP)5dr5C`yUn5)zsGc|dHdWv|`0|k^3SDiA!JqeNg01QD{nbJFd5JRPSh~yuf{r8!` zV>RFfOjxH-Pt};hG*n}smQ=%N5ix;&=&M_w02VmfI$5JJXfauX>kCX4#geG4pMWHz zopVg&M-!n8(1l&%3)D3Mj&7>U2<4GlUiMgaruKkTjU{0M?P&WHh)|MIgd*-@0>o`Q z6Sp;fY9c%e6GrUE6z0!<;5-j+oUS~#c0N9L*EGM@_5r4mgLjp^o#OF_;fIKCCIVlI zv}>p^!b!rnL*sJzs9e$&#`W|7+c~P+Rvo^;2P+yEOsUTUyz|9jUk6a~691zAq>OUo zO{wh+<{y|9s08jSfDFv;EU?)#+(BzFW(LT#z}aoP*?;h30iNs_H+y-ka{_m&0F;x1 zvn$CoQGOxt$vtpQ1Xuz<_U(WiNEZ`uP4%E%iT|_(a=J*c6l5eIIai<;C6KK^(kww5 jlr2G8x`O#X_X7R^zfYJ!fWVUS00000NkvXXu0mjfr*FX0 literal 0 HcmV?d00001 diff --git a/graphics/stage/main/travel_pole_base.png b/graphics/stage/main/travel_pole_base.png new file mode 100644 index 0000000000000000000000000000000000000000..993ac635c48ff074701e1ee907eebed19157f5b9 GIT binary patch literal 80 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c0wfp&-k$XWQsSO2jv*W~lYji5f72sy!hd__ dP9Ba1V+KcNmBl=FcJqLgdb;|#taD0e0syWE6d(Wq literal 0 HcmV?d00001 diff --git a/graphics/stage/misc/gUnk_084FA20C.png b/graphics/stage/misc/gUnk_084FA20C.png new file mode 100644 index 0000000000000000000000000000000000000000..3b3ff4af86fb0634a02ebdf3a2c9fc22379a52f3 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0ze$V0wfqd7`R^mQjMN2jv*Qo&-PjKF&lEY>~!qo zHczlxw@dYI+5vgZNtbgbU-)2hVxIbSnaZ;h@2mYc`##6`2~)qn$BKoHp=aGRK{#g(A@h+#gR7lMs0NZAUF*6tiOPL9>(h%0zB&@b}xu kR42Y7Tx3avqiN7bUdP{6e2oit)PNl2>FVdQ&MBb@0AN2u-2eap literal 0 HcmV?d00001 diff --git a/graphics/stage/misc/gUnk_0850558C.png b/graphics/stage/misc/gUnk_0850558C.png new file mode 100644 index 0000000000000000000000000000000000000000..0691bcac53a2995eff2510d33d6017d51f56252c GIT binary patch literal 544 zcmV+*0^j|KP)4!O{)g!*q)b_54jRa=&rhh(Ium;m|mCXgmD5ocItRfFA<* z6*-IySDTpv2r?~h>1-sI+iV;od$3(QZ)-TpB|$rZGpVfCJ04 zM37ji!m&Fs_e5Z@jaq}#5Ixo&So9o3{ey8v`;B!}j-F@&eCIsXb$ykF^JaxIGdHa> zb1g?tPOGCn2@v?eZL6U^>J#3DRoF?e9WeSS*d=JJ5cTtJYv2s0^usXXaR^wDHscb& z$su@MZ>d$upfc}TKi~z3D~95uIsi#pl73alLXY>GKoWgTW#QnUCM1< zh(5RkBh#pLK*l+;RBiU7`40h97}8#zR4at3Lex&(;RIc`=3D+8xz`2QCu{`uO_yD9 z^}&j>-uck`-EOK6q^WIfuf`9(-|YA)d<#)kR>r@^Q|~uBMIc6nIaCZ+{}dj2zuSfSAdbEVW9l3?xG??~T+jZ&rdOKY0jclB{M%zd iZxfE5>)yW@%KQO{=i9R&>Hu{B0000~!qo zHczlxw@dYI+5vgZNtbgbU-)2hVxIbSnaZ;h@2mYc`##6`2~)qn$BKoHp=aGRK{#g(A@h+#gR7lMs0NZAUF*6tiOPL9>(h%0zB&@b}xu kR42Y7Tx3avqiN7bUdP{6e2oit)PNl2>FVdQ&MBb@0AN2u-2eap literal 0 HcmV?d00001 diff --git a/graphics/stage/misc/gunk_0850558C.png b/graphics/stage/misc/gunk_0850558C.png new file mode 100644 index 0000000000000000000000000000000000000000..0691bcac53a2995eff2510d33d6017d51f56252c GIT binary patch literal 544 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 literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/ramp_prize.png b/graphics/stage/ruby/ramp_prize.png new file mode 100644 index 0000000000000000000000000000000000000000..d3f9185941648e93c0cdee63afa7f5f732b0637d GIT binary patch literal 398 zcmV;90df9`P)1P?+`%E_(vO63u#Yi!L)nXqOfZvl>vGw|A9(PeaFo(n6tb zenb2_guI9l#yr;{Y$?K6I9KD>h9VR@qP7lOit&ASd7@UsF4~t1#rS%cB>t*l7VV2! zbA+Psmn1p(y6|0;dga*O80BlBD8W-%MI5m7p&ZLWWrezM@Q8&hhS$>^7-NoK!660? z4hUQf90F>v&I?TzjX{I=2ns(1*whrT9IzbJV)O$C8fH-rSPpOw?G-_#VHV|0vIr`T zqxLQSDQx+RVf{Gn|F{qLc|Og5UEGK6l$1RGbw%+e_`%V>nB;+O#&x02Qp&xws^h7a zH_vIBKBsmO9PAuKzXej@g|m5H-sB(^Q?QqkU)Y>z;ThkjrHz{$usKyxw=k~bK6LnC s&|Bg@5DtXrzb@YgqIv$S{{23D0&x!Y&syF&Ovtm)P4`uyt; z$x;$=vsNic!8UeU<@3Z&;}RA_R?>Qz6b8ois<;}Qfuv-_nB6X<;45Kg5mw|5HkOe{ z&Gn2@n#&jjLmsma4bDOMzekY`Ow9yu?Cdp`VM8~=NQgACmplgmsbP^v@y_+&6k#tT z>R^iQhkI&jVU!N%up76VL*`(Zab{rMRC2tB5B-Gi5+kFLdNAIbUyzA`Np*L_=P-;z zm^_QPhb#<*$gW5MvpRyyZ@8Ri`EW>T(kv!A3iJLX#}@_hY`6x-#b~vgg8s7<-~=;n z)v;7!Yld3f!!S!GT(=GY4kcr&gz1tg6=R&D(IK_4`v&}rXU+fU*@sSJ?IEnjGrajE z&zi0F5^U(^(z6+jvx;ZkTF;_z_x0XVWXqnF(pt|%y=S*!sBR5xE^WPMH2*8loV1U5 zMysBIDm`o0!g%s@&$MXPv#?&;Y6DycE20&&r)vf*MKuz$rC|{v_pwc%zu9`xS!lpr zo|G_HwW7svaC9-~OJ92S)W9t%XnQAYS2PU*(sm7)!+O$f7GscpID!InW(B4~qO2MKzJX!Qr0u3|Ckmh1|GFL=>nvFmVRE__{NsAKyWL#qfQ1oa zBD*WQspus4weV)UI6Lek>T{nMahUJ?)KlR}lzr}Y5 zb84+@tOwgc=h1c=HPH5%zc~ZXMoEiG(KX~9S75An?VqCYCW?s)S}3x4a_L- sxuR(mPK57!UU?p_yxI!ZTaUv20934-_5&FwS^xk507*qoM6N<$f))mD2LJ#7 literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/shop.png b/graphics/stage/ruby/shop.png new file mode 100644 index 0000000000000000000000000000000000000000..bc5f7238a35532a259a33e29e92f7ef6393dc3f8 GIT binary patch literal 2792 zcmVP))?y$|753<;SxD>G6jZ-dST1PJyr1~LltV?f6-dkOBI4NT`TZ(Z5JWHsdl zIOkkaf41xyAV8x#uu%UzzWfpSiM+>^oX;o!^M8JQ!S(s)m+t!f>C-Rx#Fd=S)r{cN ztl*blZwWr$7Zm>ezk{F%*I!<=?86}NN0t}(L9bo$XBK_z1ZC+D$A7+{I0UG?cQO%d zDu2Msy9hftZ zPYt3_@!d$^4?jR)Q0VeBXH8JFe?<8)3U*!+G2WR}BzFs;!nVib(L!)8y|4B)1R^Gp z#6Y%yLTqNYUIklUHS07nslg|7Cdt{3thH8xV7F~hzZe8aQ$cfbU(4EA5gP@2)QQlH zkR8NkQi-4iYRQ6acBhvCl&ZK$IB#_Jk={n4O`I(FnSmzm-A+z6)IS) zT@aj0HquGF+g?12(*y#Wso=ClH=W55L{uhDPy@ndL2xds{n{nsk~~d<27_h%AUGBK z#<7c%P(y{Jxo_548wEO23Hoo+oa2NjXfVQd0$=XeDMnfa9CD2^7VLbJVwiZ-^`59= z5MXUod)$m9jfH4S!ZwTqyKOBVw?OOh4zVr-zW4{`0B1b9k~^wK<3NF}JSPE130*ZF zGjHv~?GA#&h6;@$6nLGOBZ0S2aK363qf)V*;N-Eo>;`K~7f;h*Qf|FuBf%1tSi6)? zf|-ujj|63|3M)@>h4SSSfmA_(naZoQ_CoN7AEBtcy||*_Ty6gJ4wZj__*mCJmXamvZUH>?9(GW;;4d7HW1N#tY!#s!R~icxde*WjDW zx*1gjO1d7S?s zk;(T7C*!3M%Pt|d^n+rCQ3EG$3wlo85Agnn7=*7%LY!Kic$iJRRdBN)A?{J zpKC1WriKRC;0_?7-|0dC`d~LlJ_Tk$@Ns09&y)7%)U=?NrbMOnHcJS+{t5P6lv2 zN63lZ{V69c0frYoD@r#-VXrtD!r*!;igMZpe+8cjVJ4iM7d$xm;AAg2Q1SkFi<8zz zEWJM-XE|vDMHO7f<25IF?hgCeu-7_HIeChV4HEt|nO2fiv7{Pne9uXn#GC~w-D#HL zloL5w;>)HdxoReLB(KkaufUnvF4f-6H?J%ofv9nrm zzbFmcQ=+1BA~>Iy3KymyK#o?nqi05hSmhKhwX}R72qeW+uw!mUJD%X-LrNXWiNJ5- z&~g7~-ZXZZZKi@l(GRc9etPp})jmzuCRTMf(mY#dKUtey3edqQ2_PF5@4(58-i*<$ znBgSvo9%zJbDY$B!mFIN;larVC%-LD?)n7mH76lpiDPcGay$p?q292w%+xYBx9bF(N*c}RL6q=vf#;?+46lYi(pty_LGHI>xGM-z6AhNjPsM* z0vt3cIfX#E&)uSl`=sFGY&>lo5Q+!m1URIhy8|f|gvQVL-FO92XOxt=zxKQ7nQ@ejf=;*cQ@{Jigtq~0(_5Odo~hsM(lCnQ z$)q5=@VnVX?#lxzuLRNW7I|e&5ym(DZnVVQ^}DqR_x*0BuJ8KYO}%*d-Cyl~^5J)X zLBHGlmfxNJZ+>?~qNPO58k;dhHtka2jtPp|E4Y@q5$L8Hi?_q%J&izMm=-SoQ|$e8S| z->v@KeZRZT9)9=#Gbir}9)9ElA|tl!-R zt6M*0*6&uvbr1{~o$>)w!0{wIl;2!qef4z$K6{#4#r9A$Zz>LcwH^=pmD>;=~4`Le4KFcmxqrtD|m47TjJ#J z@Nwdj`NBR$e8yG>CWy7d?}skO#~X(!fhJ&Xqt{c`^c%=fIf?AKb^7J4hmwvlD>+Bw&8y z+=PCB0b_wB^vC0|qB^#lWHw0!d1ISRz!egjz9P>U>wwC(n9{DGY3hWqIz`M2E5N}) zj3lRHg8WB-#c~*MMQ~YPvB(J}@1Q1BX;I4F8UpS5aIT<(+!oh_p?UG6*B(GZu;$5+ zJPjGF@zLysU+v@lw(XO7zZ=gcf};&z(InGHMgxLe@ysv2tgK?qz)VpKDrm7Ps(XTE z;2>q}$^e8Id>afq>|9oBQvscy`y2^eqJ4M)2ceJCU27k@@)q~m{=Ysx>I3q4?ZbI! zKq@>c>^g>2urab26?9mg-s@`mt`%oPsQ@v;Z4lvX8N+cO=s zOaJvgySR@$@1swH07}z3V;j4%n`sP!DjktpET3 M07*qoM6N<$g8nSnhX4Qo literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/sapphire_gfx.json b/graphics/stage/sapphire/sapphire_gfx.json new file mode 100644 index 0000000..1e432ea --- /dev/null +++ b/graphics/stage/sapphire/sapphire_gfx.json @@ -0,0 +1,36 @@ +{ + "kind": "gfx-config", + "version": 1, + "defaults": { + "mwidth": 0, + "mheight": 0, + "oam": false, + "width": 16, + "palette": "" + }, + "files": [ + { + "gfx_filename": "seedot", + "mwidth":3, + "mheight":4, + "width":12, + "oam":true + }, + { + "gfx_filename": "shop_shock_wall", + "mwidth":2, + "mheight":2, + "width":10 + }, + { + "gfx_filename": "zigzagoon", + "mheight":4, + "mwidth":7, + "oam":true + }, + { + "gfx_filename": "zigzagoon_fx", + "mwidth":4 + } + ] +} \ No newline at end of file diff --git a/graphics/stage/sapphire/seedot.png b/graphics/stage/sapphire/seedot.png new file mode 100644 index 0000000000000000000000000000000000000000..a98bb1b4cb6045e9d3a64cf2a15a18e934defb09 GIT binary patch literal 656 zcmV;B0&o3^P)lYlA&`YLuU7`(NbuoJMV(% z^1J_MaG+31OnO+Dmy>1d9>0>$Dh%ibd=H$#clJLxYQZbA|mZtABtB_@x zRmc%Si4K6po!oTAhjaTGy&VhIV^uV`*I2aJmK$oY+KN!3vDyku zDUn#+w+KwJ3jOIVm=dbw3iul^ij^Fd+UjV0DM{ztn5L7nM1?_`8U<-;6_(lDC_v|s z>zr(s+3jf-elPrWnYzX+Q&D19CRozmmI)NF3Q#7|EK?@A)|w=g&C(>DYL+6omd*Oj zy=G~Jy=LtxJYJ?@24!;nfigLtmE4{WNz^!!aF0YRye4TQN77MYb&#Zu>gF)X7XbP6 zR<~pUAg?kVhIe3M6o$_rV!~qSkt`A*u|5dJv&5bp2(8>wNu8tV520SzuD#GQe>dU< zbz4z^mDpm9MM)}mMn z7%qbV{7WtTh{?x^Q+N~nv@KZzmJLW?&Gj!3SaZ(@<<1BBKEspy{4f3Cet-C|%-kc} qkRaEeVd@2r#Pfn%H}tO*4u%KsOoSos!I4w|0000pQUXRC#tma7w+}_5Q&*rgvD4v(IK0&gS zz&SYU4wfJ}0a&LF;jC|3U<(Ar)(cTR>zm|2v~vsrYSKJ}=6ZEqKyDm}WWQPxXalOz z^=i7DnhOer#FK>406FK530)tm%k}W21V6jvHN}{F4^(zQ*6Zk1bp?4NM971}o&a$W z@n~E?egV#n4N8N|M}Qh3#XNwo0x)LhSobf}Q$)SGgxpciT2Q3^_tT7x=g;!e5M$!E z20Ta0*KhqYZoD8tws?UQ9J3gl_@7(uVc>?ifDg|E%SY+}m;WBX<-Z5e{r3c_|2%E; z=rguAQ2pmv^jXuKIUb<;&$u`*U3_T;xIp!vHDvpkF22+aR)P4D{pTC2FJ)bPsnH4y zg!zjO^QAV{bshxYK=z-H6MbLvB}bf+pL+KD?8^l{`SNhjEWYvO)n+%o`~|i_`)>EF R+ByIL002ovPDHLkV1fXw!~p;R literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/zigzagoon.png b/graphics/stage/sapphire/zigzagoon.png new file mode 100644 index 0000000000000000000000000000000000000000..28e64d9552a7afd9430ec28096bd6dcd6722a301 GIT binary patch literal 2465 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 xG0>Hoi_(Jz5K!n4NT3Z`5c#zDKNk64!5^Tw;aB $@ + +-include $(GFX_RULES_GEN) graphics/field_select/sprites.4bpp: graphics/field_select/sprites.png $(GFX) $< $@ -num_tiles 513 @@ -7,11 +13,5 @@ graphics/field_select/sprites.4bpp: graphics/field_select/sprites.png graphics/options/sprites.4bpp: graphics/options/sprites.png $(GFX) $< $@ -num_tiles 257 -$(MON_PORTRAITS_DIR)/%.4bpp: $(MON_PORTRAITS_DIR)/%.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(MON_HATCH_SPRITES_DIR)/%.4bpp: $(MON_HATCH_SPRITES_DIR)/%.png - $(GFX) $< $@ -pinball-hatch-sprite - graphics/pokedex/text_glyphs.4bpp: graphics/pokedex/text_glyphs.png $(GFX) $< $@ -num_tiles 513 diff --git a/tools/gbagfx/Makefile b/tools/gbagfx/Makefile index 8a52d52..dc900ee 100755 --- a/tools/gbagfx/Makefile +++ b/tools/gbagfx/Makefile @@ -6,7 +6,7 @@ CFLAGS += $(shell pkg-config --cflags libpng) LIBS = -lpng -lz LDFLAGS += $(shell pkg-config --libs-only-L libpng) -SRCS = main.c convert_png.c gfx.c jasc_pal.c lz.c rl.c util.c font.c huff.c +SRCS = main.c convert_png.c gfx.c jasc_pal.c lz.c rl.c util.c font.c huff.c oam_slices/oam_slicer.c ifeq ($(OS),Windows_NT) EXE := .exe diff --git a/tools/gbagfx/gfx.c b/tools/gbagfx/gfx.c index 51cf626..127bbe9 100755 --- a/tools/gbagfx/gfx.c +++ b/tools/gbagfx/gfx.c @@ -8,6 +8,7 @@ #include "global.h" #include "gfx.h" #include "util.h" +#include "oam_slices/oam_slicer.h" #define GET_GBA_PAL_RED(x) (((x) >> 0) & 0x1F) #define GET_GBA_PAL_GREEN(x) (((x) >> 5) & 0x1F) @@ -36,30 +37,21 @@ static void AdvanceMetatilePosition(int *subTileX, int *subTileY, int *metatileX } } -static void AdvancePinballHatchSpriteMetatilePosition(int *subTileX, int *subTileY, int *metatileX, int *metatileY, int metatilesWide) -{ - int subTileCoords[9][2] = { - {1, 0}, - {0, 1}, - {2, 1}, - {1, 1}, - {2, 0}, - {0, 2}, - {1, 2}, - {2, 2}, - {0, 0}, - }; +static void AdvanceOamMetatilePosition(int *subTileX, int *subTileY, int *metatileX, int *metatileY, int metatilesWide, TileCoord *subTileCoords, int tileCount, int i) { - int tileIndex = *subTileX + (*subTileY) * 3; - *subTileX = subTileCoords[tileIndex][0]; - *subTileY = subTileCoords[tileIndex][1]; - if (tileIndex == 8) { + //First tile handled at start of loop; just track additional tiles + int tileIndex = (i+1) % tileCount; + *subTileX = subTileCoords[tileIndex].x; + *subTileY = subTileCoords[tileIndex].y; + + if (tileIndex == 0) { (*metatileX)++; if (*metatileX == metatilesWide) { *metatileX = 0; (*metatileY)++; } } + } static void ConvertFromTiles1Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors) @@ -88,13 +80,21 @@ static void ConvertFromTiles1Bpp(unsigned char *src, unsigned char *dest, int nu } } -static void ConvertFromTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool pinballHatchSprite, bool invertColors) +static void ConvertFromTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors, bool oamMap) { int subTileX = 0; int subTileY = 0; int metatileX = 0; int metatileY = 0; int pitch = (metatilesWide * metatileWidth) * 4; + + TileCoord tileMappingCoord[MAX_OAM_TILE_SIDE_LENGTH_SQUARED]; + int tileCount = 0; + + if (oamMap) + { + tileCount = getOamTileIndex(metatileWidth, metatileHeight, tileMappingCoord); + } for (int i = 0; i < numTiles; i++) { for (int j = 0; j < 8; j++) { @@ -115,8 +115,8 @@ static void ConvertFromTiles4Bpp(unsigned char *src, unsigned char *dest, int nu } } - if (pinballHatchSprite) { - AdvancePinballHatchSpriteMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide); + if (oamMap) { + AdvanceOamMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, tileMappingCoord, tileCount, i); } else { AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight); } @@ -211,7 +211,7 @@ void Convert4BppImageWithPaletteMap(struct Image *image) image->bitDepth = 8; } -static void ConvertToTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool pinballHatchSprite, bool invertColors) +static void ConvertToTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors, bool oamMap) { int subTileX = 0; int subTileY = 0; @@ -219,6 +219,14 @@ static void ConvertToTiles4Bpp(unsigned char *src, unsigned char *dest, int numT int metatileY = 0; int pitch = (metatilesWide * metatileWidth) * 4; + TileCoord tileMappingCoord[MAX_OAM_TILE_SIDE_LENGTH_SQUARED]; + int tileCount = 0; + + if (oamMap) + { + tileCount = getOamTileIndex(metatileWidth, metatileHeight, tileMappingCoord); + } + for (int i = 0; i < numTiles; i++) { for (int j = 0; j < 8; j++) { int srcY = (metatileY * metatileHeight + subTileY) * 8 + j; @@ -238,8 +246,8 @@ static void ConvertToTiles4Bpp(unsigned char *src, unsigned char *dest, int numT } } - if (pinballHatchSprite) { - AdvancePinballHatchSpriteMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide); + if (oamMap) { + AdvanceOamMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, tileMappingCoord, tileCount, i); } else { AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight); } @@ -426,7 +434,7 @@ static unsigned char *DecodeTilemap(unsigned char *tiles, struct Tilemap *tilema return decoded; } -void ReadTileImage(char *path, int tilesWidth, int metatileWidth, int metatileHeight, bool pinballHatchSprite, struct Image *image, bool invertColors) +void ReadTileImage(char *path, int tilesWidth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors, bool oamMap) { int tileSize = image->bitDepth * 8; @@ -467,7 +475,7 @@ void ReadTileImage(char *path, int tilesWidth, int metatileWidth, int metatileHe ConvertFromTiles1Bpp(buffer, image->pixels, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); break; case 4: - ConvertFromTiles4Bpp(buffer, image->pixels, numTiles, metatilesWide, metatileWidth, metatileHeight, pinballHatchSprite, invertColors); + ConvertFromTiles4Bpp(buffer, image->pixels, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors, oamMap); break; case 8: ConvertFromTiles8Bpp(buffer, image->pixels, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); @@ -477,7 +485,7 @@ void ReadTileImage(char *path, int tilesWidth, int metatileWidth, int metatileHe free(buffer); } -void WriteTileImage(char *path, enum NumTilesMode numTilesMode, int numTiles, int metatileWidth, int metatileHeight, bool pinballHatchSprite, struct Image *image, bool invertColors) +void WriteTileImage(char *path, enum NumTilesMode numTilesMode, int numTiles, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors, bool oamMap) { int tileSize = image->bitDepth * 8; @@ -517,7 +525,7 @@ void WriteTileImage(char *path, enum NumTilesMode numTilesMode, int numTiles, in ConvertToTiles1Bpp(image->pixels, buffer, maxNumTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); break; case 4: - ConvertToTiles4Bpp(image->pixels, buffer, maxNumTiles, metatilesWide, metatileWidth, metatileHeight, pinballHatchSprite, invertColors); + ConvertToTiles4Bpp(image->pixels, buffer, maxNumTiles, metatilesWide, metatileWidth, metatileHeight, invertColors, oamMap); break; case 8: ConvertToTiles8Bpp(image->pixels, buffer, maxNumTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); diff --git a/tools/gbagfx/gfx.h b/tools/gbagfx/gfx.h index aa97cae..358532d 100755 --- a/tools/gbagfx/gfx.h +++ b/tools/gbagfx/gfx.h @@ -52,8 +52,16 @@ enum NumTilesMode { NUM_TILES_ERROR, }; -void ReadTileImage(char *path, int tilesWidth, int metatileWidth, int metatileHeight, bool pinballHatchSprite, struct Image *image, bool invertColors); -void WriteTileImage(char *path, enum NumTilesMode numTilesMode, int numTiles, int metatileWidth, int metatileHeight, bool pinballHatchSprite, struct Image *image, bool invertColors); +typedef struct { + int x; + int y; +} TileCoord; + +#define MAX_OAM_TILE_SIDE_LENGTH 32 +#define MAX_OAM_TILE_SIDE_LENGTH_SQUARED MAX_OAM_TILE_SIDE_LENGTH * MAX_OAM_TILE_SIDE_LENGTH + +void ReadTileImage(char *path, int tilesWidth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors, bool optomized_2n_map); +void WriteTileImage(char *path, enum NumTilesMode numTilesMode, int numTiles, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors, bool optomized_2n_map); void ReadPlainImage(char *path, int dataWidth, struct Image *image, bool invertColors); void WritePlainImage(char *path, int dataWidth, struct Image *image, bool invertColors); void FreeImage(struct Image *image); diff --git a/tools/gbagfx/main.c b/tools/gbagfx/main.c index 5dbb13e..170f9f8 100755 --- a/tools/gbagfx/main.c +++ b/tools/gbagfx/main.c @@ -68,7 +68,7 @@ void ConvertGbaToPng(char *inputPath, char *outputPath, struct GbaToPngOptions * image.tilemap.size = fileSize; } - ReadTileImage(inputPath, options->width, options->metatileWidth, options->metatileHeight, options->pinballHatchSprite, &image, !image.hasPalette); + ReadTileImage(inputPath, options->width, options->metatileWidth, options->metatileHeight, &image, !image.hasPalette, options->oamSprite); if (image.paletteMap != NULL && image.bitDepth == 4) { Convert4BppImageWithPaletteMap(&image); @@ -97,7 +97,7 @@ void ConvertPngToGba(char *inputPath, char *outputPath, struct PngToGbaOptions * ReadPng(inputPath, &image); if (options->isTiled) - WriteTileImage(outputPath, options->numTilesMode, options->numTiles, options->metatileWidth, options->metatileHeight, options->pinballHatchSprite, &image, !image.hasPalette); + WriteTileImage(outputPath, options->numTilesMode, options->numTiles, options->metatileWidth, options->metatileHeight, &image, !image.hasPalette, options->oamSprite); else WritePlainImage(outputPath, options->dataWidth, &image, !image.hasPalette); @@ -115,7 +115,6 @@ void HandleGbaToPngCommand(char *inputPath, char *outputPath, int argc, char **a options.width = 1; options.metatileWidth = 1; options.metatileHeight = 1; - options.pinballHatchSprite = 0; options.tilemapFilePath = NULL; options.isAffineMap = false; options.isTiled = true; @@ -186,8 +185,8 @@ void HandleGbaToPngCommand(char *inputPath, char *outputPath, int argc, char **a if (options.metatileHeight < 1) FATAL_ERROR("metatile height must be positive.\n"); } - else if (strcmp(option, "-pinball-hatch-sprite") == 0) { - options.pinballHatchSprite = 1; + else if (strcmp(option, "-oam") == 0) { + options.oamSprite = 1; } else if (strcmp(option, "-tilemap") == 0) { @@ -222,21 +221,10 @@ void HandleGbaToPngCommand(char *inputPath, char *outputPath, int argc, char **a } } - if (options.pinballHatchSprite) { - if (options.metatileWidth != 1 || options.metatileHeight != 1) { - FATAL_ERROR("Cannot specify metatile dimensions for pinball hatch sprites.\n"); + if (options.oamSprite){ + if (options.metatileHeight == 1 && options.metatileWidth == 1){ + FATAL_ERROR("Must specify metatile dimensions when using oam chunk mapping.\n"); } - - if (options.width == 1) { - options.width = 3; - } - - if (options.width % 3 != 0) { - FATAL_ERROR("Pinball hatch sprite width must be a multiple of 3."); - } - - options.metatileWidth = 3; - options.metatileHeight = 3; } if (options.metatileWidth > options.width) @@ -254,7 +242,6 @@ void HandlePngToGbaCommand(char *inputPath, char *outputPath, int argc, char **a options.bitDepth = outputFileExtension[0] - '0'; options.metatileWidth = 1; options.metatileHeight = 1; - options.pinballHatchSprite = 0; options.tilemapFilePath = NULL; options.isAffineMap = false; options.isTiled = true; @@ -309,8 +296,8 @@ void HandlePngToGbaCommand(char *inputPath, char *outputPath, int argc, char **a if (options.metatileHeight < 1) FATAL_ERROR("metatile height must be positive.\n"); } - else if (strcmp(option, "-pinball-hatch-sprite") == 0) { - options.pinballHatchSprite = 1; + else if (strcmp(option, "-oam") == 0) { + options.oamSprite = 1; } else if (strcmp(option, "-plain") == 0) { @@ -334,13 +321,10 @@ void HandlePngToGbaCommand(char *inputPath, char *outputPath, int argc, char **a } } - if (options.pinballHatchSprite) { - if (options.metatileWidth != 1 || options.metatileHeight != 1) { - FATAL_ERROR("Cannot specify metatile dimensions for pinball hatch sprites.\n"); + if (options.oamSprite){ + if (options.metatileHeight == 1 && options.metatileWidth == 1){ + FATAL_ERROR("Must specify metatile dimensions when using oam mapping.\n"); } - - options.metatileWidth = 3; - options.metatileHeight = 3; } ConvertPngToGba(inputPath, outputPath, &options); diff --git a/tools/gbagfx/oam_helper_scripts/convert.py b/tools/gbagfx/oam_helper_scripts/convert.py new file mode 100644 index 0000000..6fd1bf8 --- /dev/null +++ b/tools/gbagfx/oam_helper_scripts/convert.py @@ -0,0 +1,163 @@ +#!/usr/bin/env python3 +import argparse, json, shlex, subprocess, sys +from pathlib import Path +from fnmatch import fnmatch + +def posix(s: str) -> str: + return s.replace("\\", "/") + +def load_cfg(path: Path) -> dict: + with open(path, "r", encoding="utf-8") as f: + cfg = json.load(f) + if cfg.get("kind") != "gfx-config": + raise SystemExit(f"{path} is not a gfx-config (missing kind: 'gfx-config').") + cfg.setdefault("defaults", {}) + cfg.setdefault("rules", []) + cfg.setdefault("files", []) + return cfg + +# REPLACE your effective_opts() with this version +def effective_opts(cfg: dict, fbase: str, overlay: dict | None = None) -> dict: + """Layer defaults -> matching rules -> exact file entry -> optional overlay. + Special rule applies at file level and overlay level: + - if the object sets 'mwidth' but not 'width', drop any inherited 'width'. + """ + # 1) start with defaults + opts = dict(cfg.get("defaults", {})) + + # 2) apply matching rules in order + from fnmatch import fnmatch + for r in cfg.get("rules", []): + hit = ("glob" in r and fnmatch(fbase, r["glob"])) or ("prefix" in r and fbase.startswith(r["prefix"])) + if hit: + for k, v in r.items(): + if k not in ("glob", "prefix"): + opts[k] = v + + # 3) apply exact file entry (capture presence of keys) + file_entry = None + for e in cfg.get("files", []): + if e.get("gfx_filename") == fbase: + file_entry = e + for k, v in e.items(): + if k != "gfx_filename": + opts[k] = v + break + + # 4) file-level special case + if file_entry is not None and ("mwidth" in file_entry) and ("width" not in file_entry): + opts.pop("width", None) + + # 5) segment/overlay overrides (if any) + if overlay: + for k, v in overlay.items(): + opts[k] = v + # overlay-level special case + if ("mwidth" in overlay) and ("width" not in overlay): + opts.pop("width", None) + + return opts + +def build_cmd(tool: Path, fbase: str, direction: str, opts: dict): + f4 = fbase + ".4bpp" + fp = fbase + ".png" + if direction == "to-png": + src, dst = f4, fp + else: + src, dst = fp, f4 + + cmd = [str(tool), src, dst] + + mwidth = int(opts.get("mwidth", 0) or 0) + mheight = int(opts.get("mheight", 0) or 0) + oam = bool(opts.get("oam", False)) + width = int(opts.get("width", 0) or 0) + palette = str(opts.get("palette", "") or "").strip() + + if mwidth: cmd += ["-mwidth", str(mwidth)] + if mheight: cmd += ["-mheight", str(mheight)] + if oam: cmd += ["-oam"] + + if direction == "to-png": + if width: cmd += ["-width", str(width)] + if palette: cmd += ["-palette", palette] + + return cmd, src, dst + +def main(): + ap = argparse.ArgumentParser(description="Run gfx converter over files listed in a gfx JSON.") + ap.add_argument("tool", help="Path to the conversion tool (same as $(GFX) in your Makefile)") + ap.add_argument("config", help="Path to a gfx JSON (kind: gfx-config)") + ap.add_argument("--direction", choices=["to-png","to-4bpp"], default="to-png", + help="Conversion direction (default: to-png = .4bpp -> .png)") + ap.add_argument("--only", action="append", default=[], + help="Limit to specific base path(s) (repeatable). Example: graphics/ui/healthbar") + ap.add_argument("--dry-run", action="store_true", help="Print commands without executing") + ap.add_argument("--fail-fast", action="store_true", help="Stop on first error") + args = ap.parse_args() + + tool = Path(args.tool) + cfg_path = Path(args.config) + cfg = load_cfg(cfg_path) + io_base = cfg_path.parent + + + # build worklist (supports per-file segments) + work = [] # each item: (target_id, fbase_for_io, opts) + for e in cfg["files"]: + if "gfx_filename" not in e: + continue + f = posix(e["gfx_filename"]) + segs = e.get("segments") + if isinstance(segs, list) and segs: + for seg in segs: + if not isinstance(seg, dict): + continue + sid = seg.get("segfile") + if not sid: + continue + f_aug = f"{f}_{sid}" + overlay = {k: v for k, v in seg.items() if k != "segfile"} + opts = effective_opts(cfg, f, overlay=overlay) + f_aug = f"{io_base}/{f_aug}" + work.append((f_aug, f_aug, opts)) + else: + opts = effective_opts(cfg, f) + f = f"{io_base}/{f}" + work.append((f, f, opts)) + + # optional --only filter (now matches the augmented id like graphics/foo_a) + if args.only: + only = set(posix(s) for s in args.only) + work = [item for item in work if item[0] in only] + + if not work: + print("No files to process.", file=sys.stderr) + return 1 + + failures = 0 + for _, fbase_eff, opts in work: + cmd, src, dst = build_cmd(tool, fbase_eff, args.direction, opts) + + print("$", " ".join(shlex.quote(c) for c in cmd)) + if args.dry_run: + continue + + if not Path(src).exists(): + print(f"!! Missing source: {src}", file=sys.stderr) + failures += 1 + if args.fail-fast: break + continue + + try: + subprocess.run(cmd, check=True) + except subprocess.CalledProcessError as ex: + print(f"!! Command failed ({ex.returncode}): {' '.join(cmd)}", file=sys.stderr) + failures += 1 + if args.fail-fast: break + + return 0 if failures == 0 else 1 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tools/gbagfx/oam_helper_scripts/init_gfx_json.py b/tools/gbagfx/oam_helper_scripts/init_gfx_json.py new file mode 100644 index 0000000..93518c7 --- /dev/null +++ b/tools/gbagfx/oam_helper_scripts/init_gfx_json.py @@ -0,0 +1,128 @@ +#!/usr/bin/env python3 +import argparse, json, sys +from pathlib import Path + +def to_posix(p: Path) -> str: + return p.as_posix() + +def parse_int_auto(s: str) -> int: + # accepts "32" or "0x20" + return int(s, 0) + +def main(): + ap = argparse.ArgumentParser( + description="Scan a directory for .4bpp files and create an initial gfx JSON (with tileCount)." + ) + ap.add_argument("root", nargs="?", default=".", help="Directory to scan (default: .)") + ap.add_argument("-o", "--output", help="Output JSON path (default: /gfx.json)") + ap.add_argument("--relative-to", choices=["cwd","root"], default="cwd", + help="Store paths relative to: cwd (default) or root dir") + # Defaults for gfx options (these don’t affect flags if 0/empty) + ap.add_argument("--defaults-mwidth", type=int, default=0) + ap.add_argument("--defaults-mheight", type=int, default=0) + ap.add_argument("--defaults-oam", action="store_true") + ap.add_argument("--defaults-width", type=int, default=0) + ap.add_argument("--defaults-palette", default="") + # Tile handling + ap.add_argument("--tile-size", default="0x20", + help="Tile size in bytes (default: 0x20 = 32)") + ap.add_argument("--strict-tiles", action="store_true", + help="Error if any .4bpp size is not a multiple of tile size") + ap.add_argument("-v", "--verbose", action="store_true") + args = ap.parse_args() + + root = Path(args.root).resolve() + if not root.exists() or not root.is_dir(): + raise SystemExit(f"[init] root is not a directory: {root}") + + out = Path(args.output) if args.output else root / "gfx.json" + tile_size = parse_int_auto(args.tile_size) + if tile_size <= 0: + raise SystemExit(f"[init] --tile-size must be > 0 (got {tile_size})") + + if args.verbose: + print(f"[init] scanning root: {root}") + print(f"[init] tile_size: {tile_size} bytes") + print(f"[init] will write JSON: {out}") + + files = [] + warnings = 0 + + # Collect base paths for *.4bpp (case-insensitive) + for p in sorted(root.rglob("*")): + if p.is_file() and p.suffix.lower() == ".4bpp": + base = p.with_suffix("") # remove .4bpp + # choose how to store path + if args.relative_to == "root": + f = to_posix(base.relative_to(root)) + else: + try: + f = to_posix(base.relative_to(Path.cwd())) + except ValueError: + f = to_posix(base) + + size = p.stat().st_size + remainder = size % tile_size + tile_count = size // tile_size + + if remainder != 0: + msg = (f"[init] WARNING: {p} size={size} not a multiple of tile_size={tile_size} " + f"(tileCount will be {tile_count}, remainder {remainder} bytes)") + print(msg, file=sys.stderr) + warnings += 1 + if args.strict_tiles: + raise SystemExit("[init] --strict-tiles: aborting due to misaligned file size.") + + palette_rel = None + pal_candidate = base.with_suffix(".gbapal") + if pal_candidate.exists(): + if args.relative_to == "root": + palette_rel = to_posix(pal_candidate.relative_to(root)) + else: + try: + palette_rel = to_posix(pal_candidate.relative_to(Path.cwd())) + except ValueError: + palette_rel = to_posix(pal_candidate) + + entry = { + "gfx_filename": f, + "tileCount": tile_count + } + if palette_rel: + entry["palette"] = palette_rel # per-file override if .gbapal is present + + files.append(entry) + + if args.verbose: + print(f"[init] found {len(files)} .4bpp file(s)") + if 0 < len(files) <= 10: + for e in files: + print(f" - {e['f']}.4bpp (tileCount={e['tileCount']})") + elif len(files) > 10: + for e in files[:5]: + print(f" - {e['f']}.4bpp (tileCount={e['tileCount']})") + print(" ...") + + cfg = { + "kind": "gfx-config", + "version": 1, + "defaults": { + "mwidth": args.defaults_mwidth, + "mheight": args.defaults_mheight, + "oam": bool(args.defaults_oam), + "width": args.defaults_width, + "palette": args.defaults_palette + }, + "files": files + } + + out.parent.mkdir(parents=True, exist_ok=True) + with open(out, "w", encoding="utf-8") as f: + json.dump(cfg, f, indent=2) + f.write("\n") + + print(f"[init] wrote {out} with {len(files)} entr{'y' if len(files)==1 else 'ies'}" + f"{' and warnings' if warnings else ''}") + +if __name__ == "__main__": + main() diff --git a/tools/gbagfx/oam_helper_scripts/prune.py b/tools/gbagfx/oam_helper_scripts/prune.py new file mode 100644 index 0000000..4e14bce --- /dev/null +++ b/tools/gbagfx/oam_helper_scripts/prune.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +import sys +import shutil +from pathlib import Path + +TILE_SIZE = 0x20 # 32 bytes per tile + +def parse_int_auto(s: str) -> int: + try: + return int(s, 0) # accepts "16" or "0x10" + except ValueError: + raise SystemExit(f"Invalid tilecount '{s}' (use decimal or 0xHEX)") + +def copy_prefix(src: Path, dst: Path, nbytes: int) -> None: + """Copy the first nbytes from src -> dst (overwrites dst).""" + bufsize = 1024 * 1024 + with src.open("rb") as fsrc, dst.open("wb") as fdst: + remaining = nbytes + while remaining > 0: + chunk = fsrc.read(min(bufsize, remaining)) + if not chunk: + break + fdst.write(chunk) + remaining -= len(chunk) + if remaining != 0: + raise SystemExit(f"error: source ended unexpectedly while copying {nbytes} bytes") + +def main(): + if len(sys.argv) != 3: + print("usage: prune ", file=sys.stderr) + print("example: prune graphics/foo.4bpp 8", file=sys.stderr) + sys.exit(2) + + file_path = Path(sys.argv[1]) + backup_path = Path(str(file_path) + "_orig") + tilecount = parse_int_auto(sys.argv[2]) + if tilecount < 0: + print("error: tilecount must be >= 0", file=sys.stderr) + sys.exit(1) + + # If backup doesn't exist, we need the current file to seed it. + if not backup_path.exists(): + if not file_path.exists() or not file_path.is_file(): + print(f"error: neither {file_path} nor backup {backup_path} exists to seed from.", file=sys.stderr) + sys.exit(1) + try: + shutil.copy2(file_path, backup_path) + print(f"backup created: {backup_path}") + except Exception as ex: + print(f"error: failed to create backup: {ex}", file=sys.stderr) + sys.exit(1) + else: + print(f"using existing backup as baseline: {backup_path}") + + # Always start from the backup (original) content + try: + orig_size = backup_path.stat().st_size + except Exception as ex: + print(f"error: cannot stat backup: {ex}", file=sys.stderr) + sys.exit(1) + + prune_bytes = TILE_SIZE * tilecount + if prune_bytes > orig_size: + print( + f"error: cannot prune {prune_bytes} bytes ({tilecount} tiles) " + f"from original size {orig_size} bytes.", + file=sys.stderr, + ) + sys.exit(1) + + new_size = orig_size - prune_bytes + + # Write pruned content back to the working file + try: + copy_prefix(backup_path, file_path, new_size) + except Exception as ex: + print(f"error: failed to write pruned file: {ex}", file=sys.stderr) + sys.exit(1) + + print( + f"pruned {prune_bytes} bytes ({tilecount} tile{'s' if tilecount != 1 else ''}) " + f"from {backup_path.name}; wrote {file_path.name} size {orig_size} -> {new_size} bytes" + ) + sys.exit(0) + +if __name__ == "__main__": + main() diff --git a/tools/gbagfx/oam_helper_scripts/readme.txt b/tools/gbagfx/oam_helper_scripts/readme.txt new file mode 100644 index 0000000..8221094 --- /dev/null +++ b/tools/gbagfx/oam_helper_scripts/readme.txt @@ -0,0 +1,26 @@ +'init_gfx_json.py' +* For reading a folder and building an initial json file for the .4bpp files in it. +* This prepopulates a tilecount, which can be useful for ballpark sizing the height/width +* Run this in the folder with the graphics to be loaded into the json file +* If a file with a .gbapal with the same name as the .4bpp file exists, it will automatically load that in as that file's palette. + + +'convert.py' +* For reading a json graphics config file, and calling the conversion process as a loop. +* Called with convert.py {path to gbagfx} {path to json file} --direction {to-png or to-4bpp} +* Conversion uses the json settings for both direction of conversion, needing the mheight/mwidth/oam to handle some of these entries + + +'prune.py' +* For 'trimming' a number of blank tiles off the end of a .4bpp file, to account for those stray extra 0x20 * x bits at the end. +* This saves an original copy of the .4bpp file, which it uses as the base when re-running this script on the same file. +* Called with prune.py {path to .4bpp file} {tiles to remove} + + +'split_gfx' +* For splitting .4bpp files that are easier parsed as a series of sub images. +* This creates new files with the name being the {filename}_{suffix}.4bpp +* Called with split_gfx.py {path to file} {suffix} {tiles to skip} {tiles to take} +* Sample from pulling the link_gbasp segment out of sprites.4bpp (tool and byte file in the same folder being run from): + split_gfx.py sprites.4bpp link_gbasp 768 18 + *this creates a sprites_link_gbasp.4bpp file. \ No newline at end of file diff --git a/tools/gbagfx/oam_helper_scripts/split_gfx.py b/tools/gbagfx/oam_helper_scripts/split_gfx.py new file mode 100644 index 0000000..12d2371 --- /dev/null +++ b/tools/gbagfx/oam_helper_scripts/split_gfx.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python3 +from pathlib import Path +import argparse +import sys + +TILE_SIZE = 0x20 # 32 bytes per 4bpp tile + +def split_4bpp(infile: Path, suffix: str, skip_tiles: int, take_tiles: int) -> Path: + if skip_tiles < 0: + raise ValueError("skip must be >= 0") + if take_tiles <= 0: + raise ValueError("take must be > 0") + + if not infile.exists(): + raise FileNotFoundError(f"Input file not found: {infile}") + + # Build output path in the same directory as the input + out_name = f"{infile.stem}_{suffix}.4bpp" + outfile = infile.with_name(out_name) + + file_size = infile.stat().st_size + if file_size % TILE_SIZE != 0: + print(f"Warning: input size ({file_size} bytes) is not a multiple of {TILE_SIZE}.", file=sys.stderr) + + offset = skip_tiles * TILE_SIZE + length = take_tiles * TILE_SIZE + + if offset >= file_size: + raise ValueError( + f"Skip offset ({offset} bytes) is beyond end of file ({file_size} bytes). " + f"Nothing to extract." + ) + + with infile.open("rb") as f: + f.seek(offset) + data = f.read(length) + + if not data: + raise ValueError("No data read; check your skip/take parameters.") + + # If the file ended early, we’ll write what we got and let you know. + if len(data) < length: + tiles_read = len(data) // TILE_SIZE + print( + f"Note: requested {take_tiles} tiles but only {tiles_read} were available from the offset.", + file=sys.stderr + ) + + with outfile.open("wb") as out: + out.write(data) + + return outfile + +def main(): + p = argparse.ArgumentParser( + description="Extract a subrange of 4bpp tiles from a .4bpp file (tile size = 0x20 bytes)." + ) + p.add_argument("infile", type=Path, help="Path to input .4bpp file") + p.add_argument("suffix", help="Suffix for output name (produces {stem}_{suffix}.4bpp)") + p.add_argument("skip", type=int, help="Number of tiles to skip from start") + p.add_argument("take", type=int, help="Number of tiles to copy") + args = p.parse_args() + + outpath = split_4bpp(args.infile, args.suffix, args.skip, args.take) + print(f"Wrote: {outpath}") + +if __name__ == "__main__": + main() diff --git a/tools/gbagfx/oam_slices/oam_slicer.c b/tools/gbagfx/oam_slices/oam_slicer.c new file mode 100644 index 0000000..c1fed5f --- /dev/null +++ b/tools/gbagfx/oam_slices/oam_slicer.c @@ -0,0 +1,155 @@ +#include +#include +#include +#include "../gfx.h" +#include "oam_slicer.h" + + +// Define the available OAM shapes. +// Ordered by the width, then height. +const struct OamShape oamShapes[] = { + {8, 8, OAM_SIZE_3, OAM_SQUARE}, {8, 4, OAM_SIZE_3, OAM_H_RECTANGLE}, {4, 8, OAM_SIZE_3, OAM_V_RECTANGLE}, + {4, 4, OAM_SIZE_2, OAM_SQUARE}, {4, 2, OAM_SIZE_2, OAM_H_RECTANGLE}, {4, 1, OAM_SIZE_1, OAM_H_RECTANGLE}, + {2, 4, OAM_SIZE_2, OAM_V_RECTANGLE}, {2, 2, OAM_SIZE_1, OAM_SQUARE}, {2, 1, OAM_SIZE_0, OAM_H_RECTANGLE}, + {1, 4, OAM_SIZE_1, OAM_V_RECTANGLE}, {1, 2, OAM_SIZE_0, OAM_V_RECTANGLE}, {1, 1, OAM_SIZE_0, OAM_SQUARE}, +}; + +// Define manual overrides for specific sprite dimentions, which were observed using a different sequencing +// than the standard algorithm would produce. +const struct OamOverride oamShapeOverrides[] = { + { 13, 8, 5, (const struct OamOverrideSegment[]) { //2 8x4 segments, rather than a single 8x8 + {0, 0, 8, 4}, {0, 4, 8, 4}, {8, 0, 4, 8}, {12, 0, 1, 4}, {12, 4, 1, 4} + }}, + { 6, 3, 4, (const struct OamOverrideSegment[]) { //ordering of middle 2 segments + {0,0,4,2}, {0,2,4,1}, {4,0,2,2}, {4,2,2,1} + }}, +}; + +// Function to check if a shape fits at position (x, y) +static bool check_oam_shape_fits(int x, int y, int width, int height, int shapeW, int shapeH) { + return (x + shapeW <= width && y + shapeH <= height); +} + +// Helper to allocate new segment +static struct OamSegment *new_oam_segment(int x, int y, int w, int h) { + struct OamSegment *seg = malloc(sizeof(struct OamSegment)); + seg->offX = x; + seg->offY = y; + seg->width = w; + seg->height = h; + seg->next = NULL; + return seg; +} + +static struct OamSegment *check_oam_manual_override(int width, int height) { + for (int i = 0; i < sizeof(oamShapeOverrides)/sizeof(oamShapeOverrides[0]); ++i) { + const struct OamOverride *ovr = &oamShapeOverrides[i]; + if (ovr->width == width && ovr->height == height) { + struct OamSegment *head = NULL, **tail = &head; + for (int j = 0; j < ovr->numSegments; ++j) { + const struct OamOverrideSegment *seg = &ovr->segments[j]; + *tail = new_oam_segment(seg->offX, seg->offY, seg->width, seg->height); + tail = &((*tail)->next); + } + return head; + } + } + return NULL; +} + +static OamSegment *slice_sprite_to_oam(int width, int height) { + struct OamSegment *head = NULL; + struct OamSegment **tail = &head; + + // Tilemap to track used space + bool used[MAX_OAM_TILE_SIDE_LENGTH][MAX_OAM_TILE_SIDE_LENGTH]; + for (int i = 0; i < MAX_OAM_TILE_SIDE_LENGTH; ++i) + for (int j = 0; j < MAX_OAM_TILE_SIDE_LENGTH; ++j) + used[i][j] = false; + + for (int y = 0; y < height; ++y) { + for (int x = 0; x < width; ++x) { + if (used[y][x]) + continue; + + // Try each shape in order + for (int i = 0; i < sizeof(oamShapes)/sizeof(oamShapes[0]); ++i) { + struct OamShape shape = oamShapes[i]; + if (check_oam_shape_fits(x, y, width, height, shape.width, shape.height)) { + // Check if region is free + bool collision = false; + for (int dy = 0; dy < shape.height && !collision; ++dy) + for (int dx = 0; dx < shape.width && !collision; ++dx) + if (used[y + dy][x + dx]) + collision = true; + + if (!collision) { + // Mark region used + for (int dy = 0; dy < shape.height; ++dy) + for (int dx = 0; dx < shape.width; ++dx) + used[y + dy][x + dx] = true; + + // Add segment + *tail = new_oam_segment(x, y, shape.width, shape.height); + tail = &((*tail)->next); + break; + } + } + } + } + } + + return head; +} + +void print_oam_segments(struct OamSegment *segList) { + printf("OAM Segments: "); + while (segList) { + printf("{%d,%d,%dx%d}", segList->offX, segList->offY, segList->width, segList->height); + segList = segList->next; + if (segList) printf(", "); + } + printf("\n"); +} + +int getOamTileIndex(int width, int height, TileCoord *tileCoordinates) { + int tileIndex = 0; + int tileCount = width * height; + + struct OamSegment *segments; + segments = check_oam_manual_override(width, height); + if (segments == NULL) { + segments = slice_sprite_to_oam(width, height); + } + + struct OamSegment *segment = segments; + while (segment) { + for (int y = 0; y < segment->height; ++y) { + for (int x = 0; x < segment->width; ++x) { + tileCoordinates[tileIndex].x = segment->offX + x; + tileCoordinates[tileIndex].y = segment->offY + y; + ++tileIndex; + } + } + segment = segment->next; + } + + free_oam_segments(segments); + return tileCount; +} + +void free_oam_segments(struct OamSegment *segList) { + while (segList) { + struct OamSegment *next = segList->next; + free(segList); + segList = next; + } +} + +void PrintTileCoords(TileCoord *tileSequence, int tile_count) +{ + printf("Generated oamTileSequence (total: %d):\n", tile_count); + for (int i = 0; i < tile_count; i++) { + printf("Tile %d: (%d, %d)\n", i, tileSequence[i].x, tileSequence[i].y); + } +} \ No newline at end of file diff --git a/tools/gbagfx/oam_slices/oam_slicer.h b/tools/gbagfx/oam_slices/oam_slicer.h new file mode 100644 index 0000000..a173cb3 --- /dev/null +++ b/tools/gbagfx/oam_slices/oam_slicer.h @@ -0,0 +1,52 @@ +#ifndef GUARD_OAM_SLICER_H +#define GUARD_OAM_SLICER_H +#include "../gfx.h" + +enum OamShapeEnum { + OAM_SQUARE = 0, + OAM_H_RECTANGLE = 1, + OAM_V_RECTANGLE = 2 +}; + +enum OamSizeEnum { + OAM_SIZE_3 = 3, + OAM_SIZE_2 = 2, + OAM_SIZE_1 = 1, + OAM_SIZE_0 = 0 +}; + +typedef struct OamShape { + unsigned short width; + unsigned short height; + enum OamSizeEnum oamSize; + enum OamShapeEnum mode; +} OamShape; + +typedef struct OamOverrideSegment { + unsigned short offX; + unsigned short offY; + unsigned short width; + unsigned short height; +} OamOverrideSegment; + +typedef struct OamOverride { + unsigned short width; + unsigned short height; + unsigned short numSegments; + const struct OamOverrideSegment *segments; +} OamOverride; + +typedef struct OamSegment { + struct OamSegment *next; + short offX; + short offY; + unsigned short width; // in tiles + unsigned short height; // in tiles +} OamSegment; + +void print_oam_segments(struct OamSegment *segList); +void free_oam_segments(struct OamSegment *segList); +int getOamTileIndex(int width, int height, TileCoord *tileCoordinates); +void PrintTileCoords(TileCoord *tileSequence, int tile_count); + +#endif // GUARD_OAM_SLICER_H \ No newline at end of file diff --git a/tools/gbagfx/options.h b/tools/gbagfx/options.h index bf82963..66b86f2 100755 --- a/tools/gbagfx/options.h +++ b/tools/gbagfx/options.h @@ -15,11 +15,11 @@ struct GbaToPngOptions { int width; int metatileWidth; int metatileHeight; - bool pinballHatchSprite; char *tilemapFilePath; bool isAffineMap; bool isTiled; int dataWidth; + bool oamSprite; }; struct PngToGbaOptions { @@ -28,11 +28,11 @@ struct PngToGbaOptions { int bitDepth; int metatileWidth; int metatileHeight; - bool pinballHatchSprite; char *tilemapFilePath; bool isAffineMap; bool isTiled; int dataWidth; + bool oamSprite; }; #endif // OPTIONS_H diff --git a/tools/scripts/generate_graphics_rules.sh b/tools/scripts/generate_graphics_rules.sh new file mode 100755 index 0000000..64aa280 --- /dev/null +++ b/tools/scripts/generate_graphics_rules.sh @@ -0,0 +1,118 @@ +#!/usr/bin/env bash +# generate_graphics_rules.sh +# +# Reads JSON gfx-config files and emits explicit Make rules for files that +# need special flags or segment handling. Files that need no special +# treatment are left for the generic %.4bpp: %.png pattern rule in the +# Makefile. +# +# Usage: bash generate_graphics_rules.sh graphics/**/gfx.json ... +# Output: Make rules on stdout + +set -euo pipefail + +emit_rules() { + local json="$1" + local dir + dir=$(dirname "$json") + + # Single jq call per JSON: emit one TSV line per file entry with all + # resolved values. Fields: + # gfx_filename mwidth mheight oam align segments_json + # segments_json is "null" when there are no segments, otherwise the + # raw JSON array. + jq -r ' + .defaults as $d | + .files[]? | + [ + .gfx_filename, + ((.mwidth // $d.mwidth // 0) | tostring), + ((.mheight // $d.mheight // 0) | tostring), + ((.oam // $d.oam // false) | tostring), + ((.align // 0) | tostring), + (if .segments then (.segments | tojson) else "null" end) + ] | @tsv + ' "$json" | while IFS=$'\t' read -r gfx_filename mwidth mheight oam align segments; do + local stem="graphics/${dir#graphics/}/${gfx_filename}" + local target="${stem}.4bpp" + + if [ "$segments" != "null" ]; then + # --- Segmented file --- + # Collect segment PNGs as prerequisites + local seg_pngs + seg_pngs=$(printf '%s' "$segments" | jq -r '.[].segfile' | while read -r sf; do + printf '%s/%s.png ' "$dir" "$sf" + done) + + printf '%s: %s%s\n' "$target" "$seg_pngs" "$json" + + # Emit a $(GFX) call for each segment + local first=1 + printf '%s' "$segments" | jq -r '.[] | [.segfile, (.mwidth // 0 | tostring), (.mheight // 0 | tostring), (.oam // false | tostring)] | @tsv' | while IFS=$'\t' read -r segfile seg_mw seg_mh seg_oam; do + local seg_png="${dir}/${segfile}.png" + local seg_4bpp="${stem}_${segfile}.4bpp" + local flags="" + if [ "$seg_mw" != "0" ] && [ -n "$seg_mw" ]; then + flags="$flags -mwidth $seg_mw" + fi + if [ "$seg_mh" != "0" ] && [ -n "$seg_mh" ]; then + flags="$flags -mheight $seg_mh" + fi + if [ "$seg_oam" = "true" ]; then + flags="$flags -oam" + fi + printf '\t$(GFX) %s %s%s; \\\n' "$seg_png" "$seg_4bpp" "$flags" + done + + # cat all segment .4bpp files together + local seg_4bpps + seg_4bpps=$(printf '%s' "$segments" | jq -r '.[].segfile' | while read -r sf; do + printf '%s_%s.4bpp ' "$stem" "$sf" + done) + printf '\tcat %s> $@' "$seg_4bpps" + + # Alignment padding + if [ "$align" != "0" ] && [ -n "$align" ]; then + printf '; \\\n' + printf '\tdd if=/dev/zero bs=32 count=%s >> $@ 2>/dev/null' "$align" + fi + printf '\n\n' + else + # --- Non-segmented file --- + local flags="" + if [ "$mwidth" != "0" ] && [ -n "$mwidth" ]; then + flags="$flags -mwidth $mwidth" + fi + if [ "$mheight" != "0" ] && [ -n "$mheight" ]; then + flags="$flags -mheight $mheight" + fi + if [ "$oam" = "true" ]; then + flags="$flags -oam" + fi + + # Skip if no special flags and no alignment — the generic + # pattern rule in the Makefile handles this case. + if [ -z "$flags" ] && { [ "$align" = "0" ] || [ -z "$align" ]; }; then + continue + fi + + printf '%s: %s.png %s\n' "$target" "$stem" "$json" + printf '\t$(GFX) $< $@%s\n' "$flags" + + if [ "$align" != "0" ] && [ -n "$align" ]; then + printf '\tdd if=/dev/zero bs=32 count=%s >> $@ 2>/dev/null\n' "$align" + fi + printf '\n' + fi + done +} + +# --- Main --- +printf '# Auto-generated by %s — do not edit\n\n' "$(basename "$0")" + +for json in "$@"; do + # Only process gfx-config files + if jq -e '.kind == "gfx-config"' "$json" > /dev/null 2>&1; then + emit_rules "$json" + fi +done