diff options
840 files changed, 1574 insertions, 963 deletions
diff --git a/.gitignore b/.gitignore index c9036fa4b..8f7b9a932 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,9 @@ baserom.txt pokecrystal.txt +# used_space.py +used_space.png + # for vim configuration # url: http://www.vim.org/scripts/script.php?script_id=441 .lvimrc @@ -108,16 +108,13 @@ pokecrystal-au.gbc: $(crystal_au_obj) layout.link $(RGBFIX) -Cjv -t PM_CRYSTAL -i BYTU -k 01 -l 0x33 -m 0x10 -r 3 -p 0 $@ -# For files that the compressor can't match, there will be a .lz file suffixed with the md5 hash of the correct uncompressed file. -# If the hash of the uncompressed file matches, use this .lz instead. -# This allows pngs to be used for compressed graphics and still match. +### LZ compression rules + +# Delete this line if you don't care about matching and just want optimal compression. +include gfx/lz.mk -%.lz: hash = $(shell tools/md5 $(*D)/$(*F) | sed "s/\(.\{8\}\).*/\1/") %.lz: % - $(eval filename := $@.$(hash)) - $(if $(wildcard $(filename)),\ - cp $(filename) $@,\ - tools/lzcomp -- $< $@) + tools/lzcomp $(LZFLAGS) -- $< $@ ### Pokemon pic animation rules diff --git a/constants/event_flags.asm b/constants/event_flags.asm index 1fb88e524..ee520c8e1 100644 --- a/constants/event_flags.asm +++ b/constants/event_flags.asm @@ -1,7 +1,7 @@ ; wEventFlags bit flags const_def ; The first eight flags are reset upon reloading the map - const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 ; 000 + const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2 const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_3 const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_4 @@ -25,7 +25,7 @@ const EVENT_GOT_HM04_STRENGTH const EVENT_GOT_HM05_FLASH const EVENT_GOT_HM06_WHIRLPOOL - const EVENT_016 + const EVENT_016 ; unused ; Rods const EVENT_GOT_OLD_ROD const EVENT_GOT_GOOD_ROD @@ -64,12 +64,12 @@ const EVENT_LAKE_OF_RAGE_EXPLAINED_WEIRD_MAGIKARP const EVENT_LAKE_OF_RAGE_ASKED_FOR_MAGIKARP const EVENT_LAKE_OF_RAGE_ELIXIR_ON_STANDBY - const EVENT_03B - const EVENT_03C + const EVENT_03B ; unused + const EVENT_03C ; unused const EVENT_HEALED_MOOMOO const EVENT_GOT_TM13_SNORE_FROM_MOOMOO_FARM const EVENT_TALKED_TO_FARMER_ABOUT_MOOMOO - const EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST ; 040 + const EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST const EVENT_DUDE_TALKED_TO_YOU const EVENT_LEARNED_TO_CATCH_POKEMON const EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON @@ -85,7 +85,7 @@ const EVENT_GOT_MYSTIC_WATER_IN_CHERRYGROVE const EVENT_GOT_TM05_ROAR const EVENT_GOT_EEVEE - const EVENT_GOT_KENYA ; 050 + const EVENT_GOT_KENYA const EVENT_GAVE_KENYA const EVENT_GOT_HP_UP_FROM_RANDY const EVENT_GOT_TM50_NIGHTMARE @@ -101,7 +101,7 @@ const EVENT_GOT_MIRACLE_SEED_IN_ROUTE_32 const EVENT_GOT_CHARCOAL_IN_CHARCOAL_KILN const EVENT_GOT_TM02_HEADBUTT - const EVENT_DECIDED_TO_HELP_LANCE ; 060 + const EVENT_DECIDED_TO_HELP_LANCE const EVENT_GOT_TYROGUE_FROM_KIYO const EVENT_MET_FRIEDA_OF_FRIDAY const EVENT_GOT_POISON_BARB_FROM_FRIEDA @@ -116,7 +116,7 @@ const EVENT_MET_SANTOS_OF_SATURDAY const EVENT_GOT_SPELL_TAG_FROM_SANTOS const EVENT_MET_MONICA_OF_MONDAY - const EVENT_GOT_SHARP_BEAK_FROM_MONICA ; 070 + const EVENT_GOT_SHARP_BEAK_FROM_MONICA const EVENT_GOT_SOFT_SAND_FROM_KATE const EVENT_GOT_METAL_COAT_FROM_GRANDPA_ON_SS_AQUA const EVENT_GOT_BLACKGLASSES_IN_DARK_CAVE @@ -134,10 +134,10 @@ const EVENT_TIN_TOWER_4F_HIDDEN_MAX_POTION const EVENT_TIN_TOWER_5F_HIDDEN_FULL_RESTORE const EVENT_TIN_TOWER_5F_HIDDEN_CARBOS - const EVENT_BURNED_TOWER_1F_HIDDEN_ETHER ; 080 - const EVENT_081 - const EVENT_082 - const EVENT_083 + const EVENT_BURNED_TOWER_1F_HIDDEN_ETHER + const EVENT_081 ; unused + const EVENT_082 ; unused + const EVENT_083 ; unused const EVENT_NATIONAL_PARK_HIDDEN_FULL_HEAL const EVENT_OLIVINE_LIGHTHOUSE_5F_HIDDEN_HYPER_POTION const EVENT_TEAM_ROCKET_BASE_B1F_HIDDEN_REVIVE @@ -201,6 +201,7 @@ const EVENT_GAVE_GS_BALL_TO_KURT const EVENT_FOREST_IS_RESTLESS const EVENT_ANSWERED_DRAGON_MASTER_QUIZ_WRONG +; Unused const EVENT_0C2 const EVENT_0C3 const EVENT_0C4 @@ -270,7 +271,7 @@ const EVENT_DANA_GAVE_THUNDERSTONE const EVENT_TULLY_GAVE_WATER_STONE const EVENT_TIFFANY_GAVE_PINK_BOW -; ??? +; Unused const EVENT_105 const EVENT_106 const EVENT_107 @@ -632,60 +633,60 @@ const EVENT_GOT_CALCIUM_FROM_ERIN const EVENT_KENJI_ON_BREAK const EVENT_GAVEN_ASKED_FOR_PHONE_NUMBER - const EVENT_26C + const EVENT_26C ; unused const EVENT_BETH_ASKED_FOR_PHONE_NUMBER - const EVENT_26E + const EVENT_26E ; unused const EVENT_JOSE_ASKED_FOR_PHONE_NUMBER - const EVENT_270 + const EVENT_270 ; unused const EVENT_REENA_ASKED_FOR_PHONE_NUMBER - const EVENT_272 + const EVENT_272 ; unused const EVENT_JOEY_ASKED_FOR_PHONE_NUMBER - const EVENT_274 + const EVENT_274 ; unused const EVENT_WADE_ASKED_FOR_PHONE_NUMBER - const EVENT_276 + const EVENT_276 ; unused const EVENT_RALPH_ASKED_FOR_PHONE_NUMBER - const EVENT_278 + const EVENT_278 ; unused const EVENT_LIZ_ASKED_FOR_PHONE_NUMBER - const EVENT_27A + const EVENT_27A ; unused const EVENT_ANTHONY_ASKED_FOR_PHONE_NUMBER - const EVENT_27C + const EVENT_27C ; unused const EVENT_TODD_ASKED_FOR_PHONE_NUMBER - const EVENT_27E + const EVENT_27E ; unused const EVENT_GINA_ASKED_FOR_PHONE_NUMBER - const EVENT_280 ; 280 + const EVENT_280 ; 280 ; unused const EVENT_IRWIN_ASKED_FOR_PHONE_NUMBER - const EVENT_282 + const EVENT_282 ; unused const EVENT_ARNIE_ASKED_FOR_PHONE_NUMBER - const EVENT_284 + const EVENT_284 ; unused const EVENT_ALAN_ASKED_FOR_PHONE_NUMBER - const EVENT_286 - const EVENT_287 - const EVENT_288 + const EVENT_286 ; unused + const EVENT_287 ; unused + const EVENT_288 ; unused const EVENT_DANA_ASKED_FOR_PHONE_NUMBER - const EVENT_28A + const EVENT_28A ; unused const EVENT_CHAD_ASKED_FOR_PHONE_NUMBER - const EVENT_28C + const EVENT_28C ; unused const EVENT_DEREK_ASKED_FOR_PHONE_NUMBER - const EVENT_28E + const EVENT_28E ; unused const EVENT_TULLY_ASKED_FOR_PHONE_NUMBER - const EVENT_290 ; 290 + const EVENT_290 ; 290 ; unused const EVENT_BRENT_ASKED_FOR_PHONE_NUMBER - const EVENT_292 + const EVENT_292 ; unused const EVENT_TIFFANY_ASKED_FOR_PHONE_NUMBER - const EVENT_294 + const EVENT_294 ; unused const EVENT_VANCE_ASKED_FOR_PHONE_NUMBER - const EVENT_296 + const EVENT_296 ; unused const EVENT_WILTON_ASKED_FOR_PHONE_NUMBER - const EVENT_298 + const EVENT_298 ; unused const EVENT_KENJI_ASKED_FOR_PHONE_NUMBER - const EVENT_29A + const EVENT_29A ; unused const EVENT_PARRY_ASKED_FOR_PHONE_NUMBER - const EVENT_29C + const EVENT_29C ; unused const EVENT_ERIN_ASKED_FOR_PHONE_NUMBER const EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD - const EVENT_29F + const EVENT_29F ; unused ; Ruins of Alph puzzles - const EVENT_SOLVED_HO_OH_PUZZLE ; 2a0 + const EVENT_SOLVED_HO_OH_PUZZLE const EVENT_SOLVED_KABUTO_PUZZLE const EVENT_SOLVED_OMANYTE_PUZZLE const EVENT_SOLVED_AERODACTYL_PUZZLE @@ -702,7 +703,7 @@ const EVENT_DECO_PLANT_2 const EVENT_DECO_PLANT_3 const EVENT_DECO_POSTER_1 - const EVENT_DECO_POSTER_2 ; 2b0 + const EVENT_DECO_POSTER_2 const EVENT_DECO_POSTER_3 const EVENT_DECO_POSTER_4 const EVENT_DECO_FAMICOM @@ -718,7 +719,7 @@ const EVENT_DECO_SQUIRTLE_DOLL const EVENT_DECO_POLIWAG_DOLL const EVENT_DECO_DIGLETT_DOLL - const EVENT_DECO_STARMIE_DOLL ; 2c0 + const EVENT_DECO_STARMIE_DOLL const EVENT_DECO_MAGIKARP_DOLL const EVENT_DECO_ODDISH_DOLL const EVENT_DECO_GENGAR_DOLL @@ -734,7 +735,7 @@ const EVENT_DECO_GOLD_TROPHY const EVENT_DECO_SILVER_TROPHY const EVENT_DECO_BIG_SNORLAX_DOLL - const EVENT_DECO_BIG_ONIX_DOLL ; 2d0 + const EVENT_DECO_BIG_ONIX_DOLL const EVENT_DECO_BIG_LAPRAS_DOLL ; More Johto story events const EVENT_WARPED_FROM_ROUTE_35_NATIONAL_PARK_GATE @@ -751,7 +752,7 @@ const EVENT_SWITCH_10 const EVENT_SWITCH_11 const EVENT_SWITCH_12 - const EVENT_SWITCH_13 ; 2e0 + const EVENT_SWITCH_13 const EVENT_SWITCH_14 const EVENT_UNCOVERED_STAIRCASE_IN_MAHOGANY_MART const EVENT_TURNED_OFF_SECURITY_CAMERAS @@ -767,7 +768,7 @@ const EVENT_EXPLODING_TRAP_5 const EVENT_EXPLODING_TRAP_6 const EVENT_EXPLODING_TRAP_7 - const EVENT_EXPLODING_TRAP_8 ; 2f0 + const EVENT_EXPLODING_TRAP_8 const EVENT_EXPLODING_TRAP_9 const EVENT_EXPLODING_TRAP_10 const EVENT_EXPLODING_TRAP_11 @@ -783,7 +784,7 @@ const EVENT_EXPLODING_TRAP_21 const EVENT_EXPLODING_TRAP_22 const EVENT_LEARNED_HAIL_GIOVANNI - const EVENT_OPENED_DOOR_TO_ROCKET_HIDEOUT_TRANSMITTER ; 300 + const EVENT_OPENED_DOOR_TO_ROCKET_HIDEOUT_TRANSMITTER const EVENT_LEARNED_SLOWPOKETAIL const EVENT_LEARNED_RATICATE_TAIL const EVENT_OPENED_DOOR_TO_GIOVANNIS_OFFICE @@ -799,7 +800,7 @@ const EVENT_BRUNOS_ROOM_ENTRANCE_CLOSED const EVENT_BRUNOS_ROOM_EXIT_OPEN const EVENT_KARENS_ROOM_ENTRANCE_CLOSED - const EVENT_KARENS_ROOM_EXIT_OPEN ; 310 + const EVENT_KARENS_ROOM_EXIT_OPEN const EVENT_LANCES_ROOM_ENTRANCE_CLOSED const EVENT_LANCES_ROOM_EXIT_OPEN const EVENT_CONTEST_OFFICER_HAS_SUN_STONE @@ -815,7 +816,7 @@ const EVENT_SHOWED_STARYU_TO_BILLS_GRANDPA const EVENT_SHOWED_GROWLITHE_VULPIX_TO_BILLS_GRANDPA const EVENT_SHOWED_PICHU_TO_BILLS_GRANDPA - const EVENT_GOT_EVERSTONE_FROM_BILLS_GRANDPA ; 320 + const EVENT_GOT_EVERSTONE_FROM_BILLS_GRANDPA const EVENT_GOT_LEAF_STONE_FROM_BILLS_GRANDPA const EVENT_GOT_WATER_STONE_FROM_BILLS_GRANDPA const EVENT_GOT_FIRE_STONE_FROM_BILLS_GRANDPA @@ -847,9 +848,9 @@ const EVENT_BUENA_OFFERED_HER_PHONE_NUMBER const EVENT_MET_BUENA const EVENT_GOT_ODD_EGG - const EVENT_33F + const EVENT_33F ; unused const EVENT_GOT_GS_BALL_FROM_POKECOM_CENTER -; ??? +; Unused const EVENT_341 const EVENT_342 const EVENT_343 @@ -1096,8 +1097,7 @@ const EVENT_BEAT_BURGLAR_DUNCAN const EVENT_BEAT_BURGLAR_EDDIE const EVENT_BEAT_BURGLAR_COREY -; Unknown - const EVENT_430 + const EVENT_430 ; unused ; Biker const EVENT_BEAT_BIKER_BENNY const EVENT_BEAT_BIKER_KAZU @@ -1288,9 +1288,8 @@ const EVENT_BEAT_POKEFANF_BEVERLY2 const EVENT_BEAT_POKEFANF_BEVERLY3 const EVENT_BEAT_POKEFANF_GEORGIA -; Unknown - const EVENT_4DE ; Kimono Girl + const EVENT_4DE ; unused const EVENT_BEAT_KIMONO_GIRL_NAOKO const EVENT_BEAT_KIMONO_GIRL_SAYO const EVENT_BEAT_KIMONO_GIRL_ZUKI @@ -1548,7 +1547,7 @@ const EVENT_BEAT_SAGE_GAKU const EVENT_BEAT_SAGE_MASA const EVENT_BEAT_SAGE_KOJI -; ??? +; Unused const EVENT_5CC const EVENT_5CD const EVENT_5CE @@ -1849,7 +1848,7 @@ const EVENT_COPYCAT_2 const EVENT_GOLDENROD_SALE_OFF const EVENT_GOLDENROD_SALE_ON - const EVENT_6F2 + const EVENT_6F2 ; unused const EVENT_ILEX_FOREST_APPRENTICE const EVENT_ILEX_FOREST_CHARCOAL_MASTER const EVENT_CHARCOAL_KILN_FARFETCH_D @@ -1927,7 +1926,7 @@ const EVENT_WHIRL_ISLAND_LUGIA_CHAMBER_LUGIA const EVENT_KURTS_HOUSE_KURT_1 const EVENT_KURTS_HOUSE_KURT_2 - const EVENT_SLOWPOKE_WELL_KURT ; 740 + const EVENT_SLOWPOKE_WELL_KURT const EVENT_PLAYERS_HOUSE_2F_CONSOLE const EVENT_PLAYERS_HOUSE_2F_DOLL_1 const EVENT_PLAYERS_HOUSE_2F_DOLL_2 @@ -1943,7 +1942,7 @@ const EVENT_BLACKTHORN_CITY_GRAMPS_NOT_BLOCKING_DRAGONS_DEN const EVENT_RUINS_OF_ALPH_KABUTO_CHAMBER_RECEPTIONIST const EVENT_OPENED_MT_SILVER - const EVENT_FOUGHT_SNORLAX ; 750 + const EVENT_FOUGHT_SNORLAX const EVENT_LAKE_OF_RAGE_RED_GYARADOS const EVENT_GOLDENROD_UNDERGROUND_GRANNY const EVENT_GOLDENROD_UNDERGROUND_GRAMPS @@ -1959,7 +1958,7 @@ const EVENT_BLACKTHORN_CITY_SANTOS_OF_SATURDAY const EVENT_ROUTE_40_MONICA_OF_MONDAY const EVENT_LANCES_ROOM_OAK_AND_MARY - const EVENT_UNION_CAVE_B2F_LAPRAS ; 760 + const EVENT_UNION_CAVE_B2F_LAPRAS const EVENT_TEAM_ROCKET_DISBANDED const EVENT_RED_IN_MT_SILVER const EVENT_GOLDENROD_DEPT_STORE_5F_HAPPINESS_EVENT_LADY @@ -1976,7 +1975,7 @@ const EVENT_CERULEAN_GYM_ROCKET const EVENT_ROUTE_25_MISTY_BOYFRIEND const EVENT_TRAINERS_IN_CERULEAN_GYM - const EVENT_VERMILION_CITY_SNORLAX ; 770 + const EVENT_VERMILION_CITY_SNORLAX const EVENT_ROUTE_5_6_POKEFAN_M_BLOCKS_UNDERGROUND_PATH const EVENT_SAFFRON_TRAIN_STATION_POPULATION const EVENT_COPYCATS_HOUSE_2F_DOLL @@ -1993,7 +1992,7 @@ const EVENT_PICKED_UP_FOCUS_BAND const EVENT_ROCK_TUNNEL_1F_ELIXER const EVENT_ROCK_TUNNEL_1F_TM_STEEL_WING - const EVENT_ROCK_TUNNEL_B1F_IRON ; 780 + const EVENT_ROCK_TUNNEL_B1F_IRON const EVENT_ROCK_TUNNEL_B1F_PP_UP const EVENT_ROCK_TUNNEL_B1F_REVIVE const EVENT_ROUTE_2_DIRE_HIT @@ -2010,7 +2009,7 @@ const EVENT_KURTS_HOUSE_GRANDDAUGHTER_2 const EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_FISHER const EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_YOUNGSTERS - const EVENT_DRAGON_SHRINE_CLAIR ; 790 + const EVENT_DRAGON_SHRINE_CLAIR const EVENT_BATTLE_TOWER_BATTLE_ROOM_YOUNGSTER const EVENT_PLAYERS_HOUSE_1F_NEIGHBOR const EVENT_PLAYERS_NEIGHBORS_HOUSE_NEIGHBOR @@ -2026,7 +2025,7 @@ const EVENT_PICKED_UP_MYSTIC_WATER_FROM_OMANYTE_ITEM_ROOM const EVENT_PICKED_UP_STARDUST_FROM_OMANYTE_ITEM_ROOM const EVENT_PICKED_UP_STAR_PIECE_FROM_OMANYTE_ITEM_ROOM - const EVENT_PICKED_UP_GOLD_BERRY_FROM_AERODACTYL_ITEM_ROOM ; 7a0 + const EVENT_PICKED_UP_GOLD_BERRY_FROM_AERODACTYL_ITEM_ROOM const EVENT_PICKED_UP_MOON_STONE_FROM_AERODACTYL_ITEM_ROOM const EVENT_PICKED_UP_HEAL_POWDER_FROM_AERODACTYL_ITEM_ROOM const EVENT_PICKED_UP_ENERGY_ROOT_FROM_AERODACTYL_ITEM_ROOM @@ -2042,7 +2041,7 @@ const EVENT_CIANWOOD_CITY_EUSINE const EVENT_SAW_SUICUNE_AT_CIANWOOD_CITY const EVENT_SAW_SUICUNE_ON_ROUTE_42 - const EVENT_SAW_SUICUNE_ON_ROUTE_36 ; 7b0 + const EVENT_SAW_SUICUNE_ON_ROUTE_36 const EVENT_ECRUTEAK_TIN_TOWER_ENTRANCE_WANDERING_SAGE const EVENT_TIN_TOWER_1F_SUICUNE const EVENT_TIN_TOWER_1F_ENTEI @@ -2058,7 +2057,7 @@ const EVENT_ROUTE_44_MAX_REPEL const EVENT_ICE_PATH_1F_PROTEIN const EVENT_DRAGONS_DEN_B1F_CALCIUM - const EVENT_DRAGONS_DEN_B1F_MAX_ELIXER ; 7c0 + const EVENT_DRAGONS_DEN_B1F_MAX_ELIXER const EVENT_SILVER_CAVE_ROOM_1_ULTRA_BALL const EVENT_SILVER_CAVE_ROOM_2_CALCIUM const EVENT_SILVER_CAVE_ROOM_2_ULTRA_BALL diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index c789f40fb..b315ed1c8 100644 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -27,11 +27,11 @@ BASE_TMHM EQUS "(wBaseTMHM - wCurBaseData)" BASE_DATA_SIZE EQUS "(wCurBaseDataEnd - wCurBaseData)" ; gender ratio constants -GENDER_F0 EQU 0 percent -GENDER_F12_5 EQU 12 percent + 1 -GENDER_F25 EQU 25 percent -GENDER_F50 EQU 50 percent -GENDER_F75 EQU 75 percent +GENDER_F0 EQU 0 percent +GENDER_F12_5 EQU 12 percent + 1 +GENDER_F25 EQU 25 percent +GENDER_F50 EQU 50 percent +GENDER_F75 EQU 75 percent GENDER_F100 EQU 100 percent - 1 GENDER_UNKNOWN EQU -1 diff --git a/constants/scgb_constants.asm b/constants/scgb_constants.asm index 4c2faa438..4508afaa5 100644 --- a/constants/scgb_constants.asm +++ b/constants/scgb_constants.asm @@ -38,7 +38,7 @@ SCGB_RAM EQU -1 ; PredefPals indexes (see gfx/sgb/predef.pal) ; GetPredefPal arguments (see engine/gfx/color.asm) const_def - const PREDEFPAL_00 + const PREDEFPAL_ROUTES const PREDEFPAL_PALLET const PREDEFPAL_VIRIDIAN const PREDEFPAL_PEWTER diff --git a/constants/text_constants.asm b/constants/text_constants.asm index f1c3a0bf7..dbe06a36b 100644 --- a/constants/text_constants.asm +++ b/constants/text_constants.asm @@ -44,3 +44,6 @@ PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F ; character sets (see charmap.asm) FIRST_REGULAR_TEXT_CHAR EQU $60 FIRST_HIRAGANA_DAKUTEN_CHAR EQU $20 + +; gfx/font/unown_font.png +FIRST_UNOWN_CHAR EQU $40 diff --git a/data/battle/critical_hit_chances.asm b/data/battle/critical_hit_chances.asm index 0128f1a1e..bb1ce9ab4 100644 --- a/data/battle/critical_hit_chances.asm +++ b/data/battle/critical_hit_chances.asm @@ -1,8 +1,8 @@ CriticalHitChances: - db 7 percent ; 0 - db 12 percent + 2 ; +1 - db 25 percent + 1 ; +2 - db 33 percent + 1 ; +3 - db 50 percent + 1 ; +4 - db 50 percent + 1 ; +5 - db 50 percent + 1 ; +6 + db 1 out_of 15 ; 0 + db 1 out_of 8 ; +1 + db 1 out_of 4 ; +2 + db 1 out_of 3 ; +3 + db 1 out_of 2 ; +4 + db 1 out_of 2 ; +5 + db 1 out_of 2 ; +6 diff --git a/data/events/happiness_probabilities.asm b/data/events/happiness_probabilities.asm index 7a80f989e..f67db07f3 100644 --- a/data/events/happiness_probabilities.asm +++ b/data/events/happiness_probabilities.asm @@ -1,12 +1,12 @@ HappinessData_OlderHaircutBrother: - db $4c, 2, HAPPINESS_OLDERCUT1 ; 30% chance - db $80, 3, HAPPINESS_OLDERCUT2 ; 20% chance - db $ff, 4, HAPPINESS_OLDERCUT3 ; 50% chance + db 30 percent, 2, HAPPINESS_OLDERCUT1 ; 30% chance + db 50 percent + 1, 3, HAPPINESS_OLDERCUT2 ; 50% chance + db 100 percent, 4, HAPPINESS_OLDERCUT3 ; 20% chance HappinessData_YoungerHaircutBrother: - db $9a, 2, HAPPINESS_YOUNGCUT1 ; 60% chance - db $4c, 3, HAPPINESS_YOUNGCUT2 ; 10% chance - db $ff, 4, HAPPINESS_YOUNGCUT3 ; 30% chance + db 60 percent + 1, 2, HAPPINESS_YOUNGCUT1 ; 60% chance + db 30 percent, 3, HAPPINESS_YOUNGCUT2 ; 30% chance + db 100 percent, 4, HAPPINESS_YOUNGCUT3 ; 10% chance HappinessData_DaisysGrooming: - db $ff, 2, HAPPINESS_GROOMING ; 99.6% chance + db 100 percent, 2, HAPPINESS_GROOMING ; 99.6% chance diff --git a/data/maps/sgb_roof_pal_inds.asm b/data/maps/sgb_roof_pal_inds.asm index 4b117fe67..a2620e194 100644 --- a/data/maps/sgb_roof_pal_inds.asm +++ b/data/maps/sgb_roof_pal_inds.asm @@ -2,7 +2,7 @@ MapGroupRoofSGBPalInds: ; entries correspond to map groups - db PREDEFPAL_00 + db PREDEFPAL_ROUTES db PREDEFPAL_OLIVINE db PREDEFPAL_MAHOGANY db PREDEFPAL_DUNGEONS diff --git a/data/moves/magnitude_power.asm b/data/moves/magnitude_power.asm index 7359bdb10..632a0c030 100644 --- a/data/moves/magnitude_power.asm +++ b/data/moves/magnitude_power.asm @@ -1,9 +1,9 @@ MagnitudePower: ; chance, power, magnitude # - db 13, 10, 4 - db 38, 30, 5 - db 89, 50, 6 - db 166, 70, 7 - db 217, 90, 8 - db 242, 110, 9 - db 255, 150, 10 + db 5 percent + 1, 10, 4 ; 5% + db 15 percent, 30, 5 ; 10% + db 35 percent, 50, 6 ; 20% + db 65 percent + 1, 70, 7 ; 30% + db 85 percent + 1, 90, 8 ; 20% + db 95 percent, 110, 9 ; 10% + db 100 percent, 150, 10 ; 5% diff --git a/data/moves/present_power.asm b/data/moves/present_power.asm index 885e9c692..9f85b8a6b 100644 --- a/data/moves/present_power.asm +++ b/data/moves/present_power.asm @@ -1,6 +1,6 @@ PresentPower: ; chance, power - db 40 percent, 40 ; 40% - db 70 percent + 1, 80 ; 30% - db 80 percent, 120 ; 10% + db 40 percent, 40 ; 40% chance + db 70 percent + 1, 80 ; 30% chance + db 80 percent, 120 ; 10% chance db -1 ; 20% chance to heal instead diff --git a/data/pokemon/evos_attacks.asm b/data/pokemon/evos_attacks.asm index 86df03733..eb6cb8a22 100644 --- a/data/pokemon/evos_attacks.asm +++ b/data/pokemon/evos_attacks.asm @@ -1198,6 +1198,7 @@ GrimerEvosAttacks: MukEvosAttacks: db 0 ; no more evolutions + ; moves are not sorted by level db 1, POISON_GAS db 1, POUND db 1, HARDEN diff --git a/data/pokemon/unown_words.asm b/data/pokemon/unown_words.asm index 5b54b84ed..6ddd0f466 100644 --- a/data/pokemon/unown_words.asm +++ b/data/pokemon/unown_words.asm @@ -1,7 +1,7 @@ unownword: MACRO x = 1 rept STRLEN(\1) - db STRSUB(\1, x, 1) - $40 + db STRSUB(\1, x, 1) - "A" + FIRST_UNOWN_CHAR x = x + 1 endr db -1 diff --git a/data/predef_pointers.asm b/data/predef_pointers.asm index 1693f22aa..a35a380b8 100644 --- a/data/predef_pointers.asm +++ b/data/predef_pointers.asm @@ -24,7 +24,7 @@ PredefPointers:: add_predef CanLearnTMHMMove add_predef GetTMHMMove add_predef LinkTextboxAtHL ; $ 10 - add_predef PrintMoveDesc + add_predef PrintMoveDescription add_predef UpdatePlayerHUD add_predef PlaceGraphic add_predef CheckPlayerPartyForFitMon diff --git a/engine/battle/ai/scoring.asm b/engine/battle/ai/scoring.asm index 75efcf920..10ad045ff 100644 --- a/engine/battle/ai/scoring.asm +++ b/engine/battle/ai/scoring.asm @@ -1,5 +1,6 @@ AIScoring: ; used only for BANK(AIScoring) + AI_Basic: ; Don't do anything redundant: ; -Using status-only moves if the player can't be statused @@ -458,15 +459,15 @@ AI_Smart_LockOn: .asm_38834 ld a, [wPlayerEvaLevel] - cp $a + cp BASE_STAT_LEVEL + 3 jr nc, .asm_3887a - cp $8 + cp BASE_STAT_LEVEL + 1 jr nc, .asm_38875 ld a, [wEnemyAccLevel] - cp $5 + cp BASE_STAT_LEVEL - 2 jr c, .asm_3887a - cp $7 + cp BASE_STAT_LEVEL jr c, .asm_38875 ld hl, wEnemyMonMoves @@ -572,7 +573,7 @@ AI_Smart_Selfdestruct: ; If enemy's HP is between 25% and 50%, ; over 90% chance to greatly discourage this move. call Random - cp 9 percent - 2 + cp 8 percent ret c .asm_388c6 @@ -596,7 +597,7 @@ AI_Smart_DreamEater: AI_Smart_EvasionUp: ; Dismiss this move if enemy's evasion can't raise anymore. ld a, [wEnemyEvaLevel] - cp $d + cp MAX_STAT_LEVEL jp nc, AIDiscourageMove ; If enemy's HP is full... @@ -707,12 +708,12 @@ AI_Smart_AlwaysHit: ; ...enemy's accuracy level has been lowered three or more stages ld a, [wEnemyAccLevel] - cp $5 + cp BASE_STAT_LEVEL - 2 jr c, .asm_38954 ; ...or player's evasion level has been raised three or more stages. ld a, [wPlayerEvaLevel] - cp $a + cp BASE_STAT_LEVEL + 3 ret c .asm_38954 @@ -872,12 +873,12 @@ AI_Smart_ResetStats: ; 85% chance to encourage this move if any of enemy's stat levels is lower than -2. push hl ld hl, wEnemyAtkLevel - ld c, $8 + ld c, NUM_LEVEL_STATS .asm_389fb dec c jr z, .asm_38a05 ld a, [hli] - cp $5 + cp BASE_STAT_LEVEL - 2 jr c, .asm_38a12 jr .asm_389fb @@ -889,7 +890,7 @@ AI_Smart_ResetStats: dec c jr z, .asm_38a1b ld a, [hli] - cp $a + cp BASE_STAT_LEVEL + 3 jr c, .asm_38a0a .asm_38a12 @@ -1045,7 +1046,7 @@ AI_Smart_Unused2B: .asm_38aaa push hl ld hl, wPlayerUsedMoves - ld c, 4 + ld c, NUM_MOVES .asm_38ab0 ld a, [hli] @@ -1108,12 +1109,12 @@ AI_Smart_SpDefenseUp2: ; Discourage this move if enemy's special defense level is higher than +3. ld a, [wEnemySDefLevel] - cp $b + cp BASE_STAT_LEVEL + 4 jr nc, .asm_38b10 ; 80% chance to greatly encourage this move if ; enemy's Special Defense level is lower than +2, and the player is of a special type. - cp $9 + cp BASE_STAT_LEVEL + 2 ret nc ld a, [wBattleMonType1] @@ -1252,11 +1253,11 @@ AI_Smart_Rage: ; Encourage this move based on Rage's counter. .asm_38b8c ld a, [wEnemyRageCounter] - cp $2 + cp 2 ret c dec [hl] ld a, [wEnemyRageCounter] - cp $3 + cp 3 ret c dec [hl] ret @@ -1328,7 +1329,7 @@ AI_Smart_Mimic: AI_Smart_Counter: push hl ld hl, wPlayerUsedMoves - ld c, 4 + ld c, NUM_MOVES ld b, 0 .asm_38bf9 @@ -1467,8 +1468,8 @@ AI_Smart_SleepTalk: ; Greatly discourage this move otherwise. ld a, [wEnemyMonStatus] - and $7 - cp $1 + and SLP + cp 1 jr z, .asm_38cc7 dec [hl] @@ -1510,7 +1511,7 @@ AI_Smart_Spite: .asm_38ce7 push hl ld b, a - ld c, 4 + ld c, NUM_MOVES ld hl, wBattleMonMoves ld de, wBattleMonPP @@ -1529,9 +1530,9 @@ AI_Smart_Spite: .asm_38cfb pop hl ld a, [de] - cp $6 + cp 6 jr c, .asm_38d0d - cp $f + cp 15 jr nc, .asm_38d0b call Random @@ -1828,9 +1829,9 @@ AI_Smart_Curse: jr nc, .asm_38e93 ld a, [wEnemyAtkLevel] - cp $b + cp BASE_STAT_LEVEL + 4 jr nc, .asm_38e93 - cp $9 + cp BASE_STAT_LEVEL + 2 ret nc ld a, [wBattleMonType1] @@ -1954,10 +1955,10 @@ AI_Smart_Protect: AI_Smart_Foresight: ld a, [wEnemyAccLevel] - cp $5 + cp BASE_STAT_LEVEL - 2 jr c, .asm_38f41 ld a, [wPlayerEvaLevel] - cp $a + cp BASE_STAT_LEVEL + 3 jr nc, .asm_38f41 ld a, [wBattleMonType1] @@ -2146,10 +2147,10 @@ AI_Smart_Rollout: jr nc, .asm_39020 ld a, [wEnemyAccLevel] - cp 7 + cp BASE_STAT_LEVEL jr c, .asm_39020 ld a, [wPlayerEvaLevel] - cp 8 + cp BASE_STAT_LEVEL + 1 jr nc, .asm_39020 ; Otherwise, 80% chance to greatly encourage this move. @@ -2417,7 +2418,7 @@ AI_Smart_BellyDrum: ; Else, discourage this move if enemy's HP is not full. ld a, [wEnemyAtkLevel] - cp $a + cp BASE_STAT_LEVEL + 3 jr nc, .asm_3914d call AICheckEnemyMaxHP @@ -2472,12 +2473,12 @@ AI_Smart_PsychUp: ; Else, 80% chance to encourage this move unless player's accuracy level is lower than -1... ld a, [wPlayerAccLevel] - cp $6 + cp BASE_STAT_LEVEL - 1 ret c ; ...or enemy's evasion level is higher than +0. ld a, [wEnemyEvaLevel] - cp $8 + cp BASE_STAT_LEVEL + 1 ret nc call AI_80_20 @@ -2494,8 +2495,8 @@ AI_Smart_PsychUp: AI_Smart_MirrorCoat: push hl ld hl, wPlayerUsedMoves - ld c, $4 - ld b, $0 + ld c, NUM_MOVES + ld b, 0 .asm_39193 ld a, [hli] @@ -2828,7 +2829,7 @@ AIHasMoveInArray: .next ld a, [hli] - cp $ff + cp -1 jr z, .done ld b, a diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 4d561c7ae..d51e4cdd5 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -6200,7 +6200,7 @@ LoadEnemyMon: jr z, .Happiness ; 40% chance of not flooring call Random - cp 40 percent - 2 + cp 39 percent + 1 jr c, .Happiness ; Try again if length < 1024 mm (i.e. if HIGH(length) < 3 feet) ld a, [wMagikarpLength] diff --git a/engine/battle/trainer_huds.asm b/engine/battle/trainer_huds.asm index bc55c7423..f701a4dfc 100644 --- a/engine/battle/trainer_huds.asm +++ b/engine/battle/trainer_huds.asm @@ -225,7 +225,7 @@ LoadBallIconGFX: ld de, .gfx ld hl, vTiles0 tile $31 lb bc, BANK(LoadBallIconGFX), 4 - call Get2bpp_2 + call Get2bppViaHDMA ret .gfx diff --git a/engine/battle_anims/bg_effects.asm b/engine/battle_anims/bg_effects.asm index 41d87275a..6116056b9 100644 --- a/engine/battle_anims/bg_effects.asm +++ b/engine/battle_anims/bg_effects.asm @@ -2606,7 +2606,7 @@ BattleBGEffect_GetNextDMGPal: BattleBGEffects_ClearLYOverrides: xor a BattleBGEffects_SetLYOverrides: - ld hl, wLYOverrides ; wListPointer + ld hl, wLYOverrides ld e, $99 .loop1 ld [hli], a diff --git a/engine/events/happiness_egg.asm b/engine/events/happiness_egg.asm index 1d33edb74..bb2e949cb 100644 --- a/engine/events/happiness_egg.asm +++ b/engine/events/happiness_egg.asm @@ -198,7 +198,7 @@ DayCareStep:: callfar CheckBreedmonCompatibility ld a, [wBreedingCompatibility] cp 230 - ld b, 32 percent - 1 + ld b, 31 percent + 1 jr nc, .okay ld a, [wBreedingCompatibility] cp 170 diff --git a/engine/events/pokerus/pokerus.asm b/engine/events/pokerus/pokerus.asm index 63eb7fe10..99a5652cd 100644 --- a/engine/events/pokerus/pokerus.asm +++ b/engine/events/pokerus/pokerus.asm @@ -26,8 +26,8 @@ GivePokerusAndConvertBerries: and a ret nz ldh a, [hRandomSub] - cp $3 - ret nc ; 3/65536 chance (00 00, 00 01 or 00 02) + cp 3 + ret nc ; 3/65536 chance (00 00, 00 01 or 00 02) ld a, [wPartyCount] ld b, a .randomMonSelectLoop @@ -36,11 +36,11 @@ GivePokerusAndConvertBerries: cp b jr nc, .randomMonSelectLoop ld hl, wPartyMon1PokerusStatus - call GetPartyLocation ; get pokerus byte of random mon + call GetPartyLocation ; get pokerus byte of random mon ld a, [hl] and $f0 - ret nz ; if it already has pokerus, do nothing -.randomPokerusLoop ; Simultaneously sample the strain and duration + ret nz ; if it already has pokerus, do nothing +.randomPokerusLoop ; Simultaneously sample the strain and duration call Random and a jr z, .randomPokerusLoop @@ -62,20 +62,20 @@ GivePokerusAndConvertBerries: .TrySpreadPokerus: call Random cp 33 percent + 1 - ret nc ; 1/3 chance + ret nc ; 1/3 chance ld a, [wPartyCount] cp 1 - ret z ; only one mon, nothing to do + ret z ; only one mon, nothing to do ld c, [hl] ld a, b cp 2 - jr c, .checkPreviousMonsLoop ; no more mons after this one, go backwards + jr c, .checkPreviousMonsLoop ; no more mons after this one, go backwards call Random cp 50 percent + 1 - jr c, .checkPreviousMonsLoop ; 1/2 chance, go backwards + jr c, .checkPreviousMonsLoop ; 1/2 chance, go backwards .checkFollowingMonsLoop add hl, de ld a, [hl] @@ -83,8 +83,8 @@ GivePokerusAndConvertBerries: jr z, .infectMon ld c, a and $3 - ret z ; if mon has cured pokerus, stop searching - dec b ; go on to next mon + ret z ; if mon has cured pokerus, stop searching + dec b ; go on to next mon ld a, b cp 1 jr nz, .checkFollowingMonsLoop ; no more mons left @@ -93,7 +93,7 @@ GivePokerusAndConvertBerries: .checkPreviousMonsLoop ld a, [wPartyCount] cp b - ret z ; no more mons + ret z ; no more mons ld a, l sub e ld l, a @@ -105,8 +105,8 @@ GivePokerusAndConvertBerries: jr z, .infectMon ld c, a and $3 - ret z ; if mon has cured pokerus, stop searching - inc b ; go on to next mon + ret z ; if mon has cured pokerus, stop searching + inc b ; go on to next mon jr .checkPreviousMonsLoop .infectMon @@ -128,7 +128,7 @@ ConvertBerriesToBerryJuice: bit STATUSFLAGS2_REACHED_GOLDENROD_F, [hl] ret z call Random - cp 6 percent + 1 ; 1/16 chance + cp 1 out_of 16 ; 6.25% chance ret nc ld hl, wPartyMons ld a, [wPartyCount] diff --git a/engine/games/slot_machine.asm b/engine/games/slot_machine.asm index eaf7999bd..30f6c45af 100644 --- a/engine/games/slot_machine.asm +++ b/engine/games/slot_machine.asm @@ -586,7 +586,7 @@ Slots_StopReel2: call .CheckReel1ForASeven jr nz, .dont_jump call Random - cp $50 ; 32% + cp 31 percent + 1 jr nc, .dont_jump ld a, REEL_ACTION_SET_UP_REEL2_SKIP_TO_7 ret @@ -632,20 +632,20 @@ Slots_StopReel3: and a jr nz, .biased call Random - cp 180 + cp 71 percent - 1 jr nc, .stop - cp 120 + cp 47 percent + 1 jr nc, .slow_advance - cp 60 + cp 24 percent - 1 jr nc, .golem ld a, REEL_ACTION_INIT_CHANSEY ret .biased call Random - cp 160 + cp 63 percent jr nc, .stop - cp 80 + cp 31 percent + 1 jr nc, .slow_advance .golem ld a, REEL_ACTION_INIT_GOLEM @@ -1608,7 +1608,7 @@ Slots_GetNumberOfGolems: .not_biased_to_seven call Random and $7 - cp $4 ; ((50 percent) & 7) + 1 + cp $8 / 2 ; 50% jr c, .not_biased_to_seven ld e, a .loop2 @@ -1649,22 +1649,22 @@ Slots_InitBias: ret .Normal: - db $01, SLOTS_SEVEN ; 1/256 - db $03, SLOTS_POKEBALL ; 1/128 - db $0a, SLOTS_STARYU ; 7/256 - db $14, SLOTS_SQUIRTLE ; 5/128 - db $28, SLOTS_PIKACHU ; 5/64 - db $30, SLOTS_CHERRY ; 1/32 - db $ff, SLOTS_NO_BIAS ; everything else + db 1 percent - 1, SLOTS_SEVEN + db 1 percent + 1, SLOTS_POKEBALL + db 4 percent, SLOTS_STARYU + db 8 percent, SLOTS_SQUIRTLE + db 16 percent, SLOTS_PIKACHU + db 19 percent, SLOTS_CHERRY + db 100 percent, SLOTS_NO_BIAS .Lucky: - db $02, SLOTS_SEVEN ; 1/128 - db $03, SLOTS_POKEBALL ; 1/256 - db $08, SLOTS_STARYU ; 5/256 - db $10, SLOTS_SQUIRTLE ; 1/32 - db $1e, SLOTS_PIKACHU ; 7/128 - db $50, SLOTS_CHERRY ; 25/128 - db $ff, SLOTS_NO_BIAS ; everything else + db 1 percent, SLOTS_SEVEN + db 1 percent + 1, SLOTS_POKEBALL + db 3 percent + 1, SLOTS_STARYU + db 6 percent + 1, SLOTS_SQUIRTLE + db 12 percent, SLOTS_PIKACHU + db 31 percent + 1, SLOTS_CHERRY + db 100 percent, SLOTS_NO_BIAS Slots_IlluminateBetLights: ld b, $14 ; turned on diff --git a/engine/gfx/color.asm b/engine/gfx/color.asm index 35ad66f7f..0064edfc3 100644 --- a/engine/gfx/color.asm +++ b/engine/gfx/color.asm @@ -277,13 +277,13 @@ Unreferenced_Function8bec: ldh a, [hCGB] and a jr nz, .cgb - ld hl, wPlayerLightScreenCount + ld hl, wBetaPokerSGBPals jp PushSGBPals .cgb - ld a, [wEnemyLightScreenCount] ; col + ld a, [wBetaPokerSGBCol] ld c, a - ld a, [wEnemyReflectCount] ; row + ld a, [wBetaPokerSGBRow] hlcoord 0, 0, wAttrmap ld de, SCREEN_WIDTH .loop @@ -294,10 +294,10 @@ Unreferenced_Function8bec: jr .loop .done - ld b, $0 + ld b, 0 add hl, bc lb bc, 6, 4 - ld a, [wEnemySafeguardCount] ; value + ld a, [wBetaPokerSGBAttr] and $3 call FillBoxCGB call CopyTilemapAtOnce diff --git a/engine/gfx/dma_transfer.asm b/engine/gfx/dma_transfer.asm index a3cdb6dd3..f30c5eb45 100644 --- a/engine/gfx/dma_transfer.asm +++ b/engine/gfx/dma_transfer.asm @@ -450,7 +450,7 @@ PadMapForHDMATransfer: ldh [hMapObjectIndexBuffer], a ret -_Get2bpp:: +HDMATransfer2bpp:: ; 2bpp when [rLCDC] & $80 ; switch to WRAM bank 6 ldh a, [rSVBK] @@ -494,7 +494,7 @@ _Get2bpp:: ldh [rSVBK], a ret -_Get1bpp:: +HDMATransfer1bpp:: ; 1bpp when [rLCDC] & $80 .loop ld a, c diff --git a/engine/gfx/load_font.asm b/engine/gfx/load_font.asm index db24dced1..bd5e29d52 100644 --- a/engine/gfx/load_font.asm +++ b/engine/gfx/load_font.asm @@ -8,13 +8,13 @@ Unreferenced_fb434: Unreferenced_Functionfb435: ld a, [Unreferenced_fb434] and a - jp nz, Get1bpp_2 + jp nz, Get1bppViaHDMA jp Get1bpp Unreferenced_Functionfb43f: ld a, [Unreferenced_fb434] and a - jp nz, Get2bpp_2 + jp nz, Get2bppViaHDMA jp Get2bpp ; End unreferenced block @@ -29,34 +29,34 @@ _LoadStandardFont:: ld de, Font ld hl, vTiles1 lb bc, BANK(Font), 32 ; "A" to "]" - call Get1bpp_2 + call Get1bppViaHDMA ld de, Font + 32 * LEN_1BPP_TILE ld hl, vTiles1 tile $20 lb bc, BANK(Font), 32 ; "a" to $bf - call Get1bpp_2 + call Get1bppViaHDMA ld de, Font + 64 * LEN_1BPP_TILE ld hl, vTiles1 tile $40 lb bc, BANK(Font), 32 ; "Ä" to "←" - call Get1bpp_2 + call Get1bppViaHDMA ld de, Font + 96 * LEN_1BPP_TILE ld hl, vTiles1 tile $60 lb bc, BANK(Font), 32 ; "'" to "9" - call Get1bpp_2 + call Get1bppViaHDMA ret _LoadFontsExtra1:: ld de, FontsExtra_SolidBlackGFX ld hl, vTiles2 tile "■" ; $60 lb bc, BANK(FontsExtra_SolidBlackGFX), 1 - call Get1bpp_2 + call Get1bppViaHDMA ld de, PokegearPhoneIconGFX ld hl, vTiles2 tile "☎" ; $62 lb bc, BANK(PokegearPhoneIconGFX), 1 - call Get2bpp_2 + call Get2bppViaHDMA ld de, FontExtra + 3 tiles ; "<BOLD_D>" ld hl, vTiles2 tile "<BOLD_D>" lb bc, BANK(FontExtra), 22 ; "<BOLD_D>" to "ぉ" - call Get2bpp_2 + call Get2bppViaHDMA jr LoadFrame _LoadFontsExtra2:: @@ -64,14 +64,14 @@ _LoadFontsExtra2:: ld hl, vTiles2 tile "▲" ; $61 ld b, BANK(FontsExtra2_UpArrowGFX) ld c, 1 - call Get2bpp_2 + call Get2bppViaHDMA ret _LoadFontsBattleExtra:: ld de, FontBattleExtra ld hl, vTiles2 tile $60 lb bc, BANK(FontBattleExtra), 25 - call Get2bpp_2 + call Get2bppViaHDMA jr LoadFrame LoadFrame: @@ -84,41 +84,41 @@ LoadFrame: ld e, l ld hl, vTiles2 tile "┌" ; $79 lb bc, BANK(Frames), 6 ; "┌" to "┘" - call Get1bpp_2 + call Get1bppViaHDMA ld hl, vTiles2 tile " " ; $7f ld de, TextboxSpaceGFX lb bc, BANK(TextboxSpaceGFX), 1 - call Get1bpp_2 + call Get1bppViaHDMA ret LoadBattleFontsHPBar: ld de, FontBattleExtra ld hl, vTiles2 tile $60 lb bc, BANK(FontBattleExtra), 12 - call Get2bpp_2 + call Get2bppViaHDMA ld hl, vTiles2 tile $70 ld de, FontBattleExtra + 16 tiles ; "<DO>" lb bc, BANK(FontBattleExtra), 3 ; "<DO>" to "『" - call Get2bpp_2 + call Get2bppViaHDMA call LoadFrame LoadHPBar: ld de, EnemyHPBarBorderGFX ld hl, vTiles2 tile $6c lb bc, BANK(EnemyHPBarBorderGFX), 4 - call Get1bpp_2 + call Get1bppViaHDMA ld de, HPExpBarBorderGFX ld hl, vTiles2 tile $73 lb bc, BANK(HPExpBarBorderGFX), 6 - call Get1bpp_2 + call Get1bppViaHDMA ld de, ExpBarGFX ld hl, vTiles2 tile $55 lb bc, BANK(ExpBarGFX), 9 - call Get2bpp_2 + call Get2bppViaHDMA ld de, MobilePhoneTilesGFX + 7 tiles ; mobile phone icon ld hl, vTiles2 tile $5e lb bc, BANK(MobilePhoneTilesGFX), 2 - call Get2bpp_2 + call Get2bppViaHDMA ret StatsScreen_LoadFont: @@ -126,22 +126,22 @@ StatsScreen_LoadFont: ld de, EnemyHPBarBorderGFX ld hl, vTiles2 tile $6c lb bc, BANK(EnemyHPBarBorderGFX), 4 - call Get1bpp_2 + call Get1bppViaHDMA ld de, HPExpBarBorderGFX ld hl, vTiles2 tile $78 lb bc, BANK(HPExpBarBorderGFX), 1 - call Get1bpp_2 + call Get1bppViaHDMA ld de, HPExpBarBorderGFX + 3 * LEN_1BPP_TILE ld hl, vTiles2 tile $76 lb bc, BANK(HPExpBarBorderGFX), 2 - call Get1bpp_2 + call Get1bppViaHDMA ld de, ExpBarGFX ld hl, vTiles2 tile $55 lb bc, BANK(ExpBarGFX), 8 - call Get2bpp_2 + call Get2bppViaHDMA LoadStatsScreenPageTilesGFX: ld de, StatsScreenPageTilesGFX ld hl, vTiles2 tile $31 lb bc, BANK(StatsScreenPageTilesGFX), 17 - call Get2bpp_2 + call Get2bppViaHDMA ret diff --git a/engine/gfx/mon_icons.asm b/engine/gfx/mon_icons.asm index ac25712d1..68e9b1b84 100644 --- a/engine/gfx/mon_icons.asm +++ b/engine/gfx/mon_icons.asm @@ -347,7 +347,7 @@ GetGFXUnlessMobile: ld a, [wLinkMode] cp LINK_MOBILE jp nz, Request2bpp - jp Get2bpp_2 + jp Get2bppViaHDMA FreezeMonIcons: ld hl, wSpriteAnimationStructs diff --git a/engine/gfx/sgb_layouts.asm b/engine/gfx/sgb_layouts.asm index a0727c939..f4a523df8 100644 --- a/engine/gfx/sgb_layouts.asm +++ b/engine/gfx/sgb_layouts.asm @@ -333,7 +333,7 @@ endr .SGB_BetaPoker: ld hl, BlkPacket_9a86 - ld de, wPlayerLightScreenCount ; ??? + ld de, wBetaPokerSGBPals ld bc, PALPACKET_LENGTH call CopyBytes ld hl, PalPacket_BetaPoker @@ -547,7 +547,7 @@ endr ret .route - ld a, PREDEFPAL_00 + ld a, PREDEFPAL_ROUTES ret .cave diff --git a/engine/items/print_item_description.asm b/engine/items/print_item_description.asm index 5d944e206..999c2075a 100644 --- a/engine/items/print_item_description.asm +++ b/engine/items/print_item_description.asm @@ -11,7 +11,7 @@ PrintItemDescription: pop hl ld a, [wTempTMHM] ld [wCurSpecies], a - predef PrintMoveDesc + predef PrintMoveDescription ret .not_a_tm diff --git a/engine/items/tmhm.asm b/engine/items/tmhm.asm index 736f00cdb..ecc2d45cb 100644 --- a/engine/items/tmhm.asm +++ b/engine/items/tmhm.asm @@ -252,7 +252,7 @@ TMHM_ShowTMMoveDescription: ld a, [wTempTMHM] ld [wCurSpecies], a hlcoord 1, 14 - call PrintMoveDesc + call PrintMoveDescription jp TMHM_JoypadLoop TMHM_ChooseTMorHM: @@ -417,7 +417,7 @@ TMHM_DisplayPocketItems: inc hl inc hl push de - ld de, TMHM_String_Cancel + ld de, TMHM_CancelString call PlaceString pop de .done @@ -449,7 +449,7 @@ Unreferenced_Function2ca95: pop hl ret -TMHM_String_Cancel: +TMHM_CancelString: db "CANCEL@" TMHM_GetCurrentPocketPosition: @@ -472,7 +472,7 @@ TMHM_GetCurrentPocketPosition: Tutorial_TMHMPocket: hlcoord 9, 3 push de - ld de, TMHM_String_Cancel + ld de, TMHM_CancelString call PlaceString pop de ret diff --git a/engine/link/init_list.asm b/engine/link/init_list.asm index 8557b2e9f..470280c4b 100644 --- a/engine/link/init_list.asm +++ b/engine/link/init_list.asm @@ -1,4 +1,5 @@ InitList: +; This entire function is useless. ld a, [wInitListType] cp INIT_ENEMYOT_LIST diff --git a/engine/link/link.asm b/engine/link/link.asm index 31c189112..521cfdd8b 100644 --- a/engine/link/link.asm +++ b/engine/link/link.asm @@ -1571,10 +1571,10 @@ Unreferenced_Function28b42: ld bc, SCREEN_WIDTH - 2 call ByteFill hlcoord 2, 16 - ld de, .Cancel + ld de, .CancelString jp PlaceString -.Cancel: +.CancelString: db "CANCEL@" Function28b68: diff --git a/engine/link/link_trade.asm b/engine/link/link_trade.asm index 4119e48a7..14386ae23 100644 --- a/engine/link/link_trade.asm +++ b/engine/link/link_trade.asm @@ -115,11 +115,11 @@ InitTradeSpeciesList: farcall InitMG_Mobile_LinkTradePalMap farcall PlaceTradePartnerNamesAndParty hlcoord 10, 17 - ld de, .CANCEL + ld de, .CancelString call PlaceString ret -.CANCEL: +.CancelString: db "CANCEL@" _LoadTradeScreenBorder: diff --git a/engine/link/mystery_gift_2.asm b/engine/link/mystery_gift_2.asm index b9c7eccb4..9712c665d 100644 --- a/engine/link/mystery_gift_2.asm +++ b/engine/link/mystery_gift_2.asm @@ -80,7 +80,7 @@ PrepMysteryGiftDataToSend: .tenpercent call Random - cp 20 percent - 1 + cp 20 percent - 1 ; 50 jr c, .twopercent call Random and %011 diff --git a/engine/menus/menu_2.asm b/engine/menus/menu_2.asm index 67a93c74f..3c68c2c49 100644 --- a/engine/menus/menu_2.asm +++ b/engine/menus/menu_2.asm @@ -110,8 +110,7 @@ CoinString: ShowMoney_TerminatorString: db "@" -Unreferenced_Function24b8f: -; related to safari? +Unreferenced_StartMenu_PrintSafariGameStatus: ld hl, wOptions ld a, [hl] push af diff --git a/engine/menus/savemenu_copytilemapatonce.asm b/engine/menus/savemenu_copytilemapatonce.asm index 51b7ea8fe..2f30b7c7e 100644 --- a/engine/menus/savemenu_copytilemapatonce.asm +++ b/engine/menus/savemenu_copytilemapatonce.asm @@ -3,33 +3,37 @@ SaveMenu_CopyTilemapAtOnce: and a jp z, WaitBGMap -; The following is a modified version of CopyTilemapAtOnce. +; The following is a modified version of _CopyTilemapAtOnce +; that waits for [rLY] to be $60 instead of $80 - 1. ldh a, [hBGMapMode] push af xor a ldh [hBGMapMode], a + ldh a, [hMapAnims] push af xor a ldh [hMapAnims], a -.WaitLY: + +.wait ldh a, [rLY] cp $60 - jr c, .WaitLY + jr c, .wait di ld a, BANK(vBGMap2) ldh [rVBK], a hlcoord 0, 0, wAttrmap - call .CopyTilemapAtOnce + call .CopyBGMapViaStack ld a, BANK(vBGMap0) ldh [rVBK], a hlcoord 0, 0 - call .CopyTilemapAtOnce -.WaitLY2: + call .CopyBGMapViaStack + +.wait2 ldh a, [rLY] cp $60 - jr c, .WaitLY2 + jr c, .wait2 ei pop af @@ -38,7 +42,8 @@ SaveMenu_CopyTilemapAtOnce: ldh [hBGMapMode], a ret -.CopyTilemapAtOnce: +.CopyBGMapViaStack: +; Copy all tiles to vBGMap ld [hSPBuffer], sp ld sp, hl ldh a, [hBGMapAddress + 1] @@ -46,16 +51,18 @@ SaveMenu_CopyTilemapAtOnce: ld l, 0 ld a, SCREEN_HEIGHT ldh [hTilesPerCycle], a - ld b, 1 << 1 + ld b, 1 << 1 ; not in v/hblank ld c, LOW(rSTAT) .loop rept SCREEN_WIDTH / 2 pop de +; if in v/hblank, wait until not in v/hblank .loop\@ ldh a, [c] and b jr nz, .loop\@ +; load vBGMap ld [hl], e inc l ld [hl], d diff --git a/engine/menus/scrolling_menu.asm b/engine/menus/scrolling_menu.asm index 6b0572a6d..0574bc730 100644 --- a/engine/menus/scrolling_menu.asm +++ b/engine/menus/scrolling_menu.asm @@ -401,11 +401,11 @@ ScrollingMenu_UpdateDisplay: ld a, [wMenuDataFlags] bit 0, a ; call function on cancel jr nz, .call_function - ld de, .string_2485f + ld de, .CancelString call PlaceString ret -.string_2485f +.CancelString db "CANCEL@" .call_function diff --git a/engine/menus/trainer_card.asm b/engine/menus/trainer_card.asm index 712032cbe..726148e20 100644 --- a/engine/menus/trainer_card.asm +++ b/engine/menus/trainer_card.asm @@ -356,7 +356,8 @@ TrainerCard_InitBorder: ld a, $23 ld [hli], a - ld e, SCREEN_HEIGHT - 1 + + ld e, SCREEN_WIDTH - 3 ld a, " " .loop2 ld [hli], a @@ -367,11 +368,12 @@ TrainerCard_InitBorder: ld [hli], a ld a, $23 ld [hli], a + .loop3 ld a, $23 ld [hli], a - ld e, SCREEN_HEIGHT + ld e, SCREEN_WIDTH - 2 ld a, " " .loop4 ld [hli], a @@ -380,6 +382,7 @@ TrainerCard_InitBorder: ld a, $23 ld [hli], a + dec d jr nz, .loop3 @@ -388,14 +391,16 @@ TrainerCard_InitBorder: ld a, $24 ld [hli], a - ld e, SCREEN_HEIGHT - 1 + ld e, SCREEN_WIDTH - 3 ld a, " " .loop5 ld [hli], a dec e jr nz, .loop5 + ld a, $23 ld [hli], a + ld e, SCREEN_WIDTH .loop6 ld a, $23 diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm index a494d3681..650e056b7 100644 --- a/engine/movie/credits.asm +++ b/engine/movie/credits.asm @@ -245,7 +245,7 @@ ParseCredits: xor a ldh [hBGMapMode], a hlcoord 0, 5 - ld bc, 20 * 12 + ld bc, SCREEN_WIDTH * 12 ld a, " " call ByteFill @@ -306,7 +306,7 @@ ParseCredits: .print ; Print strings spaced every two lines. call .get - ld bc, 20 * 2 + ld bc, SCREEN_WIDTH * 2 call AddNTimes call PlaceString jr .loop diff --git a/engine/overworld/player_movement.asm b/engine/overworld/player_movement.asm index 3beec6ccb..74ca50d70 100644 --- a/engine/overworld/player_movement.asm +++ b/engine/overworld/player_movement.asm @@ -577,11 +577,14 @@ DoPlayerMovement:: ; Standing jr .update -.d_down add hl, de -.d_up add hl, de -.d_left add hl, de -.d_right add hl, de - +.d_down + add hl, de +.d_up + add hl, de +.d_left + add hl, de +.d_right + add hl, de .update ld a, [hli] ld [wWalkingDirection], a diff --git a/engine/overworld/player_object.asm b/engine/overworld/player_object.asm index 6905c83f0..3446a00c6 100644 --- a/engine/overworld/player_object.asm +++ b/engine/overworld/player_object.asm @@ -124,7 +124,7 @@ RefreshPlayerCoords: ld e, a ; the next three lines are useless ld a, [wObjectFollow_Leader] - cp $0 + cp PLAYER ret nz ret diff --git a/engine/phone/phonering_copytilemapatonce.asm b/engine/phone/phonering_copytilemapatonce.asm index 0ddb3c852..029c2958c 100644 --- a/engine/phone/phonering_copytilemapatonce.asm +++ b/engine/phone/phonering_copytilemapatonce.asm @@ -6,15 +6,18 @@ PhoneRing_CopyTilemapAtOnce: cp $0 jp z, WaitBGMap -; What follows is a modified version of CopyTilemapAtOnce. +; The following is a modified version of _CopyTilemapAtOnce +; that waits for [rLY] to be LY_VBLANK - 1 instead of $80 - 1. ldh a, [hBGMapMode] push af xor a ldh [hBGMapMode], a + ldh a, [hMapAnims] push af xor a ldh [hMapAnims], a + .wait ldh a, [rLY] cp LY_VBLANK - 1 @@ -24,11 +27,12 @@ PhoneRing_CopyTilemapAtOnce: ld a, BANK(vBGMap2) ldh [rVBK], a hlcoord 0, 0, wAttrmap - call .CopyTilemapAtOnce + call .CopyBGMapViaStack ld a, BANK(vBGMap0) ldh [rVBK], a hlcoord 0, 0 - call .CopyTilemapAtOnce + call .CopyBGMapViaStack + .wait2 ldh a, [rLY] cp LY_VBLANK - 1 @@ -41,7 +45,8 @@ PhoneRing_CopyTilemapAtOnce: ldh [hBGMapMode], a ret -.CopyTilemapAtOnce: +.CopyBGMapViaStack: +; Copy all tiles to vBGMap ld [hSPBuffer], sp ld sp, hl ldh a, [hBGMapAddress + 1] @@ -55,10 +60,12 @@ PhoneRing_CopyTilemapAtOnce: .loop rept SCREEN_WIDTH / 2 pop de +; if in v/hblank, wait until not in v/hblank .loop\@ ldh a, [c] and b jr nz, .loop\@ +; load vBGMap ld [hl], e inc l ld [hl], d diff --git a/engine/pokedex/pokedex.asm b/engine/pokedex/pokedex.asm index 6f500bc37..e60ba1450 100644 --- a/engine/pokedex/pokedex.asm +++ b/engine/pokedex/pokedex.asm @@ -887,7 +887,7 @@ Pokedex_UnownModeEraseCursor: Pokedex_UnownModePlaceCursor: ld a, [wDexCurUnownIndex] - ld c, $5a ; diamond cursor + ld c, FIRST_UNOWN_CHAR + NUM_UNOWN ; diamond cursor Pokedex_UnownModeUpdateCursorGfx: ld e, a @@ -1333,7 +1333,7 @@ endr ld h, [hl] ld l, a pop af - add $40 - 1 ; Unown A + add FIRST_UNOWN_CHAR - 1 ; Unown A ld [hl], a inc de inc b @@ -2489,7 +2489,7 @@ Pokedex_LoadUnownFont: ld bc, (NUM_UNOWN + 1) tiles call Pokedex_InvertTiles ld de, sScratch + $188 - ld hl, vTiles2 tile $40 + ld hl, vTiles2 tile FIRST_UNOWN_CHAR lb bc, BANK(Pokedex_LoadUnownFont), NUM_UNOWN + 1 call Request2bpp call CloseSRAM diff --git a/engine/pokemon/mon_menu.asm b/engine/pokemon/mon_menu.asm index d25d6cc2b..8ffba32bf 100644 --- a/engine/pokemon/mon_menu.asm +++ b/engine/pokemon/mon_menu.asm @@ -1214,7 +1214,7 @@ PlaceMoveData: .description hlcoord 1, 14 - predef PrintMoveDesc + predef PrintMoveDescription ld a, $1 ldh [hBGMapMode], a ret diff --git a/engine/pokemon/party_menu.asm b/engine/pokemon/party_menu.asm index 12036497d..cf82c38ee 100644 --- a/engine/pokemon/party_menu.asm +++ b/engine/pokemon/party_menu.asm @@ -105,11 +105,11 @@ PlacePartyNicknames: .end dec hl dec hl - ld de, .CANCEL + ld de, .CancelString call PlaceString ret -.CANCEL: +.CancelString: db "CANCEL@" PlacePartyHPBar: diff --git a/engine/pokemon/print_move_description.asm b/engine/pokemon/print_move_description.asm index c461f2f3d..3647e1c54 100644 --- a/engine/pokemon/print_move_description.asm +++ b/engine/pokemon/print_move_description.asm @@ -1,4 +1,4 @@ -PrintMoveDesc: +PrintMoveDescription: push hl ld hl, MoveDescriptions ld a, [wCurSpecies] @@ -12,3 +12,5 @@ PrintMoveDesc: ld d, [hl] pop hl jp PlaceString + +INCLUDE "data/moves/descriptions.asm" diff --git a/gfx/battle/dude.2bpp.lz.d13fb490 b/gfx/battle/dude.2bpp.lz.d13fb490 Binary files differdeleted file mode 100644 index b8e96a09f..000000000 --- a/gfx/battle/dude.2bpp.lz.d13fb490 +++ /dev/null diff --git a/gfx/battle_anims/aeroblast.2bpp.lz.2f07c4ea b/gfx/battle_anims/aeroblast.2bpp.lz.2f07c4ea Binary files differdeleted file mode 100644 index 5e203cb63..000000000 --- a/gfx/battle_anims/aeroblast.2bpp.lz.2f07c4ea +++ /dev/null diff --git a/gfx/battle_anims/angels.2bpp.lz.b026d81e b/gfx/battle_anims/angels.2bpp.lz.b026d81e Binary files differdeleted file mode 100644 index 61d89d224..000000000 --- a/gfx/battle_anims/angels.2bpp.lz.b026d81e +++ /dev/null diff --git a/gfx/battle_anims/beam.2bpp.lz.80b6d613 b/gfx/battle_anims/beam.2bpp.lz.80b6d613 Binary files differdeleted file mode 100644 index 1ce9ab82c..000000000 --- a/gfx/battle_anims/beam.2bpp.lz.80b6d613 +++ /dev/null diff --git a/gfx/battle_anims/bubble.2bpp.lz.03b8ac99 b/gfx/battle_anims/bubble.2bpp.lz.03b8ac99 Binary files differdeleted file mode 100644 index 3d546191a..000000000 --- a/gfx/battle_anims/bubble.2bpp.lz.03b8ac99 +++ /dev/null diff --git a/gfx/battle_anims/charge.2bpp.lz.95d3ea98 b/gfx/battle_anims/charge.2bpp.lz.95d3ea98 Binary files differdeleted file mode 100644 index 32c82243c..000000000 --- a/gfx/battle_anims/charge.2bpp.lz.95d3ea98 +++ /dev/null diff --git a/gfx/battle_anims/cut.2bpp.lz.03d343ed b/gfx/battle_anims/cut.2bpp.lz.03d343ed Binary files differdeleted file mode 100644 index 740a48799..000000000 --- a/gfx/battle_anims/cut.2bpp.lz.03d343ed +++ /dev/null diff --git a/gfx/battle_anims/egg.2bpp.lz.41dd1a53 b/gfx/battle_anims/egg.2bpp.lz.41dd1a53 Binary files differdeleted file mode 100644 index fb55f2edc..000000000 --- a/gfx/battle_anims/egg.2bpp.lz.41dd1a53 +++ /dev/null diff --git a/gfx/battle_anims/explosion.2bpp.lz.55fc334f b/gfx/battle_anims/explosion.2bpp.lz.55fc334f Binary files differdeleted file mode 100644 index 4303302a1..000000000 --- a/gfx/battle_anims/explosion.2bpp.lz.55fc334f +++ /dev/null diff --git a/gfx/battle_anims/fire.2bpp.lz.d7701cda b/gfx/battle_anims/fire.2bpp.lz.d7701cda Binary files differdeleted file mode 100644 index e15e9f9bb..000000000 --- a/gfx/battle_anims/fire.2bpp.lz.d7701cda +++ /dev/null diff --git a/gfx/battle_anims/flower.2bpp.lz.1bc2e9d2 b/gfx/battle_anims/flower.2bpp.lz.1bc2e9d2 Binary files differdeleted file mode 100644 index ef628afb4..000000000 --- a/gfx/battle_anims/flower.2bpp.lz.1bc2e9d2 +++ /dev/null diff --git a/gfx/battle_anims/globe.2bpp.lz.710dbb8e b/gfx/battle_anims/globe.2bpp.lz.710dbb8e Binary files differdeleted file mode 100644 index 99fa15c6f..000000000 --- a/gfx/battle_anims/globe.2bpp.lz.710dbb8e +++ /dev/null diff --git a/gfx/battle_anims/haze.2bpp.lz.91424607 b/gfx/battle_anims/haze.2bpp.lz.91424607 Binary files differdeleted file mode 100644 index e0cdc644c..000000000 --- a/gfx/battle_anims/haze.2bpp.lz.91424607 +++ /dev/null diff --git a/gfx/battle_anims/hit.2bpp.lz.2b3c83f2 b/gfx/battle_anims/hit.2bpp.lz.2b3c83f2 Binary files differdeleted file mode 100644 index 5d9ffbe5d..000000000 --- a/gfx/battle_anims/hit.2bpp.lz.2b3c83f2 +++ /dev/null diff --git a/gfx/battle_anims/horn.2bpp.lz.48908aae b/gfx/battle_anims/horn.2bpp.lz.48908aae Binary files differdeleted file mode 100644 index a92f74796..000000000 --- a/gfx/battle_anims/horn.2bpp.lz.48908aae +++ /dev/null diff --git a/gfx/battle_anims/ice.2bpp.lz.664d900f b/gfx/battle_anims/ice.2bpp.lz.664d900f Binary files differdeleted file mode 100644 index 3d059700b..000000000 --- a/gfx/battle_anims/ice.2bpp.lz.664d900f +++ /dev/null diff --git a/gfx/battle_anims/lightning.2bpp.lz.a88fc131 b/gfx/battle_anims/lightning.2bpp.lz.a88fc131 Binary files differdeleted file mode 100644 index 81de5850f..000000000 --- a/gfx/battle_anims/lightning.2bpp.lz.a88fc131 +++ /dev/null diff --git a/gfx/battle_anims/misc.2bpp.lz.4b20c3d7 b/gfx/battle_anims/misc.2bpp.lz.4b20c3d7 Binary files differdeleted file mode 100644 index d0c5f0dfc..000000000 --- a/gfx/battle_anims/misc.2bpp.lz.4b20c3d7 +++ /dev/null diff --git a/gfx/battle_anims/noise.2bpp.lz.acb4a76e b/gfx/battle_anims/noise.2bpp.lz.acb4a76e Binary files differdeleted file mode 100644 index e195da453..000000000 --- a/gfx/battle_anims/noise.2bpp.lz.acb4a76e +++ /dev/null diff --git a/gfx/battle_anims/objects.2bpp.lz.83f812de b/gfx/battle_anims/objects.2bpp.lz.83f812de Binary files differdeleted file mode 100644 index 1a52d6350..000000000 --- a/gfx/battle_anims/objects.2bpp.lz.83f812de +++ /dev/null diff --git a/gfx/battle_anims/plant.2bpp.lz.4a00c417 b/gfx/battle_anims/plant.2bpp.lz.4a00c417 Binary files differdeleted file mode 100644 index 589fc48b6..000000000 --- a/gfx/battle_anims/plant.2bpp.lz.4a00c417 +++ /dev/null diff --git a/gfx/battle_anims/poison.2bpp.lz.fc7dc9c1 b/gfx/battle_anims/poison.2bpp.lz.fc7dc9c1 Binary files differdeleted file mode 100644 index df2cbe604..000000000 --- a/gfx/battle_anims/poison.2bpp.lz.fc7dc9c1 +++ /dev/null diff --git a/gfx/battle_anims/pokeball.2bpp.lz.c58f7e01 b/gfx/battle_anims/pokeball.2bpp.lz.c58f7e01 Binary files differdeleted file mode 100644 index e09b082db..000000000 --- a/gfx/battle_anims/pokeball.2bpp.lz.c58f7e01 +++ /dev/null diff --git a/gfx/battle_anims/powder.2bpp.lz.bfd566bb b/gfx/battle_anims/powder.2bpp.lz.bfd566bb Binary files differdeleted file mode 100644 index 375d0bf9c..000000000 --- a/gfx/battle_anims/powder.2bpp.lz.bfd566bb +++ /dev/null diff --git a/gfx/battle_anims/psychic.2bpp.lz.d80f285c b/gfx/battle_anims/psychic.2bpp.lz.d80f285c Binary files differdeleted file mode 100644 index d6402dd3d..000000000 --- a/gfx/battle_anims/psychic.2bpp.lz.d80f285c +++ /dev/null diff --git a/gfx/battle_anims/reflect.2bpp.lz.9a9c822d b/gfx/battle_anims/reflect.2bpp.lz.9a9c822d Binary files differdeleted file mode 100644 index a563de1a8..000000000 --- a/gfx/battle_anims/reflect.2bpp.lz.9a9c822d +++ /dev/null diff --git a/gfx/battle_anims/rocks.2bpp.lz.73d0153e b/gfx/battle_anims/rocks.2bpp.lz.73d0153e Binary files differdeleted file mode 100644 index d5481ea6e..000000000 --- a/gfx/battle_anims/rocks.2bpp.lz.73d0153e +++ /dev/null diff --git a/gfx/battle_anims/rope.2bpp.lz.209d63dd b/gfx/battle_anims/rope.2bpp.lz.209d63dd Binary files differdeleted file mode 100644 index f7d6a480f..000000000 --- a/gfx/battle_anims/rope.2bpp.lz.209d63dd +++ /dev/null diff --git a/gfx/battle_anims/sand.2bpp.lz.c87c0eaa b/gfx/battle_anims/sand.2bpp.lz.c87c0eaa Binary files differdeleted file mode 100644 index 3508a1f58..000000000 --- a/gfx/battle_anims/sand.2bpp.lz.c87c0eaa +++ /dev/null diff --git a/gfx/battle_anims/shapes.2bpp.lz.262d77f0 b/gfx/battle_anims/shapes.2bpp.lz.262d77f0 Binary files differdeleted file mode 100644 index d7d48020f..000000000 --- a/gfx/battle_anims/shapes.2bpp.lz.262d77f0 +++ /dev/null diff --git a/gfx/battle_anims/shine.2bpp.lz.5fb79056 b/gfx/battle_anims/shine.2bpp.lz.5fb79056 Binary files differdeleted file mode 100644 index 3e47170b1..000000000 --- a/gfx/battle_anims/shine.2bpp.lz.5fb79056 +++ /dev/null diff --git a/gfx/battle_anims/skyattack.2bpp.lz.31738ab8 b/gfx/battle_anims/skyattack.2bpp.lz.31738ab8 Binary files differdeleted file mode 100644 index e0412dd81..000000000 --- a/gfx/battle_anims/skyattack.2bpp.lz.31738ab8 +++ /dev/null diff --git a/gfx/battle_anims/smoke.2bpp.lz.aa05905e b/gfx/battle_anims/smoke.2bpp.lz.aa05905e Binary files differdeleted file mode 100644 index bf26fed2b..000000000 --- a/gfx/battle_anims/smoke.2bpp.lz.aa05905e +++ /dev/null diff --git a/gfx/battle_anims/speed.2bpp.lz.1732b364 b/gfx/battle_anims/speed.2bpp.lz.1732b364 Binary files differdeleted file mode 100644 index 5d09f9a6a..000000000 --- a/gfx/battle_anims/speed.2bpp.lz.1732b364 +++ /dev/null diff --git a/gfx/battle_anims/status.2bpp.lz.0c0aa13e b/gfx/battle_anims/status.2bpp.lz.0c0aa13e Binary files differdeleted file mode 100644 index e5ce7df8a..000000000 --- a/gfx/battle_anims/status.2bpp.lz.0c0aa13e +++ /dev/null diff --git a/gfx/battle_anims/water.2bpp.lz.7b52ed12 b/gfx/battle_anims/water.2bpp.lz.7b52ed12 Binary files differdeleted file mode 100644 index 6a81bbb65..000000000 --- a/gfx/battle_anims/water.2bpp.lz.7b52ed12 +++ /dev/null diff --git a/gfx/battle_anims/wave.2bpp.lz.bee99402 b/gfx/battle_anims/wave.2bpp.lz.bee99402 Binary files differdeleted file mode 100644 index d94a5cb35..000000000 --- a/gfx/battle_anims/wave.2bpp.lz.bee99402 +++ /dev/null diff --git a/gfx/battle_anims/web.2bpp.lz.80e3d480 b/gfx/battle_anims/web.2bpp.lz.80e3d480 Binary files differdeleted file mode 100644 index 84b4018e5..000000000 --- a/gfx/battle_anims/web.2bpp.lz.80e3d480 +++ /dev/null diff --git a/gfx/battle_anims/whip.2bpp.lz.d80d8d6e b/gfx/battle_anims/whip.2bpp.lz.d80d8d6e Binary files differdeleted file mode 100644 index da62ba918..000000000 --- a/gfx/battle_anims/whip.2bpp.lz.d80d8d6e +++ /dev/null diff --git a/gfx/battle_anims/wind.2bpp.lz.5a785180 b/gfx/battle_anims/wind.2bpp.lz.5a785180 Binary files differdeleted file mode 100644 index 9c2769b83..000000000 --- a/gfx/battle_anims/wind.2bpp.lz.5a785180 +++ /dev/null diff --git a/gfx/card_flip/card_flip_1.2bpp.lz.86f267e8 b/gfx/card_flip/card_flip_1.2bpp.lz.86f267e8 Binary files differdeleted file mode 100644 index 8a60b966b..000000000 --- a/gfx/card_flip/card_flip_1.2bpp.lz.86f267e8 +++ /dev/null diff --git a/gfx/card_flip/card_flip_2.2bpp.lz.6a6c671d b/gfx/card_flip/card_flip_2.2bpp.lz.6a6c671d Binary files differdeleted file mode 100644 index f238c797c..000000000 --- a/gfx/card_flip/card_flip_2.2bpp.lz.6a6c671d +++ /dev/null diff --git a/gfx/card_flip/card_flip_3.2bpp.lz.53679db7 b/gfx/card_flip/card_flip_3.2bpp.lz.53679db7 Binary files differdeleted file mode 100644 index 12baf9a8f..000000000 --- a/gfx/card_flip/card_flip_3.2bpp.lz.53679db7 +++ /dev/null diff --git a/gfx/diploma/diploma.2bpp.lz.7b56f7e5 b/gfx/diploma/diploma.2bpp.lz.7b56f7e5 Binary files differdeleted file mode 100644 index 5c35bb6e1..000000000 --- a/gfx/diploma/diploma.2bpp.lz.7b56f7e5 +++ /dev/null diff --git a/gfx/dummy_game/dummy_game.2bpp.lz.821ba441 b/gfx/dummy_game/dummy_game.2bpp.lz.821ba441 Binary files differdeleted file mode 100644 index b01fe34df..000000000 --- a/gfx/dummy_game/dummy_game.2bpp.lz.821ba441 +++ /dev/null diff --git a/gfx/intro/background.2bpp.lz.b58b3984 b/gfx/intro/background.2bpp.lz.b58b3984 Binary files differdeleted file mode 100644 index 1ef2f1203..000000000 --- a/gfx/intro/background.2bpp.lz.b58b3984 +++ /dev/null diff --git a/gfx/intro/background.attrmap.lz.9f90366a b/gfx/intro/background.attrmap.lz.9f90366a Binary files differdeleted file mode 100644 index 182ffb130..000000000 --- a/gfx/intro/background.attrmap.lz.9f90366a +++ /dev/null diff --git a/gfx/intro/background.tilemap.lz.4c7562ee b/gfx/intro/background.tilemap.lz.4c7562ee Binary files differdeleted file mode 100644 index 5897d176b..000000000 --- a/gfx/intro/background.tilemap.lz.4c7562ee +++ /dev/null diff --git a/gfx/intro/crystal_unowns.2bpp.lz.e7f8ad51 b/gfx/intro/crystal_unowns.2bpp.lz.e7f8ad51 Binary files differdeleted file mode 100644 index 2585d9c52..000000000 --- a/gfx/intro/crystal_unowns.2bpp.lz.e7f8ad51 +++ /dev/null diff --git a/gfx/intro/crystal_unowns.attrmap.lz.1bfc5a89 b/gfx/intro/crystal_unowns.attrmap.lz.1bfc5a89 Binary files differdeleted file mode 100644 index 22a4cc926..000000000 --- a/gfx/intro/crystal_unowns.attrmap.lz.1bfc5a89 +++ /dev/null diff --git a/gfx/intro/crystal_unowns.tilemap.lz.e4772015 b/gfx/intro/crystal_unowns.tilemap.lz.e4772015 Binary files differdeleted file mode 100644 index 90ce59e58..000000000 --- a/gfx/intro/crystal_unowns.tilemap.lz.e4772015 +++ /dev/null diff --git a/gfx/intro/logo.2bpp.lz.e03ee257 b/gfx/intro/logo.2bpp.lz.e03ee257 Binary files differdeleted file mode 100644 index 5beb0e6ef..000000000 --- a/gfx/intro/logo.2bpp.lz.e03ee257 +++ /dev/null diff --git a/gfx/intro/pichu_wooper.2bpp.lz.4bccf7f4 b/gfx/intro/pichu_wooper.2bpp.lz.4bccf7f4 Binary files differdeleted file mode 100644 index 90174a098..000000000 --- a/gfx/intro/pichu_wooper.2bpp.lz.4bccf7f4 +++ /dev/null diff --git a/gfx/intro/pulse.2bpp.lz.9fb06bb6 b/gfx/intro/pulse.2bpp.lz.9fb06bb6 Binary files differdeleted file mode 100644 index 5a7fec1a9..000000000 --- a/gfx/intro/pulse.2bpp.lz.9fb06bb6 +++ /dev/null diff --git a/gfx/intro/suicune_back.2bpp.lz.c6f529b0 b/gfx/intro/suicune_back.2bpp.lz.c6f529b0 Binary files differdeleted file mode 100644 index 470d78b5b..000000000 --- a/gfx/intro/suicune_back.2bpp.lz.c6f529b0 +++ /dev/null diff --git a/gfx/intro/suicune_back.attrmap.lz.18e3115f b/gfx/intro/suicune_back.attrmap.lz.18e3115f Binary files differdeleted file mode 100644 index 91635527c..000000000 --- a/gfx/intro/suicune_back.attrmap.lz.18e3115f +++ /dev/null diff --git a/gfx/intro/suicune_back.tilemap.lz.7b59259d b/gfx/intro/suicune_back.tilemap.lz.7b59259d Binary files differdeleted file mode 100644 index a892ab1b4..000000000 --- a/gfx/intro/suicune_back.tilemap.lz.7b59259d +++ /dev/null diff --git a/gfx/intro/suicune_close.2bpp.lz.7e362923 b/gfx/intro/suicune_close.2bpp.lz.7e362923 Binary files differdeleted file mode 100644 index 19b806269..000000000 --- a/gfx/intro/suicune_close.2bpp.lz.7e362923 +++ /dev/null diff --git a/gfx/intro/suicune_close.attrmap.lz.bb066632 b/gfx/intro/suicune_close.attrmap.lz.bb066632 Binary files differdeleted file mode 100644 index 68ceb19f8..000000000 --- a/gfx/intro/suicune_close.attrmap.lz.bb066632 +++ /dev/null diff --git a/gfx/intro/suicune_close.tilemap.lz.bc182264 b/gfx/intro/suicune_close.tilemap.lz.bc182264 Binary files differdeleted file mode 100644 index 0d6af294c..000000000 --- a/gfx/intro/suicune_close.tilemap.lz.bc182264 +++ /dev/null diff --git a/gfx/intro/suicune_jump.2bpp.lz.1b09fb64 b/gfx/intro/suicune_jump.2bpp.lz.1b09fb64 Binary files differdeleted file mode 100644 index b34a0c765..000000000 --- a/gfx/intro/suicune_jump.2bpp.lz.1b09fb64 +++ /dev/null diff --git a/gfx/intro/suicune_jump.attrmap.lz.911a1ace b/gfx/intro/suicune_jump.attrmap.lz.911a1ace Binary files differdeleted file mode 100644 index 238d6a60e..000000000 --- a/gfx/intro/suicune_jump.attrmap.lz.911a1ace +++ /dev/null diff --git a/gfx/intro/suicune_jump.tilemap.lz.2717d106 b/gfx/intro/suicune_jump.tilemap.lz.2717d106 Binary files differdeleted file mode 100644 index 6e45c45f7..000000000 --- a/gfx/intro/suicune_jump.tilemap.lz.2717d106 +++ /dev/null diff --git a/gfx/intro/suicune_run.2bpp.lz.ef999ad2 b/gfx/intro/suicune_run.2bpp.lz.ef999ad2 Binary files differdeleted file mode 100644 index f48162258..000000000 --- a/gfx/intro/suicune_run.2bpp.lz.ef999ad2 +++ /dev/null diff --git a/gfx/intro/unown_a.attrmap.lz.c2341875 b/gfx/intro/unown_a.attrmap.lz.c2341875 Binary files differdeleted file mode 100644 index 926fb6e8e..000000000 --- a/gfx/intro/unown_a.attrmap.lz.c2341875 +++ /dev/null diff --git a/gfx/intro/unown_a.tilemap.lz.54d5b74b b/gfx/intro/unown_a.tilemap.lz.54d5b74b Binary files differdeleted file mode 100644 index c63f215f2..000000000 --- a/gfx/intro/unown_a.tilemap.lz.54d5b74b +++ /dev/null diff --git a/gfx/intro/unown_back.2bpp.lz.740c4d28 b/gfx/intro/unown_back.2bpp.lz.740c4d28 Binary files differdeleted file mode 100644 index 21cae2927..000000000 --- a/gfx/intro/unown_back.2bpp.lz.740c4d28 +++ /dev/null diff --git a/gfx/intro/unown_hi.attrmap.lz.bed1ff6d b/gfx/intro/unown_hi.attrmap.lz.bed1ff6d Binary files differdeleted file mode 100644 index 0ae96b7f7..000000000 --- a/gfx/intro/unown_hi.attrmap.lz.bed1ff6d +++ /dev/null diff --git a/gfx/intro/unown_hi.tilemap.lz.c8756972 b/gfx/intro/unown_hi.tilemap.lz.c8756972 Binary files differdeleted file mode 100644 index 46436b607..000000000 --- a/gfx/intro/unown_hi.tilemap.lz.c8756972 +++ /dev/null diff --git a/gfx/intro/unowns.2bpp.lz.3a1f185e b/gfx/intro/unowns.2bpp.lz.3a1f185e Binary files differdeleted file mode 100644 index 67e90b0b6..000000000 --- a/gfx/intro/unowns.2bpp.lz.3a1f185e +++ /dev/null diff --git a/gfx/intro/unowns.attrmap.lz.a9cbcbca b/gfx/intro/unowns.attrmap.lz.a9cbcbca Binary files differdeleted file mode 100644 index d1694ed3e..000000000 --- a/gfx/intro/unowns.attrmap.lz.a9cbcbca +++ /dev/null diff --git a/gfx/intro/unowns.tilemap.lz.f12ed6d9 b/gfx/intro/unowns.tilemap.lz.f12ed6d9 Binary files differdeleted file mode 100644 index 356c6d5e8..000000000 --- a/gfx/intro/unowns.tilemap.lz.f12ed6d9 +++ /dev/null diff --git a/gfx/lz.mk b/gfx/lz.mk new file mode 100644 index 000000000..4b900c661 --- /dev/null +++ b/gfx/lz.mk @@ -0,0 +1,67 @@ +# Delete these rules if you don't care about matching. + +%.lz: LZFLAGS = --compressor multipass + +gfx/battle_anims/%.lz: LZFLAGS += --method 2 --align 4 + +gfx/battle/dude.2bpp.lz: LZFLAGS += --align 4 + +gfx/diploma/diploma.2bpp.lz: LZFLAGS += --method 8 --align 1 + +gfx/dummy_game/dummy_game.2bpp.lz: LZFLAGS += --method 2 --align 4 + +gfx/intro/%.lz: LZFLAGS += --align 4 +gfx/intro/logo.2bpp.lz: LZFLAGS += --method 2 --align 4 +gfx/intro/suicune_close.2bpp.lz: LZFLAGS += --method 2 --align 4 +gfx/intro/unown_back.2bpp.lz: LZFLAGS += --method 2 --align 4 + +gfx/mobile/mobile_trade.%.lz: LZFLAGS += --align 4 +gfx/mobile/mobile_trade_sprites.2bpp.lz: LZFLAGS += --align 4 + +gfx/new_game/shrink1.2bpp.lz: LZFLAGS += --align 4 +gfx/new_game/shrink2.2bpp.lz: LZFLAGS += --align 4 + +gfx/pc/pc.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 + +gfx/player/chris_back.2bpp.lz: LZFLAGS += --align 4 + +gfx/pokedex/pokedex.2bpp.lz: LZFLAGS += --method 8 --align 1 +gfx/pokedex/pokedex_sgb.2bpp.lz: LZFLAGS += --method 8 --align 1 +gfx/pokedex/question_mark.2bpp.lz: LZFLAGS += --align 4 +gfx/pokedex/slowpoke.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 + +gfx/pokegear/pokegear.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 +gfx/pokegear/pokegear_sprites.2bpp.lz: LZFLAGS += --align 4 +gfx/pokegear/town_map.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 + +gfx/pokemon/hitmontop/back.2bpp.lz: LZFLAGS += --method 4 +gfx/pokemon/voltorb/front.animated.2bpp.lz: LZFLAGS += --method 4 + +gfx/sgb/gbc_only.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 + +gfx/slots/slots_1.2bpp.lz: LZFLAGS += --method 2 --align 4 +gfx/slots/slots_2.2bpp.lz: LZFLAGS += --align 4 +gfx/slots/slots_3.2bpp.lz: LZFLAGS += --align 4 + +gfx/tilesets/%.lz: LZFLAGS += --align 4 +gfx/tilesets/aerodactyl_word_room.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 +gfx/tilesets/battle_tower_outside.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 +gfx/tilesets/beta_word_room.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 +gfx/tilesets/ho_oh_word_room.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 +gfx/tilesets/house.2bpp.lz: LZFLAGS += --method 2 --align 4 +gfx/tilesets/johto.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 +gfx/tilesets/johto_modern.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 +gfx/tilesets/kabuto_word_room.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 +gfx/tilesets/kanto.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 +gfx/tilesets/mansion.2bpp.lz: LZFLAGS += --method 2 --align 4 +gfx/tilesets/mart.2bpp.lz: LZFLAGS += --method 2 --align 4 +gfx/tilesets/omanyte_word_room.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 +gfx/tilesets/ruins_of_alph.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 +gfx/tilesets/tower.2bpp.lz: LZFLAGS += --method 2 --align 4 + +gfx/title/crystal.2bpp.lz: LZFLAGS += --align 4 +gfx/title/logo.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 +gfx/title/suicune.2bpp.lz: LZFLAGS += --align 4 + +gfx/unown_puzzle/%.lz: LZFLAGS += --align 4 +gfx/unown_puzzle/start_cancel.2bpp.lz: LZFLAGS += --method 8 --align 1 diff --git a/gfx/mobile/electro_ball.2bpp.lz.3eaf004f b/gfx/mobile/electro_ball.2bpp.lz.3eaf004f Binary files differdeleted file mode 100644 index b4fabff15..000000000 --- a/gfx/mobile/electro_ball.2bpp.lz.3eaf004f +++ /dev/null diff --git a/gfx/mobile/mobile_trade.2bpp.lz.aad8592b b/gfx/mobile/mobile_trade.2bpp.lz.aad8592b Binary files differdeleted file mode 100644 index 4d860f055..000000000 --- a/gfx/mobile/mobile_trade.2bpp.lz.aad8592b +++ /dev/null diff --git a/gfx/mobile/mobile_trade.attrmap.lz.ea4f2cbe b/gfx/mobile/mobile_trade.attrmap.lz.ea4f2cbe Binary files differdeleted file mode 100644 index 933762c80..000000000 --- a/gfx/mobile/mobile_trade.attrmap.lz.ea4f2cbe +++ /dev/null diff --git a/gfx/mobile/mobile_trade.tilemap.lz.12882d37 b/gfx/mobile/mobile_trade.tilemap.lz.12882d37 Binary files differdeleted file mode 100644 index 94069f2fa..000000000 --- a/gfx/mobile/mobile_trade.tilemap.lz.12882d37 +++ /dev/null diff --git a/gfx/mobile/mobile_trade_sprites.2bpp.lz.eef1e11d b/gfx/mobile/mobile_trade_sprites.2bpp.lz.eef1e11d Binary files differdeleted file mode 100644 index b499f4abf..000000000 --- a/gfx/mobile/mobile_trade_sprites.2bpp.lz.eef1e11d +++ /dev/null diff --git a/gfx/mobile/pichu_animated.2bpp.lz.5d6d2ad4 b/gfx/mobile/pichu_animated.2bpp.lz.5d6d2ad4 Binary files differdeleted file mode 100644 index 4d50c6bcf..000000000 --- a/gfx/mobile/pichu_animated.2bpp.lz.5d6d2ad4 +++ /dev/null diff --git a/gfx/new_game/shrink1.2bpp.lz.d4443930 b/gfx/new_game/shrink1.2bpp.lz.d4443930 Binary files differdeleted file mode 100644 index 284bee8c2..000000000 --- a/gfx/new_game/shrink1.2bpp.lz.d4443930 +++ /dev/null diff --git a/gfx/new_game/shrink2.2bpp.lz.3f58480a b/gfx/new_game/shrink2.2bpp.lz.3f58480a Binary files differdeleted file mode 100644 index df14d5ed4..000000000 --- a/gfx/new_game/shrink2.2bpp.lz.3f58480a +++ /dev/null diff --git a/gfx/pc/pc.2bpp.lz.2201c1aa b/gfx/pc/pc.2bpp.lz.2201c1aa Binary files differdeleted file mode 100644 index 996cfadc9..000000000 --- a/gfx/pc/pc.2bpp.lz.2201c1aa +++ /dev/null diff --git a/gfx/player/chris_back.2bpp.lz.0312ddce b/gfx/player/chris_back.2bpp.lz.0312ddce Binary files differdeleted file mode 100644 index aec84bbab..000000000 --- a/gfx/player/chris_back.2bpp.lz.0312ddce +++ /dev/null diff --git a/gfx/pokedex/pokedex.2bpp.lz.3726dd3f b/gfx/pokedex/pokedex.2bpp.lz.3726dd3f Binary files differdeleted file mode 100644 index 8f7e3aafb..000000000 --- a/gfx/pokedex/pokedex.2bpp.lz.3726dd3f +++ /dev/null diff --git a/gfx/pokedex/pokedex_sgb.2bpp.lz.82bc0a7b b/gfx/pokedex/pokedex_sgb.2bpp.lz.82bc0a7b Binary files differdeleted file mode 100644 index 6ec9c46b2..000000000 --- a/gfx/pokedex/pokedex_sgb.2bpp.lz.82bc0a7b +++ /dev/null diff --git a/gfx/pokedex/question_mark.2bpp.lz.6e639380 b/gfx/pokedex/question_mark.2bpp.lz.6e639380 Binary files differdeleted file mode 100644 index cd2f7f22e..000000000 --- a/gfx/pokedex/question_mark.2bpp.lz.6e639380 +++ /dev/null diff --git a/gfx/pokedex/slowpoke.2bpp.lz.49a91b42 b/gfx/pokedex/slowpoke.2bpp.lz.49a91b42 Binary files differdeleted file mode 100644 index b8d0e4902..000000000 --- a/gfx/pokedex/slowpoke.2bpp.lz.49a91b42 +++ /dev/null diff --git a/gfx/pokegear/pokegear.2bpp.lz.42315ab4 b/gfx/pokegear/pokegear.2bpp.lz.42315ab4 Binary files differdeleted file mode 100644 index df312a51b..000000000 --- a/gfx/pokegear/pokegear.2bpp.lz.42315ab4 +++ /dev/null diff --git a/gfx/pokegear/pokegear_sprites.2bpp.lz.7a3cc91f b/gfx/pokegear/pokegear_sprites.2bpp.lz.7a3cc91f Binary files differdeleted file mode 100644 index b5af62d28..000000000 --- a/gfx/pokegear/pokegear_sprites.2bpp.lz.7a3cc91f +++ /dev/null diff --git a/gfx/pokegear/town_map.2bpp.lz.c0587c86 b/gfx/pokegear/town_map.2bpp.lz.c0587c86 Binary files differdeleted file mode 100644 index c807a372f..000000000 --- a/gfx/pokegear/town_map.2bpp.lz.c0587c86 +++ /dev/null diff --git a/gfx/pokemon/abra/back.2bpp.lz.9ac09a32 b/gfx/pokemon/abra/back.2bpp.lz.9ac09a32 Binary files differdeleted file mode 100644 index 2df351881..000000000 --- a/gfx/pokemon/abra/back.2bpp.lz.9ac09a32 +++ /dev/null diff --git a/gfx/pokemon/abra/front.animated.2bpp.lz.12e14d9a b/gfx/pokemon/abra/front.animated.2bpp.lz.12e14d9a Binary files differdeleted file mode 100644 index 2b41c4263..000000000 --- a/gfx/pokemon/abra/front.animated.2bpp.lz.12e14d9a +++ /dev/null diff --git a/gfx/pokemon/aerodactyl/back.2bpp.lz.e2da1f61 b/gfx/pokemon/aerodactyl/back.2bpp.lz.e2da1f61 Binary files differdeleted file mode 100644 index 05536351b..000000000 --- a/gfx/pokemon/aerodactyl/back.2bpp.lz.e2da1f61 +++ /dev/null diff --git a/gfx/pokemon/aerodactyl/front.animated.2bpp.lz.3bceb33e b/gfx/pokemon/aerodactyl/front.animated.2bpp.lz.3bceb33e Binary files differdeleted file mode 100644 index ae8d9f8ab..000000000 --- a/gfx/pokemon/aerodactyl/front.animated.2bpp.lz.3bceb33e +++ /dev/null diff --git a/gfx/pokemon/aipom/back.2bpp.lz.597d4dda b/gfx/pokemon/aipom/back.2bpp.lz.597d4dda Binary files differdeleted file mode 100644 index d6d9fdbc1..000000000 --- a/gfx/pokemon/aipom/back.2bpp.lz.597d4dda +++ /dev/null diff --git a/gfx/pokemon/aipom/front.animated.2bpp.lz.fba7c862 b/gfx/pokemon/aipom/front.animated.2bpp.lz.fba7c862 Binary files differdeleted file mode 100644 index 58800e5e4..000000000 --- a/gfx/pokemon/aipom/front.animated.2bpp.lz.fba7c862 +++ /dev/null diff --git a/gfx/pokemon/alakazam/back.2bpp.lz.75e7e1c6 b/gfx/pokemon/alakazam/back.2bpp.lz.75e7e1c6 Binary files differdeleted file mode 100644 index 65f1a2729..000000000 --- a/gfx/pokemon/alakazam/back.2bpp.lz.75e7e1c6 +++ /dev/null diff --git a/gfx/pokemon/alakazam/front.animated.2bpp.lz.b246e050 b/gfx/pokemon/alakazam/front.animated.2bpp.lz.b246e050 Binary files differdeleted file mode 100644 index 6272553a7..000000000 --- a/gfx/pokemon/alakazam/front.animated.2bpp.lz.b246e050 +++ /dev/null diff --git a/gfx/pokemon/ampharos/back.2bpp.lz.06af98c8 b/gfx/pokemon/ampharos/back.2bpp.lz.06af98c8 Binary files differdeleted file mode 100644 index 8d3b42d9b..000000000 --- a/gfx/pokemon/ampharos/back.2bpp.lz.06af98c8 +++ /dev/null diff --git a/gfx/pokemon/ampharos/front.animated.2bpp.lz.4b908a28 b/gfx/pokemon/ampharos/front.animated.2bpp.lz.4b908a28 Binary files differdeleted file mode 100644 index 84f43c105..000000000 --- a/gfx/pokemon/ampharos/front.animated.2bpp.lz.4b908a28 +++ /dev/null diff --git a/gfx/pokemon/arbok/back.2bpp.lz.7b18cb93 b/gfx/pokemon/arbok/back.2bpp.lz.7b18cb93 Binary files differdeleted file mode 100644 index 175abb499..000000000 --- a/gfx/pokemon/arbok/back.2bpp.lz.7b18cb93 +++ /dev/null diff --git a/gfx/pokemon/arbok/front.animated.2bpp.lz.1589a977 b/gfx/pokemon/arbok/front.animated.2bpp.lz.1589a977 Binary files differdeleted file mode 100644 index 8b5918dbd..000000000 --- a/gfx/pokemon/arbok/front.animated.2bpp.lz.1589a977 +++ /dev/null diff --git a/gfx/pokemon/arcanine/back.2bpp.lz.f5b35ebf b/gfx/pokemon/arcanine/back.2bpp.lz.f5b35ebf Binary files differdeleted file mode 100644 index a76d64986..000000000 --- a/gfx/pokemon/arcanine/back.2bpp.lz.f5b35ebf +++ /dev/null diff --git a/gfx/pokemon/arcanine/front.animated.2bpp.lz.5ae8eff3 b/gfx/pokemon/arcanine/front.animated.2bpp.lz.5ae8eff3 Binary files differdeleted file mode 100644 index da1784800..000000000 --- a/gfx/pokemon/arcanine/front.animated.2bpp.lz.5ae8eff3 +++ /dev/null diff --git a/gfx/pokemon/ariados/back.2bpp.lz.9fb1c3fc b/gfx/pokemon/ariados/back.2bpp.lz.9fb1c3fc Binary files differdeleted file mode 100644 index ff3aec7fb..000000000 --- a/gfx/pokemon/ariados/back.2bpp.lz.9fb1c3fc +++ /dev/null diff --git a/gfx/pokemon/ariados/front.animated.2bpp.lz.5ac5c83c b/gfx/pokemon/ariados/front.animated.2bpp.lz.5ac5c83c Binary files differdeleted file mode 100644 index 51039aeb5..000000000 --- a/gfx/pokemon/ariados/front.animated.2bpp.lz.5ac5c83c +++ /dev/null diff --git a/gfx/pokemon/articuno/back.2bpp.lz.c263c2aa b/gfx/pokemon/articuno/back.2bpp.lz.c263c2aa Binary files differdeleted file mode 100644 index 87b61ac9d..000000000 --- a/gfx/pokemon/articuno/back.2bpp.lz.c263c2aa +++ /dev/null diff --git a/gfx/pokemon/articuno/front.animated.2bpp.lz.650aef29 b/gfx/pokemon/articuno/front.animated.2bpp.lz.650aef29 Binary files differdeleted file mode 100644 index a60367098..000000000 --- a/gfx/pokemon/articuno/front.animated.2bpp.lz.650aef29 +++ /dev/null diff --git a/gfx/pokemon/azumarill/back.2bpp.lz.f7fa0db9 b/gfx/pokemon/azumarill/back.2bpp.lz.f7fa0db9 Binary files differdeleted file mode 100644 index b66df2a71..000000000 --- a/gfx/pokemon/azumarill/back.2bpp.lz.f7fa0db9 +++ /dev/null diff --git a/gfx/pokemon/azumarill/front.animated.2bpp.lz.cc9fd2ed b/gfx/pokemon/azumarill/front.animated.2bpp.lz.cc9fd2ed Binary files differdeleted file mode 100644 index d6f031164..000000000 --- a/gfx/pokemon/azumarill/front.animated.2bpp.lz.cc9fd2ed +++ /dev/null diff --git a/gfx/pokemon/bayleef/back.2bpp.lz.c4783e65 b/gfx/pokemon/bayleef/back.2bpp.lz.c4783e65 Binary files differdeleted file mode 100644 index 809e5d199..000000000 --- a/gfx/pokemon/bayleef/back.2bpp.lz.c4783e65 +++ /dev/null diff --git a/gfx/pokemon/bayleef/front.animated.2bpp.lz.147649f2 b/gfx/pokemon/bayleef/front.animated.2bpp.lz.147649f2 Binary files differdeleted file mode 100644 index 3134f6e16..000000000 --- a/gfx/pokemon/bayleef/front.animated.2bpp.lz.147649f2 +++ /dev/null diff --git a/gfx/pokemon/beedrill/back.2bpp.lz.dfd6a87b b/gfx/pokemon/beedrill/back.2bpp.lz.dfd6a87b Binary files differdeleted file mode 100644 index 492eb64e2..000000000 --- a/gfx/pokemon/beedrill/back.2bpp.lz.dfd6a87b +++ /dev/null diff --git a/gfx/pokemon/beedrill/front.animated.2bpp.lz.1b5d3117 b/gfx/pokemon/beedrill/front.animated.2bpp.lz.1b5d3117 Binary files differdeleted file mode 100644 index 55f560521..000000000 --- a/gfx/pokemon/beedrill/front.animated.2bpp.lz.1b5d3117 +++ /dev/null diff --git a/gfx/pokemon/bellossom/back.2bpp.lz.10d31691 b/gfx/pokemon/bellossom/back.2bpp.lz.10d31691 Binary files differdeleted file mode 100644 index d1a59b617..000000000 --- a/gfx/pokemon/bellossom/back.2bpp.lz.10d31691 +++ /dev/null diff --git a/gfx/pokemon/bellossom/front.animated.2bpp.lz.289eaecf b/gfx/pokemon/bellossom/front.animated.2bpp.lz.289eaecf Binary files differdeleted file mode 100644 index 9cba9a1c3..000000000 --- a/gfx/pokemon/bellossom/front.animated.2bpp.lz.289eaecf +++ /dev/null diff --git a/gfx/pokemon/bellsprout/back.2bpp.lz.9dacbda8 b/gfx/pokemon/bellsprout/back.2bpp.lz.9dacbda8 Binary files differdeleted file mode 100644 index ab600f064..000000000 --- a/gfx/pokemon/bellsprout/back.2bpp.lz.9dacbda8 +++ /dev/null diff --git a/gfx/pokemon/bellsprout/front.animated.2bpp.lz.44df413d b/gfx/pokemon/bellsprout/front.animated.2bpp.lz.44df413d Binary files differdeleted file mode 100644 index 2593fb112..000000000 --- a/gfx/pokemon/bellsprout/front.animated.2bpp.lz.44df413d +++ /dev/null diff --git a/gfx/pokemon/blastoise/back.2bpp.lz.b90e8d5a b/gfx/pokemon/blastoise/back.2bpp.lz.b90e8d5a Binary files differdeleted file mode 100644 index 5e27c9989..000000000 --- a/gfx/pokemon/blastoise/back.2bpp.lz.b90e8d5a +++ /dev/null diff --git a/gfx/pokemon/blastoise/front.animated.2bpp.lz.3899aed0 b/gfx/pokemon/blastoise/front.animated.2bpp.lz.3899aed0 Binary files differdeleted file mode 100644 index 33148b076..000000000 --- a/gfx/pokemon/blastoise/front.animated.2bpp.lz.3899aed0 +++ /dev/null diff --git a/gfx/pokemon/blissey/back.2bpp.lz.d2763673 b/gfx/pokemon/blissey/back.2bpp.lz.d2763673 Binary files differdeleted file mode 100644 index 00749ddee..000000000 --- a/gfx/pokemon/blissey/back.2bpp.lz.d2763673 +++ /dev/null diff --git a/gfx/pokemon/blissey/front.animated.2bpp.lz.04f2353a b/gfx/pokemon/blissey/front.animated.2bpp.lz.04f2353a Binary files differdeleted file mode 100644 index 76f492c43..000000000 --- a/gfx/pokemon/blissey/front.animated.2bpp.lz.04f2353a +++ /dev/null diff --git a/gfx/pokemon/bulbasaur/back.2bpp.lz.84f8d1c4 b/gfx/pokemon/bulbasaur/back.2bpp.lz.84f8d1c4 Binary files differdeleted file mode 100644 index 44f8fa450..000000000 --- a/gfx/pokemon/bulbasaur/back.2bpp.lz.84f8d1c4 +++ /dev/null diff --git a/gfx/pokemon/bulbasaur/front.animated.2bpp.lz.04627405 b/gfx/pokemon/bulbasaur/front.animated.2bpp.lz.04627405 Binary files differdeleted file mode 100644 index fc4550001..000000000 --- a/gfx/pokemon/bulbasaur/front.animated.2bpp.lz.04627405 +++ /dev/null diff --git a/gfx/pokemon/butterfree/back.2bpp.lz.a8543d86 b/gfx/pokemon/butterfree/back.2bpp.lz.a8543d86 Binary files differdeleted file mode 100644 index 6d741f493..000000000 --- a/gfx/pokemon/butterfree/back.2bpp.lz.a8543d86 +++ /dev/null diff --git a/gfx/pokemon/butterfree/front.animated.2bpp.lz.33ba7e24 b/gfx/pokemon/butterfree/front.animated.2bpp.lz.33ba7e24 Binary files differdeleted file mode 100644 index bf8b7a690..000000000 --- a/gfx/pokemon/butterfree/front.animated.2bpp.lz.33ba7e24 +++ /dev/null diff --git a/gfx/pokemon/caterpie/back.2bpp.lz.57e32015 b/gfx/pokemon/caterpie/back.2bpp.lz.57e32015 Binary files differdeleted file mode 100644 index a3788d1e4..000000000 --- a/gfx/pokemon/caterpie/back.2bpp.lz.57e32015 +++ /dev/null diff --git a/gfx/pokemon/caterpie/front.animated.2bpp.lz.ec4f7cb8 b/gfx/pokemon/caterpie/front.animated.2bpp.lz.ec4f7cb8 Binary files differdeleted file mode 100644 index d3036d9ff..000000000 --- a/gfx/pokemon/caterpie/front.animated.2bpp.lz.ec4f7cb8 +++ /dev/null diff --git a/gfx/pokemon/celebi/back.2bpp.lz.17ea5fe6 b/gfx/pokemon/celebi/back.2bpp.lz.17ea5fe6 Binary files differdeleted file mode 100644 index e8153224c..000000000 --- a/gfx/pokemon/celebi/back.2bpp.lz.17ea5fe6 +++ /dev/null diff --git a/gfx/pokemon/celebi/front.animated.2bpp.lz.16f259a5 b/gfx/pokemon/celebi/front.animated.2bpp.lz.16f259a5 Binary files differdeleted file mode 100644 index afc41bee7..000000000 --- a/gfx/pokemon/celebi/front.animated.2bpp.lz.16f259a5 +++ /dev/null diff --git a/gfx/pokemon/chansey/back.2bpp.lz.14d90ba1 b/gfx/pokemon/chansey/back.2bpp.lz.14d90ba1 Binary files differdeleted file mode 100644 index 239df2d63..000000000 --- a/gfx/pokemon/chansey/back.2bpp.lz.14d90ba1 +++ /dev/null diff --git a/gfx/pokemon/chansey/front.animated.2bpp.lz.158fc381 b/gfx/pokemon/chansey/front.animated.2bpp.lz.158fc381 Binary files differdeleted file mode 100644 index 1fc457f19..000000000 --- a/gfx/pokemon/chansey/front.animated.2bpp.lz.158fc381 +++ /dev/null diff --git a/gfx/pokemon/charizard/back.2bpp.lz.f04ac62c b/gfx/pokemon/charizard/back.2bpp.lz.f04ac62c Binary files differdeleted file mode 100644 index db1d9c9ea..000000000 --- a/gfx/pokemon/charizard/back.2bpp.lz.f04ac62c +++ /dev/null diff --git a/gfx/pokemon/charizard/front.animated.2bpp.lz.0068f820 b/gfx/pokemon/charizard/front.animated.2bpp.lz.0068f820 Binary files differdeleted file mode 100644 index aab0fda99..000000000 --- a/gfx/pokemon/charizard/front.animated.2bpp.lz.0068f820 +++ /dev/null diff --git a/gfx/pokemon/charmander/back.2bpp.lz.bcb371c6 b/gfx/pokemon/charmander/back.2bpp.lz.bcb371c6 Binary files differdeleted file mode 100644 index e8eb5eb4e..000000000 --- a/gfx/pokemon/charmander/back.2bpp.lz.bcb371c6 +++ /dev/null diff --git a/gfx/pokemon/charmander/front.animated.2bpp.lz.704bfc17 b/gfx/pokemon/charmander/front.animated.2bpp.lz.704bfc17 Binary files differdeleted file mode 100644 index 7cc31694b..000000000 --- a/gfx/pokemon/charmander/front.animated.2bpp.lz.704bfc17 +++ /dev/null diff --git a/gfx/pokemon/charmeleon/back.2bpp.lz.cf73268f b/gfx/pokemon/charmeleon/back.2bpp.lz.cf73268f Binary files differdeleted file mode 100644 index aec0cd7b2..000000000 --- a/gfx/pokemon/charmeleon/back.2bpp.lz.cf73268f +++ /dev/null diff --git a/gfx/pokemon/charmeleon/front.animated.2bpp.lz.0e629968 b/gfx/pokemon/charmeleon/front.animated.2bpp.lz.0e629968 Binary files differdeleted file mode 100644 index efe789dad..000000000 --- a/gfx/pokemon/charmeleon/front.animated.2bpp.lz.0e629968 +++ /dev/null diff --git a/gfx/pokemon/chikorita/back.2bpp.lz.27a21938 b/gfx/pokemon/chikorita/back.2bpp.lz.27a21938 Binary files differdeleted file mode 100644 index e98365a2b..000000000 --- a/gfx/pokemon/chikorita/back.2bpp.lz.27a21938 +++ /dev/null diff --git a/gfx/pokemon/chikorita/front.animated.2bpp.lz.18de5fe9 b/gfx/pokemon/chikorita/front.animated.2bpp.lz.18de5fe9 Binary files differdeleted file mode 100644 index 008c4ec2d..000000000 --- a/gfx/pokemon/chikorita/front.animated.2bpp.lz.18de5fe9 +++ /dev/null diff --git a/gfx/pokemon/chinchou/back.2bpp.lz.ea061e91 b/gfx/pokemon/chinchou/back.2bpp.lz.ea061e91 Binary files differdeleted file mode 100644 index 744af1ad4..000000000 --- a/gfx/pokemon/chinchou/back.2bpp.lz.ea061e91 +++ /dev/null diff --git a/gfx/pokemon/chinchou/front.animated.2bpp.lz.901aa690 b/gfx/pokemon/chinchou/front.animated.2bpp.lz.901aa690 Binary files differdeleted file mode 100644 index b5db65701..000000000 --- a/gfx/pokemon/chinchou/front.animated.2bpp.lz.901aa690 +++ /dev/null diff --git a/gfx/pokemon/clefable/back.2bpp.lz.d57ec142 b/gfx/pokemon/clefable/back.2bpp.lz.d57ec142 Binary files differdeleted file mode 100644 index 1bcb8cbcd..000000000 --- a/gfx/pokemon/clefable/back.2bpp.lz.d57ec142 +++ /dev/null diff --git a/gfx/pokemon/clefable/front.animated.2bpp.lz.59d160ad b/gfx/pokemon/clefable/front.animated.2bpp.lz.59d160ad Binary files differdeleted file mode 100644 index 4fb424305..000000000 --- a/gfx/pokemon/clefable/front.animated.2bpp.lz.59d160ad +++ /dev/null diff --git a/gfx/pokemon/clefairy/back.2bpp.lz.f8aff3dd b/gfx/pokemon/clefairy/back.2bpp.lz.f8aff3dd Binary files differdeleted file mode 100644 index a6a5ecb82..000000000 --- a/gfx/pokemon/clefairy/back.2bpp.lz.f8aff3dd +++ /dev/null diff --git a/gfx/pokemon/clefairy/front.animated.2bpp.lz.0918b60d b/gfx/pokemon/clefairy/front.animated.2bpp.lz.0918b60d Binary files differdeleted file mode 100644 index d8adc2e2e..000000000 --- a/gfx/pokemon/clefairy/front.animated.2bpp.lz.0918b60d +++ /dev/null diff --git a/gfx/pokemon/cleffa/back.2bpp.lz.ea9b3d08 b/gfx/pokemon/cleffa/back.2bpp.lz.ea9b3d08 Binary files differdeleted file mode 100644 index 35ec3369b..000000000 --- a/gfx/pokemon/cleffa/back.2bpp.lz.ea9b3d08 +++ /dev/null diff --git a/gfx/pokemon/cleffa/front.animated.2bpp.lz.49630c80 b/gfx/pokemon/cleffa/front.animated.2bpp.lz.49630c80 Binary files differdeleted file mode 100644 index e8c624069..000000000 --- a/gfx/pokemon/cleffa/front.animated.2bpp.lz.49630c80 +++ /dev/null diff --git a/gfx/pokemon/cloyster/back.2bpp.lz.5ad194b3 b/gfx/pokemon/cloyster/back.2bpp.lz.5ad194b3 Binary files differdeleted file mode 100644 index 655890df8..000000000 --- a/gfx/pokemon/cloyster/back.2bpp.lz.5ad194b3 +++ /dev/null diff --git a/gfx/pokemon/cloyster/front.animated.2bpp.lz.fe85709f b/gfx/pokemon/cloyster/front.animated.2bpp.lz.fe85709f Binary files differdeleted file mode 100644 index 83991eed6..000000000 --- a/gfx/pokemon/cloyster/front.animated.2bpp.lz.fe85709f +++ /dev/null diff --git a/gfx/pokemon/corsola/back.2bpp.lz.2b6c7860 b/gfx/pokemon/corsola/back.2bpp.lz.2b6c7860 Binary files differdeleted file mode 100644 index 6707a3538..000000000 --- a/gfx/pokemon/corsola/back.2bpp.lz.2b6c7860 +++ /dev/null diff --git a/gfx/pokemon/corsola/front.animated.2bpp.lz.2e7905aa b/gfx/pokemon/corsola/front.animated.2bpp.lz.2e7905aa Binary files differdeleted file mode 100644 index afa208922..000000000 --- a/gfx/pokemon/corsola/front.animated.2bpp.lz.2e7905aa +++ /dev/null diff --git a/gfx/pokemon/crobat/back.2bpp.lz.30850b2e b/gfx/pokemon/crobat/back.2bpp.lz.30850b2e Binary files differdeleted file mode 100644 index a572d93c5..000000000 --- a/gfx/pokemon/crobat/back.2bpp.lz.30850b2e +++ /dev/null diff --git a/gfx/pokemon/crobat/front.animated.2bpp.lz.dc386ff0 b/gfx/pokemon/crobat/front.animated.2bpp.lz.dc386ff0 Binary files differdeleted file mode 100644 index 1e12aeed2..000000000 --- a/gfx/pokemon/crobat/front.animated.2bpp.lz.dc386ff0 +++ /dev/null diff --git a/gfx/pokemon/croconaw/back.2bpp.lz.a605c82f b/gfx/pokemon/croconaw/back.2bpp.lz.a605c82f Binary files differdeleted file mode 100644 index 7e573e6a0..000000000 --- a/gfx/pokemon/croconaw/back.2bpp.lz.a605c82f +++ /dev/null diff --git a/gfx/pokemon/croconaw/front.animated.2bpp.lz.a797986d b/gfx/pokemon/croconaw/front.animated.2bpp.lz.a797986d Binary files differdeleted file mode 100644 index 9c7f511ba..000000000 --- a/gfx/pokemon/croconaw/front.animated.2bpp.lz.a797986d +++ /dev/null diff --git a/gfx/pokemon/cubone/back.2bpp.lz.bd849dfb b/gfx/pokemon/cubone/back.2bpp.lz.bd849dfb Binary files differdeleted file mode 100644 index fc9931417..000000000 --- a/gfx/pokemon/cubone/back.2bpp.lz.bd849dfb +++ /dev/null diff --git a/gfx/pokemon/cubone/front.animated.2bpp.lz.0d63a3a4 b/gfx/pokemon/cubone/front.animated.2bpp.lz.0d63a3a4 Binary files differdeleted file mode 100644 index 9de9f7732..000000000 --- a/gfx/pokemon/cubone/front.animated.2bpp.lz.0d63a3a4 +++ /dev/null diff --git a/gfx/pokemon/cyndaquil/back.2bpp.lz.68baeeeb b/gfx/pokemon/cyndaquil/back.2bpp.lz.68baeeeb Binary files differdeleted file mode 100644 index 226c41e49..000000000 --- a/gfx/pokemon/cyndaquil/back.2bpp.lz.68baeeeb +++ /dev/null diff --git a/gfx/pokemon/cyndaquil/front.animated.2bpp.lz.0d5dce8d b/gfx/pokemon/cyndaquil/front.animated.2bpp.lz.0d5dce8d Binary files differdeleted file mode 100644 index 3e2886783..000000000 --- a/gfx/pokemon/cyndaquil/front.animated.2bpp.lz.0d5dce8d +++ /dev/null diff --git a/gfx/pokemon/delibird/back.2bpp.lz.11463d76 b/gfx/pokemon/delibird/back.2bpp.lz.11463d76 Binary files differdeleted file mode 100644 index 22f41237c..000000000 --- a/gfx/pokemon/delibird/back.2bpp.lz.11463d76 +++ /dev/null diff --git a/gfx/pokemon/delibird/front.animated.2bpp.lz.a3126c48 b/gfx/pokemon/delibird/front.animated.2bpp.lz.a3126c48 Binary files differdeleted file mode 100644 index 819e46af0..000000000 --- a/gfx/pokemon/delibird/front.animated.2bpp.lz.a3126c48 +++ /dev/null diff --git a/gfx/pokemon/dewgong/back.2bpp.lz.4e1fef76 b/gfx/pokemon/dewgong/back.2bpp.lz.4e1fef76 Binary files differdeleted file mode 100644 index bc6842e86..000000000 --- a/gfx/pokemon/dewgong/back.2bpp.lz.4e1fef76 +++ /dev/null diff --git a/gfx/pokemon/dewgong/front.animated.2bpp.lz.cc53359c b/gfx/pokemon/dewgong/front.animated.2bpp.lz.cc53359c Binary files differdeleted file mode 100644 index cbb0ace94..000000000 --- a/gfx/pokemon/dewgong/front.animated.2bpp.lz.cc53359c +++ /dev/null diff --git a/gfx/pokemon/diglett/back.2bpp.lz.31d8cacc b/gfx/pokemon/diglett/back.2bpp.lz.31d8cacc Binary files differdeleted file mode 100644 index 05625954c..000000000 --- a/gfx/pokemon/diglett/back.2bpp.lz.31d8cacc +++ /dev/null diff --git a/gfx/pokemon/diglett/front.animated.2bpp.lz.52b0361e b/gfx/pokemon/diglett/front.animated.2bpp.lz.52b0361e Binary files differdeleted file mode 100644 index 5ed5e87ff..000000000 --- a/gfx/pokemon/diglett/front.animated.2bpp.lz.52b0361e +++ /dev/null diff --git a/gfx/pokemon/ditto/back.2bpp.lz.b01a9d91 b/gfx/pokemon/ditto/back.2bpp.lz.b01a9d91 Binary files differdeleted file mode 100644 index ee2a621bf..000000000 --- a/gfx/pokemon/ditto/back.2bpp.lz.b01a9d91 +++ /dev/null diff --git a/gfx/pokemon/ditto/front.animated.2bpp.lz.344c90fd b/gfx/pokemon/ditto/front.animated.2bpp.lz.344c90fd Binary files differdeleted file mode 100644 index ef64bd777..000000000 --- a/gfx/pokemon/ditto/front.animated.2bpp.lz.344c90fd +++ /dev/null diff --git a/gfx/pokemon/dodrio/back.2bpp.lz.a5480e88 b/gfx/pokemon/dodrio/back.2bpp.lz.a5480e88 Binary files differdeleted file mode 100644 index 3b1d80db5..000000000 --- a/gfx/pokemon/dodrio/back.2bpp.lz.a5480e88 +++ /dev/null diff --git a/gfx/pokemon/dodrio/front.animated.2bpp.lz.2aaff569 b/gfx/pokemon/dodrio/front.animated.2bpp.lz.2aaff569 Binary files differdeleted file mode 100644 index 8de65b2de..000000000 --- a/gfx/pokemon/dodrio/front.animated.2bpp.lz.2aaff569 +++ /dev/null diff --git a/gfx/pokemon/doduo/back.2bpp.lz.05a57563 b/gfx/pokemon/doduo/back.2bpp.lz.05a57563 Binary files differdeleted file mode 100644 index 8f204150b..000000000 --- a/gfx/pokemon/doduo/back.2bpp.lz.05a57563 +++ /dev/null diff --git a/gfx/pokemon/doduo/front.animated.2bpp.lz.89c4acbd b/gfx/pokemon/doduo/front.animated.2bpp.lz.89c4acbd Binary files differdeleted file mode 100644 index 11d525427..000000000 --- a/gfx/pokemon/doduo/front.animated.2bpp.lz.89c4acbd +++ /dev/null diff --git a/gfx/pokemon/donphan/back.2bpp.lz.5067b370 b/gfx/pokemon/donphan/back.2bpp.lz.5067b370 Binary files differdeleted file mode 100644 index 4914f03aa..000000000 --- a/gfx/pokemon/donphan/back.2bpp.lz.5067b370 +++ /dev/null diff --git a/gfx/pokemon/donphan/front.animated.2bpp.lz.9e1b7048 b/gfx/pokemon/donphan/front.animated.2bpp.lz.9e1b7048 Binary files differdeleted file mode 100644 index b46d083fc..000000000 --- a/gfx/pokemon/donphan/front.animated.2bpp.lz.9e1b7048 +++ /dev/null diff --git a/gfx/pokemon/dragonair/back.2bpp.lz.9b6fda5b b/gfx/pokemon/dragonair/back.2bpp.lz.9b6fda5b Binary files differdeleted file mode 100644 index 52094c394..000000000 --- a/gfx/pokemon/dragonair/back.2bpp.lz.9b6fda5b +++ /dev/null diff --git a/gfx/pokemon/dragonair/front.animated.2bpp.lz.bb9ee373 b/gfx/pokemon/dragonair/front.animated.2bpp.lz.bb9ee373 Binary files differdeleted file mode 100644 index aad34536f..000000000 --- a/gfx/pokemon/dragonair/front.animated.2bpp.lz.bb9ee373 +++ /dev/null diff --git a/gfx/pokemon/dragonite/back.2bpp.lz.c408806f b/gfx/pokemon/dragonite/back.2bpp.lz.c408806f Binary files differdeleted file mode 100644 index 09a828dd0..000000000 --- a/gfx/pokemon/dragonite/back.2bpp.lz.c408806f +++ /dev/null diff --git a/gfx/pokemon/dragonite/front.animated.2bpp.lz.b914dfd9 b/gfx/pokemon/dragonite/front.animated.2bpp.lz.b914dfd9 Binary files differdeleted file mode 100644 index 730c16739..000000000 --- a/gfx/pokemon/dragonite/front.animated.2bpp.lz.b914dfd9 +++ /dev/null diff --git a/gfx/pokemon/dratini/back.2bpp.lz.be4d6a2a b/gfx/pokemon/dratini/back.2bpp.lz.be4d6a2a Binary files differdeleted file mode 100644 index b40ffcaaf..000000000 --- a/gfx/pokemon/dratini/back.2bpp.lz.be4d6a2a +++ /dev/null diff --git a/gfx/pokemon/dratini/front.animated.2bpp.lz.838e4248 b/gfx/pokemon/dratini/front.animated.2bpp.lz.838e4248 Binary files differdeleted file mode 100644 index b933491b7..000000000 --- a/gfx/pokemon/dratini/front.animated.2bpp.lz.838e4248 +++ /dev/null diff --git a/gfx/pokemon/drowzee/back.2bpp.lz.55367f5a b/gfx/pokemon/drowzee/back.2bpp.lz.55367f5a Binary files differdeleted file mode 100644 index a4218ade7..000000000 --- a/gfx/pokemon/drowzee/back.2bpp.lz.55367f5a +++ /dev/null diff --git a/gfx/pokemon/drowzee/front.animated.2bpp.lz.1f23711a b/gfx/pokemon/drowzee/front.animated.2bpp.lz.1f23711a Binary files differdeleted file mode 100644 index cf3f87571..000000000 --- a/gfx/pokemon/drowzee/front.animated.2bpp.lz.1f23711a +++ /dev/null diff --git a/gfx/pokemon/dugtrio/back.2bpp.lz.e821a89c b/gfx/pokemon/dugtrio/back.2bpp.lz.e821a89c Binary files differdeleted file mode 100644 index 05ad7b1ad..000000000 --- a/gfx/pokemon/dugtrio/back.2bpp.lz.e821a89c +++ /dev/null diff --git a/gfx/pokemon/dugtrio/front.animated.2bpp.lz.5c9e668c b/gfx/pokemon/dugtrio/front.animated.2bpp.lz.5c9e668c Binary files differdeleted file mode 100644 index 7ef2606cd..000000000 --- a/gfx/pokemon/dugtrio/front.animated.2bpp.lz.5c9e668c +++ /dev/null diff --git a/gfx/pokemon/dunsparce/back.2bpp.lz.aee69114 b/gfx/pokemon/dunsparce/back.2bpp.lz.aee69114 Binary files differdeleted file mode 100644 index 1042b07f8..000000000 --- a/gfx/pokemon/dunsparce/back.2bpp.lz.aee69114 +++ /dev/null diff --git a/gfx/pokemon/dunsparce/front.animated.2bpp.lz.04ea863c b/gfx/pokemon/dunsparce/front.animated.2bpp.lz.04ea863c Binary files differdeleted file mode 100644 index 31e9aa319..000000000 --- a/gfx/pokemon/dunsparce/front.animated.2bpp.lz.04ea863c +++ /dev/null diff --git a/gfx/pokemon/eevee/back.2bpp.lz.bc34ce62 b/gfx/pokemon/eevee/back.2bpp.lz.bc34ce62 Binary files differdeleted file mode 100644 index ddd051f3a..000000000 --- a/gfx/pokemon/eevee/back.2bpp.lz.bc34ce62 +++ /dev/null diff --git a/gfx/pokemon/eevee/front.animated.2bpp.lz.04e72b48 b/gfx/pokemon/eevee/front.animated.2bpp.lz.04e72b48 Binary files differdeleted file mode 100644 index aea8d545e..000000000 --- a/gfx/pokemon/eevee/front.animated.2bpp.lz.04e72b48 +++ /dev/null diff --git a/gfx/pokemon/egg/front.animated.2bpp.lz.7b468eff b/gfx/pokemon/egg/front.animated.2bpp.lz.7b468eff Binary files differdeleted file mode 100644 index 47d8b997e..000000000 --- a/gfx/pokemon/egg/front.animated.2bpp.lz.7b468eff +++ /dev/null diff --git a/gfx/pokemon/egg/unused_front.2bpp.lz.a5b6cbfa b/gfx/pokemon/egg/unused_front.2bpp.lz.a5b6cbfa Binary files differdeleted file mode 100644 index d8de54c79..000000000 --- a/gfx/pokemon/egg/unused_front.2bpp.lz.a5b6cbfa +++ /dev/null diff --git a/gfx/pokemon/ekans/back.2bpp.lz.671d14d9 b/gfx/pokemon/ekans/back.2bpp.lz.671d14d9 Binary files differdeleted file mode 100644 index 07785737f..000000000 --- a/gfx/pokemon/ekans/back.2bpp.lz.671d14d9 +++ /dev/null diff --git a/gfx/pokemon/ekans/front.animated.2bpp.lz.018a1c72 b/gfx/pokemon/ekans/front.animated.2bpp.lz.018a1c72 Binary files differdeleted file mode 100644 index efa075fab..000000000 --- a/gfx/pokemon/ekans/front.animated.2bpp.lz.018a1c72 +++ /dev/null diff --git a/gfx/pokemon/electabuzz/back.2bpp.lz.e97330fe b/gfx/pokemon/electabuzz/back.2bpp.lz.e97330fe Binary files differdeleted file mode 100644 index b64bc1ca1..000000000 --- a/gfx/pokemon/electabuzz/back.2bpp.lz.e97330fe +++ /dev/null diff --git a/gfx/pokemon/electabuzz/front.animated.2bpp.lz.381e1c6e b/gfx/pokemon/electabuzz/front.animated.2bpp.lz.381e1c6e Binary files differdeleted file mode 100644 index 645db8d4d..000000000 --- a/gfx/pokemon/electabuzz/front.animated.2bpp.lz.381e1c6e +++ /dev/null diff --git a/gfx/pokemon/electrode/back.2bpp.lz.874e1f1c b/gfx/pokemon/electrode/back.2bpp.lz.874e1f1c Binary files differdeleted file mode 100644 index 9161c8884..000000000 --- a/gfx/pokemon/electrode/back.2bpp.lz.874e1f1c +++ /dev/null diff --git a/gfx/pokemon/electrode/front.animated.2bpp.lz.d7943ad8 b/gfx/pokemon/electrode/front.animated.2bpp.lz.d7943ad8 Binary files differdeleted file mode 100644 index 2d86aa4ac..000000000 --- a/gfx/pokemon/electrode/front.animated.2bpp.lz.d7943ad8 +++ /dev/null diff --git a/gfx/pokemon/elekid/back.2bpp.lz.227a1b23 b/gfx/pokemon/elekid/back.2bpp.lz.227a1b23 Binary files differdeleted file mode 100644 index fd8dd04df..000000000 --- a/gfx/pokemon/elekid/back.2bpp.lz.227a1b23 +++ /dev/null diff --git a/gfx/pokemon/elekid/front.animated.2bpp.lz.3bbb6b61 b/gfx/pokemon/elekid/front.animated.2bpp.lz.3bbb6b61 Binary files differdeleted file mode 100644 index dde6b0e0b..000000000 --- a/gfx/pokemon/elekid/front.animated.2bpp.lz.3bbb6b61 +++ /dev/null diff --git a/gfx/pokemon/entei/back.2bpp.lz.d1e1986a b/gfx/pokemon/entei/back.2bpp.lz.d1e1986a Binary files differdeleted file mode 100644 index 7f2440f51..000000000 --- a/gfx/pokemon/entei/back.2bpp.lz.d1e1986a +++ /dev/null diff --git a/gfx/pokemon/entei/front.animated.2bpp.lz.ebaf8024 b/gfx/pokemon/entei/front.animated.2bpp.lz.ebaf8024 Binary files differdeleted file mode 100644 index bc969fe65..000000000 --- a/gfx/pokemon/entei/front.animated.2bpp.lz.ebaf8024 +++ /dev/null diff --git a/gfx/pokemon/espeon/back.2bpp.lz.0e77f26e b/gfx/pokemon/espeon/back.2bpp.lz.0e77f26e Binary files differdeleted file mode 100644 index 59a69eae1..000000000 --- a/gfx/pokemon/espeon/back.2bpp.lz.0e77f26e +++ /dev/null diff --git a/gfx/pokemon/espeon/front.animated.2bpp.lz.069f57ec b/gfx/pokemon/espeon/front.animated.2bpp.lz.069f57ec Binary files differdeleted file mode 100644 index b7d983e9f..000000000 --- a/gfx/pokemon/espeon/front.animated.2bpp.lz.069f57ec +++ /dev/null diff --git a/gfx/pokemon/exeggcute/back.2bpp.lz.060c38b0 b/gfx/pokemon/exeggcute/back.2bpp.lz.060c38b0 Binary files differdeleted file mode 100644 index 1877fcea1..000000000 --- a/gfx/pokemon/exeggcute/back.2bpp.lz.060c38b0 +++ /dev/null diff --git a/gfx/pokemon/exeggcute/front.animated.2bpp.lz.578a4722 b/gfx/pokemon/exeggcute/front.animated.2bpp.lz.578a4722 Binary files differdeleted file mode 100644 index 9d018e7c4..000000000 --- a/gfx/pokemon/exeggcute/front.animated.2bpp.lz.578a4722 +++ /dev/null diff --git a/gfx/pokemon/exeggutor/back.2bpp.lz.e012643e b/gfx/pokemon/exeggutor/back.2bpp.lz.e012643e Binary files differdeleted file mode 100644 index abf6c97dd..000000000 --- a/gfx/pokemon/exeggutor/back.2bpp.lz.e012643e +++ /dev/null diff --git a/gfx/pokemon/exeggutor/front.animated.2bpp.lz.3915d572 b/gfx/pokemon/exeggutor/front.animated.2bpp.lz.3915d572 Binary files differdeleted file mode 100644 index b4056b175..000000000 --- a/gfx/pokemon/exeggutor/front.animated.2bpp.lz.3915d572 +++ /dev/null diff --git a/gfx/pokemon/farfetch_d/back.2bpp.lz.6f28ebc4 b/gfx/pokemon/farfetch_d/back.2bpp.lz.6f28ebc4 Binary files differdeleted file mode 100644 index 77dd25ae9..000000000 --- a/gfx/pokemon/farfetch_d/back.2bpp.lz.6f28ebc4 +++ /dev/null diff --git a/gfx/pokemon/farfetch_d/front.animated.2bpp.lz.a4ae9393 b/gfx/pokemon/farfetch_d/front.animated.2bpp.lz.a4ae9393 Binary files differdeleted file mode 100644 index d9eeb7489..000000000 --- a/gfx/pokemon/farfetch_d/front.animated.2bpp.lz.a4ae9393 +++ /dev/null diff --git a/gfx/pokemon/fearow/back.2bpp.lz.a7a39118 b/gfx/pokemon/fearow/back.2bpp.lz.a7a39118 Binary files differdeleted file mode 100644 index 641086eaa..000000000 --- a/gfx/pokemon/fearow/back.2bpp.lz.a7a39118 +++ /dev/null diff --git a/gfx/pokemon/fearow/front.animated.2bpp.lz.393b11d6 b/gfx/pokemon/fearow/front.animated.2bpp.lz.393b11d6 Binary files differdeleted file mode 100644 index 4fbf2d47f..000000000 --- a/gfx/pokemon/fearow/front.animated.2bpp.lz.393b11d6 +++ /dev/null diff --git a/gfx/pokemon/feraligatr/back.2bpp.lz.f95abe99 b/gfx/pokemon/feraligatr/back.2bpp.lz.f95abe99 Binary files differdeleted file mode 100644 index 4e180d0f5..000000000 --- a/gfx/pokemon/feraligatr/back.2bpp.lz.f95abe99 +++ /dev/null diff --git a/gfx/pokemon/feraligatr/front.animated.2bpp.lz.fade72cc b/gfx/pokemon/feraligatr/front.animated.2bpp.lz.fade72cc Binary files differdeleted file mode 100644 index cc055e629..000000000 --- a/gfx/pokemon/feraligatr/front.animated.2bpp.lz.fade72cc +++ /dev/null diff --git a/gfx/pokemon/flaaffy/back.2bpp.lz.461855e4 b/gfx/pokemon/flaaffy/back.2bpp.lz.461855e4 Binary files differdeleted file mode 100644 index 5eec3df7a..000000000 --- a/gfx/pokemon/flaaffy/back.2bpp.lz.461855e4 +++ /dev/null diff --git a/gfx/pokemon/flaaffy/front.animated.2bpp.lz.6a27aac3 b/gfx/pokemon/flaaffy/front.animated.2bpp.lz.6a27aac3 Binary files differdeleted file mode 100644 index 673155a7e..000000000 --- a/gfx/pokemon/flaaffy/front.animated.2bpp.lz.6a27aac3 +++ /dev/null diff --git a/gfx/pokemon/flareon/back.2bpp.lz.d58af0e5 b/gfx/pokemon/flareon/back.2bpp.lz.d58af0e5 Binary files differdeleted file mode 100644 index bafc64cd2..000000000 --- a/gfx/pokemon/flareon/back.2bpp.lz.d58af0e5 +++ /dev/null diff --git a/gfx/pokemon/flareon/front.animated.2bpp.lz.7b68c716 b/gfx/pokemon/flareon/front.animated.2bpp.lz.7b68c716 Binary files differdeleted file mode 100644 index d3210b7e3..000000000 --- a/gfx/pokemon/flareon/front.animated.2bpp.lz.7b68c716 +++ /dev/null diff --git a/gfx/pokemon/forretress/back.2bpp.lz.2b8e5f48 b/gfx/pokemon/forretress/back.2bpp.lz.2b8e5f48 Binary files differdeleted file mode 100644 index 1c4b5d69a..000000000 --- a/gfx/pokemon/forretress/back.2bpp.lz.2b8e5f48 +++ /dev/null diff --git a/gfx/pokemon/forretress/front.animated.2bpp.lz.761b9f80 b/gfx/pokemon/forretress/front.animated.2bpp.lz.761b9f80 Binary files differdeleted file mode 100644 index 239e20532..000000000 --- a/gfx/pokemon/forretress/front.animated.2bpp.lz.761b9f80 +++ /dev/null diff --git a/gfx/pokemon/furret/back.2bpp.lz.24792550 b/gfx/pokemon/furret/back.2bpp.lz.24792550 Binary files differdeleted file mode 100644 index 0cbe66f49..000000000 --- a/gfx/pokemon/furret/back.2bpp.lz.24792550 +++ /dev/null diff --git a/gfx/pokemon/furret/front.animated.2bpp.lz.f72a2758 b/gfx/pokemon/furret/front.animated.2bpp.lz.f72a2758 Binary files differdeleted file mode 100644 index afba64f59..000000000 --- a/gfx/pokemon/furret/front.animated.2bpp.lz.f72a2758 +++ /dev/null diff --git a/gfx/pokemon/gastly/back.2bpp.lz.4078fa56 b/gfx/pokemon/gastly/back.2bpp.lz.4078fa56 Binary files differdeleted file mode 100644 index ecb4af90d..000000000 --- a/gfx/pokemon/gastly/back.2bpp.lz.4078fa56 +++ /dev/null diff --git a/gfx/pokemon/gastly/front.animated.2bpp.lz.84148c1e b/gfx/pokemon/gastly/front.animated.2bpp.lz.84148c1e Binary files differdeleted file mode 100644 index f3d99339b..000000000 --- a/gfx/pokemon/gastly/front.animated.2bpp.lz.84148c1e +++ /dev/null diff --git a/gfx/pokemon/gengar/back.2bpp.lz.5237ee63 b/gfx/pokemon/gengar/back.2bpp.lz.5237ee63 Binary files differdeleted file mode 100644 index d1ecca65e..000000000 --- a/gfx/pokemon/gengar/back.2bpp.lz.5237ee63 +++ /dev/null diff --git a/gfx/pokemon/gengar/front.animated.2bpp.lz.65ddc6f5 b/gfx/pokemon/gengar/front.animated.2bpp.lz.65ddc6f5 Binary files differdeleted file mode 100644 index a11754646..000000000 --- a/gfx/pokemon/gengar/front.animated.2bpp.lz.65ddc6f5 +++ /dev/null diff --git a/gfx/pokemon/geodude/back.2bpp.lz.d5aa5e9f b/gfx/pokemon/geodude/back.2bpp.lz.d5aa5e9f Binary files differdeleted file mode 100644 index 443fd327d..000000000 --- a/gfx/pokemon/geodude/back.2bpp.lz.d5aa5e9f +++ /dev/null diff --git a/gfx/pokemon/geodude/front.animated.2bpp.lz.d743f2c9 b/gfx/pokemon/geodude/front.animated.2bpp.lz.d743f2c9 Binary files differdeleted file mode 100644 index 96bd9f794..000000000 --- a/gfx/pokemon/geodude/front.animated.2bpp.lz.d743f2c9 +++ /dev/null diff --git a/gfx/pokemon/girafarig/back.2bpp.lz.5dd68457 b/gfx/pokemon/girafarig/back.2bpp.lz.5dd68457 Binary files differdeleted file mode 100644 index aca23f976..000000000 --- a/gfx/pokemon/girafarig/back.2bpp.lz.5dd68457 +++ /dev/null diff --git a/gfx/pokemon/girafarig/front.animated.2bpp.lz.76d809c4 b/gfx/pokemon/girafarig/front.animated.2bpp.lz.76d809c4 Binary files differdeleted file mode 100644 index 48c9fc94a..000000000 --- a/gfx/pokemon/girafarig/front.animated.2bpp.lz.76d809c4 +++ /dev/null diff --git a/gfx/pokemon/gligar/back.2bpp.lz.ee922122 b/gfx/pokemon/gligar/back.2bpp.lz.ee922122 Binary files differdeleted file mode 100644 index 45b7d9b76..000000000 --- a/gfx/pokemon/gligar/back.2bpp.lz.ee922122 +++ /dev/null diff --git a/gfx/pokemon/gligar/front.animated.2bpp.lz.4dcc41b3 b/gfx/pokemon/gligar/front.animated.2bpp.lz.4dcc41b3 Binary files differdeleted file mode 100644 index 4ef9e5398..000000000 --- a/gfx/pokemon/gligar/front.animated.2bpp.lz.4dcc41b3 +++ /dev/null diff --git a/gfx/pokemon/gloom/back.2bpp.lz.9a321f63 b/gfx/pokemon/gloom/back.2bpp.lz.9a321f63 Binary files differdeleted file mode 100644 index 7d35e2d82..000000000 --- a/gfx/pokemon/gloom/back.2bpp.lz.9a321f63 +++ /dev/null diff --git a/gfx/pokemon/gloom/front.animated.2bpp.lz.c6ef04a5 b/gfx/pokemon/gloom/front.animated.2bpp.lz.c6ef04a5 Binary files differdeleted file mode 100644 index a69e4b76c..000000000 --- a/gfx/pokemon/gloom/front.animated.2bpp.lz.c6ef04a5 +++ /dev/null diff --git a/gfx/pokemon/golbat/back.2bpp.lz.e277e260 b/gfx/pokemon/golbat/back.2bpp.lz.e277e260 Binary files differdeleted file mode 100644 index e2bd0c367..000000000 --- a/gfx/pokemon/golbat/back.2bpp.lz.e277e260 +++ /dev/null diff --git a/gfx/pokemon/golbat/front.animated.2bpp.lz.c35ffe9b b/gfx/pokemon/golbat/front.animated.2bpp.lz.c35ffe9b Binary files differdeleted file mode 100644 index 94f7d8216..000000000 --- a/gfx/pokemon/golbat/front.animated.2bpp.lz.c35ffe9b +++ /dev/null diff --git a/gfx/pokemon/goldeen/back.2bpp.lz.d0e5751e b/gfx/pokemon/goldeen/back.2bpp.lz.d0e5751e Binary files differdeleted file mode 100644 index 5d00534ec..000000000 --- a/gfx/pokemon/goldeen/back.2bpp.lz.d0e5751e +++ /dev/null diff --git a/gfx/pokemon/goldeen/front.animated.2bpp.lz.c451a8c4 b/gfx/pokemon/goldeen/front.animated.2bpp.lz.c451a8c4 Binary files differdeleted file mode 100644 index f0090e94e..000000000 --- a/gfx/pokemon/goldeen/front.animated.2bpp.lz.c451a8c4 +++ /dev/null diff --git a/gfx/pokemon/golduck/back.2bpp.lz.2d022642 b/gfx/pokemon/golduck/back.2bpp.lz.2d022642 Binary files differdeleted file mode 100644 index 13807b9e9..000000000 --- a/gfx/pokemon/golduck/back.2bpp.lz.2d022642 +++ /dev/null diff --git a/gfx/pokemon/golduck/front.animated.2bpp.lz.09e97414 b/gfx/pokemon/golduck/front.animated.2bpp.lz.09e97414 Binary files differdeleted file mode 100644 index ff3fa6792..000000000 --- a/gfx/pokemon/golduck/front.animated.2bpp.lz.09e97414 +++ /dev/null diff --git a/gfx/pokemon/golem/back.2bpp.lz.ae903dee b/gfx/pokemon/golem/back.2bpp.lz.ae903dee Binary files differdeleted file mode 100644 index fd1ee3dcb..000000000 --- a/gfx/pokemon/golem/back.2bpp.lz.ae903dee +++ /dev/null diff --git a/gfx/pokemon/golem/front.animated.2bpp.lz.a16f21c8 b/gfx/pokemon/golem/front.animated.2bpp.lz.a16f21c8 Binary files differdeleted file mode 100644 index 0a7bf3369..000000000 --- a/gfx/pokemon/golem/front.animated.2bpp.lz.a16f21c8 +++ /dev/null diff --git a/gfx/pokemon/granbull/back.2bpp.lz.7f1208ed b/gfx/pokemon/granbull/back.2bpp.lz.7f1208ed Binary files differdeleted file mode 100644 index f09d4e7dc..000000000 --- a/gfx/pokemon/granbull/back.2bpp.lz.7f1208ed +++ /dev/null diff --git a/gfx/pokemon/granbull/front.animated.2bpp.lz.4504768b b/gfx/pokemon/granbull/front.animated.2bpp.lz.4504768b Binary files differdeleted file mode 100644 index 94062ce3f..000000000 --- a/gfx/pokemon/granbull/front.animated.2bpp.lz.4504768b +++ /dev/null diff --git a/gfx/pokemon/graveler/back.2bpp.lz.c7867de7 b/gfx/pokemon/graveler/back.2bpp.lz.c7867de7 Binary files differdeleted file mode 100644 index ba2fba8e6..000000000 --- a/gfx/pokemon/graveler/back.2bpp.lz.c7867de7 +++ /dev/null diff --git a/gfx/pokemon/graveler/front.animated.2bpp.lz.68d07c61 b/gfx/pokemon/graveler/front.animated.2bpp.lz.68d07c61 Binary files differdeleted file mode 100644 index 5dcee6436..000000000 --- a/gfx/pokemon/graveler/front.animated.2bpp.lz.68d07c61 +++ /dev/null diff --git a/gfx/pokemon/grimer/back.2bpp.lz.833bd626 b/gfx/pokemon/grimer/back.2bpp.lz.833bd626 Binary files differdeleted file mode 100644 index d4494a003..000000000 --- a/gfx/pokemon/grimer/back.2bpp.lz.833bd626 +++ /dev/null diff --git a/gfx/pokemon/grimer/front.animated.2bpp.lz.dfe40e91 b/gfx/pokemon/grimer/front.animated.2bpp.lz.dfe40e91 Binary files differdeleted file mode 100644 index 176f2da1c..000000000 --- a/gfx/pokemon/grimer/front.animated.2bpp.lz.dfe40e91 +++ /dev/null diff --git a/gfx/pokemon/growlithe/back.2bpp.lz.7f5831f6 b/gfx/pokemon/growlithe/back.2bpp.lz.7f5831f6 Binary files differdeleted file mode 100644 index 222250f79..000000000 --- a/gfx/pokemon/growlithe/back.2bpp.lz.7f5831f6 +++ /dev/null diff --git a/gfx/pokemon/growlithe/front.animated.2bpp.lz.f7b376fa b/gfx/pokemon/growlithe/front.animated.2bpp.lz.f7b376fa Binary files differdeleted file mode 100644 index a01b4f1fc..000000000 --- a/gfx/pokemon/growlithe/front.animated.2bpp.lz.f7b376fa +++ /dev/null diff --git a/gfx/pokemon/gyarados/back.2bpp.lz.fc577f9e b/gfx/pokemon/gyarados/back.2bpp.lz.fc577f9e Binary files differdeleted file mode 100644 index d061ec9b2..000000000 --- a/gfx/pokemon/gyarados/back.2bpp.lz.fc577f9e +++ /dev/null diff --git a/gfx/pokemon/gyarados/front.animated.2bpp.lz.1b498e2b b/gfx/pokemon/gyarados/front.animated.2bpp.lz.1b498e2b Binary files differdeleted file mode 100644 index 4d66d5814..000000000 --- a/gfx/pokemon/gyarados/front.animated.2bpp.lz.1b498e2b +++ /dev/null diff --git a/gfx/pokemon/haunter/back.2bpp.lz.8a5dc2c1 b/gfx/pokemon/haunter/back.2bpp.lz.8a5dc2c1 Binary files differdeleted file mode 100644 index 660c0408b..000000000 --- a/gfx/pokemon/haunter/back.2bpp.lz.8a5dc2c1 +++ /dev/null diff --git a/gfx/pokemon/haunter/front.animated.2bpp.lz.aeed5f7e b/gfx/pokemon/haunter/front.animated.2bpp.lz.aeed5f7e Binary files differdeleted file mode 100644 index 6bb6ab582..000000000 --- a/gfx/pokemon/haunter/front.animated.2bpp.lz.aeed5f7e +++ /dev/null diff --git a/gfx/pokemon/heracross/back.2bpp.lz.ba09608b b/gfx/pokemon/heracross/back.2bpp.lz.ba09608b Binary files differdeleted file mode 100644 index da4d40981..000000000 --- a/gfx/pokemon/heracross/back.2bpp.lz.ba09608b +++ /dev/null diff --git a/gfx/pokemon/heracross/front.animated.2bpp.lz.0742fe2b b/gfx/pokemon/heracross/front.animated.2bpp.lz.0742fe2b Binary files differdeleted file mode 100644 index ad23e01d1..000000000 --- a/gfx/pokemon/heracross/front.animated.2bpp.lz.0742fe2b +++ /dev/null diff --git a/gfx/pokemon/hitmonchan/back.2bpp.lz.68e28b98 b/gfx/pokemon/hitmonchan/back.2bpp.lz.68e28b98 Binary files differdeleted file mode 100644 index f785248c1..000000000 --- a/gfx/pokemon/hitmonchan/back.2bpp.lz.68e28b98 +++ /dev/null diff --git a/gfx/pokemon/hitmonchan/front.animated.2bpp.lz.61836c4c b/gfx/pokemon/hitmonchan/front.animated.2bpp.lz.61836c4c Binary files differdeleted file mode 100644 index e9a77e987..000000000 --- a/gfx/pokemon/hitmonchan/front.animated.2bpp.lz.61836c4c +++ /dev/null diff --git a/gfx/pokemon/hitmonlee/back.2bpp.lz.374e3caa b/gfx/pokemon/hitmonlee/back.2bpp.lz.374e3caa Binary files differdeleted file mode 100644 index 4847a1496..000000000 --- a/gfx/pokemon/hitmonlee/back.2bpp.lz.374e3caa +++ /dev/null diff --git a/gfx/pokemon/hitmonlee/front.animated.2bpp.lz.d174eba1 b/gfx/pokemon/hitmonlee/front.animated.2bpp.lz.d174eba1 Binary files differdeleted file mode 100644 index c85ec5817..000000000 --- a/gfx/pokemon/hitmonlee/front.animated.2bpp.lz.d174eba1 +++ /dev/null diff --git a/gfx/pokemon/hitmontop/back.2bpp.lz.ea3f1576 b/gfx/pokemon/hitmontop/back.2bpp.lz.ea3f1576 Binary files differdeleted file mode 100644 index 185f08aff..000000000 --- a/gfx/pokemon/hitmontop/back.2bpp.lz.ea3f1576 +++ /dev/null diff --git a/gfx/pokemon/hitmontop/front.animated.2bpp.lz.1b3e96fc b/gfx/pokemon/hitmontop/front.animated.2bpp.lz.1b3e96fc Binary files differdeleted file mode 100644 index d28913fcf..000000000 --- a/gfx/pokemon/hitmontop/front.animated.2bpp.lz.1b3e96fc +++ /dev/null diff --git a/gfx/pokemon/ho_oh/back.2bpp.lz.1412f260 b/gfx/pokemon/ho_oh/back.2bpp.lz.1412f260 Binary files differdeleted file mode 100644 index 1d58cf8ac..000000000 --- a/gfx/pokemon/ho_oh/back.2bpp.lz.1412f260 +++ /dev/null diff --git a/gfx/pokemon/ho_oh/front.animated.2bpp.lz.db80b5eb b/gfx/pokemon/ho_oh/front.animated.2bpp.lz.db80b5eb Binary files differdeleted file mode 100644 index 40c91739e..000000000 --- a/gfx/pokemon/ho_oh/front.animated.2bpp.lz.db80b5eb +++ /dev/null diff --git a/gfx/pokemon/hoothoot/back.2bpp.lz.7ebb0b29 b/gfx/pokemon/hoothoot/back.2bpp.lz.7ebb0b29 Binary files differdeleted file mode 100644 index e4ca2f37f..000000000 --- a/gfx/pokemon/hoothoot/back.2bpp.lz.7ebb0b29 +++ /dev/null diff --git a/gfx/pokemon/hoothoot/front.animated.2bpp.lz.752ab202 b/gfx/pokemon/hoothoot/front.animated.2bpp.lz.752ab202 Binary files differdeleted file mode 100644 index 6abcd37fc..000000000 --- a/gfx/pokemon/hoothoot/front.animated.2bpp.lz.752ab202 +++ /dev/null diff --git a/gfx/pokemon/hoppip/back.2bpp.lz.5684c023 b/gfx/pokemon/hoppip/back.2bpp.lz.5684c023 Binary files differdeleted file mode 100644 index c5439118e..000000000 --- a/gfx/pokemon/hoppip/back.2bpp.lz.5684c023 +++ /dev/null diff --git a/gfx/pokemon/hoppip/front.animated.2bpp.lz.a03efe74 b/gfx/pokemon/hoppip/front.animated.2bpp.lz.a03efe74 Binary files differdeleted file mode 100644 index 4387e2886..000000000 --- a/gfx/pokemon/hoppip/front.animated.2bpp.lz.a03efe74 +++ /dev/null diff --git a/gfx/pokemon/horsea/back.2bpp.lz.50b6afb9 b/gfx/pokemon/horsea/back.2bpp.lz.50b6afb9 Binary files differdeleted file mode 100644 index ae6a2ecab..000000000 --- a/gfx/pokemon/horsea/back.2bpp.lz.50b6afb9 +++ /dev/null diff --git a/gfx/pokemon/horsea/front.animated.2bpp.lz.8b84f98e b/gfx/pokemon/horsea/front.animated.2bpp.lz.8b84f98e Binary files differdeleted file mode 100644 index 7db08094b..000000000 --- a/gfx/pokemon/horsea/front.animated.2bpp.lz.8b84f98e +++ /dev/null diff --git a/gfx/pokemon/houndoom/back.2bpp.lz.5fa55a47 b/gfx/pokemon/houndoom/back.2bpp.lz.5fa55a47 Binary files differdeleted file mode 100644 index 5b7b72ffc..000000000 --- a/gfx/pokemon/houndoom/back.2bpp.lz.5fa55a47 +++ /dev/null diff --git a/gfx/pokemon/houndoom/front.animated.2bpp.lz.2d450e90 b/gfx/pokemon/houndoom/front.animated.2bpp.lz.2d450e90 Binary files differdeleted file mode 100644 index c2ce34ee3..000000000 --- a/gfx/pokemon/houndoom/front.animated.2bpp.lz.2d450e90 +++ /dev/null diff --git a/gfx/pokemon/houndour/back.2bpp.lz.ae5f2dc9 b/gfx/pokemon/houndour/back.2bpp.lz.ae5f2dc9 Binary files differdeleted file mode 100644 index fe3584bd1..000000000 --- a/gfx/pokemon/houndour/back.2bpp.lz.ae5f2dc9 +++ /dev/null diff --git a/gfx/pokemon/houndour/front.animated.2bpp.lz.f847f4f6 b/gfx/pokemon/houndour/front.animated.2bpp.lz.f847f4f6 Binary files differdeleted file mode 100644 index 786c0f9a4..000000000 --- a/gfx/pokemon/houndour/front.animated.2bpp.lz.f847f4f6 +++ /dev/null diff --git a/gfx/pokemon/hypno/back.2bpp.lz.c091ce88 b/gfx/pokemon/hypno/back.2bpp.lz.c091ce88 Binary files differdeleted file mode 100644 index b69fcadf7..000000000 --- a/gfx/pokemon/hypno/back.2bpp.lz.c091ce88 +++ /dev/null diff --git a/gfx/pokemon/hypno/front.animated.2bpp.lz.638333a3 b/gfx/pokemon/hypno/front.animated.2bpp.lz.638333a3 Binary files differdeleted file mode 100644 index ca6ec0608..000000000 --- a/gfx/pokemon/hypno/front.animated.2bpp.lz.638333a3 +++ /dev/null diff --git a/gfx/pokemon/igglybuff/back.2bpp.lz.c0c17dcb b/gfx/pokemon/igglybuff/back.2bpp.lz.c0c17dcb Binary files differdeleted file mode 100644 index b416af3f0..000000000 --- a/gfx/pokemon/igglybuff/back.2bpp.lz.c0c17dcb +++ /dev/null diff --git a/gfx/pokemon/igglybuff/front.animated.2bpp.lz.1e00afc3 b/gfx/pokemon/igglybuff/front.animated.2bpp.lz.1e00afc3 Binary files differdeleted file mode 100644 index 1c4bbefa0..000000000 --- a/gfx/pokemon/igglybuff/front.animated.2bpp.lz.1e00afc3 +++ /dev/null diff --git a/gfx/pokemon/ivysaur/back.2bpp.lz.bed1ff58 b/gfx/pokemon/ivysaur/back.2bpp.lz.bed1ff58 Binary files differdeleted file mode 100644 index 34557d9dd..000000000 --- a/gfx/pokemon/ivysaur/back.2bpp.lz.bed1ff58 +++ /dev/null diff --git a/gfx/pokemon/ivysaur/front.animated.2bpp.lz.3abed0fa b/gfx/pokemon/ivysaur/front.animated.2bpp.lz.3abed0fa Binary files differdeleted file mode 100644 index 7b9c8f9d9..000000000 --- a/gfx/pokemon/ivysaur/front.animated.2bpp.lz.3abed0fa +++ /dev/null diff --git a/gfx/pokemon/jigglypuff/back.2bpp.lz.87d5730b b/gfx/pokemon/jigglypuff/back.2bpp.lz.87d5730b Binary files differdeleted file mode 100644 index e551afaf6..000000000 --- a/gfx/pokemon/jigglypuff/back.2bpp.lz.87d5730b +++ /dev/null diff --git a/gfx/pokemon/jigglypuff/front.animated.2bpp.lz.9fd159f4 b/gfx/pokemon/jigglypuff/front.animated.2bpp.lz.9fd159f4 Binary files differdeleted file mode 100644 index 4367e41d8..000000000 --- a/gfx/pokemon/jigglypuff/front.animated.2bpp.lz.9fd159f4 +++ /dev/null diff --git a/gfx/pokemon/jolteon/back.2bpp.lz.f248aac4 b/gfx/pokemon/jolteon/back.2bpp.lz.f248aac4 Binary files differdeleted file mode 100644 index e95f893ce..000000000 --- a/gfx/pokemon/jolteon/back.2bpp.lz.f248aac4 +++ /dev/null diff --git a/gfx/pokemon/jolteon/front.animated.2bpp.lz.b2b07d79 b/gfx/pokemon/jolteon/front.animated.2bpp.lz.b2b07d79 Binary files differdeleted file mode 100644 index 32d271390..000000000 --- a/gfx/pokemon/jolteon/front.animated.2bpp.lz.b2b07d79 +++ /dev/null diff --git a/gfx/pokemon/jumpluff/back.2bpp.lz.b258a699 b/gfx/pokemon/jumpluff/back.2bpp.lz.b258a699 Binary files differdeleted file mode 100644 index 57ae8b890..000000000 --- a/gfx/pokemon/jumpluff/back.2bpp.lz.b258a699 +++ /dev/null diff --git a/gfx/pokemon/jumpluff/front.animated.2bpp.lz.6d1d8175 b/gfx/pokemon/jumpluff/front.animated.2bpp.lz.6d1d8175 Binary files differdeleted file mode 100644 index c3570ed09..000000000 --- a/gfx/pokemon/jumpluff/front.animated.2bpp.lz.6d1d8175 +++ /dev/null diff --git a/gfx/pokemon/jynx/back.2bpp.lz.1eef1c1b b/gfx/pokemon/jynx/back.2bpp.lz.1eef1c1b Binary files differdeleted file mode 100644 index 4642ecda7..000000000 --- a/gfx/pokemon/jynx/back.2bpp.lz.1eef1c1b +++ /dev/null diff --git a/gfx/pokemon/jynx/front.animated.2bpp.lz.6aaf67b0 b/gfx/pokemon/jynx/front.animated.2bpp.lz.6aaf67b0 Binary files differdeleted file mode 100644 index 78a436494..000000000 --- a/gfx/pokemon/jynx/front.animated.2bpp.lz.6aaf67b0 +++ /dev/null diff --git a/gfx/pokemon/kabuto/back.2bpp.lz.0717a29b b/gfx/pokemon/kabuto/back.2bpp.lz.0717a29b Binary files differdeleted file mode 100644 index 61390a32e..000000000 --- a/gfx/pokemon/kabuto/back.2bpp.lz.0717a29b +++ /dev/null diff --git a/gfx/pokemon/kabuto/front.animated.2bpp.lz.afe4e2dc b/gfx/pokemon/kabuto/front.animated.2bpp.lz.afe4e2dc Binary files differdeleted file mode 100644 index 24a9376c8..000000000 --- a/gfx/pokemon/kabuto/front.animated.2bpp.lz.afe4e2dc +++ /dev/null diff --git a/gfx/pokemon/kabutops/back.2bpp.lz.98a1dfc4 b/gfx/pokemon/kabutops/back.2bpp.lz.98a1dfc4 Binary files differdeleted file mode 100644 index 507c10e2f..000000000 --- a/gfx/pokemon/kabutops/back.2bpp.lz.98a1dfc4 +++ /dev/null diff --git a/gfx/pokemon/kabutops/front.animated.2bpp.lz.d5e4bfeb b/gfx/pokemon/kabutops/front.animated.2bpp.lz.d5e4bfeb Binary files differdeleted file mode 100644 index 38d21fa16..000000000 --- a/gfx/pokemon/kabutops/front.animated.2bpp.lz.d5e4bfeb +++ /dev/null diff --git a/gfx/pokemon/kadabra/back.2bpp.lz.6b26c1a0 b/gfx/pokemon/kadabra/back.2bpp.lz.6b26c1a0 Binary files differdeleted file mode 100644 index 0092147d7..000000000 --- a/gfx/pokemon/kadabra/back.2bpp.lz.6b26c1a0 +++ /dev/null diff --git a/gfx/pokemon/kadabra/front.animated.2bpp.lz.bc78f9cf b/gfx/pokemon/kadabra/front.animated.2bpp.lz.bc78f9cf Binary files differdeleted file mode 100644 index 54f47795d..000000000 --- a/gfx/pokemon/kadabra/front.animated.2bpp.lz.bc78f9cf +++ /dev/null diff --git a/gfx/pokemon/kakuna/back.2bpp.lz.3bffa4c3 b/gfx/pokemon/kakuna/back.2bpp.lz.3bffa4c3 Binary files differdeleted file mode 100644 index b369857d5..000000000 --- a/gfx/pokemon/kakuna/back.2bpp.lz.3bffa4c3 +++ /dev/null diff --git a/gfx/pokemon/kakuna/front.animated.2bpp.lz.c7425e72 b/gfx/pokemon/kakuna/front.animated.2bpp.lz.c7425e72 Binary files differdeleted file mode 100644 index 2f2431edf..000000000 --- a/gfx/pokemon/kakuna/front.animated.2bpp.lz.c7425e72 +++ /dev/null diff --git a/gfx/pokemon/kangaskhan/back.2bpp.lz.0d7cc337 b/gfx/pokemon/kangaskhan/back.2bpp.lz.0d7cc337 Binary files differdeleted file mode 100644 index c7ff00272..000000000 --- a/gfx/pokemon/kangaskhan/back.2bpp.lz.0d7cc337 +++ /dev/null diff --git a/gfx/pokemon/kangaskhan/front.animated.2bpp.lz.09c81009 b/gfx/pokemon/kangaskhan/front.animated.2bpp.lz.09c81009 Binary files differdeleted file mode 100644 index 1ec58169d..000000000 --- a/gfx/pokemon/kangaskhan/front.animated.2bpp.lz.09c81009 +++ /dev/null diff --git a/gfx/pokemon/kingdra/back.2bpp.lz.e48ecb3f b/gfx/pokemon/kingdra/back.2bpp.lz.e48ecb3f Binary files differdeleted file mode 100644 index 9f2c38b6c..000000000 --- a/gfx/pokemon/kingdra/back.2bpp.lz.e48ecb3f +++ /dev/null diff --git a/gfx/pokemon/kingdra/front.animated.2bpp.lz.668c0516 b/gfx/pokemon/kingdra/front.animated.2bpp.lz.668c0516 Binary files differdeleted file mode 100644 index d28a4dc78..000000000 --- a/gfx/pokemon/kingdra/front.animated.2bpp.lz.668c0516 +++ /dev/null diff --git a/gfx/pokemon/kingler/back.2bpp.lz.88e96d65 b/gfx/pokemon/kingler/back.2bpp.lz.88e96d65 Binary files differdeleted file mode 100644 index aceed0679..000000000 --- a/gfx/pokemon/kingler/back.2bpp.lz.88e96d65 +++ /dev/null diff --git a/gfx/pokemon/kingler/front.animated.2bpp.lz.35305199 b/gfx/pokemon/kingler/front.animated.2bpp.lz.35305199 Binary files differdeleted file mode 100644 index 590bd05ee..000000000 --- a/gfx/pokemon/kingler/front.animated.2bpp.lz.35305199 +++ /dev/null diff --git a/gfx/pokemon/koffing/back.2bpp.lz.8c0a2526 b/gfx/pokemon/koffing/back.2bpp.lz.8c0a2526 Binary files differdeleted file mode 100644 index 2e8762565..000000000 --- a/gfx/pokemon/koffing/back.2bpp.lz.8c0a2526 +++ /dev/null diff --git a/gfx/pokemon/koffing/front.animated.2bpp.lz.00044b3f b/gfx/pokemon/koffing/front.animated.2bpp.lz.00044b3f Binary files differdeleted file mode 100644 index 78de37eeb..000000000 --- a/gfx/pokemon/koffing/front.animated.2bpp.lz.00044b3f +++ /dev/null diff --git a/gfx/pokemon/krabby/back.2bpp.lz.2bc2487b b/gfx/pokemon/krabby/back.2bpp.lz.2bc2487b Binary files differdeleted file mode 100644 index 5954b413d..000000000 --- a/gfx/pokemon/krabby/back.2bpp.lz.2bc2487b +++ /dev/null diff --git a/gfx/pokemon/krabby/front.animated.2bpp.lz.39592514 b/gfx/pokemon/krabby/front.animated.2bpp.lz.39592514 Binary files differdeleted file mode 100644 index c0f968fa5..000000000 --- a/gfx/pokemon/krabby/front.animated.2bpp.lz.39592514 +++ /dev/null diff --git a/gfx/pokemon/lanturn/back.2bpp.lz.8e9c7c1a b/gfx/pokemon/lanturn/back.2bpp.lz.8e9c7c1a Binary files differdeleted file mode 100644 index ea916b7ea..000000000 --- a/gfx/pokemon/lanturn/back.2bpp.lz.8e9c7c1a +++ /dev/null diff --git a/gfx/pokemon/lanturn/front.animated.2bpp.lz.1bfac161 b/gfx/pokemon/lanturn/front.animated.2bpp.lz.1bfac161 Binary files differdeleted file mode 100644 index ba57a1569..000000000 --- a/gfx/pokemon/lanturn/front.animated.2bpp.lz.1bfac161 +++ /dev/null diff --git a/gfx/pokemon/lapras/back.2bpp.lz.d09351a1 b/gfx/pokemon/lapras/back.2bpp.lz.d09351a1 Binary files differdeleted file mode 100644 index 00f6b4329..000000000 --- a/gfx/pokemon/lapras/back.2bpp.lz.d09351a1 +++ /dev/null diff --git a/gfx/pokemon/lapras/front.animated.2bpp.lz.8290ef8e b/gfx/pokemon/lapras/front.animated.2bpp.lz.8290ef8e Binary files differdeleted file mode 100644 index 0c20fc0be..000000000 --- a/gfx/pokemon/lapras/front.animated.2bpp.lz.8290ef8e +++ /dev/null diff --git a/gfx/pokemon/larvitar/back.2bpp.lz.4b2ac395 b/gfx/pokemon/larvitar/back.2bpp.lz.4b2ac395 Binary files differdeleted file mode 100644 index b4122419b..000000000 --- a/gfx/pokemon/larvitar/back.2bpp.lz.4b2ac395 +++ /dev/null diff --git a/gfx/pokemon/larvitar/front.animated.2bpp.lz.83859c57 b/gfx/pokemon/larvitar/front.animated.2bpp.lz.83859c57 Binary files differdeleted file mode 100644 index deba5d5a2..000000000 --- a/gfx/pokemon/larvitar/front.animated.2bpp.lz.83859c57 +++ /dev/null diff --git a/gfx/pokemon/ledian/back.2bpp.lz.48657bbb b/gfx/pokemon/ledian/back.2bpp.lz.48657bbb Binary files differdeleted file mode 100644 index eb996b4e3..000000000 --- a/gfx/pokemon/ledian/back.2bpp.lz.48657bbb +++ /dev/null diff --git a/gfx/pokemon/ledian/front.animated.2bpp.lz.83e819c3 b/gfx/pokemon/ledian/front.animated.2bpp.lz.83e819c3 Binary files differdeleted file mode 100644 index 117d19c14..000000000 --- a/gfx/pokemon/ledian/front.animated.2bpp.lz.83e819c3 +++ /dev/null diff --git a/gfx/pokemon/ledyba/back.2bpp.lz.d50e8860 b/gfx/pokemon/ledyba/back.2bpp.lz.d50e8860 Binary files differdeleted file mode 100644 index 728f4dedb..000000000 --- a/gfx/pokemon/ledyba/back.2bpp.lz.d50e8860 +++ /dev/null diff --git a/gfx/pokemon/ledyba/front.animated.2bpp.lz.1700dc27 b/gfx/pokemon/ledyba/front.animated.2bpp.lz.1700dc27 Binary files differdeleted file mode 100644 index fc15ab1ba..000000000 --- a/gfx/pokemon/ledyba/front.animated.2bpp.lz.1700dc27 +++ /dev/null diff --git a/gfx/pokemon/lickitung/back.2bpp.lz.a127e40b b/gfx/pokemon/lickitung/back.2bpp.lz.a127e40b Binary files differdeleted file mode 100644 index 85764655a..000000000 --- a/gfx/pokemon/lickitung/back.2bpp.lz.a127e40b +++ /dev/null diff --git a/gfx/pokemon/lickitung/front.animated.2bpp.lz.328a7c53 b/gfx/pokemon/lickitung/front.animated.2bpp.lz.328a7c53 Binary files differdeleted file mode 100644 index f7e2f4f43..000000000 --- a/gfx/pokemon/lickitung/front.animated.2bpp.lz.328a7c53 +++ /dev/null diff --git a/gfx/pokemon/lugia/back.2bpp.lz.ad953eb5 b/gfx/pokemon/lugia/back.2bpp.lz.ad953eb5 Binary files differdeleted file mode 100644 index 8f7134e13..000000000 --- a/gfx/pokemon/lugia/back.2bpp.lz.ad953eb5 +++ /dev/null diff --git a/gfx/pokemon/lugia/front.animated.2bpp.lz.7293eddc b/gfx/pokemon/lugia/front.animated.2bpp.lz.7293eddc Binary files differdeleted file mode 100644 index b1b300304..000000000 --- a/gfx/pokemon/lugia/front.animated.2bpp.lz.7293eddc +++ /dev/null diff --git a/gfx/pokemon/machamp/back.2bpp.lz.757f4c29 b/gfx/pokemon/machamp/back.2bpp.lz.757f4c29 Binary files differdeleted file mode 100644 index b82d09cce..000000000 --- a/gfx/pokemon/machamp/back.2bpp.lz.757f4c29 +++ /dev/null diff --git a/gfx/pokemon/machamp/front.animated.2bpp.lz.2d408542 b/gfx/pokemon/machamp/front.animated.2bpp.lz.2d408542 Binary files differdeleted file mode 100644 index aa1b12edb..000000000 --- a/gfx/pokemon/machamp/front.animated.2bpp.lz.2d408542 +++ /dev/null diff --git a/gfx/pokemon/machoke/back.2bpp.lz.2634245e b/gfx/pokemon/machoke/back.2bpp.lz.2634245e Binary files differdeleted file mode 100644 index e6a0015ed..000000000 --- a/gfx/pokemon/machoke/back.2bpp.lz.2634245e +++ /dev/null diff --git a/gfx/pokemon/machoke/front.animated.2bpp.lz.f38b95a7 b/gfx/pokemon/machoke/front.animated.2bpp.lz.f38b95a7 Binary files differdeleted file mode 100644 index 984f1601f..000000000 --- a/gfx/pokemon/machoke/front.animated.2bpp.lz.f38b95a7 +++ /dev/null diff --git a/gfx/pokemon/machop/back.2bpp.lz.bc17b50a b/gfx/pokemon/machop/back.2bpp.lz.bc17b50a Binary files differdeleted file mode 100644 index 96e6d00c6..000000000 --- a/gfx/pokemon/machop/back.2bpp.lz.bc17b50a +++ /dev/null diff --git a/gfx/pokemon/machop/front.animated.2bpp.lz.0fd8735f b/gfx/pokemon/machop/front.animated.2bpp.lz.0fd8735f Binary files differdeleted file mode 100644 index 3b5404276..000000000 --- a/gfx/pokemon/machop/front.animated.2bpp.lz.0fd8735f +++ /dev/null diff --git a/gfx/pokemon/magby/back.2bpp.lz.e50ccadb b/gfx/pokemon/magby/back.2bpp.lz.e50ccadb Binary files differdeleted file mode 100644 index 8746c640e..000000000 --- a/gfx/pokemon/magby/back.2bpp.lz.e50ccadb +++ /dev/null diff --git a/gfx/pokemon/magby/front.animated.2bpp.lz.172d0807 b/gfx/pokemon/magby/front.animated.2bpp.lz.172d0807 Binary files differdeleted file mode 100644 index b4eac5040..000000000 --- a/gfx/pokemon/magby/front.animated.2bpp.lz.172d0807 +++ /dev/null diff --git a/gfx/pokemon/magcargo/back.2bpp.lz.56b096bc b/gfx/pokemon/magcargo/back.2bpp.lz.56b096bc Binary files differdeleted file mode 100644 index 5cafe687a..000000000 --- a/gfx/pokemon/magcargo/back.2bpp.lz.56b096bc +++ /dev/null diff --git a/gfx/pokemon/magcargo/front.animated.2bpp.lz.53a425f4 b/gfx/pokemon/magcargo/front.animated.2bpp.lz.53a425f4 Binary files differdeleted file mode 100644 index 8b2cda00e..000000000 --- a/gfx/pokemon/magcargo/front.animated.2bpp.lz.53a425f4 +++ /dev/null diff --git a/gfx/pokemon/magikarp/back.2bpp.lz.7f25810a b/gfx/pokemon/magikarp/back.2bpp.lz.7f25810a Binary files differdeleted file mode 100644 index 17100a9c5..000000000 --- a/gfx/pokemon/magikarp/back.2bpp.lz.7f25810a +++ /dev/null diff --git a/gfx/pokemon/magikarp/front.animated.2bpp.lz.031ee449 b/gfx/pokemon/magikarp/front.animated.2bpp.lz.031ee449 Binary files differdeleted file mode 100644 index 3ec963c7f..000000000 --- a/gfx/pokemon/magikarp/front.animated.2bpp.lz.031ee449 +++ /dev/null diff --git a/gfx/pokemon/magmar/back.2bpp.lz.6916c87b b/gfx/pokemon/magmar/back.2bpp.lz.6916c87b Binary files differdeleted file mode 100644 index 9b44bab34..000000000 --- a/gfx/pokemon/magmar/back.2bpp.lz.6916c87b +++ /dev/null diff --git a/gfx/pokemon/magmar/front.animated.2bpp.lz.0048e21c b/gfx/pokemon/magmar/front.animated.2bpp.lz.0048e21c Binary files differdeleted file mode 100644 index 178afc45f..000000000 --- a/gfx/pokemon/magmar/front.animated.2bpp.lz.0048e21c +++ /dev/null diff --git a/gfx/pokemon/magnemite/back.2bpp.lz.e00bd515 b/gfx/pokemon/magnemite/back.2bpp.lz.e00bd515 Binary files differdeleted file mode 100644 index f5cb4f801..000000000 --- a/gfx/pokemon/magnemite/back.2bpp.lz.e00bd515 +++ /dev/null diff --git a/gfx/pokemon/magnemite/front.animated.2bpp.lz.e4b07135 b/gfx/pokemon/magnemite/front.animated.2bpp.lz.e4b07135 Binary files differdeleted file mode 100644 index fb221be89..000000000 --- a/gfx/pokemon/magnemite/front.animated.2bpp.lz.e4b07135 +++ /dev/null diff --git a/gfx/pokemon/magneton/back.2bpp.lz.f7a7089b b/gfx/pokemon/magneton/back.2bpp.lz.f7a7089b Binary files differdeleted file mode 100644 index c029f8cef..000000000 --- a/gfx/pokemon/magneton/back.2bpp.lz.f7a7089b +++ /dev/null diff --git a/gfx/pokemon/magneton/front.animated.2bpp.lz.cd3b65a6 b/gfx/pokemon/magneton/front.animated.2bpp.lz.cd3b65a6 Binary files differdeleted file mode 100644 index f7b7a0be0..000000000 --- a/gfx/pokemon/magneton/front.animated.2bpp.lz.cd3b65a6 +++ /dev/null diff --git a/gfx/pokemon/mankey/back.2bpp.lz.42cb1b61 b/gfx/pokemon/mankey/back.2bpp.lz.42cb1b61 Binary files differdeleted file mode 100644 index 62989a377..000000000 --- a/gfx/pokemon/mankey/back.2bpp.lz.42cb1b61 +++ /dev/null diff --git a/gfx/pokemon/mankey/front.animated.2bpp.lz.48eac19a b/gfx/pokemon/mankey/front.animated.2bpp.lz.48eac19a Binary files differdeleted file mode 100644 index 03d014d87..000000000 --- a/gfx/pokemon/mankey/front.animated.2bpp.lz.48eac19a +++ /dev/null diff --git a/gfx/pokemon/mantine/back.2bpp.lz.1320b7f3 b/gfx/pokemon/mantine/back.2bpp.lz.1320b7f3 Binary files differdeleted file mode 100644 index 3378e2df5..000000000 --- a/gfx/pokemon/mantine/back.2bpp.lz.1320b7f3 +++ /dev/null diff --git a/gfx/pokemon/mantine/front.animated.2bpp.lz.9eb40d04 b/gfx/pokemon/mantine/front.animated.2bpp.lz.9eb40d04 Binary files differdeleted file mode 100644 index 6ebc14050..000000000 --- a/gfx/pokemon/mantine/front.animated.2bpp.lz.9eb40d04 +++ /dev/null diff --git a/gfx/pokemon/mareep/back.2bpp.lz.b9bdc89c b/gfx/pokemon/mareep/back.2bpp.lz.b9bdc89c Binary files differdeleted file mode 100644 index e703d450f..000000000 --- a/gfx/pokemon/mareep/back.2bpp.lz.b9bdc89c +++ /dev/null diff --git a/gfx/pokemon/mareep/front.animated.2bpp.lz.f660483d b/gfx/pokemon/mareep/front.animated.2bpp.lz.f660483d Binary files differdeleted file mode 100644 index 0245a96cd..000000000 --- a/gfx/pokemon/mareep/front.animated.2bpp.lz.f660483d +++ /dev/null diff --git a/gfx/pokemon/marill/back.2bpp.lz.87e2be16 b/gfx/pokemon/marill/back.2bpp.lz.87e2be16 Binary files differdeleted file mode 100644 index 699fdaf6c..000000000 --- a/gfx/pokemon/marill/back.2bpp.lz.87e2be16 +++ /dev/null diff --git a/gfx/pokemon/marill/front.animated.2bpp.lz.7f742686 b/gfx/pokemon/marill/front.animated.2bpp.lz.7f742686 Binary files differdeleted file mode 100644 index abe4c982a..000000000 --- a/gfx/pokemon/marill/front.animated.2bpp.lz.7f742686 +++ /dev/null diff --git a/gfx/pokemon/marowak/back.2bpp.lz.055ba40e b/gfx/pokemon/marowak/back.2bpp.lz.055ba40e Binary files differdeleted file mode 100644 index 90a297b3d..000000000 --- a/gfx/pokemon/marowak/back.2bpp.lz.055ba40e +++ /dev/null diff --git a/gfx/pokemon/marowak/front.animated.2bpp.lz.ef1553a0 b/gfx/pokemon/marowak/front.animated.2bpp.lz.ef1553a0 Binary files differdeleted file mode 100644 index 59f984bcd..000000000 --- a/gfx/pokemon/marowak/front.animated.2bpp.lz.ef1553a0 +++ /dev/null diff --git a/gfx/pokemon/meganium/back.2bpp.lz.d25a5edb b/gfx/pokemon/meganium/back.2bpp.lz.d25a5edb Binary files differdeleted file mode 100644 index 718f66f87..000000000 --- a/gfx/pokemon/meganium/back.2bpp.lz.d25a5edb +++ /dev/null diff --git a/gfx/pokemon/meganium/front.animated.2bpp.lz.fe0b9df4 b/gfx/pokemon/meganium/front.animated.2bpp.lz.fe0b9df4 Binary files differdeleted file mode 100644 index 84f600d60..000000000 --- a/gfx/pokemon/meganium/front.animated.2bpp.lz.fe0b9df4 +++ /dev/null diff --git a/gfx/pokemon/meowth/back.2bpp.lz.4196bd91 b/gfx/pokemon/meowth/back.2bpp.lz.4196bd91 Binary files differdeleted file mode 100644 index 205b106e9..000000000 --- a/gfx/pokemon/meowth/back.2bpp.lz.4196bd91 +++ /dev/null diff --git a/gfx/pokemon/meowth/front.animated.2bpp.lz.144f12f0 b/gfx/pokemon/meowth/front.animated.2bpp.lz.144f12f0 Binary files differdeleted file mode 100644 index 87ff35366..000000000 --- a/gfx/pokemon/meowth/front.animated.2bpp.lz.144f12f0 +++ /dev/null diff --git a/gfx/pokemon/metapod/back.2bpp.lz.b580afc8 b/gfx/pokemon/metapod/back.2bpp.lz.b580afc8 Binary files differdeleted file mode 100644 index a2a446960..000000000 --- a/gfx/pokemon/metapod/back.2bpp.lz.b580afc8 +++ /dev/null diff --git a/gfx/pokemon/metapod/front.animated.2bpp.lz.5025baa2 b/gfx/pokemon/metapod/front.animated.2bpp.lz.5025baa2 Binary files differdeleted file mode 100644 index 1dcd7a501..000000000 --- a/gfx/pokemon/metapod/front.animated.2bpp.lz.5025baa2 +++ /dev/null diff --git a/gfx/pokemon/mew/back.2bpp.lz.9947d6eb b/gfx/pokemon/mew/back.2bpp.lz.9947d6eb Binary files differdeleted file mode 100644 index 388a8de9e..000000000 --- a/gfx/pokemon/mew/back.2bpp.lz.9947d6eb +++ /dev/null diff --git a/gfx/pokemon/mew/front.animated.2bpp.lz.b6da9713 b/gfx/pokemon/mew/front.animated.2bpp.lz.b6da9713 Binary files differdeleted file mode 100644 index 240965783..000000000 --- a/gfx/pokemon/mew/front.animated.2bpp.lz.b6da9713 +++ /dev/null diff --git a/gfx/pokemon/mewtwo/back.2bpp.lz.a7d2c077 b/gfx/pokemon/mewtwo/back.2bpp.lz.a7d2c077 Binary files differdeleted file mode 100644 index 3be56c470..000000000 --- a/gfx/pokemon/mewtwo/back.2bpp.lz.a7d2c077 +++ /dev/null diff --git a/gfx/pokemon/mewtwo/front.animated.2bpp.lz.45e8b40d b/gfx/pokemon/mewtwo/front.animated.2bpp.lz.45e8b40d Binary files differdeleted file mode 100644 index 35cc2c378..000000000 --- a/gfx/pokemon/mewtwo/front.animated.2bpp.lz.45e8b40d +++ /dev/null diff --git a/gfx/pokemon/miltank/back.2bpp.lz.b7787e72 b/gfx/pokemon/miltank/back.2bpp.lz.b7787e72 Binary files differdeleted file mode 100644 index 150f65c54..000000000 --- a/gfx/pokemon/miltank/back.2bpp.lz.b7787e72 +++ /dev/null diff --git a/gfx/pokemon/miltank/front.animated.2bpp.lz.91da7c3b b/gfx/pokemon/miltank/front.animated.2bpp.lz.91da7c3b Binary files differdeleted file mode 100644 index 969d04fcd..000000000 --- a/gfx/pokemon/miltank/front.animated.2bpp.lz.91da7c3b +++ /dev/null diff --git a/gfx/pokemon/misdreavus/back.2bpp.lz.8bdebfce b/gfx/pokemon/misdreavus/back.2bpp.lz.8bdebfce Binary files differdeleted file mode 100644 index 5cf96e821..000000000 --- a/gfx/pokemon/misdreavus/back.2bpp.lz.8bdebfce +++ /dev/null diff --git a/gfx/pokemon/misdreavus/front.animated.2bpp.lz.5f73baa2 b/gfx/pokemon/misdreavus/front.animated.2bpp.lz.5f73baa2 Binary files differdeleted file mode 100644 index 76f5c6919..000000000 --- a/gfx/pokemon/misdreavus/front.animated.2bpp.lz.5f73baa2 +++ /dev/null diff --git a/gfx/pokemon/moltres/back.2bpp.lz.356242c8 b/gfx/pokemon/moltres/back.2bpp.lz.356242c8 Binary files differdeleted file mode 100644 index 542a73138..000000000 --- a/gfx/pokemon/moltres/back.2bpp.lz.356242c8 +++ /dev/null diff --git a/gfx/pokemon/moltres/front.animated.2bpp.lz.281bc0ec b/gfx/pokemon/moltres/front.animated.2bpp.lz.281bc0ec Binary files differdeleted file mode 100644 index ec03e4653..000000000 --- a/gfx/pokemon/moltres/front.animated.2bpp.lz.281bc0ec +++ /dev/null diff --git a/gfx/pokemon/mr__mime/back.2bpp.lz.0fb88006 b/gfx/pokemon/mr__mime/back.2bpp.lz.0fb88006 Binary files differdeleted file mode 100644 index eb1647580..000000000 --- a/gfx/pokemon/mr__mime/back.2bpp.lz.0fb88006 +++ /dev/null diff --git a/gfx/pokemon/mr__mime/front.animated.2bpp.lz.f948d1b8 b/gfx/pokemon/mr__mime/front.animated.2bpp.lz.f948d1b8 Binary files differdeleted file mode 100644 index 48555cbe0..000000000 --- a/gfx/pokemon/mr__mime/front.animated.2bpp.lz.f948d1b8 +++ /dev/null diff --git a/gfx/pokemon/muk/back.2bpp.lz.a1f2f370 b/gfx/pokemon/muk/back.2bpp.lz.a1f2f370 Binary files differdeleted file mode 100644 index 63a6aa8de..000000000 --- a/gfx/pokemon/muk/back.2bpp.lz.a1f2f370 +++ /dev/null diff --git a/gfx/pokemon/muk/front.animated.2bpp.lz.530363b2 b/gfx/pokemon/muk/front.animated.2bpp.lz.530363b2 Binary files differdeleted file mode 100644 index 3a4280270..000000000 --- a/gfx/pokemon/muk/front.animated.2bpp.lz.530363b2 +++ /dev/null diff --git a/gfx/pokemon/murkrow/back.2bpp.lz.0c347b5b b/gfx/pokemon/murkrow/back.2bpp.lz.0c347b5b Binary files differdeleted file mode 100644 index b99287081..000000000 --- a/gfx/pokemon/murkrow/back.2bpp.lz.0c347b5b +++ /dev/null diff --git a/gfx/pokemon/murkrow/front.animated.2bpp.lz.5d2805e8 b/gfx/pokemon/murkrow/front.animated.2bpp.lz.5d2805e8 Binary files differdeleted file mode 100644 index e7ae99387..000000000 --- a/gfx/pokemon/murkrow/front.animated.2bpp.lz.5d2805e8 +++ /dev/null diff --git a/gfx/pokemon/natu/back.2bpp.lz.c8339fb4 b/gfx/pokemon/natu/back.2bpp.lz.c8339fb4 Binary files differdeleted file mode 100644 index b4ba45c14..000000000 --- a/gfx/pokemon/natu/back.2bpp.lz.c8339fb4 +++ /dev/null diff --git a/gfx/pokemon/natu/front.animated.2bpp.lz.997efaf6 b/gfx/pokemon/natu/front.animated.2bpp.lz.997efaf6 Binary files differdeleted file mode 100644 index adebc8879..000000000 --- a/gfx/pokemon/natu/front.animated.2bpp.lz.997efaf6 +++ /dev/null diff --git a/gfx/pokemon/nidoking/back.2bpp.lz.93211604 b/gfx/pokemon/nidoking/back.2bpp.lz.93211604 Binary files differdeleted file mode 100644 index b3f35b5a1..000000000 --- a/gfx/pokemon/nidoking/back.2bpp.lz.93211604 +++ /dev/null diff --git a/gfx/pokemon/nidoking/front.animated.2bpp.lz.bd38fa1e b/gfx/pokemon/nidoking/front.animated.2bpp.lz.bd38fa1e Binary files differdeleted file mode 100644 index aad75774c..000000000 --- a/gfx/pokemon/nidoking/front.animated.2bpp.lz.bd38fa1e +++ /dev/null diff --git a/gfx/pokemon/nidoqueen/back.2bpp.lz.f1eb0f0c b/gfx/pokemon/nidoqueen/back.2bpp.lz.f1eb0f0c Binary files differdeleted file mode 100644 index b363f089e..000000000 --- a/gfx/pokemon/nidoqueen/back.2bpp.lz.f1eb0f0c +++ /dev/null diff --git a/gfx/pokemon/nidoqueen/front.animated.2bpp.lz.0bf11b0a b/gfx/pokemon/nidoqueen/front.animated.2bpp.lz.0bf11b0a Binary files differdeleted file mode 100644 index d02a553d5..000000000 --- a/gfx/pokemon/nidoqueen/front.animated.2bpp.lz.0bf11b0a +++ /dev/null diff --git a/gfx/pokemon/nidoran_f/back.2bpp.lz.9b6990f1 b/gfx/pokemon/nidoran_f/back.2bpp.lz.9b6990f1 Binary files differdeleted file mode 100644 index df43f06a1..000000000 --- a/gfx/pokemon/nidoran_f/back.2bpp.lz.9b6990f1 +++ /dev/null diff --git a/gfx/pokemon/nidoran_f/front.animated.2bpp.lz.0a4602e7 b/gfx/pokemon/nidoran_f/front.animated.2bpp.lz.0a4602e7 Binary files differdeleted file mode 100644 index 477857691..000000000 --- a/gfx/pokemon/nidoran_f/front.animated.2bpp.lz.0a4602e7 +++ /dev/null diff --git a/gfx/pokemon/nidoran_m/back.2bpp.lz.c9e54720 b/gfx/pokemon/nidoran_m/back.2bpp.lz.c9e54720 Binary files differdeleted file mode 100644 index 4b3be9a60..000000000 --- a/gfx/pokemon/nidoran_m/back.2bpp.lz.c9e54720 +++ /dev/null diff --git a/gfx/pokemon/nidoran_m/front.animated.2bpp.lz.b121beaa b/gfx/pokemon/nidoran_m/front.animated.2bpp.lz.b121beaa Binary files differdeleted file mode 100644 index 661dadada..000000000 --- a/gfx/pokemon/nidoran_m/front.animated.2bpp.lz.b121beaa +++ /dev/null diff --git a/gfx/pokemon/nidorina/back.2bpp.lz.a00ecf4a b/gfx/pokemon/nidorina/back.2bpp.lz.a00ecf4a Binary files differdeleted file mode 100644 index 141d61f81..000000000 --- a/gfx/pokemon/nidorina/back.2bpp.lz.a00ecf4a +++ /dev/null diff --git a/gfx/pokemon/nidorina/front.animated.2bpp.lz.51532540 b/gfx/pokemon/nidorina/front.animated.2bpp.lz.51532540 Binary files differdeleted file mode 100644 index 04523a52b..000000000 --- a/gfx/pokemon/nidorina/front.animated.2bpp.lz.51532540 +++ /dev/null diff --git a/gfx/pokemon/nidorino/back.2bpp.lz.8504fdd1 b/gfx/pokemon/nidorino/back.2bpp.lz.8504fdd1 Binary files differdeleted file mode 100644 index 6e6a841e9..000000000 --- a/gfx/pokemon/nidorino/back.2bpp.lz.8504fdd1 +++ /dev/null diff --git a/gfx/pokemon/nidorino/front.animated.2bpp.lz.ba11ef23 b/gfx/pokemon/nidorino/front.animated.2bpp.lz.ba11ef23 Binary files differdeleted file mode 100644 index 228c93b52..000000000 --- a/gfx/pokemon/nidorino/front.animated.2bpp.lz.ba11ef23 +++ /dev/null diff --git a/gfx/pokemon/ninetales/back.2bpp.lz.999b3894 b/gfx/pokemon/ninetales/back.2bpp.lz.999b3894 Binary files differdeleted file mode 100644 index e6b264033..000000000 --- a/gfx/pokemon/ninetales/back.2bpp.lz.999b3894 +++ /dev/null diff --git a/gfx/pokemon/ninetales/front.animated.2bpp.lz.eef934ff b/gfx/pokemon/ninetales/front.animated.2bpp.lz.eef934ff Binary files differdeleted file mode 100644 index 4865c6d82..000000000 --- a/gfx/pokemon/ninetales/front.animated.2bpp.lz.eef934ff +++ /dev/null diff --git a/gfx/pokemon/noctowl/back.2bpp.lz.9c8ac57f b/gfx/pokemon/noctowl/back.2bpp.lz.9c8ac57f Binary files differdeleted file mode 100644 index 9ef83c86e..000000000 --- a/gfx/pokemon/noctowl/back.2bpp.lz.9c8ac57f +++ /dev/null diff --git a/gfx/pokemon/noctowl/front.animated.2bpp.lz.7d6594fe b/gfx/pokemon/noctowl/front.animated.2bpp.lz.7d6594fe Binary files differdeleted file mode 100644 index cd0d1313b..000000000 --- a/gfx/pokemon/noctowl/front.animated.2bpp.lz.7d6594fe +++ /dev/null diff --git a/gfx/pokemon/octillery/back.2bpp.lz.48b6e47d b/gfx/pokemon/octillery/back.2bpp.lz.48b6e47d Binary files differdeleted file mode 100644 index 2d12597ca..000000000 --- a/gfx/pokemon/octillery/back.2bpp.lz.48b6e47d +++ /dev/null diff --git a/gfx/pokemon/octillery/front.animated.2bpp.lz.de99954b b/gfx/pokemon/octillery/front.animated.2bpp.lz.de99954b Binary files differdeleted file mode 100644 index 9ffec9b38..000000000 --- a/gfx/pokemon/octillery/front.animated.2bpp.lz.de99954b +++ /dev/null diff --git a/gfx/pokemon/oddish/back.2bpp.lz.4f9ec682 b/gfx/pokemon/oddish/back.2bpp.lz.4f9ec682 Binary files differdeleted file mode 100644 index 81ba4e5f3..000000000 --- a/gfx/pokemon/oddish/back.2bpp.lz.4f9ec682 +++ /dev/null diff --git a/gfx/pokemon/oddish/front.animated.2bpp.lz.ea2e0dcd b/gfx/pokemon/oddish/front.animated.2bpp.lz.ea2e0dcd Binary files differdeleted file mode 100644 index 3864c0b7a..000000000 --- a/gfx/pokemon/oddish/front.animated.2bpp.lz.ea2e0dcd +++ /dev/null diff --git a/gfx/pokemon/omanyte/back.2bpp.lz.f442a670 b/gfx/pokemon/omanyte/back.2bpp.lz.f442a670 Binary files differdeleted file mode 100644 index 0ee462eaf..000000000 --- a/gfx/pokemon/omanyte/back.2bpp.lz.f442a670 +++ /dev/null diff --git a/gfx/pokemon/omanyte/front.animated.2bpp.lz.15b343dc b/gfx/pokemon/omanyte/front.animated.2bpp.lz.15b343dc Binary files differdeleted file mode 100644 index 7673b2390..000000000 --- a/gfx/pokemon/omanyte/front.animated.2bpp.lz.15b343dc +++ /dev/null diff --git a/gfx/pokemon/omastar/back.2bpp.lz.c75932db b/gfx/pokemon/omastar/back.2bpp.lz.c75932db Binary files differdeleted file mode 100644 index b41a828c5..000000000 --- a/gfx/pokemon/omastar/back.2bpp.lz.c75932db +++ /dev/null diff --git a/gfx/pokemon/omastar/front.animated.2bpp.lz.b3f6c3dc b/gfx/pokemon/omastar/front.animated.2bpp.lz.b3f6c3dc Binary files differdeleted file mode 100644 index 544e2d87b..000000000 --- a/gfx/pokemon/omastar/front.animated.2bpp.lz.b3f6c3dc +++ /dev/null diff --git a/gfx/pokemon/onix/back.2bpp.lz.cb580eb9 b/gfx/pokemon/onix/back.2bpp.lz.cb580eb9 Binary files differdeleted file mode 100644 index 05df1a96b..000000000 --- a/gfx/pokemon/onix/back.2bpp.lz.cb580eb9 +++ /dev/null diff --git a/gfx/pokemon/onix/front.animated.2bpp.lz.84b7e9ef b/gfx/pokemon/onix/front.animated.2bpp.lz.84b7e9ef Binary files differdeleted file mode 100644 index dc3bfca6e..000000000 --- a/gfx/pokemon/onix/front.animated.2bpp.lz.84b7e9ef +++ /dev/null diff --git a/gfx/pokemon/paras/back.2bpp.lz.b5a4d1e2 b/gfx/pokemon/paras/back.2bpp.lz.b5a4d1e2 Binary files differdeleted file mode 100644 index d6c3d4a62..000000000 --- a/gfx/pokemon/paras/back.2bpp.lz.b5a4d1e2 +++ /dev/null diff --git a/gfx/pokemon/paras/front.animated.2bpp.lz.37a2c2f8 b/gfx/pokemon/paras/front.animated.2bpp.lz.37a2c2f8 Binary files differdeleted file mode 100644 index 927c831d0..000000000 --- a/gfx/pokemon/paras/front.animated.2bpp.lz.37a2c2f8 +++ /dev/null diff --git a/gfx/pokemon/parasect/back.2bpp.lz.ed08ef08 b/gfx/pokemon/parasect/back.2bpp.lz.ed08ef08 Binary files differdeleted file mode 100644 index a63677ff7..000000000 --- a/gfx/pokemon/parasect/back.2bpp.lz.ed08ef08 +++ /dev/null diff --git a/gfx/pokemon/parasect/front.animated.2bpp.lz.f78f9f36 b/gfx/pokemon/parasect/front.animated.2bpp.lz.f78f9f36 Binary files differdeleted file mode 100644 index f1743d07e..000000000 --- a/gfx/pokemon/parasect/front.animated.2bpp.lz.f78f9f36 +++ /dev/null diff --git a/gfx/pokemon/persian/back.2bpp.lz.0e1c1c9a b/gfx/pokemon/persian/back.2bpp.lz.0e1c1c9a Binary files differdeleted file mode 100644 index e615d47fb..000000000 --- a/gfx/pokemon/persian/back.2bpp.lz.0e1c1c9a +++ /dev/null diff --git a/gfx/pokemon/persian/front.animated.2bpp.lz.0e6a2521 b/gfx/pokemon/persian/front.animated.2bpp.lz.0e6a2521 Binary files differdeleted file mode 100644 index 1f13a0cca..000000000 --- a/gfx/pokemon/persian/front.animated.2bpp.lz.0e6a2521 +++ /dev/null diff --git a/gfx/pokemon/phanpy/back.2bpp.lz.a5c509b8 b/gfx/pokemon/phanpy/back.2bpp.lz.a5c509b8 Binary files differdeleted file mode 100644 index cef1bf442..000000000 --- a/gfx/pokemon/phanpy/back.2bpp.lz.a5c509b8 +++ /dev/null diff --git a/gfx/pokemon/phanpy/front.animated.2bpp.lz.53b49445 b/gfx/pokemon/phanpy/front.animated.2bpp.lz.53b49445 Binary files differdeleted file mode 100644 index d919487b8..000000000 --- a/gfx/pokemon/phanpy/front.animated.2bpp.lz.53b49445 +++ /dev/null diff --git a/gfx/pokemon/pichu/back.2bpp.lz.c5580983 b/gfx/pokemon/pichu/back.2bpp.lz.c5580983 Binary files differdeleted file mode 100644 index 61ab083b3..000000000 --- a/gfx/pokemon/pichu/back.2bpp.lz.c5580983 +++ /dev/null diff --git a/gfx/pokemon/pichu/front.animated.2bpp.lz.9c1c3bef b/gfx/pokemon/pichu/front.animated.2bpp.lz.9c1c3bef Binary files differdeleted file mode 100644 index 06712d244..000000000 --- a/gfx/pokemon/pichu/front.animated.2bpp.lz.9c1c3bef +++ /dev/null diff --git a/gfx/pokemon/pidgeot/back.2bpp.lz.7d9e44a5 b/gfx/pokemon/pidgeot/back.2bpp.lz.7d9e44a5 Binary files differdeleted file mode 100644 index a464dd7d1..000000000 --- a/gfx/pokemon/pidgeot/back.2bpp.lz.7d9e44a5 +++ /dev/null diff --git a/gfx/pokemon/pidgeot/front.animated.2bpp.lz.c161ad71 b/gfx/pokemon/pidgeot/front.animated.2bpp.lz.c161ad71 Binary files differdeleted file mode 100644 index f5cbb3f56..000000000 --- a/gfx/pokemon/pidgeot/front.animated.2bpp.lz.c161ad71 +++ /dev/null diff --git a/gfx/pokemon/pidgeotto/back.2bpp.lz.8a0dd470 b/gfx/pokemon/pidgeotto/back.2bpp.lz.8a0dd470 Binary files differdeleted file mode 100644 index d766747ef..000000000 --- a/gfx/pokemon/pidgeotto/back.2bpp.lz.8a0dd470 +++ /dev/null diff --git a/gfx/pokemon/pidgeotto/front.animated.2bpp.lz.8ce78b51 b/gfx/pokemon/pidgeotto/front.animated.2bpp.lz.8ce78b51 Binary files differdeleted file mode 100644 index 0fc3a94fd..000000000 --- a/gfx/pokemon/pidgeotto/front.animated.2bpp.lz.8ce78b51 +++ /dev/null diff --git a/gfx/pokemon/pidgey/back.2bpp.lz.027129e8 b/gfx/pokemon/pidgey/back.2bpp.lz.027129e8 Binary files differdeleted file mode 100644 index 48669456e..000000000 --- a/gfx/pokemon/pidgey/back.2bpp.lz.027129e8 +++ /dev/null diff --git a/gfx/pokemon/pidgey/front.animated.2bpp.lz.9acd46ca b/gfx/pokemon/pidgey/front.animated.2bpp.lz.9acd46ca Binary files differdeleted file mode 100644 index 03c579dbf..000000000 --- a/gfx/pokemon/pidgey/front.animated.2bpp.lz.9acd46ca +++ /dev/null diff --git a/gfx/pokemon/pikachu/back.2bpp.lz.98998807 b/gfx/pokemon/pikachu/back.2bpp.lz.98998807 Binary files differdeleted file mode 100644 index 3f74382ae..000000000 --- a/gfx/pokemon/pikachu/back.2bpp.lz.98998807 +++ /dev/null diff --git a/gfx/pokemon/pikachu/front.animated.2bpp.lz.9c100565 b/gfx/pokemon/pikachu/front.animated.2bpp.lz.9c100565 Binary files differdeleted file mode 100644 index 1dbea0496..000000000 --- a/gfx/pokemon/pikachu/front.animated.2bpp.lz.9c100565 +++ /dev/null diff --git a/gfx/pokemon/piloswine/back.2bpp.lz.6fe7da21 b/gfx/pokemon/piloswine/back.2bpp.lz.6fe7da21 Binary files differdeleted file mode 100644 index 2bdbd05b7..000000000 --- a/gfx/pokemon/piloswine/back.2bpp.lz.6fe7da21 +++ /dev/null diff --git a/gfx/pokemon/piloswine/front.animated.2bpp.lz.f6f37ed2 b/gfx/pokemon/piloswine/front.animated.2bpp.lz.f6f37ed2 Binary files differdeleted file mode 100644 index 45b87144e..000000000 --- a/gfx/pokemon/piloswine/front.animated.2bpp.lz.f6f37ed2 +++ /dev/null diff --git a/gfx/pokemon/pineco/back.2bpp.lz.70df8ca3 b/gfx/pokemon/pineco/back.2bpp.lz.70df8ca3 Binary files differdeleted file mode 100644 index f4baaadb9..000000000 --- a/gfx/pokemon/pineco/back.2bpp.lz.70df8ca3 +++ /dev/null diff --git a/gfx/pokemon/pineco/front.animated.2bpp.lz.82d91497 b/gfx/pokemon/pineco/front.animated.2bpp.lz.82d91497 Binary files differdeleted file mode 100644 index c36a27807..000000000 --- a/gfx/pokemon/pineco/front.animated.2bpp.lz.82d91497 +++ /dev/null diff --git a/gfx/pokemon/pinsir/back.2bpp.lz.09ac7dd4 b/gfx/pokemon/pinsir/back.2bpp.lz.09ac7dd4 Binary files differdeleted file mode 100644 index 8803c8a0a..000000000 --- a/gfx/pokemon/pinsir/back.2bpp.lz.09ac7dd4 +++ /dev/null diff --git a/gfx/pokemon/pinsir/front.animated.2bpp.lz.1e3839f2 b/gfx/pokemon/pinsir/front.animated.2bpp.lz.1e3839f2 Binary files differdeleted file mode 100644 index d2ec9ecd9..000000000 --- a/gfx/pokemon/pinsir/front.animated.2bpp.lz.1e3839f2 +++ /dev/null diff --git a/gfx/pokemon/politoed/back.2bpp.lz.7873e52f b/gfx/pokemon/politoed/back.2bpp.lz.7873e52f Binary files differdeleted file mode 100644 index 2c492fcaf..000000000 --- a/gfx/pokemon/politoed/back.2bpp.lz.7873e52f +++ /dev/null diff --git a/gfx/pokemon/politoed/front.animated.2bpp.lz.408a9c1a b/gfx/pokemon/politoed/front.animated.2bpp.lz.408a9c1a Binary files differdeleted file mode 100644 index 8890a7ed4..000000000 --- a/gfx/pokemon/politoed/front.animated.2bpp.lz.408a9c1a +++ /dev/null diff --git a/gfx/pokemon/poliwag/back.2bpp.lz.35b9ee20 b/gfx/pokemon/poliwag/back.2bpp.lz.35b9ee20 Binary files differdeleted file mode 100644 index 58d039d16..000000000 --- a/gfx/pokemon/poliwag/back.2bpp.lz.35b9ee20 +++ /dev/null diff --git a/gfx/pokemon/poliwag/front.animated.2bpp.lz.c7d26488 b/gfx/pokemon/poliwag/front.animated.2bpp.lz.c7d26488 Binary files differdeleted file mode 100644 index df9741516..000000000 --- a/gfx/pokemon/poliwag/front.animated.2bpp.lz.c7d26488 +++ /dev/null diff --git a/gfx/pokemon/poliwhirl/back.2bpp.lz.76564593 b/gfx/pokemon/poliwhirl/back.2bpp.lz.76564593 Binary files differdeleted file mode 100644 index a78a2cfff..000000000 --- a/gfx/pokemon/poliwhirl/back.2bpp.lz.76564593 +++ /dev/null diff --git a/gfx/pokemon/poliwhirl/front.animated.2bpp.lz.9a36033f b/gfx/pokemon/poliwhirl/front.animated.2bpp.lz.9a36033f Binary files differdeleted file mode 100644 index b06f41441..000000000 --- a/gfx/pokemon/poliwhirl/front.animated.2bpp.lz.9a36033f +++ /dev/null diff --git a/gfx/pokemon/poliwrath/back.2bpp.lz.240e911e b/gfx/pokemon/poliwrath/back.2bpp.lz.240e911e Binary files differdeleted file mode 100644 index eab9164aa..000000000 --- a/gfx/pokemon/poliwrath/back.2bpp.lz.240e911e +++ /dev/null diff --git a/gfx/pokemon/poliwrath/front.animated.2bpp.lz.fb1157ec b/gfx/pokemon/poliwrath/front.animated.2bpp.lz.fb1157ec Binary files differdeleted file mode 100644 index 601937221..000000000 --- a/gfx/pokemon/poliwrath/front.animated.2bpp.lz.fb1157ec +++ /dev/null diff --git a/gfx/pokemon/ponyta/back.2bpp.lz.10ddc7ea b/gfx/pokemon/ponyta/back.2bpp.lz.10ddc7ea Binary files differdeleted file mode 100644 index 5d7ecaa93..000000000 --- a/gfx/pokemon/ponyta/back.2bpp.lz.10ddc7ea +++ /dev/null diff --git a/gfx/pokemon/ponyta/front.animated.2bpp.lz.2c8708d6 b/gfx/pokemon/ponyta/front.animated.2bpp.lz.2c8708d6 Binary files differdeleted file mode 100644 index 5d3aa48db..000000000 --- a/gfx/pokemon/ponyta/front.animated.2bpp.lz.2c8708d6 +++ /dev/null diff --git a/gfx/pokemon/porygon/back.2bpp.lz.b3d71350 b/gfx/pokemon/porygon/back.2bpp.lz.b3d71350 Binary files differdeleted file mode 100644 index 5f0a47032..000000000 --- a/gfx/pokemon/porygon/back.2bpp.lz.b3d71350 +++ /dev/null diff --git a/gfx/pokemon/porygon/front.animated.2bpp.lz.70fc1333 b/gfx/pokemon/porygon/front.animated.2bpp.lz.70fc1333 Binary files differdeleted file mode 100644 index 734305a14..000000000 --- a/gfx/pokemon/porygon/front.animated.2bpp.lz.70fc1333 +++ /dev/null diff --git a/gfx/pokemon/porygon2/back.2bpp.lz.5bba6e40 b/gfx/pokemon/porygon2/back.2bpp.lz.5bba6e40 Binary files differdeleted file mode 100644 index 5be528963..000000000 --- a/gfx/pokemon/porygon2/back.2bpp.lz.5bba6e40 +++ /dev/null diff --git a/gfx/pokemon/porygon2/front.animated.2bpp.lz.a6410e75 b/gfx/pokemon/porygon2/front.animated.2bpp.lz.a6410e75 Binary files differdeleted file mode 100644 index 5e66bb54d..000000000 --- a/gfx/pokemon/porygon2/front.animated.2bpp.lz.a6410e75 +++ /dev/null diff --git a/gfx/pokemon/primeape/back.2bpp.lz.690e407d b/gfx/pokemon/primeape/back.2bpp.lz.690e407d Binary files differdeleted file mode 100644 index c0937a9ae..000000000 --- a/gfx/pokemon/primeape/back.2bpp.lz.690e407d +++ /dev/null diff --git a/gfx/pokemon/primeape/front.animated.2bpp.lz.218352ec b/gfx/pokemon/primeape/front.animated.2bpp.lz.218352ec Binary files differdeleted file mode 100644 index 8f513878f..000000000 --- a/gfx/pokemon/primeape/front.animated.2bpp.lz.218352ec +++ /dev/null diff --git a/gfx/pokemon/psyduck/back.2bpp.lz.d68cddb2 b/gfx/pokemon/psyduck/back.2bpp.lz.d68cddb2 Binary files differdeleted file mode 100644 index d627a146c..000000000 --- a/gfx/pokemon/psyduck/back.2bpp.lz.d68cddb2 +++ /dev/null diff --git a/gfx/pokemon/psyduck/front.animated.2bpp.lz.e4efd065 b/gfx/pokemon/psyduck/front.animated.2bpp.lz.e4efd065 Binary files differdeleted file mode 100644 index 7988f1b0c..000000000 --- a/gfx/pokemon/psyduck/front.animated.2bpp.lz.e4efd065 +++ /dev/null diff --git a/gfx/pokemon/pupitar/back.2bpp.lz.100020c1 b/gfx/pokemon/pupitar/back.2bpp.lz.100020c1 Binary files differdeleted file mode 100644 index 46cf0e240..000000000 --- a/gfx/pokemon/pupitar/back.2bpp.lz.100020c1 +++ /dev/null diff --git a/gfx/pokemon/pupitar/front.animated.2bpp.lz.418c0962 b/gfx/pokemon/pupitar/front.animated.2bpp.lz.418c0962 Binary files differdeleted file mode 100644 index c39582db6..000000000 --- a/gfx/pokemon/pupitar/front.animated.2bpp.lz.418c0962 +++ /dev/null diff --git a/gfx/pokemon/quagsire/back.2bpp.lz.64b2ec05 b/gfx/pokemon/quagsire/back.2bpp.lz.64b2ec05 Binary files differdeleted file mode 100644 index 543ce394f..000000000 --- a/gfx/pokemon/quagsire/back.2bpp.lz.64b2ec05 +++ /dev/null diff --git a/gfx/pokemon/quagsire/front.animated.2bpp.lz.bd292a94 b/gfx/pokemon/quagsire/front.animated.2bpp.lz.bd292a94 Binary files differdeleted file mode 100644 index d1f42f064..000000000 --- a/gfx/pokemon/quagsire/front.animated.2bpp.lz.bd292a94 +++ /dev/null diff --git a/gfx/pokemon/quilava/back.2bpp.lz.500906e1 b/gfx/pokemon/quilava/back.2bpp.lz.500906e1 Binary files differdeleted file mode 100644 index 8514a77c7..000000000 --- a/gfx/pokemon/quilava/back.2bpp.lz.500906e1 +++ /dev/null diff --git a/gfx/pokemon/quilava/front.animated.2bpp.lz.f42f4c67 b/gfx/pokemon/quilava/front.animated.2bpp.lz.f42f4c67 Binary files differdeleted file mode 100644 index 33aebb81c..000000000 --- a/gfx/pokemon/quilava/front.animated.2bpp.lz.f42f4c67 +++ /dev/null diff --git a/gfx/pokemon/qwilfish/back.2bpp.lz.b2bb83c6 b/gfx/pokemon/qwilfish/back.2bpp.lz.b2bb83c6 Binary files differdeleted file mode 100644 index 09f793f47..000000000 --- a/gfx/pokemon/qwilfish/back.2bpp.lz.b2bb83c6 +++ /dev/null diff --git a/gfx/pokemon/qwilfish/front.animated.2bpp.lz.9e79c033 b/gfx/pokemon/qwilfish/front.animated.2bpp.lz.9e79c033 Binary files differdeleted file mode 100644 index 02370c7ba..000000000 --- a/gfx/pokemon/qwilfish/front.animated.2bpp.lz.9e79c033 +++ /dev/null diff --git a/gfx/pokemon/raichu/back.2bpp.lz.fa4c7423 b/gfx/pokemon/raichu/back.2bpp.lz.fa4c7423 Binary files differdeleted file mode 100644 index 912c378e8..000000000 --- a/gfx/pokemon/raichu/back.2bpp.lz.fa4c7423 +++ /dev/null diff --git a/gfx/pokemon/raichu/front.animated.2bpp.lz.25f943cb b/gfx/pokemon/raichu/front.animated.2bpp.lz.25f943cb Binary files differdeleted file mode 100644 index 84115fb00..000000000 --- a/gfx/pokemon/raichu/front.animated.2bpp.lz.25f943cb +++ /dev/null diff --git a/gfx/pokemon/raikou/back.2bpp.lz.657ddfaf b/gfx/pokemon/raikou/back.2bpp.lz.657ddfaf Binary files differdeleted file mode 100644 index 23fd5c471..000000000 --- a/gfx/pokemon/raikou/back.2bpp.lz.657ddfaf +++ /dev/null diff --git a/gfx/pokemon/raikou/front.animated.2bpp.lz.464b6fd7 b/gfx/pokemon/raikou/front.animated.2bpp.lz.464b6fd7 Binary files differdeleted file mode 100644 index dba4517aa..000000000 --- a/gfx/pokemon/raikou/front.animated.2bpp.lz.464b6fd7 +++ /dev/null diff --git a/gfx/pokemon/rapidash/back.2bpp.lz.fdd1946c b/gfx/pokemon/rapidash/back.2bpp.lz.fdd1946c Binary files differdeleted file mode 100644 index 3854c29e5..000000000 --- a/gfx/pokemon/rapidash/back.2bpp.lz.fdd1946c +++ /dev/null diff --git a/gfx/pokemon/rapidash/front.animated.2bpp.lz.d5ac5a96 b/gfx/pokemon/rapidash/front.animated.2bpp.lz.d5ac5a96 Binary files differdeleted file mode 100644 index 231e312fb..000000000 --- a/gfx/pokemon/rapidash/front.animated.2bpp.lz.d5ac5a96 +++ /dev/null diff --git a/gfx/pokemon/raticate/back.2bpp.lz.b2a77d02 b/gfx/pokemon/raticate/back.2bpp.lz.b2a77d02 Binary files differdeleted file mode 100644 index 4e69587dd..000000000 --- a/gfx/pokemon/raticate/back.2bpp.lz.b2a77d02 +++ /dev/null diff --git a/gfx/pokemon/raticate/front.animated.2bpp.lz.ef1a4689 b/gfx/pokemon/raticate/front.animated.2bpp.lz.ef1a4689 Binary files differdeleted file mode 100644 index 5b426cbdd..000000000 --- a/gfx/pokemon/raticate/front.animated.2bpp.lz.ef1a4689 +++ /dev/null diff --git a/gfx/pokemon/rattata/back.2bpp.lz.86979cd5 b/gfx/pokemon/rattata/back.2bpp.lz.86979cd5 Binary files differdeleted file mode 100644 index a06c5f1f8..000000000 --- a/gfx/pokemon/rattata/back.2bpp.lz.86979cd5 +++ /dev/null diff --git a/gfx/pokemon/rattata/front.animated.2bpp.lz.5bdaea2b b/gfx/pokemon/rattata/front.animated.2bpp.lz.5bdaea2b Binary files differdeleted file mode 100644 index 7bb18d542..000000000 --- a/gfx/pokemon/rattata/front.animated.2bpp.lz.5bdaea2b +++ /dev/null diff --git a/gfx/pokemon/remoraid/back.2bpp.lz.8a6e4f29 b/gfx/pokemon/remoraid/back.2bpp.lz.8a6e4f29 Binary files differdeleted file mode 100644 index 414d65a14..000000000 --- a/gfx/pokemon/remoraid/back.2bpp.lz.8a6e4f29 +++ /dev/null diff --git a/gfx/pokemon/remoraid/front.animated.2bpp.lz.4eaf1230 b/gfx/pokemon/remoraid/front.animated.2bpp.lz.4eaf1230 Binary files differdeleted file mode 100644 index 6d702b4a1..000000000 --- a/gfx/pokemon/remoraid/front.animated.2bpp.lz.4eaf1230 +++ /dev/null diff --git a/gfx/pokemon/rhydon/back.2bpp.lz.4a3ea4af b/gfx/pokemon/rhydon/back.2bpp.lz.4a3ea4af Binary files differdeleted file mode 100644 index b626f4ce6..000000000 --- a/gfx/pokemon/rhydon/back.2bpp.lz.4a3ea4af +++ /dev/null diff --git a/gfx/pokemon/rhydon/front.animated.2bpp.lz.7257fc4f b/gfx/pokemon/rhydon/front.animated.2bpp.lz.7257fc4f Binary files differdeleted file mode 100644 index 0ad1c221b..000000000 --- a/gfx/pokemon/rhydon/front.animated.2bpp.lz.7257fc4f +++ /dev/null diff --git a/gfx/pokemon/rhyhorn/back.2bpp.lz.b9a8e755 b/gfx/pokemon/rhyhorn/back.2bpp.lz.b9a8e755 Binary files differdeleted file mode 100644 index bfcafdcb4..000000000 --- a/gfx/pokemon/rhyhorn/back.2bpp.lz.b9a8e755 +++ /dev/null diff --git a/gfx/pokemon/rhyhorn/front.animated.2bpp.lz.bdfdf7dc b/gfx/pokemon/rhyhorn/front.animated.2bpp.lz.bdfdf7dc Binary files differdeleted file mode 100644 index 62a2e8919..000000000 --- a/gfx/pokemon/rhyhorn/front.animated.2bpp.lz.bdfdf7dc +++ /dev/null diff --git a/gfx/pokemon/sandshrew/back.2bpp.lz.7655193f b/gfx/pokemon/sandshrew/back.2bpp.lz.7655193f Binary files differdeleted file mode 100644 index 63ddb82a1..000000000 --- a/gfx/pokemon/sandshrew/back.2bpp.lz.7655193f +++ /dev/null diff --git a/gfx/pokemon/sandshrew/front.animated.2bpp.lz.758def3d b/gfx/pokemon/sandshrew/front.animated.2bpp.lz.758def3d Binary files differdeleted file mode 100644 index 3d1da3087..000000000 --- a/gfx/pokemon/sandshrew/front.animated.2bpp.lz.758def3d +++ /dev/null diff --git a/gfx/pokemon/sandslash/back.2bpp.lz.2999f4c6 b/gfx/pokemon/sandslash/back.2bpp.lz.2999f4c6 Binary files differdeleted file mode 100644 index 52bb7ce7d..000000000 --- a/gfx/pokemon/sandslash/back.2bpp.lz.2999f4c6 +++ /dev/null diff --git a/gfx/pokemon/sandslash/front.animated.2bpp.lz.d6498722 b/gfx/pokemon/sandslash/front.animated.2bpp.lz.d6498722 Binary files differdeleted file mode 100644 index cdffe9baf..000000000 --- a/gfx/pokemon/sandslash/front.animated.2bpp.lz.d6498722 +++ /dev/null diff --git a/gfx/pokemon/scizor/back.2bpp.lz.85149f27 b/gfx/pokemon/scizor/back.2bpp.lz.85149f27 Binary files differdeleted file mode 100644 index 5a02e7000..000000000 --- a/gfx/pokemon/scizor/back.2bpp.lz.85149f27 +++ /dev/null diff --git a/gfx/pokemon/scizor/front.animated.2bpp.lz.afd0131a b/gfx/pokemon/scizor/front.animated.2bpp.lz.afd0131a Binary files differdeleted file mode 100644 index e7d506f48..000000000 --- a/gfx/pokemon/scizor/front.animated.2bpp.lz.afd0131a +++ /dev/null diff --git a/gfx/pokemon/scyther/back.2bpp.lz.1d7f8a87 b/gfx/pokemon/scyther/back.2bpp.lz.1d7f8a87 Binary files differdeleted file mode 100644 index 421fc4ed0..000000000 --- a/gfx/pokemon/scyther/back.2bpp.lz.1d7f8a87 +++ /dev/null diff --git a/gfx/pokemon/scyther/front.animated.2bpp.lz.86d1a281 b/gfx/pokemon/scyther/front.animated.2bpp.lz.86d1a281 Binary files differdeleted file mode 100644 index 02773fc11..000000000 --- a/gfx/pokemon/scyther/front.animated.2bpp.lz.86d1a281 +++ /dev/null diff --git a/gfx/pokemon/seadra/back.2bpp.lz.354a02e4 b/gfx/pokemon/seadra/back.2bpp.lz.354a02e4 Binary files differdeleted file mode 100644 index ba9025832..000000000 --- a/gfx/pokemon/seadra/back.2bpp.lz.354a02e4 +++ /dev/null diff --git a/gfx/pokemon/seadra/front.animated.2bpp.lz.efa9c88c b/gfx/pokemon/seadra/front.animated.2bpp.lz.efa9c88c Binary files differdeleted file mode 100644 index 6d63f3645..000000000 --- a/gfx/pokemon/seadra/front.animated.2bpp.lz.efa9c88c +++ /dev/null diff --git a/gfx/pokemon/seaking/back.2bpp.lz.3e699249 b/gfx/pokemon/seaking/back.2bpp.lz.3e699249 Binary files differdeleted file mode 100644 index 328a1fb55..000000000 --- a/gfx/pokemon/seaking/back.2bpp.lz.3e699249 +++ /dev/null diff --git a/gfx/pokemon/seaking/front.animated.2bpp.lz.fb4eb288 b/gfx/pokemon/seaking/front.animated.2bpp.lz.fb4eb288 Binary files differdeleted file mode 100644 index e204f1025..000000000 --- a/gfx/pokemon/seaking/front.animated.2bpp.lz.fb4eb288 +++ /dev/null diff --git a/gfx/pokemon/seel/back.2bpp.lz.518a4d40 b/gfx/pokemon/seel/back.2bpp.lz.518a4d40 Binary files differdeleted file mode 100644 index 0d5b89dae..000000000 --- a/gfx/pokemon/seel/back.2bpp.lz.518a4d40 +++ /dev/null diff --git a/gfx/pokemon/seel/front.animated.2bpp.lz.2dc48023 b/gfx/pokemon/seel/front.animated.2bpp.lz.2dc48023 Binary files differdeleted file mode 100644 index c8f1343d6..000000000 --- a/gfx/pokemon/seel/front.animated.2bpp.lz.2dc48023 +++ /dev/null diff --git a/gfx/pokemon/sentret/back.2bpp.lz.c19b7f3b b/gfx/pokemon/sentret/back.2bpp.lz.c19b7f3b Binary files differdeleted file mode 100644 index 511ba5465..000000000 --- a/gfx/pokemon/sentret/back.2bpp.lz.c19b7f3b +++ /dev/null diff --git a/gfx/pokemon/sentret/front.animated.2bpp.lz.07c594c0 b/gfx/pokemon/sentret/front.animated.2bpp.lz.07c594c0 Binary files differdeleted file mode 100644 index 229aa430c..000000000 --- a/gfx/pokemon/sentret/front.animated.2bpp.lz.07c594c0 +++ /dev/null diff --git a/gfx/pokemon/shellder/back.2bpp.lz.61e27953 b/gfx/pokemon/shellder/back.2bpp.lz.61e27953 Binary files differdeleted file mode 100644 index f0d93b8a8..000000000 --- a/gfx/pokemon/shellder/back.2bpp.lz.61e27953 +++ /dev/null diff --git a/gfx/pokemon/shellder/front.animated.2bpp.lz.df57d475 b/gfx/pokemon/shellder/front.animated.2bpp.lz.df57d475 Binary files differdeleted file mode 100644 index 5a444cfa6..000000000 --- a/gfx/pokemon/shellder/front.animated.2bpp.lz.df57d475 +++ /dev/null diff --git a/gfx/pokemon/shuckle/back.2bpp.lz.8d66899b b/gfx/pokemon/shuckle/back.2bpp.lz.8d66899b Binary files differdeleted file mode 100644 index 1cc4efcea..000000000 --- a/gfx/pokemon/shuckle/back.2bpp.lz.8d66899b +++ /dev/null diff --git a/gfx/pokemon/shuckle/front.animated.2bpp.lz.dee153d4 b/gfx/pokemon/shuckle/front.animated.2bpp.lz.dee153d4 Binary files differdeleted file mode 100644 index 95e78302a..000000000 --- a/gfx/pokemon/shuckle/front.animated.2bpp.lz.dee153d4 +++ /dev/null diff --git a/gfx/pokemon/skarmory/back.2bpp.lz.f5e2e2e4 b/gfx/pokemon/skarmory/back.2bpp.lz.f5e2e2e4 Binary files differdeleted file mode 100644 index fca13d16a..000000000 --- a/gfx/pokemon/skarmory/back.2bpp.lz.f5e2e2e4 +++ /dev/null diff --git a/gfx/pokemon/skarmory/front.animated.2bpp.lz.7de4675e b/gfx/pokemon/skarmory/front.animated.2bpp.lz.7de4675e Binary files differdeleted file mode 100644 index e53f5a9ef..000000000 --- a/gfx/pokemon/skarmory/front.animated.2bpp.lz.7de4675e +++ /dev/null diff --git a/gfx/pokemon/skiploom/back.2bpp.lz.54e87a0c b/gfx/pokemon/skiploom/back.2bpp.lz.54e87a0c Binary files differdeleted file mode 100644 index 8b197406c..000000000 --- a/gfx/pokemon/skiploom/back.2bpp.lz.54e87a0c +++ /dev/null diff --git a/gfx/pokemon/skiploom/front.animated.2bpp.lz.6436d556 b/gfx/pokemon/skiploom/front.animated.2bpp.lz.6436d556 Binary files differdeleted file mode 100644 index f48561c76..000000000 --- a/gfx/pokemon/skiploom/front.animated.2bpp.lz.6436d556 +++ /dev/null diff --git a/gfx/pokemon/slowbro/back.2bpp.lz.3676b1f1 b/gfx/pokemon/slowbro/back.2bpp.lz.3676b1f1 Binary files differdeleted file mode 100644 index af1d60999..000000000 --- a/gfx/pokemon/slowbro/back.2bpp.lz.3676b1f1 +++ /dev/null diff --git a/gfx/pokemon/slowbro/front.animated.2bpp.lz.257e2e84 b/gfx/pokemon/slowbro/front.animated.2bpp.lz.257e2e84 Binary files differdeleted file mode 100644 index 0a6d1ac2c..000000000 --- a/gfx/pokemon/slowbro/front.animated.2bpp.lz.257e2e84 +++ /dev/null diff --git a/gfx/pokemon/slowking/back.2bpp.lz.a90de69e b/gfx/pokemon/slowking/back.2bpp.lz.a90de69e Binary files differdeleted file mode 100644 index e6342e434..000000000 --- a/gfx/pokemon/slowking/back.2bpp.lz.a90de69e +++ /dev/null diff --git a/gfx/pokemon/slowking/front.animated.2bpp.lz.4c2f7140 b/gfx/pokemon/slowking/front.animated.2bpp.lz.4c2f7140 Binary files differdeleted file mode 100644 index 2f9bd1654..000000000 --- a/gfx/pokemon/slowking/front.animated.2bpp.lz.4c2f7140 +++ /dev/null diff --git a/gfx/pokemon/slowpoke/back.2bpp.lz.f2d1bb5c b/gfx/pokemon/slowpoke/back.2bpp.lz.f2d1bb5c Binary files differdeleted file mode 100644 index cdaa2178d..000000000 --- a/gfx/pokemon/slowpoke/back.2bpp.lz.f2d1bb5c +++ /dev/null diff --git a/gfx/pokemon/slowpoke/front.animated.2bpp.lz.42347014 b/gfx/pokemon/slowpoke/front.animated.2bpp.lz.42347014 Binary files differdeleted file mode 100644 index 23d8e22f2..000000000 --- a/gfx/pokemon/slowpoke/front.animated.2bpp.lz.42347014 +++ /dev/null diff --git a/gfx/pokemon/slugma/back.2bpp.lz.dc25c77a b/gfx/pokemon/slugma/back.2bpp.lz.dc25c77a Binary files differdeleted file mode 100644 index 949fbc218..000000000 --- a/gfx/pokemon/slugma/back.2bpp.lz.dc25c77a +++ /dev/null diff --git a/gfx/pokemon/slugma/front.animated.2bpp.lz.c1a44906 b/gfx/pokemon/slugma/front.animated.2bpp.lz.c1a44906 Binary files differdeleted file mode 100644 index 4c9a0078e..000000000 --- a/gfx/pokemon/slugma/front.animated.2bpp.lz.c1a44906 +++ /dev/null diff --git a/gfx/pokemon/smeargle/back.2bpp.lz.2de2de8c b/gfx/pokemon/smeargle/back.2bpp.lz.2de2de8c Binary files differdeleted file mode 100644 index eb96bfd07..000000000 --- a/gfx/pokemon/smeargle/back.2bpp.lz.2de2de8c +++ /dev/null diff --git a/gfx/pokemon/smeargle/front.animated.2bpp.lz.82ec0f51 b/gfx/pokemon/smeargle/front.animated.2bpp.lz.82ec0f51 Binary files differdeleted file mode 100644 index 81be921d5..000000000 --- a/gfx/pokemon/smeargle/front.animated.2bpp.lz.82ec0f51 +++ /dev/null diff --git a/gfx/pokemon/smoochum/back.2bpp.lz.af01f906 b/gfx/pokemon/smoochum/back.2bpp.lz.af01f906 Binary files differdeleted file mode 100644 index 52c256c16..000000000 --- a/gfx/pokemon/smoochum/back.2bpp.lz.af01f906 +++ /dev/null diff --git a/gfx/pokemon/smoochum/front.animated.2bpp.lz.5977720b b/gfx/pokemon/smoochum/front.animated.2bpp.lz.5977720b Binary files differdeleted file mode 100644 index cd4b75761..000000000 --- a/gfx/pokemon/smoochum/front.animated.2bpp.lz.5977720b +++ /dev/null diff --git a/gfx/pokemon/sneasel/back.2bpp.lz.5298828d b/gfx/pokemon/sneasel/back.2bpp.lz.5298828d Binary files differdeleted file mode 100644 index be5ad2304..000000000 --- a/gfx/pokemon/sneasel/back.2bpp.lz.5298828d +++ /dev/null diff --git a/gfx/pokemon/sneasel/front.animated.2bpp.lz.8f7db3e9 b/gfx/pokemon/sneasel/front.animated.2bpp.lz.8f7db3e9 Binary files differdeleted file mode 100644 index 4add5f2e0..000000000 --- a/gfx/pokemon/sneasel/front.animated.2bpp.lz.8f7db3e9 +++ /dev/null diff --git a/gfx/pokemon/snorlax/back.2bpp.lz.90570272 b/gfx/pokemon/snorlax/back.2bpp.lz.90570272 Binary files differdeleted file mode 100644 index dfbfcbb50..000000000 --- a/gfx/pokemon/snorlax/back.2bpp.lz.90570272 +++ /dev/null diff --git a/gfx/pokemon/snorlax/front.animated.2bpp.lz.8253357b b/gfx/pokemon/snorlax/front.animated.2bpp.lz.8253357b Binary files differdeleted file mode 100644 index 7c610f46c..000000000 --- a/gfx/pokemon/snorlax/front.animated.2bpp.lz.8253357b +++ /dev/null diff --git a/gfx/pokemon/snubbull/back.2bpp.lz.26eaaa5d b/gfx/pokemon/snubbull/back.2bpp.lz.26eaaa5d Binary files differdeleted file mode 100644 index 5b020db5e..000000000 --- a/gfx/pokemon/snubbull/back.2bpp.lz.26eaaa5d +++ /dev/null diff --git a/gfx/pokemon/snubbull/front.animated.2bpp.lz.a1b4eb88 b/gfx/pokemon/snubbull/front.animated.2bpp.lz.a1b4eb88 Binary files differdeleted file mode 100644 index 69a534e2c..000000000 --- a/gfx/pokemon/snubbull/front.animated.2bpp.lz.a1b4eb88 +++ /dev/null diff --git a/gfx/pokemon/spearow/back.2bpp.lz.b8e760aa b/gfx/pokemon/spearow/back.2bpp.lz.b8e760aa Binary files differdeleted file mode 100644 index 9411f32bd..000000000 --- a/gfx/pokemon/spearow/back.2bpp.lz.b8e760aa +++ /dev/null diff --git a/gfx/pokemon/spearow/front.animated.2bpp.lz.59d61986 b/gfx/pokemon/spearow/front.animated.2bpp.lz.59d61986 Binary files differdeleted file mode 100644 index 8def69a01..000000000 --- a/gfx/pokemon/spearow/front.animated.2bpp.lz.59d61986 +++ /dev/null diff --git a/gfx/pokemon/spinarak/back.2bpp.lz.14002836 b/gfx/pokemon/spinarak/back.2bpp.lz.14002836 Binary files differdeleted file mode 100644 index 3fa2e3b12..000000000 --- a/gfx/pokemon/spinarak/back.2bpp.lz.14002836 +++ /dev/null diff --git a/gfx/pokemon/spinarak/front.animated.2bpp.lz.31ab6868 b/gfx/pokemon/spinarak/front.animated.2bpp.lz.31ab6868 Binary files differdeleted file mode 100644 index edbe6e1ce..000000000 --- a/gfx/pokemon/spinarak/front.animated.2bpp.lz.31ab6868 +++ /dev/null diff --git a/gfx/pokemon/squirtle/back.2bpp.lz.76295ae8 b/gfx/pokemon/squirtle/back.2bpp.lz.76295ae8 Binary files differdeleted file mode 100644 index a8fa8d3fd..000000000 --- a/gfx/pokemon/squirtle/back.2bpp.lz.76295ae8 +++ /dev/null diff --git a/gfx/pokemon/squirtle/front.animated.2bpp.lz.9b6f9ec9 b/gfx/pokemon/squirtle/front.animated.2bpp.lz.9b6f9ec9 Binary files differdeleted file mode 100644 index 175cc5e0d..000000000 --- a/gfx/pokemon/squirtle/front.animated.2bpp.lz.9b6f9ec9 +++ /dev/null diff --git a/gfx/pokemon/stantler/back.2bpp.lz.16502aac b/gfx/pokemon/stantler/back.2bpp.lz.16502aac Binary files differdeleted file mode 100644 index a0ab53039..000000000 --- a/gfx/pokemon/stantler/back.2bpp.lz.16502aac +++ /dev/null diff --git a/gfx/pokemon/stantler/front.animated.2bpp.lz.46b7dd06 b/gfx/pokemon/stantler/front.animated.2bpp.lz.46b7dd06 Binary files differdeleted file mode 100644 index 87a56e667..000000000 --- a/gfx/pokemon/stantler/front.animated.2bpp.lz.46b7dd06 +++ /dev/null diff --git a/gfx/pokemon/starmie/back.2bpp.lz.a8923741 b/gfx/pokemon/starmie/back.2bpp.lz.a8923741 Binary files differdeleted file mode 100644 index 8085f0f44..000000000 --- a/gfx/pokemon/starmie/back.2bpp.lz.a8923741 +++ /dev/null diff --git a/gfx/pokemon/starmie/front.animated.2bpp.lz.522b6699 b/gfx/pokemon/starmie/front.animated.2bpp.lz.522b6699 Binary files differdeleted file mode 100644 index b9019f6c6..000000000 --- a/gfx/pokemon/starmie/front.animated.2bpp.lz.522b6699 +++ /dev/null diff --git a/gfx/pokemon/staryu/back.2bpp.lz.79ea9d00 b/gfx/pokemon/staryu/back.2bpp.lz.79ea9d00 Binary files differdeleted file mode 100644 index 65366eb7c..000000000 --- a/gfx/pokemon/staryu/back.2bpp.lz.79ea9d00 +++ /dev/null diff --git a/gfx/pokemon/staryu/front.animated.2bpp.lz.22f1d06b b/gfx/pokemon/staryu/front.animated.2bpp.lz.22f1d06b Binary files differdeleted file mode 100644 index 8d0bdacb9..000000000 --- a/gfx/pokemon/staryu/front.animated.2bpp.lz.22f1d06b +++ /dev/null diff --git a/gfx/pokemon/steelix/back.2bpp.lz.f3c03e61 b/gfx/pokemon/steelix/back.2bpp.lz.f3c03e61 Binary files differdeleted file mode 100644 index e4cb2d6dc..000000000 --- a/gfx/pokemon/steelix/back.2bpp.lz.f3c03e61 +++ /dev/null diff --git a/gfx/pokemon/steelix/front.animated.2bpp.lz.42f3f8d1 b/gfx/pokemon/steelix/front.animated.2bpp.lz.42f3f8d1 Binary files differdeleted file mode 100644 index 2da642f04..000000000 --- a/gfx/pokemon/steelix/front.animated.2bpp.lz.42f3f8d1 +++ /dev/null diff --git a/gfx/pokemon/sudowoodo/back.2bpp.lz.728036c6 b/gfx/pokemon/sudowoodo/back.2bpp.lz.728036c6 Binary files differdeleted file mode 100644 index c10731ea9..000000000 --- a/gfx/pokemon/sudowoodo/back.2bpp.lz.728036c6 +++ /dev/null diff --git a/gfx/pokemon/sudowoodo/front.animated.2bpp.lz.b0f04991 b/gfx/pokemon/sudowoodo/front.animated.2bpp.lz.b0f04991 Binary files differdeleted file mode 100644 index 160f800cf..000000000 --- a/gfx/pokemon/sudowoodo/front.animated.2bpp.lz.b0f04991 +++ /dev/null diff --git a/gfx/pokemon/suicune/back.2bpp.lz.5c49d112 b/gfx/pokemon/suicune/back.2bpp.lz.5c49d112 Binary files differdeleted file mode 100644 index a8106fbb4..000000000 --- a/gfx/pokemon/suicune/back.2bpp.lz.5c49d112 +++ /dev/null diff --git a/gfx/pokemon/suicune/front.animated.2bpp.lz.64698c0a b/gfx/pokemon/suicune/front.animated.2bpp.lz.64698c0a Binary files differdeleted file mode 100644 index cbc9dfdbf..000000000 --- a/gfx/pokemon/suicune/front.animated.2bpp.lz.64698c0a +++ /dev/null diff --git a/gfx/pokemon/sunflora/back.2bpp.lz.9d0684f0 b/gfx/pokemon/sunflora/back.2bpp.lz.9d0684f0 Binary files differdeleted file mode 100644 index 3fb3432ba..000000000 --- a/gfx/pokemon/sunflora/back.2bpp.lz.9d0684f0 +++ /dev/null diff --git a/gfx/pokemon/sunflora/front.animated.2bpp.lz.258c3e67 b/gfx/pokemon/sunflora/front.animated.2bpp.lz.258c3e67 Binary files differdeleted file mode 100644 index 1026c3719..000000000 --- a/gfx/pokemon/sunflora/front.animated.2bpp.lz.258c3e67 +++ /dev/null diff --git a/gfx/pokemon/sunkern/back.2bpp.lz.d28f6303 b/gfx/pokemon/sunkern/back.2bpp.lz.d28f6303 Binary files differdeleted file mode 100644 index a9ba0f738..000000000 --- a/gfx/pokemon/sunkern/back.2bpp.lz.d28f6303 +++ /dev/null diff --git a/gfx/pokemon/sunkern/front.animated.2bpp.lz.316c5261 b/gfx/pokemon/sunkern/front.animated.2bpp.lz.316c5261 Binary files differdeleted file mode 100644 index 77a21af73..000000000 --- a/gfx/pokemon/sunkern/front.animated.2bpp.lz.316c5261 +++ /dev/null diff --git a/gfx/pokemon/swinub/back.2bpp.lz.1ebbfabf b/gfx/pokemon/swinub/back.2bpp.lz.1ebbfabf Binary files differdeleted file mode 100644 index 51b90aae2..000000000 --- a/gfx/pokemon/swinub/back.2bpp.lz.1ebbfabf +++ /dev/null diff --git a/gfx/pokemon/swinub/front.animated.2bpp.lz.228147a5 b/gfx/pokemon/swinub/front.animated.2bpp.lz.228147a5 Binary files differdeleted file mode 100644 index 00171e0f3..000000000 --- a/gfx/pokemon/swinub/front.animated.2bpp.lz.228147a5 +++ /dev/null diff --git a/gfx/pokemon/tangela/back.2bpp.lz.435194a6 b/gfx/pokemon/tangela/back.2bpp.lz.435194a6 Binary files differdeleted file mode 100644 index 9ad73a0b6..000000000 --- a/gfx/pokemon/tangela/back.2bpp.lz.435194a6 +++ /dev/null diff --git a/gfx/pokemon/tangela/front.animated.2bpp.lz.7cb3fed8 b/gfx/pokemon/tangela/front.animated.2bpp.lz.7cb3fed8 Binary files differdeleted file mode 100644 index 345732b84..000000000 --- a/gfx/pokemon/tangela/front.animated.2bpp.lz.7cb3fed8 +++ /dev/null diff --git a/gfx/pokemon/tauros/back.2bpp.lz.f487c586 b/gfx/pokemon/tauros/back.2bpp.lz.f487c586 Binary files differdeleted file mode 100644 index 219aee479..000000000 --- a/gfx/pokemon/tauros/back.2bpp.lz.f487c586 +++ /dev/null diff --git a/gfx/pokemon/tauros/front.animated.2bpp.lz.982dd0db b/gfx/pokemon/tauros/front.animated.2bpp.lz.982dd0db Binary files differdeleted file mode 100644 index d395b145b..000000000 --- a/gfx/pokemon/tauros/front.animated.2bpp.lz.982dd0db +++ /dev/null diff --git a/gfx/pokemon/teddiursa/back.2bpp.lz.53f6e34e b/gfx/pokemon/teddiursa/back.2bpp.lz.53f6e34e Binary files differdeleted file mode 100644 index a6d267ef8..000000000 --- a/gfx/pokemon/teddiursa/back.2bpp.lz.53f6e34e +++ /dev/null diff --git a/gfx/pokemon/teddiursa/front.animated.2bpp.lz.5f9648c7 b/gfx/pokemon/teddiursa/front.animated.2bpp.lz.5f9648c7 Binary files differdeleted file mode 100644 index 40c22315e..000000000 --- a/gfx/pokemon/teddiursa/front.animated.2bpp.lz.5f9648c7 +++ /dev/null diff --git a/gfx/pokemon/tentacool/back.2bpp.lz.ae7b2102 b/gfx/pokemon/tentacool/back.2bpp.lz.ae7b2102 Binary files differdeleted file mode 100644 index c0b615905..000000000 --- a/gfx/pokemon/tentacool/back.2bpp.lz.ae7b2102 +++ /dev/null diff --git a/gfx/pokemon/tentacool/front.animated.2bpp.lz.7a86457c b/gfx/pokemon/tentacool/front.animated.2bpp.lz.7a86457c Binary files differdeleted file mode 100644 index 57916e4e9..000000000 --- a/gfx/pokemon/tentacool/front.animated.2bpp.lz.7a86457c +++ /dev/null diff --git a/gfx/pokemon/tentacruel/back.2bpp.lz.0e344f19 b/gfx/pokemon/tentacruel/back.2bpp.lz.0e344f19 Binary files differdeleted file mode 100644 index 89d7a492d..000000000 --- a/gfx/pokemon/tentacruel/back.2bpp.lz.0e344f19 +++ /dev/null diff --git a/gfx/pokemon/tentacruel/front.animated.2bpp.lz.f13e5904 b/gfx/pokemon/tentacruel/front.animated.2bpp.lz.f13e5904 Binary files differdeleted file mode 100644 index ec6f4c2c8..000000000 --- a/gfx/pokemon/tentacruel/front.animated.2bpp.lz.f13e5904 +++ /dev/null diff --git a/gfx/pokemon/togepi/back.2bpp.lz.0e22cc02 b/gfx/pokemon/togepi/back.2bpp.lz.0e22cc02 Binary files differdeleted file mode 100644 index ed6fab2ec..000000000 --- a/gfx/pokemon/togepi/back.2bpp.lz.0e22cc02 +++ /dev/null diff --git a/gfx/pokemon/togepi/front.animated.2bpp.lz.0cf7ba07 b/gfx/pokemon/togepi/front.animated.2bpp.lz.0cf7ba07 Binary files differdeleted file mode 100644 index 8ceaf38bf..000000000 --- a/gfx/pokemon/togepi/front.animated.2bpp.lz.0cf7ba07 +++ /dev/null diff --git a/gfx/pokemon/togetic/back.2bpp.lz.62cbb330 b/gfx/pokemon/togetic/back.2bpp.lz.62cbb330 Binary files differdeleted file mode 100644 index 134d5718a..000000000 --- a/gfx/pokemon/togetic/back.2bpp.lz.62cbb330 +++ /dev/null diff --git a/gfx/pokemon/togetic/front.animated.2bpp.lz.5797583e b/gfx/pokemon/togetic/front.animated.2bpp.lz.5797583e Binary files differdeleted file mode 100644 index 13e98ae1d..000000000 --- a/gfx/pokemon/togetic/front.animated.2bpp.lz.5797583e +++ /dev/null diff --git a/gfx/pokemon/totodile/back.2bpp.lz.ab6bc2a1 b/gfx/pokemon/totodile/back.2bpp.lz.ab6bc2a1 Binary files differdeleted file mode 100644 index 6d73c934f..000000000 --- a/gfx/pokemon/totodile/back.2bpp.lz.ab6bc2a1 +++ /dev/null diff --git a/gfx/pokemon/totodile/front.animated.2bpp.lz.afce8cd0 b/gfx/pokemon/totodile/front.animated.2bpp.lz.afce8cd0 Binary files differdeleted file mode 100644 index 8e1ebd2f5..000000000 --- a/gfx/pokemon/totodile/front.animated.2bpp.lz.afce8cd0 +++ /dev/null diff --git a/gfx/pokemon/typhlosion/back.2bpp.lz.83be0292 b/gfx/pokemon/typhlosion/back.2bpp.lz.83be0292 Binary files differdeleted file mode 100644 index 592306fa6..000000000 --- a/gfx/pokemon/typhlosion/back.2bpp.lz.83be0292 +++ /dev/null diff --git a/gfx/pokemon/typhlosion/front.animated.2bpp.lz.65adc1e1 b/gfx/pokemon/typhlosion/front.animated.2bpp.lz.65adc1e1 Binary files differdeleted file mode 100644 index 9dba415ad..000000000 --- a/gfx/pokemon/typhlosion/front.animated.2bpp.lz.65adc1e1 +++ /dev/null diff --git a/gfx/pokemon/tyranitar/back.2bpp.lz.05b022c9 b/gfx/pokemon/tyranitar/back.2bpp.lz.05b022c9 Binary files differdeleted file mode 100644 index 572e56d69..000000000 --- a/gfx/pokemon/tyranitar/back.2bpp.lz.05b022c9 +++ /dev/null diff --git a/gfx/pokemon/tyranitar/front.animated.2bpp.lz.e0e9187e b/gfx/pokemon/tyranitar/front.animated.2bpp.lz.e0e9187e Binary files differdeleted file mode 100644 index 07d48a5fe..000000000 --- a/gfx/pokemon/tyranitar/front.animated.2bpp.lz.e0e9187e +++ /dev/null diff --git a/gfx/pokemon/tyrogue/back.2bpp.lz.5d84cef1 b/gfx/pokemon/tyrogue/back.2bpp.lz.5d84cef1 Binary files differdeleted file mode 100644 index 9c9a0babc..000000000 --- a/gfx/pokemon/tyrogue/back.2bpp.lz.5d84cef1 +++ /dev/null diff --git a/gfx/pokemon/tyrogue/front.animated.2bpp.lz.a3790421 b/gfx/pokemon/tyrogue/front.animated.2bpp.lz.a3790421 Binary files differdeleted file mode 100644 index 8245825fb..000000000 --- a/gfx/pokemon/tyrogue/front.animated.2bpp.lz.a3790421 +++ /dev/null diff --git a/gfx/pokemon/umbreon/back.2bpp.lz.55e50b8c b/gfx/pokemon/umbreon/back.2bpp.lz.55e50b8c Binary files differdeleted file mode 100644 index cf39af2c6..000000000 --- a/gfx/pokemon/umbreon/back.2bpp.lz.55e50b8c +++ /dev/null diff --git a/gfx/pokemon/umbreon/front.animated.2bpp.lz.b484be57 b/gfx/pokemon/umbreon/front.animated.2bpp.lz.b484be57 Binary files differdeleted file mode 100644 index 64a338138..000000000 --- a/gfx/pokemon/umbreon/front.animated.2bpp.lz.b484be57 +++ /dev/null diff --git a/gfx/pokemon/unown_a/back.2bpp.lz.b8389572 b/gfx/pokemon/unown_a/back.2bpp.lz.b8389572 Binary files differdeleted file mode 100644 index 08833e3e2..000000000 --- a/gfx/pokemon/unown_a/back.2bpp.lz.b8389572 +++ /dev/null diff --git a/gfx/pokemon/unown_a/front.animated.2bpp.lz.47e16756 b/gfx/pokemon/unown_a/front.animated.2bpp.lz.47e16756 Binary files differdeleted file mode 100644 index 6f0639575..000000000 --- a/gfx/pokemon/unown_a/front.animated.2bpp.lz.47e16756 +++ /dev/null diff --git a/gfx/pokemon/unown_b/back.2bpp.lz.72a0840f b/gfx/pokemon/unown_b/back.2bpp.lz.72a0840f Binary files differdeleted file mode 100644 index 46375f630..000000000 --- a/gfx/pokemon/unown_b/back.2bpp.lz.72a0840f +++ /dev/null diff --git a/gfx/pokemon/unown_b/front.animated.2bpp.lz.5742d494 b/gfx/pokemon/unown_b/front.animated.2bpp.lz.5742d494 Binary files differdeleted file mode 100644 index 661c64a9e..000000000 --- a/gfx/pokemon/unown_b/front.animated.2bpp.lz.5742d494 +++ /dev/null diff --git a/gfx/pokemon/unown_c/back.2bpp.lz.f92b665a b/gfx/pokemon/unown_c/back.2bpp.lz.f92b665a Binary files differdeleted file mode 100644 index 796ba6d6a..000000000 --- a/gfx/pokemon/unown_c/back.2bpp.lz.f92b665a +++ /dev/null diff --git a/gfx/pokemon/unown_c/front.animated.2bpp.lz.5fef639b b/gfx/pokemon/unown_c/front.animated.2bpp.lz.5fef639b Binary files differdeleted file mode 100644 index 18fb3b48b..000000000 --- a/gfx/pokemon/unown_c/front.animated.2bpp.lz.5fef639b +++ /dev/null diff --git a/gfx/pokemon/unown_d/back.2bpp.lz.c8213d32 b/gfx/pokemon/unown_d/back.2bpp.lz.c8213d32 Binary files differdeleted file mode 100644 index 8a967332f..000000000 --- a/gfx/pokemon/unown_d/back.2bpp.lz.c8213d32 +++ /dev/null diff --git a/gfx/pokemon/unown_d/front.animated.2bpp.lz.7810a57f b/gfx/pokemon/unown_d/front.animated.2bpp.lz.7810a57f Binary files differdeleted file mode 100644 index d8004662d..000000000 --- a/gfx/pokemon/unown_d/front.animated.2bpp.lz.7810a57f +++ /dev/null diff --git a/gfx/pokemon/unown_e/back.2bpp.lz.777a8ecd b/gfx/pokemon/unown_e/back.2bpp.lz.777a8ecd Binary files differdeleted file mode 100644 index dfc768a1e..000000000 --- a/gfx/pokemon/unown_e/back.2bpp.lz.777a8ecd +++ /dev/null diff --git a/gfx/pokemon/unown_e/front.animated.2bpp.lz.83f43ff7 b/gfx/pokemon/unown_e/front.animated.2bpp.lz.83f43ff7 Binary files differdeleted file mode 100644 index 5358f5ff9..000000000 --- a/gfx/pokemon/unown_e/front.animated.2bpp.lz.83f43ff7 +++ /dev/null diff --git a/gfx/pokemon/unown_f/back.2bpp.lz.3fe1c85a b/gfx/pokemon/unown_f/back.2bpp.lz.3fe1c85a Binary files differdeleted file mode 100644 index 47e54ab66..000000000 --- a/gfx/pokemon/unown_f/back.2bpp.lz.3fe1c85a +++ /dev/null diff --git a/gfx/pokemon/unown_f/front.animated.2bpp.lz.ec888954 b/gfx/pokemon/unown_f/front.animated.2bpp.lz.ec888954 Binary files differdeleted file mode 100644 index 4e0339419..000000000 --- a/gfx/pokemon/unown_f/front.animated.2bpp.lz.ec888954 +++ /dev/null diff --git a/gfx/pokemon/unown_g/back.2bpp.lz.91650439 b/gfx/pokemon/unown_g/back.2bpp.lz.91650439 Binary files differdeleted file mode 100644 index 1f380f3ba..000000000 --- a/gfx/pokemon/unown_g/back.2bpp.lz.91650439 +++ /dev/null diff --git a/gfx/pokemon/unown_g/front.animated.2bpp.lz.c0b74162 b/gfx/pokemon/unown_g/front.animated.2bpp.lz.c0b74162 Binary files differdeleted file mode 100644 index 0e6e343f9..000000000 --- a/gfx/pokemon/unown_g/front.animated.2bpp.lz.c0b74162 +++ /dev/null diff --git a/gfx/pokemon/unown_h/back.2bpp.lz.78421e5b b/gfx/pokemon/unown_h/back.2bpp.lz.78421e5b Binary files differdeleted file mode 100644 index 926bf5757..000000000 --- a/gfx/pokemon/unown_h/back.2bpp.lz.78421e5b +++ /dev/null diff --git a/gfx/pokemon/unown_h/front.animated.2bpp.lz.9a6afeb9 b/gfx/pokemon/unown_h/front.animated.2bpp.lz.9a6afeb9 Binary files differdeleted file mode 100644 index be2d0293c..000000000 --- a/gfx/pokemon/unown_h/front.animated.2bpp.lz.9a6afeb9 +++ /dev/null diff --git a/gfx/pokemon/unown_i/back.2bpp.lz.7feb4b30 b/gfx/pokemon/unown_i/back.2bpp.lz.7feb4b30 Binary files differdeleted file mode 100644 index 7dcea181f..000000000 --- a/gfx/pokemon/unown_i/back.2bpp.lz.7feb4b30 +++ /dev/null diff --git a/gfx/pokemon/unown_i/front.animated.2bpp.lz.f5e7f816 b/gfx/pokemon/unown_i/front.animated.2bpp.lz.f5e7f816 Binary files differdeleted file mode 100644 index dfd89c266..000000000 --- a/gfx/pokemon/unown_i/front.animated.2bpp.lz.f5e7f816 +++ /dev/null diff --git a/gfx/pokemon/unown_j/back.2bpp.lz.b0f3bec2 b/gfx/pokemon/unown_j/back.2bpp.lz.b0f3bec2 Binary files differdeleted file mode 100644 index c0eabf3ba..000000000 --- a/gfx/pokemon/unown_j/back.2bpp.lz.b0f3bec2 +++ /dev/null diff --git a/gfx/pokemon/unown_j/front.animated.2bpp.lz.d8bf9223 b/gfx/pokemon/unown_j/front.animated.2bpp.lz.d8bf9223 Binary files differdeleted file mode 100644 index ec8e536d3..000000000 --- a/gfx/pokemon/unown_j/front.animated.2bpp.lz.d8bf9223 +++ /dev/null diff --git a/gfx/pokemon/unown_k/back.2bpp.lz.745fda48 b/gfx/pokemon/unown_k/back.2bpp.lz.745fda48 Binary files differdeleted file mode 100644 index 0f4e8fda7..000000000 --- a/gfx/pokemon/unown_k/back.2bpp.lz.745fda48 +++ /dev/null diff --git a/gfx/pokemon/unown_k/front.animated.2bpp.lz.fb25b385 b/gfx/pokemon/unown_k/front.animated.2bpp.lz.fb25b385 Binary files differdeleted file mode 100644 index b617e898c..000000000 --- a/gfx/pokemon/unown_k/front.animated.2bpp.lz.fb25b385 +++ /dev/null diff --git a/gfx/pokemon/unown_l/back.2bpp.lz.e38e0d57 b/gfx/pokemon/unown_l/back.2bpp.lz.e38e0d57 Binary files differdeleted file mode 100644 index 4f48955df..000000000 --- a/gfx/pokemon/unown_l/back.2bpp.lz.e38e0d57 +++ /dev/null diff --git a/gfx/pokemon/unown_l/front.animated.2bpp.lz.26195a59 b/gfx/pokemon/unown_l/front.animated.2bpp.lz.26195a59 Binary files differdeleted file mode 100644 index d0eee7516..000000000 --- a/gfx/pokemon/unown_l/front.animated.2bpp.lz.26195a59 +++ /dev/null diff --git a/gfx/pokemon/unown_m/back.2bpp.lz.38d93bc8 b/gfx/pokemon/unown_m/back.2bpp.lz.38d93bc8 Binary files differdeleted file mode 100644 index 3ab40cb03..000000000 --- a/gfx/pokemon/unown_m/back.2bpp.lz.38d93bc8 +++ /dev/null diff --git a/gfx/pokemon/unown_m/front.animated.2bpp.lz.2659315e b/gfx/pokemon/unown_m/front.animated.2bpp.lz.2659315e Binary files differdeleted file mode 100644 index 04e1592ce..000000000 --- a/gfx/pokemon/unown_m/front.animated.2bpp.lz.2659315e +++ /dev/null diff --git a/gfx/pokemon/unown_n/back.2bpp.lz.c8b7d3a4 b/gfx/pokemon/unown_n/back.2bpp.lz.c8b7d3a4 Binary files differdeleted file mode 100644 index c39417aa8..000000000 --- a/gfx/pokemon/unown_n/back.2bpp.lz.c8b7d3a4 +++ /dev/null diff --git a/gfx/pokemon/unown_n/front.animated.2bpp.lz.96ce7c62 b/gfx/pokemon/unown_n/front.animated.2bpp.lz.96ce7c62 Binary files differdeleted file mode 100644 index ec17bff9f..000000000 --- a/gfx/pokemon/unown_n/front.animated.2bpp.lz.96ce7c62 +++ /dev/null diff --git a/gfx/pokemon/unown_o/back.2bpp.lz.89ba693c b/gfx/pokemon/unown_o/back.2bpp.lz.89ba693c Binary files differdeleted file mode 100644 index 4d4b4fd4f..000000000 --- a/gfx/pokemon/unown_o/back.2bpp.lz.89ba693c +++ /dev/null diff --git a/gfx/pokemon/unown_o/front.animated.2bpp.lz.a9151b66 b/gfx/pokemon/unown_o/front.animated.2bpp.lz.a9151b66 Binary files differdeleted file mode 100644 index 66b6b8141..000000000 --- a/gfx/pokemon/unown_o/front.animated.2bpp.lz.a9151b66 +++ /dev/null diff --git a/gfx/pokemon/unown_p/back.2bpp.lz.09c618c4 b/gfx/pokemon/unown_p/back.2bpp.lz.09c618c4 Binary files differdeleted file mode 100644 index 19fd45591..000000000 --- a/gfx/pokemon/unown_p/back.2bpp.lz.09c618c4 +++ /dev/null diff --git a/gfx/pokemon/unown_p/front.animated.2bpp.lz.83a096fc b/gfx/pokemon/unown_p/front.animated.2bpp.lz.83a096fc Binary files differdeleted file mode 100644 index 53d4bfbcd..000000000 --- a/gfx/pokemon/unown_p/front.animated.2bpp.lz.83a096fc +++ /dev/null diff --git a/gfx/pokemon/unown_q/back.2bpp.lz.e32430b4 b/gfx/pokemon/unown_q/back.2bpp.lz.e32430b4 Binary files differdeleted file mode 100644 index 5199cdc6c..000000000 --- a/gfx/pokemon/unown_q/back.2bpp.lz.e32430b4 +++ /dev/null diff --git a/gfx/pokemon/unown_q/front.animated.2bpp.lz.44dad60c b/gfx/pokemon/unown_q/front.animated.2bpp.lz.44dad60c Binary files differdeleted file mode 100644 index 65536e23f..000000000 --- a/gfx/pokemon/unown_q/front.animated.2bpp.lz.44dad60c +++ /dev/null diff --git a/gfx/pokemon/unown_r/back.2bpp.lz.5df8287c b/gfx/pokemon/unown_r/back.2bpp.lz.5df8287c Binary files differdeleted file mode 100644 index a8a243e0b..000000000 --- a/gfx/pokemon/unown_r/back.2bpp.lz.5df8287c +++ /dev/null diff --git a/gfx/pokemon/unown_r/front.animated.2bpp.lz.8e67e3fc b/gfx/pokemon/unown_r/front.animated.2bpp.lz.8e67e3fc Binary files differdeleted file mode 100644 index 9e76761d1..000000000 --- a/gfx/pokemon/unown_r/front.animated.2bpp.lz.8e67e3fc +++ /dev/null diff --git a/gfx/pokemon/unown_s/back.2bpp.lz.abd4ad58 b/gfx/pokemon/unown_s/back.2bpp.lz.abd4ad58 Binary files differdeleted file mode 100644 index 8441f2519..000000000 --- a/gfx/pokemon/unown_s/back.2bpp.lz.abd4ad58 +++ /dev/null diff --git a/gfx/pokemon/unown_s/front.animated.2bpp.lz.f3db4e89 b/gfx/pokemon/unown_s/front.animated.2bpp.lz.f3db4e89 Binary files differdeleted file mode 100644 index d16dea5e9..000000000 --- a/gfx/pokemon/unown_s/front.animated.2bpp.lz.f3db4e89 +++ /dev/null diff --git a/gfx/pokemon/unown_t/back.2bpp.lz.87d48ca0 b/gfx/pokemon/unown_t/back.2bpp.lz.87d48ca0 Binary files differdeleted file mode 100644 index 8d415b53d..000000000 --- a/gfx/pokemon/unown_t/back.2bpp.lz.87d48ca0 +++ /dev/null diff --git a/gfx/pokemon/unown_t/front.animated.2bpp.lz.8bdc40ae b/gfx/pokemon/unown_t/front.animated.2bpp.lz.8bdc40ae Binary files differdeleted file mode 100644 index 83100fbdb..000000000 --- a/gfx/pokemon/unown_t/front.animated.2bpp.lz.8bdc40ae +++ /dev/null diff --git a/gfx/pokemon/unown_u/back.2bpp.lz.40b63dfb b/gfx/pokemon/unown_u/back.2bpp.lz.40b63dfb Binary files differdeleted file mode 100644 index ad395b7ec..000000000 --- a/gfx/pokemon/unown_u/back.2bpp.lz.40b63dfb +++ /dev/null diff --git a/gfx/pokemon/unown_u/front.animated.2bpp.lz.2690db54 b/gfx/pokemon/unown_u/front.animated.2bpp.lz.2690db54 Binary files differdeleted file mode 100644 index 622825cbe..000000000 --- a/gfx/pokemon/unown_u/front.animated.2bpp.lz.2690db54 +++ /dev/null diff --git a/gfx/pokemon/unown_v/back.2bpp.lz.5b1a6acc b/gfx/pokemon/unown_v/back.2bpp.lz.5b1a6acc Binary files differdeleted file mode 100644 index 21c3191f2..000000000 --- a/gfx/pokemon/unown_v/back.2bpp.lz.5b1a6acc +++ /dev/null diff --git a/gfx/pokemon/unown_v/front.animated.2bpp.lz.d196c60e b/gfx/pokemon/unown_v/front.animated.2bpp.lz.d196c60e Binary files differdeleted file mode 100644 index aee5ce362..000000000 --- a/gfx/pokemon/unown_v/front.animated.2bpp.lz.d196c60e +++ /dev/null diff --git a/gfx/pokemon/unown_w/back.2bpp.lz.a55282bf b/gfx/pokemon/unown_w/back.2bpp.lz.a55282bf Binary files differdeleted file mode 100644 index 882648c4d..000000000 --- a/gfx/pokemon/unown_w/back.2bpp.lz.a55282bf +++ /dev/null diff --git a/gfx/pokemon/unown_w/front.animated.2bpp.lz.5b45fa3d b/gfx/pokemon/unown_w/front.animated.2bpp.lz.5b45fa3d Binary files differdeleted file mode 100644 index 78a7fefac..000000000 --- a/gfx/pokemon/unown_w/front.animated.2bpp.lz.5b45fa3d +++ /dev/null diff --git a/gfx/pokemon/unown_x/back.2bpp.lz.0001a198 b/gfx/pokemon/unown_x/back.2bpp.lz.0001a198 Binary files differdeleted file mode 100644 index 591af9668..000000000 --- a/gfx/pokemon/unown_x/back.2bpp.lz.0001a198 +++ /dev/null diff --git a/gfx/pokemon/unown_x/front.animated.2bpp.lz.3362c680 b/gfx/pokemon/unown_x/front.animated.2bpp.lz.3362c680 Binary files differdeleted file mode 100644 index 11adc7c6f..000000000 --- a/gfx/pokemon/unown_x/front.animated.2bpp.lz.3362c680 +++ /dev/null diff --git a/gfx/pokemon/unown_y/back.2bpp.lz.292d9ff2 b/gfx/pokemon/unown_y/back.2bpp.lz.292d9ff2 Binary files differdeleted file mode 100644 index ab7563e0d..000000000 --- a/gfx/pokemon/unown_y/back.2bpp.lz.292d9ff2 +++ /dev/null diff --git a/gfx/pokemon/unown_y/front.animated.2bpp.lz.8cd89db4 b/gfx/pokemon/unown_y/front.animated.2bpp.lz.8cd89db4 Binary files differdeleted file mode 100644 index 1604f7e7b..000000000 --- a/gfx/pokemon/unown_y/front.animated.2bpp.lz.8cd89db4 +++ /dev/null diff --git a/gfx/pokemon/unown_z/back.2bpp.lz.a41240a1 b/gfx/pokemon/unown_z/back.2bpp.lz.a41240a1 Binary files differdeleted file mode 100644 index 31bcb7baa..000000000 --- a/gfx/pokemon/unown_z/back.2bpp.lz.a41240a1 +++ /dev/null diff --git a/gfx/pokemon/unown_z/front.animated.2bpp.lz.2d4170a0 b/gfx/pokemon/unown_z/front.animated.2bpp.lz.2d4170a0 Binary files differdeleted file mode 100644 index 0d9b8b4f8..000000000 --- a/gfx/pokemon/unown_z/front.animated.2bpp.lz.2d4170a0 +++ /dev/null diff --git a/gfx/pokemon/ursaring/back.2bpp.lz.0966cee1 b/gfx/pokemon/ursaring/back.2bpp.lz.0966cee1 Binary files differdeleted file mode 100644 index 263eac805..000000000 --- a/gfx/pokemon/ursaring/back.2bpp.lz.0966cee1 +++ /dev/null diff --git a/gfx/pokemon/ursaring/front.animated.2bpp.lz.5bcb8114 b/gfx/pokemon/ursaring/front.animated.2bpp.lz.5bcb8114 Binary files differdeleted file mode 100644 index f98dd0cb0..000000000 --- a/gfx/pokemon/ursaring/front.animated.2bpp.lz.5bcb8114 +++ /dev/null diff --git a/gfx/pokemon/vaporeon/back.2bpp.lz.aafe2ea4 b/gfx/pokemon/vaporeon/back.2bpp.lz.aafe2ea4 Binary files differdeleted file mode 100644 index 9ea248261..000000000 --- a/gfx/pokemon/vaporeon/back.2bpp.lz.aafe2ea4 +++ /dev/null diff --git a/gfx/pokemon/vaporeon/front.animated.2bpp.lz.6e1ee993 b/gfx/pokemon/vaporeon/front.animated.2bpp.lz.6e1ee993 Binary files differdeleted file mode 100644 index 67793c7ec..000000000 --- a/gfx/pokemon/vaporeon/front.animated.2bpp.lz.6e1ee993 +++ /dev/null diff --git a/gfx/pokemon/venomoth/back.2bpp.lz.ba3cccb7 b/gfx/pokemon/venomoth/back.2bpp.lz.ba3cccb7 Binary files differdeleted file mode 100644 index 721527c2a..000000000 --- a/gfx/pokemon/venomoth/back.2bpp.lz.ba3cccb7 +++ /dev/null diff --git a/gfx/pokemon/venomoth/front.animated.2bpp.lz.6c0096ec b/gfx/pokemon/venomoth/front.animated.2bpp.lz.6c0096ec Binary files differdeleted file mode 100644 index 5f32ad682..000000000 --- a/gfx/pokemon/venomoth/front.animated.2bpp.lz.6c0096ec +++ /dev/null diff --git a/gfx/pokemon/venonat/back.2bpp.lz.63b1017a b/gfx/pokemon/venonat/back.2bpp.lz.63b1017a Binary files differdeleted file mode 100644 index b28c7523d..000000000 --- a/gfx/pokemon/venonat/back.2bpp.lz.63b1017a +++ /dev/null diff --git a/gfx/pokemon/venonat/front.animated.2bpp.lz.02a36f08 b/gfx/pokemon/venonat/front.animated.2bpp.lz.02a36f08 Binary files differdeleted file mode 100644 index f6b057e8f..000000000 --- a/gfx/pokemon/venonat/front.animated.2bpp.lz.02a36f08 +++ /dev/null diff --git a/gfx/pokemon/venusaur/back.2bpp.lz.1d5b9ebe b/gfx/pokemon/venusaur/back.2bpp.lz.1d5b9ebe Binary files differdeleted file mode 100644 index 27ca82e8a..000000000 --- a/gfx/pokemon/venusaur/back.2bpp.lz.1d5b9ebe +++ /dev/null diff --git a/gfx/pokemon/venusaur/front.animated.2bpp.lz.48d131f4 b/gfx/pokemon/venusaur/front.animated.2bpp.lz.48d131f4 Binary files differdeleted file mode 100644 index d436da0bd..000000000 --- a/gfx/pokemon/venusaur/front.animated.2bpp.lz.48d131f4 +++ /dev/null diff --git a/gfx/pokemon/victreebel/back.2bpp.lz.a80b1dc4 b/gfx/pokemon/victreebel/back.2bpp.lz.a80b1dc4 Binary files differdeleted file mode 100644 index d4b014f67..000000000 --- a/gfx/pokemon/victreebel/back.2bpp.lz.a80b1dc4 +++ /dev/null diff --git a/gfx/pokemon/victreebel/front.animated.2bpp.lz.d5d535c1 b/gfx/pokemon/victreebel/front.animated.2bpp.lz.d5d535c1 Binary files differdeleted file mode 100644 index c53114990..000000000 --- a/gfx/pokemon/victreebel/front.animated.2bpp.lz.d5d535c1 +++ /dev/null diff --git a/gfx/pokemon/vileplume/back.2bpp.lz.9f944092 b/gfx/pokemon/vileplume/back.2bpp.lz.9f944092 Binary files differdeleted file mode 100644 index 823f0e112..000000000 --- a/gfx/pokemon/vileplume/back.2bpp.lz.9f944092 +++ /dev/null diff --git a/gfx/pokemon/vileplume/front.animated.2bpp.lz.db2287e6 b/gfx/pokemon/vileplume/front.animated.2bpp.lz.db2287e6 Binary files differdeleted file mode 100644 index 05ca10ba5..000000000 --- a/gfx/pokemon/vileplume/front.animated.2bpp.lz.db2287e6 +++ /dev/null diff --git a/gfx/pokemon/voltorb/back.2bpp.lz.f19cefe9 b/gfx/pokemon/voltorb/back.2bpp.lz.f19cefe9 Binary files differdeleted file mode 100644 index fe102da9a..000000000 --- a/gfx/pokemon/voltorb/back.2bpp.lz.f19cefe9 +++ /dev/null diff --git a/gfx/pokemon/voltorb/front.animated.2bpp.lz.64051f97 b/gfx/pokemon/voltorb/front.animated.2bpp.lz.64051f97 Binary files differdeleted file mode 100644 index 94f35f9aa..000000000 --- a/gfx/pokemon/voltorb/front.animated.2bpp.lz.64051f97 +++ /dev/null diff --git a/gfx/pokemon/vulpix/back.2bpp.lz.0c7852c8 b/gfx/pokemon/vulpix/back.2bpp.lz.0c7852c8 Binary files differdeleted file mode 100644 index ce2535141..000000000 --- a/gfx/pokemon/vulpix/back.2bpp.lz.0c7852c8 +++ /dev/null diff --git a/gfx/pokemon/vulpix/front.animated.2bpp.lz.df94d884 b/gfx/pokemon/vulpix/front.animated.2bpp.lz.df94d884 Binary files differdeleted file mode 100644 index 9248ce808..000000000 --- a/gfx/pokemon/vulpix/front.animated.2bpp.lz.df94d884 +++ /dev/null diff --git a/gfx/pokemon/wartortle/back.2bpp.lz.f2338cb4 b/gfx/pokemon/wartortle/back.2bpp.lz.f2338cb4 Binary files differdeleted file mode 100644 index 5734c20cb..000000000 --- a/gfx/pokemon/wartortle/back.2bpp.lz.f2338cb4 +++ /dev/null diff --git a/gfx/pokemon/wartortle/front.animated.2bpp.lz.f50d25f5 b/gfx/pokemon/wartortle/front.animated.2bpp.lz.f50d25f5 Binary files differdeleted file mode 100644 index 29642807d..000000000 --- a/gfx/pokemon/wartortle/front.animated.2bpp.lz.f50d25f5 +++ /dev/null diff --git a/gfx/pokemon/weedle/back.2bpp.lz.f26ac339 b/gfx/pokemon/weedle/back.2bpp.lz.f26ac339 Binary files differdeleted file mode 100644 index 64decb914..000000000 --- a/gfx/pokemon/weedle/back.2bpp.lz.f26ac339 +++ /dev/null diff --git a/gfx/pokemon/weedle/front.animated.2bpp.lz.9e1dedbd b/gfx/pokemon/weedle/front.animated.2bpp.lz.9e1dedbd Binary files differdeleted file mode 100644 index 091df588a..000000000 --- a/gfx/pokemon/weedle/front.animated.2bpp.lz.9e1dedbd +++ /dev/null diff --git a/gfx/pokemon/weepinbell/back.2bpp.lz.f84a5fe6 b/gfx/pokemon/weepinbell/back.2bpp.lz.f84a5fe6 Binary files differdeleted file mode 100644 index 26e44257c..000000000 --- a/gfx/pokemon/weepinbell/back.2bpp.lz.f84a5fe6 +++ /dev/null diff --git a/gfx/pokemon/weepinbell/front.animated.2bpp.lz.7b06c092 b/gfx/pokemon/weepinbell/front.animated.2bpp.lz.7b06c092 Binary files differdeleted file mode 100644 index a7e7d60b5..000000000 --- a/gfx/pokemon/weepinbell/front.animated.2bpp.lz.7b06c092 +++ /dev/null diff --git a/gfx/pokemon/weezing/back.2bpp.lz.5ac5b672 b/gfx/pokemon/weezing/back.2bpp.lz.5ac5b672 Binary files differdeleted file mode 100644 index a85124f3a..000000000 --- a/gfx/pokemon/weezing/back.2bpp.lz.5ac5b672 +++ /dev/null diff --git a/gfx/pokemon/weezing/front.animated.2bpp.lz.75928bd0 b/gfx/pokemon/weezing/front.animated.2bpp.lz.75928bd0 Binary files differdeleted file mode 100644 index 3c6f24a41..000000000 --- a/gfx/pokemon/weezing/front.animated.2bpp.lz.75928bd0 +++ /dev/null diff --git a/gfx/pokemon/wigglytuff/back.2bpp.lz.fee674ac b/gfx/pokemon/wigglytuff/back.2bpp.lz.fee674ac Binary files differdeleted file mode 100644 index 3b3732986..000000000 --- a/gfx/pokemon/wigglytuff/back.2bpp.lz.fee674ac +++ /dev/null diff --git a/gfx/pokemon/wigglytuff/front.animated.2bpp.lz.49311d0b b/gfx/pokemon/wigglytuff/front.animated.2bpp.lz.49311d0b Binary files differdeleted file mode 100644 index c633d2a0a..000000000 --- a/gfx/pokemon/wigglytuff/front.animated.2bpp.lz.49311d0b +++ /dev/null diff --git a/gfx/pokemon/wobbuffet/back.2bpp.lz.a862192a b/gfx/pokemon/wobbuffet/back.2bpp.lz.a862192a Binary files differdeleted file mode 100644 index 87dba2049..000000000 --- a/gfx/pokemon/wobbuffet/back.2bpp.lz.a862192a +++ /dev/null diff --git a/gfx/pokemon/wobbuffet/front.animated.2bpp.lz.f1f4687d b/gfx/pokemon/wobbuffet/front.animated.2bpp.lz.f1f4687d Binary files differdeleted file mode 100644 index ce7aa46c8..000000000 --- a/gfx/pokemon/wobbuffet/front.animated.2bpp.lz.f1f4687d +++ /dev/null diff --git a/gfx/pokemon/wooper/back.2bpp.lz.4f4b7917 b/gfx/pokemon/wooper/back.2bpp.lz.4f4b7917 Binary files differdeleted file mode 100644 index 973037f02..000000000 --- a/gfx/pokemon/wooper/back.2bpp.lz.4f4b7917 +++ /dev/null diff --git a/gfx/pokemon/wooper/front.animated.2bpp.lz.4e440469 b/gfx/pokemon/wooper/front.animated.2bpp.lz.4e440469 Binary files differdeleted file mode 100644 index 3d5d53c1b..000000000 --- a/gfx/pokemon/wooper/front.animated.2bpp.lz.4e440469 +++ /dev/null diff --git a/gfx/pokemon/xatu/back.2bpp.lz.4de765ff b/gfx/pokemon/xatu/back.2bpp.lz.4de765ff Binary files differdeleted file mode 100644 index 8b6889ffb..000000000 --- a/gfx/pokemon/xatu/back.2bpp.lz.4de765ff +++ /dev/null diff --git a/gfx/pokemon/xatu/front.animated.2bpp.lz.4f452e43 b/gfx/pokemon/xatu/front.animated.2bpp.lz.4f452e43 Binary files differdeleted file mode 100644 index 4b5918b3a..000000000 --- a/gfx/pokemon/xatu/front.animated.2bpp.lz.4f452e43 +++ /dev/null diff --git a/gfx/pokemon/yanma/back.2bpp.lz.2ca27ab3 b/gfx/pokemon/yanma/back.2bpp.lz.2ca27ab3 Binary files differdeleted file mode 100644 index 47105f12f..000000000 --- a/gfx/pokemon/yanma/back.2bpp.lz.2ca27ab3 +++ /dev/null diff --git a/gfx/pokemon/yanma/front.animated.2bpp.lz.25f91adf b/gfx/pokemon/yanma/front.animated.2bpp.lz.25f91adf Binary files differdeleted file mode 100644 index 1987afdc9..000000000 --- a/gfx/pokemon/yanma/front.animated.2bpp.lz.25f91adf +++ /dev/null diff --git a/gfx/pokemon/zapdos/back.2bpp.lz.a44c7524 b/gfx/pokemon/zapdos/back.2bpp.lz.a44c7524 Binary files differdeleted file mode 100644 index 2f2167941..000000000 --- a/gfx/pokemon/zapdos/back.2bpp.lz.a44c7524 +++ /dev/null diff --git a/gfx/pokemon/zapdos/front.animated.2bpp.lz.05cb214a b/gfx/pokemon/zapdos/front.animated.2bpp.lz.05cb214a Binary files differdeleted file mode 100644 index 0f048171c..000000000 --- a/gfx/pokemon/zapdos/front.animated.2bpp.lz.05cb214a +++ /dev/null diff --git a/gfx/pokemon/zubat/back.2bpp.lz.aa77eb62 b/gfx/pokemon/zubat/back.2bpp.lz.aa77eb62 Binary files differdeleted file mode 100644 index d50e00e90..000000000 --- a/gfx/pokemon/zubat/back.2bpp.lz.aa77eb62 +++ /dev/null diff --git a/gfx/pokemon/zubat/front.animated.2bpp.lz.f12e6581 b/gfx/pokemon/zubat/front.animated.2bpp.lz.f12e6581 Binary files differdeleted file mode 100644 index b22e1d971..000000000 --- a/gfx/pokemon/zubat/front.animated.2bpp.lz.f12e6581 +++ /dev/null diff --git a/gfx/sgb/gbc_only.2bpp.lz.4a5bba0e b/gfx/sgb/gbc_only.2bpp.lz.4a5bba0e Binary files differdeleted file mode 100644 index 9533fbe6d..000000000 --- a/gfx/sgb/gbc_only.2bpp.lz.4a5bba0e +++ /dev/null diff --git a/gfx/sgb/pal_packets.asm b/gfx/sgb/pal_packets.asm index b88bea526..a596d1dc6 100644 --- a/gfx/sgb/pal_packets.asm +++ b/gfx/sgb/pal_packets.asm @@ -20,7 +20,7 @@ PalPacket_GSTitleScreen: sgb_pal_set GS_TITLE_SCREEN_0, GS_TITLE_SCREEN_1, GS_TITLE_SCREEN_2, GS_TITLE_SCREEN_3 PalPacket_MagnetTrain: - sgb_pal_set BETA_SHINY_GREENMON, CGB_BADGE, RB_BROWNMON, 00 + sgb_pal_set BETA_SHINY_GREENMON, CGB_BADGE, RB_BROWNMON, ROUTES PalPacket_BetaPoker: sgb_pal_set BETA_POKER_0, BETA_POKER_1, BETA_POKER_2, BETA_POKER_3 @@ -29,28 +29,28 @@ PalPacket_UnownPuzzle: sgb_pal_set UNOWN_PUZZLE, UNOWN_PUZZLE, UNOWN_PUZZLE, UNOWN_PUZZLE PalPacket_9bd6: - sgb_pal_set 00, 00, 00, 00 + sgb_pal_set ROUTES, ROUTES, ROUTES, ROUTES PalPacket_GSIntroShellderLapras: - sgb_pal_set GS_INTRO_SHELLDER_LAPRAS, 00, 00, 00 + sgb_pal_set GS_INTRO_SHELLDER_LAPRAS, ROUTES, ROUTES, ROUTES UnreferencedPalPacket_BetaIntroLapras: - sgb_pal_set BETA_INTRO_LAPRAS, 00, 00, 00 + sgb_pal_set BETA_INTRO_LAPRAS, ROUTES, ROUTES, ROUTES PalPacket_GSIntroJigglypuffPikachu: - sgb_pal_set GS_INTRO_JIGGLYPUFF_PIKACHU_BG, GS_INTRO_JIGGLYPUFF_PIKACHU_OB, 00, 00 + sgb_pal_set GS_INTRO_JIGGLYPUFF_PIKACHU_BG, GS_INTRO_JIGGLYPUFF_PIKACHU_OB, ROUTES, ROUTES PalPacket_GSIntroStartersTransition: - sgb_pal_set GS_INTRO_STARTERS_TRANSITION, 00, 00, 00 + sgb_pal_set GS_INTRO_STARTERS_TRANSITION, ROUTES, ROUTES, ROUTES PalPacket_BetaIntroVenusaur: - sgb_pal_set BETA_INTRO_VENUSAUR, 00, 00, 00 + sgb_pal_set BETA_INTRO_VENUSAUR, ROUTES, ROUTES, ROUTES PalPacket_Pack: - sgb_pal_set PACK, 00, 00, 00 + sgb_pal_set PACK, ROUTES, ROUTES, ROUTES PalPacket_BetaPikachuMinigame: - sgb_pal_set GS_INTRO_JIGGLYPUFF_PIKACHU_OB, 00, 00, 00 + sgb_pal_set GS_INTRO_JIGGLYPUFF_PIKACHU_OB, ROUTES, ROUTES, ROUTES PalPacket_PartyMenu: sgb_pal_set PARTY_ICON, HP_GREEN, HP_YELLOW, HP_RED @@ -59,10 +59,10 @@ PalPacket_BattleGrayscale: sgb_pal_set BLACKOUT, BLACKOUT, BLACKOUT, BLACKOUT PalPacket_Pokegear: - sgb_pal_set POKEGEAR, 00, 00, 00 + sgb_pal_set POKEGEAR, ROUTES, ROUTES, ROUTES UnreferencedPalPacket_9c86: - sgb_pal_set PACK, 00, 00, 00 + sgb_pal_set PACK, ROUTES, ROUTES, ROUTES PalPacket_SlotMachine: sgb_pal_set SLOT_MACHINE_0, SLOT_MACHINE_1, SLOT_MACHINE_2, SLOT_MACHINE_3 @@ -71,13 +71,13 @@ PalPacket_BetaTitleScreen: sgb_pal_set BETA_LOGO_1, BETA_LOGO_2, DIPLOMA, RB_PURPLEMON PalPacket_Diploma: - sgb_pal_set DIPLOMA, 00, 00, 00 + sgb_pal_set DIPLOMA, ROUTES, ROUTES, ROUTES PalPacket_TradeTube: - sgb_pal_set TRADE_TUBE, 00, 00, 00 + sgb_pal_set TRADE_TUBE, ROUTES, ROUTES, ROUTES PalPacket_GamefreakLogo: - sgb_pal_set GS_INTRO_GAMEFREAK_LOGO, 00, 00, 00 + sgb_pal_set GS_INTRO_GAMEFREAK_LOGO, ROUTES, ROUTES, ROUTES PalPacket_9ce6: sgb_pal01 diff --git a/gfx/slots/slots_1.2bpp.lz.b22ddc13 b/gfx/slots/slots_1.2bpp.lz.b22ddc13 Binary files differdeleted file mode 100644 index 90d3ce139..000000000 --- a/gfx/slots/slots_1.2bpp.lz.b22ddc13 +++ /dev/null diff --git a/gfx/slots/slots_2.2bpp.lz.b28f76e3 b/gfx/slots/slots_2.2bpp.lz.b28f76e3 Binary files differdeleted file mode 100644 index 638c68055..000000000 --- a/gfx/slots/slots_2.2bpp.lz.b28f76e3 +++ /dev/null diff --git a/gfx/slots/slots_3.2bpp.lz.70c2984c b/gfx/slots/slots_3.2bpp.lz.70c2984c Binary files differdeleted file mode 100644 index 858b6e464..000000000 --- a/gfx/slots/slots_3.2bpp.lz.70c2984c +++ /dev/null diff --git a/gfx/tilesets/aerodactyl_word_room.2bpp.lz.8b42470b b/gfx/tilesets/aerodactyl_word_room.2bpp.lz.8b42470b Binary files differdeleted file mode 100644 index 68a4fdad0..000000000 --- a/gfx/tilesets/aerodactyl_word_room.2bpp.lz.8b42470b +++ /dev/null diff --git a/gfx/tilesets/battle_tower_inside.2bpp.lz.467b6a2d b/gfx/tilesets/battle_tower_inside.2bpp.lz.467b6a2d Binary files differdeleted file mode 100644 index fa5d0a9f0..000000000 --- a/gfx/tilesets/battle_tower_inside.2bpp.lz.467b6a2d +++ /dev/null diff --git a/gfx/tilesets/battle_tower_outside.2bpp.lz.391603fb b/gfx/tilesets/battle_tower_outside.2bpp.lz.391603fb Binary files differdeleted file mode 100644 index 64f23e23b..000000000 --- a/gfx/tilesets/battle_tower_outside.2bpp.lz.391603fb +++ /dev/null diff --git a/gfx/tilesets/beta_word_room.2bpp.lz.8b42470b b/gfx/tilesets/beta_word_room.2bpp.lz.8b42470b Binary files differdeleted file mode 100644 index 68a4fdad0..000000000 --- a/gfx/tilesets/beta_word_room.2bpp.lz.8b42470b +++ /dev/null diff --git a/gfx/tilesets/cave.2bpp.lz.3437812a b/gfx/tilesets/cave.2bpp.lz.3437812a Binary files differdeleted file mode 100644 index 69069fb75..000000000 --- a/gfx/tilesets/cave.2bpp.lz.3437812a +++ /dev/null diff --git a/gfx/tilesets/champions_room.2bpp.lz.93800351 b/gfx/tilesets/champions_room.2bpp.lz.93800351 Binary files differdeleted file mode 100644 index e19994f37..000000000 --- a/gfx/tilesets/champions_room.2bpp.lz.93800351 +++ /dev/null diff --git a/gfx/tilesets/dark_cave.2bpp.lz.25b9c4b6 b/gfx/tilesets/dark_cave.2bpp.lz.25b9c4b6 Binary files differdeleted file mode 100644 index 50a5ab9ac..000000000 --- a/gfx/tilesets/dark_cave.2bpp.lz.25b9c4b6 +++ /dev/null diff --git a/gfx/tilesets/elite_four_room.2bpp.lz.c1f2ed8f b/gfx/tilesets/elite_four_room.2bpp.lz.c1f2ed8f Binary files differdeleted file mode 100644 index 6b45c769d..000000000 --- a/gfx/tilesets/elite_four_room.2bpp.lz.c1f2ed8f +++ /dev/null diff --git a/gfx/tilesets/facility.2bpp.lz.454cfd8b b/gfx/tilesets/facility.2bpp.lz.454cfd8b Binary files differdeleted file mode 100644 index 584e54dd2..000000000 --- a/gfx/tilesets/facility.2bpp.lz.454cfd8b +++ /dev/null diff --git a/gfx/tilesets/forest.2bpp.lz.6b0ac896 b/gfx/tilesets/forest.2bpp.lz.6b0ac896 Binary files differdeleted file mode 100644 index 7b5355705..000000000 --- a/gfx/tilesets/forest.2bpp.lz.6b0ac896 +++ /dev/null diff --git a/gfx/tilesets/game_corner.2bpp.lz.71d29a2f b/gfx/tilesets/game_corner.2bpp.lz.71d29a2f Binary files differdeleted file mode 100644 index f7e185b4e..000000000 --- a/gfx/tilesets/game_corner.2bpp.lz.71d29a2f +++ /dev/null diff --git a/gfx/tilesets/gate.2bpp.lz.f5a55006 b/gfx/tilesets/gate.2bpp.lz.f5a55006 Binary files differdeleted file mode 100644 index 724b6b8b7..000000000 --- a/gfx/tilesets/gate.2bpp.lz.f5a55006 +++ /dev/null diff --git a/gfx/tilesets/ho_oh_word_room.2bpp.lz.8b42470b b/gfx/tilesets/ho_oh_word_room.2bpp.lz.8b42470b Binary files differdeleted file mode 100644 index 68a4fdad0..000000000 --- a/gfx/tilesets/ho_oh_word_room.2bpp.lz.8b42470b +++ /dev/null diff --git a/gfx/tilesets/house.2bpp.lz.c848ef13 b/gfx/tilesets/house.2bpp.lz.c848ef13 Binary files differdeleted file mode 100644 index f9afaf70d..000000000 --- a/gfx/tilesets/house.2bpp.lz.c848ef13 +++ /dev/null diff --git a/gfx/tilesets/ice_path.2bpp.lz.e23bc89f b/gfx/tilesets/ice_path.2bpp.lz.e23bc89f Binary files differdeleted file mode 100644 index 25cc45c85..000000000 --- a/gfx/tilesets/ice_path.2bpp.lz.e23bc89f +++ /dev/null diff --git a/gfx/tilesets/johto.2bpp.lz.0c7e555a b/gfx/tilesets/johto.2bpp.lz.0c7e555a Binary files differdeleted file mode 100644 index 9821e1433..000000000 --- a/gfx/tilesets/johto.2bpp.lz.0c7e555a +++ /dev/null diff --git a/gfx/tilesets/johto_modern.2bpp.lz.391603fb b/gfx/tilesets/johto_modern.2bpp.lz.391603fb Binary files differdeleted file mode 100644 index 64f23e23b..000000000 --- a/gfx/tilesets/johto_modern.2bpp.lz.391603fb +++ /dev/null diff --git a/gfx/tilesets/kabuto_word_room.2bpp.lz.8b42470b b/gfx/tilesets/kabuto_word_room.2bpp.lz.8b42470b Binary files differdeleted file mode 100644 index 68a4fdad0..000000000 --- a/gfx/tilesets/kabuto_word_room.2bpp.lz.8b42470b +++ /dev/null diff --git a/gfx/tilesets/kanto.2bpp.lz.a29f5d51 b/gfx/tilesets/kanto.2bpp.lz.a29f5d51 Binary files differdeleted file mode 100644 index d925ee111..000000000 --- a/gfx/tilesets/kanto.2bpp.lz.a29f5d51 +++ /dev/null diff --git a/gfx/tilesets/lab.2bpp.lz.b8d0f547 b/gfx/tilesets/lab.2bpp.lz.b8d0f547 Binary files differdeleted file mode 100644 index cd0f43861..000000000 --- a/gfx/tilesets/lab.2bpp.lz.b8d0f547 +++ /dev/null diff --git a/gfx/tilesets/lighthouse.2bpp.lz.0c1544c1 b/gfx/tilesets/lighthouse.2bpp.lz.0c1544c1 Binary files differdeleted file mode 100644 index d208e65c3..000000000 --- a/gfx/tilesets/lighthouse.2bpp.lz.0c1544c1 +++ /dev/null diff --git a/gfx/tilesets/mansion.2bpp.lz.63b414d4 b/gfx/tilesets/mansion.2bpp.lz.63b414d4 Binary files differdeleted file mode 100644 index b68f147d0..000000000 --- a/gfx/tilesets/mansion.2bpp.lz.63b414d4 +++ /dev/null diff --git a/gfx/tilesets/mart.2bpp.lz.e2e94f92 b/gfx/tilesets/mart.2bpp.lz.e2e94f92 Binary files differdeleted file mode 100644 index e8091a899..000000000 --- a/gfx/tilesets/mart.2bpp.lz.e2e94f92 +++ /dev/null diff --git a/gfx/tilesets/omanyte_word_room.2bpp.lz.8b42470b b/gfx/tilesets/omanyte_word_room.2bpp.lz.8b42470b Binary files differdeleted file mode 100644 index 68a4fdad0..000000000 --- a/gfx/tilesets/omanyte_word_room.2bpp.lz.8b42470b +++ /dev/null diff --git a/gfx/tilesets/park.2bpp.lz.7fcb81d6 b/gfx/tilesets/park.2bpp.lz.7fcb81d6 Binary files differdeleted file mode 100644 index 01a0e56bd..000000000 --- a/gfx/tilesets/park.2bpp.lz.7fcb81d6 +++ /dev/null diff --git a/gfx/tilesets/players_house.2bpp.lz.252cbd8f b/gfx/tilesets/players_house.2bpp.lz.252cbd8f Binary files differdeleted file mode 100644 index 17c64de65..000000000 --- a/gfx/tilesets/players_house.2bpp.lz.252cbd8f +++ /dev/null diff --git a/gfx/tilesets/players_room.2bpp.lz.35e51007 b/gfx/tilesets/players_room.2bpp.lz.35e51007 Binary files differdeleted file mode 100644 index b458a501d..000000000 --- a/gfx/tilesets/players_room.2bpp.lz.35e51007 +++ /dev/null diff --git a/gfx/tilesets/pokecenter.2bpp.lz.e1c4014c b/gfx/tilesets/pokecenter.2bpp.lz.e1c4014c Binary files differdeleted file mode 100644 index 71783d9f2..000000000 --- a/gfx/tilesets/pokecenter.2bpp.lz.e1c4014c +++ /dev/null diff --git a/gfx/tilesets/pokecom_center.2bpp.lz.febbc4ec b/gfx/tilesets/pokecom_center.2bpp.lz.febbc4ec Binary files differdeleted file mode 100644 index 5b787c854..000000000 --- a/gfx/tilesets/pokecom_center.2bpp.lz.febbc4ec +++ /dev/null diff --git a/gfx/tilesets/port.2bpp.lz.56b1a405 b/gfx/tilesets/port.2bpp.lz.56b1a405 Binary files differdeleted file mode 100644 index 96dd2e594..000000000 --- a/gfx/tilesets/port.2bpp.lz.56b1a405 +++ /dev/null diff --git a/gfx/tilesets/radio_tower.2bpp.lz.27cdd9ad b/gfx/tilesets/radio_tower.2bpp.lz.27cdd9ad Binary files differdeleted file mode 100644 index 34be33856..000000000 --- a/gfx/tilesets/radio_tower.2bpp.lz.27cdd9ad +++ /dev/null diff --git a/gfx/tilesets/ruins_of_alph.2bpp.lz.8b42470b b/gfx/tilesets/ruins_of_alph.2bpp.lz.8b42470b Binary files differdeleted file mode 100644 index 68a4fdad0..000000000 --- a/gfx/tilesets/ruins_of_alph.2bpp.lz.8b42470b +++ /dev/null diff --git a/gfx/tilesets/tower.2bpp.lz.bc56789c b/gfx/tilesets/tower.2bpp.lz.bc56789c Binary files differdeleted file mode 100644 index 2033306e3..000000000 --- a/gfx/tilesets/tower.2bpp.lz.bc56789c +++ /dev/null diff --git a/gfx/tilesets/traditional_house.2bpp.lz.dd51d079 b/gfx/tilesets/traditional_house.2bpp.lz.dd51d079 Binary files differdeleted file mode 100644 index 28f025413..000000000 --- a/gfx/tilesets/traditional_house.2bpp.lz.dd51d079 +++ /dev/null diff --git a/gfx/tilesets/train_station.2bpp.lz.1600ca86 b/gfx/tilesets/train_station.2bpp.lz.1600ca86 Binary files differdeleted file mode 100644 index 56e509f5e..000000000 --- a/gfx/tilesets/train_station.2bpp.lz.1600ca86 +++ /dev/null diff --git a/gfx/tilesets/underground.2bpp.lz.cace291c b/gfx/tilesets/underground.2bpp.lz.cace291c Binary files differdeleted file mode 100644 index c204dca26..000000000 --- a/gfx/tilesets/underground.2bpp.lz.cace291c +++ /dev/null diff --git a/gfx/title/crystal.2bpp.lz.cd5aabdd b/gfx/title/crystal.2bpp.lz.cd5aabdd Binary files differdeleted file mode 100644 index 9dcbafc86..000000000 --- a/gfx/title/crystal.2bpp.lz.cd5aabdd +++ /dev/null diff --git a/gfx/title/logo.2bpp.lz.f22013e3 b/gfx/title/logo.2bpp.lz.f22013e3 Binary files differdeleted file mode 100644 index 0fa7d7744..000000000 --- a/gfx/title/logo.2bpp.lz.f22013e3 +++ /dev/null diff --git a/gfx/title/suicune.2bpp.lz.30e490d0 b/gfx/title/suicune.2bpp.lz.30e490d0 Binary files differdeleted file mode 100644 index 359fd93ca..000000000 --- a/gfx/title/suicune.2bpp.lz.30e490d0 +++ /dev/null diff --git a/gfx/trade/game_boy.2bpp.lz.71a5f644 b/gfx/trade/game_boy.2bpp.lz.71a5f644 Binary files differdeleted file mode 100644 index 832164306..000000000 --- a/gfx/trade/game_boy.2bpp.lz.71a5f644 +++ /dev/null diff --git a/gfx/trainers/beauty.2bpp.lz.c1c13787 b/gfx/trainers/beauty.2bpp.lz.c1c13787 Binary files differdeleted file mode 100644 index 8c5d30ee6..000000000 --- a/gfx/trainers/beauty.2bpp.lz.c1c13787 +++ /dev/null diff --git a/gfx/trainers/biker.2bpp.lz.cb40f7cd b/gfx/trainers/biker.2bpp.lz.cb40f7cd Binary files differdeleted file mode 100644 index 07ad8621b..000000000 --- a/gfx/trainers/biker.2bpp.lz.cb40f7cd +++ /dev/null diff --git a/gfx/trainers/bird_keeper.2bpp.lz.1e56954c b/gfx/trainers/bird_keeper.2bpp.lz.1e56954c Binary files differdeleted file mode 100644 index 48b505847..000000000 --- a/gfx/trainers/bird_keeper.2bpp.lz.1e56954c +++ /dev/null diff --git a/gfx/trainers/blackbelt_t.2bpp.lz.4ef2481c b/gfx/trainers/blackbelt_t.2bpp.lz.4ef2481c Binary files differdeleted file mode 100644 index 086b8fc02..000000000 --- a/gfx/trainers/blackbelt_t.2bpp.lz.4ef2481c +++ /dev/null diff --git a/gfx/trainers/blaine.2bpp.lz.00a3b6f5 b/gfx/trainers/blaine.2bpp.lz.00a3b6f5 Binary files differdeleted file mode 100644 index d967bb3ba..000000000 --- a/gfx/trainers/blaine.2bpp.lz.00a3b6f5 +++ /dev/null diff --git a/gfx/trainers/blue.2bpp.lz.9fdbab8f b/gfx/trainers/blue.2bpp.lz.9fdbab8f Binary files differdeleted file mode 100644 index 9d4cb50c6..000000000 --- a/gfx/trainers/blue.2bpp.lz.9fdbab8f +++ /dev/null diff --git a/gfx/trainers/boarder.2bpp.lz.5d6881a8 b/gfx/trainers/boarder.2bpp.lz.5d6881a8 Binary files differdeleted file mode 100644 index a6dc315d8..000000000 --- a/gfx/trainers/boarder.2bpp.lz.5d6881a8 +++ /dev/null diff --git a/gfx/trainers/brock.2bpp.lz.5bdeb7bf b/gfx/trainers/brock.2bpp.lz.5bdeb7bf Binary files differdeleted file mode 100644 index d7a4e29bf..000000000 --- a/gfx/trainers/brock.2bpp.lz.5bdeb7bf +++ /dev/null diff --git a/gfx/trainers/bruno.2bpp.lz.22f3c222 b/gfx/trainers/bruno.2bpp.lz.22f3c222 Binary files differdeleted file mode 100644 index 69406d11d..000000000 --- a/gfx/trainers/bruno.2bpp.lz.22f3c222 +++ /dev/null diff --git a/gfx/trainers/bug_catcher.2bpp.lz.43144f97 b/gfx/trainers/bug_catcher.2bpp.lz.43144f97 Binary files differdeleted file mode 100644 index cea17dbac..000000000 --- a/gfx/trainers/bug_catcher.2bpp.lz.43144f97 +++ /dev/null diff --git a/gfx/trainers/bugsy.2bpp.lz.c070450d b/gfx/trainers/bugsy.2bpp.lz.c070450d Binary files differdeleted file mode 100644 index 7910628aa..000000000 --- a/gfx/trainers/bugsy.2bpp.lz.c070450d +++ /dev/null diff --git a/gfx/trainers/burglar.2bpp.lz.e063f42e b/gfx/trainers/burglar.2bpp.lz.e063f42e Binary files differdeleted file mode 100644 index 45da954d9..000000000 --- a/gfx/trainers/burglar.2bpp.lz.e063f42e +++ /dev/null diff --git a/gfx/trainers/cal.2bpp.lz.aac54a14 b/gfx/trainers/cal.2bpp.lz.aac54a14 Binary files differdeleted file mode 100644 index f7d3570ae..000000000 --- a/gfx/trainers/cal.2bpp.lz.aac54a14 +++ /dev/null diff --git a/gfx/trainers/camper.2bpp.lz.cc2357ea b/gfx/trainers/camper.2bpp.lz.cc2357ea Binary files differdeleted file mode 100644 index a8963bae7..000000000 --- a/gfx/trainers/camper.2bpp.lz.cc2357ea +++ /dev/null diff --git a/gfx/trainers/champion.2bpp.lz.0175f5ea b/gfx/trainers/champion.2bpp.lz.0175f5ea Binary files differdeleted file mode 100644 index c5840a676..000000000 --- a/gfx/trainers/champion.2bpp.lz.0175f5ea +++ /dev/null diff --git a/gfx/trainers/chuck.2bpp.lz.cab13edd b/gfx/trainers/chuck.2bpp.lz.cab13edd Binary files differdeleted file mode 100644 index 0a92c7074..000000000 --- a/gfx/trainers/chuck.2bpp.lz.cab13edd +++ /dev/null diff --git a/gfx/trainers/clair.2bpp.lz.a1771075 b/gfx/trainers/clair.2bpp.lz.a1771075 Binary files differdeleted file mode 100644 index bbc463594..000000000 --- a/gfx/trainers/clair.2bpp.lz.a1771075 +++ /dev/null diff --git a/gfx/trainers/cooltrainer_f.2bpp.lz.6fb1e652 b/gfx/trainers/cooltrainer_f.2bpp.lz.6fb1e652 Binary files differdeleted file mode 100644 index cb41d74ee..000000000 --- a/gfx/trainers/cooltrainer_f.2bpp.lz.6fb1e652 +++ /dev/null diff --git a/gfx/trainers/cooltrainer_m.2bpp.lz.0aa81882 b/gfx/trainers/cooltrainer_m.2bpp.lz.0aa81882 Binary files differdeleted file mode 100644 index 93dad0319..000000000 --- a/gfx/trainers/cooltrainer_m.2bpp.lz.0aa81882 +++ /dev/null diff --git a/gfx/trainers/erika.2bpp.lz.58985f01 b/gfx/trainers/erika.2bpp.lz.58985f01 Binary files differdeleted file mode 100644 index 963363d26..000000000 --- a/gfx/trainers/erika.2bpp.lz.58985f01 +++ /dev/null diff --git a/gfx/trainers/executive_f.2bpp.lz.c8b5dc9c b/gfx/trainers/executive_f.2bpp.lz.c8b5dc9c Binary files differdeleted file mode 100644 index b823ddaab..000000000 --- a/gfx/trainers/executive_f.2bpp.lz.c8b5dc9c +++ /dev/null diff --git a/gfx/trainers/executive_m.2bpp.lz.211746a6 b/gfx/trainers/executive_m.2bpp.lz.211746a6 Binary files differdeleted file mode 100644 index e10b588cc..000000000 --- a/gfx/trainers/executive_m.2bpp.lz.211746a6 +++ /dev/null diff --git a/gfx/trainers/falkner.2bpp.lz.6ec6bbaf b/gfx/trainers/falkner.2bpp.lz.6ec6bbaf Binary files differdeleted file mode 100644 index 323587e3a..000000000 --- a/gfx/trainers/falkner.2bpp.lz.6ec6bbaf +++ /dev/null diff --git a/gfx/trainers/firebreather.2bpp.lz.a790feb1 b/gfx/trainers/firebreather.2bpp.lz.a790feb1 Binary files differdeleted file mode 100644 index a0f853a9d..000000000 --- a/gfx/trainers/firebreather.2bpp.lz.a790feb1 +++ /dev/null diff --git a/gfx/trainers/fisher.2bpp.lz.95bfbfd6 b/gfx/trainers/fisher.2bpp.lz.95bfbfd6 Binary files differdeleted file mode 100644 index b210aeda1..000000000 --- a/gfx/trainers/fisher.2bpp.lz.95bfbfd6 +++ /dev/null diff --git a/gfx/trainers/gentleman.2bpp.lz.d3d78e00 b/gfx/trainers/gentleman.2bpp.lz.d3d78e00 Binary files differdeleted file mode 100644 index 153720e71..000000000 --- a/gfx/trainers/gentleman.2bpp.lz.d3d78e00 +++ /dev/null diff --git a/gfx/trainers/grunt_f.2bpp.lz.522aecd7 b/gfx/trainers/grunt_f.2bpp.lz.522aecd7 Binary files differdeleted file mode 100644 index beee0721b..000000000 --- a/gfx/trainers/grunt_f.2bpp.lz.522aecd7 +++ /dev/null diff --git a/gfx/trainers/grunt_m.2bpp.lz.916e09d2 b/gfx/trainers/grunt_m.2bpp.lz.916e09d2 Binary files differdeleted file mode 100644 index 5ac5597b0..000000000 --- a/gfx/trainers/grunt_m.2bpp.lz.916e09d2 +++ /dev/null diff --git a/gfx/trainers/guitarist.2bpp.lz.be5a9b71 b/gfx/trainers/guitarist.2bpp.lz.be5a9b71 Binary files differdeleted file mode 100644 index d67e6ea98..000000000 --- a/gfx/trainers/guitarist.2bpp.lz.be5a9b71 +++ /dev/null diff --git a/gfx/trainers/hiker.2bpp.lz.07a4e386 b/gfx/trainers/hiker.2bpp.lz.07a4e386 Binary files differdeleted file mode 100644 index c7cecda28..000000000 --- a/gfx/trainers/hiker.2bpp.lz.07a4e386 +++ /dev/null diff --git a/gfx/trainers/janine.2bpp.lz.5350f3ce b/gfx/trainers/janine.2bpp.lz.5350f3ce Binary files differdeleted file mode 100644 index d6249eba3..000000000 --- a/gfx/trainers/janine.2bpp.lz.5350f3ce +++ /dev/null diff --git a/gfx/trainers/jasmine.2bpp.lz.dcd58308 b/gfx/trainers/jasmine.2bpp.lz.dcd58308 Binary files differdeleted file mode 100644 index 7c08ded94..000000000 --- a/gfx/trainers/jasmine.2bpp.lz.dcd58308 +++ /dev/null diff --git a/gfx/trainers/juggler.2bpp.lz.2d7625ba b/gfx/trainers/juggler.2bpp.lz.2d7625ba Binary files differdeleted file mode 100644 index d64ed1f0b..000000000 --- a/gfx/trainers/juggler.2bpp.lz.2d7625ba +++ /dev/null diff --git a/gfx/trainers/karen.2bpp.lz.7fc3d941 b/gfx/trainers/karen.2bpp.lz.7fc3d941 Binary files differdeleted file mode 100644 index a0bd871f7..000000000 --- a/gfx/trainers/karen.2bpp.lz.7fc3d941 +++ /dev/null diff --git a/gfx/trainers/kimono_girl.2bpp.lz.e8833d48 b/gfx/trainers/kimono_girl.2bpp.lz.e8833d48 Binary files differdeleted file mode 100644 index 465ccb111..000000000 --- a/gfx/trainers/kimono_girl.2bpp.lz.e8833d48 +++ /dev/null diff --git a/gfx/trainers/koga.2bpp.lz.7a066020 b/gfx/trainers/koga.2bpp.lz.7a066020 Binary files differdeleted file mode 100644 index bc4501f08..000000000 --- a/gfx/trainers/koga.2bpp.lz.7a066020 +++ /dev/null diff --git a/gfx/trainers/lass.2bpp.lz.e3726508 b/gfx/trainers/lass.2bpp.lz.e3726508 Binary files differdeleted file mode 100644 index 0c7cffa79..000000000 --- a/gfx/trainers/lass.2bpp.lz.e3726508 +++ /dev/null diff --git a/gfx/trainers/lt_surge.2bpp.lz.4ac586d0 b/gfx/trainers/lt_surge.2bpp.lz.4ac586d0 Binary files differdeleted file mode 100644 index 9a3df5d3f..000000000 --- a/gfx/trainers/lt_surge.2bpp.lz.4ac586d0 +++ /dev/null diff --git a/gfx/trainers/medium.2bpp.lz.db642b9e b/gfx/trainers/medium.2bpp.lz.db642b9e Binary files differdeleted file mode 100644 index 4aaa71326..000000000 --- a/gfx/trainers/medium.2bpp.lz.db642b9e +++ /dev/null diff --git a/gfx/trainers/misty.2bpp.lz.2ded1a10 b/gfx/trainers/misty.2bpp.lz.2ded1a10 Binary files differdeleted file mode 100644 index 1a96cdddd..000000000 --- a/gfx/trainers/misty.2bpp.lz.2ded1a10 +++ /dev/null diff --git a/gfx/trainers/morty.2bpp.lz.aec5773b b/gfx/trainers/morty.2bpp.lz.aec5773b Binary files differdeleted file mode 100644 index 67999aeb8..000000000 --- a/gfx/trainers/morty.2bpp.lz.aec5773b +++ /dev/null diff --git a/gfx/trainers/mysticalman.2bpp.lz.35d01215 b/gfx/trainers/mysticalman.2bpp.lz.35d01215 Binary files differdeleted file mode 100644 index 38296bc91..000000000 --- a/gfx/trainers/mysticalman.2bpp.lz.35d01215 +++ /dev/null diff --git a/gfx/trainers/oak.2bpp.lz.91a27df3 b/gfx/trainers/oak.2bpp.lz.91a27df3 Binary files differdeleted file mode 100644 index 276f7c533..000000000 --- a/gfx/trainers/oak.2bpp.lz.91a27df3 +++ /dev/null diff --git a/gfx/trainers/officer.2bpp.lz.630b057a b/gfx/trainers/officer.2bpp.lz.630b057a Binary files differdeleted file mode 100644 index e3e22f870..000000000 --- a/gfx/trainers/officer.2bpp.lz.630b057a +++ /dev/null diff --git a/gfx/trainers/picnicker.2bpp.lz.6842b86a b/gfx/trainers/picnicker.2bpp.lz.6842b86a Binary files differdeleted file mode 100644 index 81ee09ab7..000000000 --- a/gfx/trainers/picnicker.2bpp.lz.6842b86a +++ /dev/null diff --git a/gfx/trainers/pokefan_f.2bpp.lz.9cbd3f20 b/gfx/trainers/pokefan_f.2bpp.lz.9cbd3f20 Binary files differdeleted file mode 100644 index 2ab555a85..000000000 --- a/gfx/trainers/pokefan_f.2bpp.lz.9cbd3f20 +++ /dev/null diff --git a/gfx/trainers/pokefan_m.2bpp.lz.5bc5a3e1 b/gfx/trainers/pokefan_m.2bpp.lz.5bc5a3e1 Binary files differdeleted file mode 100644 index 25b4a9ff7..000000000 --- a/gfx/trainers/pokefan_m.2bpp.lz.5bc5a3e1 +++ /dev/null diff --git a/gfx/trainers/pokemaniac.2bpp.lz.786c5fce b/gfx/trainers/pokemaniac.2bpp.lz.786c5fce Binary files differdeleted file mode 100644 index 78fb417f4..000000000 --- a/gfx/trainers/pokemaniac.2bpp.lz.786c5fce +++ /dev/null diff --git a/gfx/trainers/pryce.2bpp.lz.1a98cae8 b/gfx/trainers/pryce.2bpp.lz.1a98cae8 Binary files differdeleted file mode 100644 index ca69273e0..000000000 --- a/gfx/trainers/pryce.2bpp.lz.1a98cae8 +++ /dev/null diff --git a/gfx/trainers/psychic_t.2bpp.lz.ecd603f4 b/gfx/trainers/psychic_t.2bpp.lz.ecd603f4 Binary files differdeleted file mode 100644 index c1123a84e..000000000 --- a/gfx/trainers/psychic_t.2bpp.lz.ecd603f4 +++ /dev/null diff --git a/gfx/trainers/red.2bpp.lz.51104ac6 b/gfx/trainers/red.2bpp.lz.51104ac6 Binary files differdeleted file mode 100644 index 15a8dcf88..000000000 --- a/gfx/trainers/red.2bpp.lz.51104ac6 +++ /dev/null diff --git a/gfx/trainers/rival1.2bpp.lz.e43b32ef b/gfx/trainers/rival1.2bpp.lz.e43b32ef Binary files differdeleted file mode 100644 index 9a5b99abc..000000000 --- a/gfx/trainers/rival1.2bpp.lz.e43b32ef +++ /dev/null diff --git a/gfx/trainers/rival2.2bpp.lz.562de263 b/gfx/trainers/rival2.2bpp.lz.562de263 Binary files differdeleted file mode 100644 index 683ec66bb..000000000 --- a/gfx/trainers/rival2.2bpp.lz.562de263 +++ /dev/null diff --git a/gfx/trainers/sabrina.2bpp.lz.d09a2b46 b/gfx/trainers/sabrina.2bpp.lz.d09a2b46 Binary files differdeleted file mode 100644 index bee6dd0e9..000000000 --- a/gfx/trainers/sabrina.2bpp.lz.d09a2b46 +++ /dev/null diff --git a/gfx/trainers/sage.2bpp.lz.2038324b b/gfx/trainers/sage.2bpp.lz.2038324b Binary files differdeleted file mode 100644 index aff9d4589..000000000 --- a/gfx/trainers/sage.2bpp.lz.2038324b +++ /dev/null diff --git a/gfx/trainers/sailor.2bpp.lz.0f7f3386 b/gfx/trainers/sailor.2bpp.lz.0f7f3386 Binary files differdeleted file mode 100644 index 425667a73..000000000 --- a/gfx/trainers/sailor.2bpp.lz.0f7f3386 +++ /dev/null diff --git a/gfx/trainers/schoolboy.2bpp.lz.6d26b31b b/gfx/trainers/schoolboy.2bpp.lz.6d26b31b Binary files differdeleted file mode 100644 index 7d9bd00a3..000000000 --- a/gfx/trainers/schoolboy.2bpp.lz.6d26b31b +++ /dev/null diff --git a/gfx/trainers/scientist.2bpp.lz.2ef10474 b/gfx/trainers/scientist.2bpp.lz.2ef10474 Binary files differdeleted file mode 100644 index 033f421b5..000000000 --- a/gfx/trainers/scientist.2bpp.lz.2ef10474 +++ /dev/null diff --git a/gfx/trainers/skier.2bpp.lz.399d4240 b/gfx/trainers/skier.2bpp.lz.399d4240 Binary files differdeleted file mode 100644 index 42be70abe..000000000 --- a/gfx/trainers/skier.2bpp.lz.399d4240 +++ /dev/null diff --git a/gfx/trainers/super_nerd.2bpp.lz.c5362664 b/gfx/trainers/super_nerd.2bpp.lz.c5362664 Binary files differdeleted file mode 100644 index dbdb4ca46..000000000 --- a/gfx/trainers/super_nerd.2bpp.lz.c5362664 +++ /dev/null diff --git a/gfx/trainers/swimmer_f.2bpp.lz.c60d0ad6 b/gfx/trainers/swimmer_f.2bpp.lz.c60d0ad6 Binary files differdeleted file mode 100644 index 3f27a6d42..000000000 --- a/gfx/trainers/swimmer_f.2bpp.lz.c60d0ad6 +++ /dev/null diff --git a/gfx/trainers/swimmer_m.2bpp.lz.2c1a716e b/gfx/trainers/swimmer_m.2bpp.lz.2c1a716e Binary files differdeleted file mode 100644 index b162cadca..000000000 --- a/gfx/trainers/swimmer_m.2bpp.lz.2c1a716e +++ /dev/null diff --git a/gfx/trainers/teacher.2bpp.lz.1d131210 b/gfx/trainers/teacher.2bpp.lz.1d131210 Binary files differdeleted file mode 100644 index 92151f891..000000000 --- a/gfx/trainers/teacher.2bpp.lz.1d131210 +++ /dev/null diff --git a/gfx/trainers/twins.2bpp.lz.462fd733 b/gfx/trainers/twins.2bpp.lz.462fd733 Binary files differdeleted file mode 100644 index 1bdf29c7d..000000000 --- a/gfx/trainers/twins.2bpp.lz.462fd733 +++ /dev/null diff --git a/gfx/trainers/whitney.2bpp.lz.dcb46ea6 b/gfx/trainers/whitney.2bpp.lz.dcb46ea6 Binary files differdeleted file mode 100644 index 9564767a8..000000000 --- a/gfx/trainers/whitney.2bpp.lz.dcb46ea6 +++ /dev/null diff --git a/gfx/trainers/will.2bpp.lz.842af358 b/gfx/trainers/will.2bpp.lz.842af358 Binary files differdeleted file mode 100644 index 3de211cd4..000000000 --- a/gfx/trainers/will.2bpp.lz.842af358 +++ /dev/null diff --git a/gfx/trainers/youngster.2bpp.lz.4bef139d b/gfx/trainers/youngster.2bpp.lz.4bef139d Binary files differdeleted file mode 100644 index ec742f9f3..000000000 --- a/gfx/trainers/youngster.2bpp.lz.4bef139d +++ /dev/null diff --git a/gfx/unown_puzzle/aerodactyl.2bpp.lz.f546fb5e b/gfx/unown_puzzle/aerodactyl.2bpp.lz.f546fb5e Binary files differdeleted file mode 100644 index cc73411f9..000000000 --- a/gfx/unown_puzzle/aerodactyl.2bpp.lz.f546fb5e +++ /dev/null diff --git a/gfx/unown_puzzle/hooh.2bpp.lz.e440a572 b/gfx/unown_puzzle/hooh.2bpp.lz.e440a572 Binary files differdeleted file mode 100644 index d8c899e86..000000000 --- a/gfx/unown_puzzle/hooh.2bpp.lz.e440a572 +++ /dev/null diff --git a/gfx/unown_puzzle/kabuto.2bpp.lz.0ed9882d b/gfx/unown_puzzle/kabuto.2bpp.lz.0ed9882d Binary files differdeleted file mode 100644 index a94050316..000000000 --- a/gfx/unown_puzzle/kabuto.2bpp.lz.0ed9882d +++ /dev/null diff --git a/gfx/unown_puzzle/omanyte.2bpp.lz.27bfcbde b/gfx/unown_puzzle/omanyte.2bpp.lz.27bfcbde Binary files differdeleted file mode 100644 index 5bdd993dc..000000000 --- a/gfx/unown_puzzle/omanyte.2bpp.lz.27bfcbde +++ /dev/null diff --git a/gfx/unown_puzzle/start_cancel.2bpp.lz.e07fe7bd b/gfx/unown_puzzle/start_cancel.2bpp.lz.e07fe7bd Binary files differdeleted file mode 100644 index 96fbb1fbb..000000000 --- a/gfx/unown_puzzle/start_cancel.2bpp.lz.e07fe7bd +++ /dev/null diff --git a/home/gfx.asm b/home/gfx.asm index 52facb851..8ae2c759c 100644 --- a/home/gfx.asm +++ b/home/gfx.asm @@ -1,20 +1,20 @@ ; Functions to copy data from ROM. -Get2bpp_2:: +Get2bppViaHDMA:: ldh a, [rLCDC] bit rLCDC_ENABLE, a jp z, Copy2bpp - homecall _Get2bpp + homecall HDMATransfer2bpp ret -Get1bpp_2:: +Get1bppViaHDMA:: ldh a, [rLCDC] bit rLCDC_ENABLE, a jp z, Copy1bpp - homecall _Get1bpp + homecall HDMATransfer1bpp ret @@ -31,7 +31,7 @@ FarCopyBytesDouble_DoubleBankSwitch:: rst Bankswitch ret -OldDMATransfer: +UnreferencedOldDMATransfer: dec c ldh a, [hBGMapMode] push af diff --git a/home/map_objects.asm b/home/map_objects.asm index 64e21e546..667658f0c 100644 --- a/home/map_objects.asm +++ b/home/map_objects.asm @@ -574,12 +574,12 @@ _GetMovementByte:: ld a, h ret -SetVramState_Bit0:: +UnreferencedSetVramState_Bit0:: ld hl, wVramState set 0, [hl] ret -ResetVramState_Bit0:: +UnreferencedResetVramState_Bit0:: ld hl, wVramState res 0, [hl] ret diff --git a/home/math.asm b/home/math.asm index 3042cc61d..c99214cce 100644 --- a/home/math.asm +++ b/home/math.asm @@ -48,8 +48,8 @@ Divide:: pop hl ret -SubtractSigned:: -; Return a - b, sign in carry. +UnreferencedSubtractAbsolute:: +; Return |a - b|, sign in carry. sub b ret nc cpl diff --git a/home/menu.asm b/home/menu.asm index 12dfc67af..07ce54d48 100644 --- a/home/menu.asm +++ b/home/menu.asm @@ -417,7 +417,7 @@ YesNoBox:: PlaceYesNoBox:: jr _YesNoBox -PlaceGenericTwoOptionBox:: +UnreferencedPlaceGenericTwoOptionBox:: call LoadMenuHeader jr InterpretTwoOptionMenu diff --git a/home/text.asm b/home/text.asm index 82fdd7111..abbf12c41 100644 --- a/home/text.asm +++ b/home/text.asm @@ -128,7 +128,7 @@ SpeechTextbox:: ld c, TEXTBOX_INNERW jp Textbox -TestText:: +UnreferencedTestText:: text "ゲームフりーク!" done @@ -172,7 +172,8 @@ PlaceNextChar:: ld c, l pop hl ret - pop de + + pop de ; unused NextChar:: inc de diff --git a/home/tilemap.asm b/home/tilemap.asm index 379b1464a..56e6182ef 100644 --- a/home/tilemap.asm +++ b/home/tilemap.asm @@ -58,13 +58,13 @@ CGBOnly_CopyTilemapAtOnce:: jr z, WaitBGMap CopyTilemapAtOnce:: - jr .CopyTilemapAtOnce + jr _CopyTilemapAtOnce ; unused farcall HDMATransferAttrmapAndTilemapToWRAMBank3 ret -.CopyTilemapAtOnce: +_CopyTilemapAtOnce: ldh a, [hBGMapMode] push af xor a @@ -77,22 +77,22 @@ CopyTilemapAtOnce:: .wait ldh a, [rLY] - cp $7f + cp $80 - 1 jr c, .wait di - ld a, BANK(vTiles3) + ld a, BANK(vBGMap2) ldh [rVBK], a hlcoord 0, 0, wAttrmap - call .StackPointerMagic - ld a, BANK(vTiles0) + call .CopyBGMapViaStack + ld a, BANK(vBGMap0) ldh [rVBK], a hlcoord 0, 0 - call .StackPointerMagic + call .CopyBGMapViaStack .wait2 ldh a, [rLY] - cp $7f + cp $80 - 1 jr c, .wait2 ei @@ -102,7 +102,7 @@ CopyTilemapAtOnce:: ldh [hBGMapMode], a ret -.StackPointerMagic: +.CopyBGMapViaStack: ; Copy all tiles to vBGMap ld [hSPBuffer], sp ld sp, hl @@ -122,7 +122,7 @@ rept SCREEN_WIDTH / 2 ldh a, [c] and b jr nz, .loop\@ -; load BGMap0 +; load vBGMap ld [hl], e inc l ld [hl], d diff --git a/home/time.asm b/home/time.asm index b708329c5..2a866d6b5 100644 --- a/home/time.asm +++ b/home/time.asm @@ -256,7 +256,7 @@ SetClock:: call CloseSRAM ; unlatch clock, disable clock r/w ret -ClearRTCStatus:: +UnreferencedClearRTCStatus:: ; clear sRTCStatusFlags xor a push af diff --git a/home/trainers.asm b/home/trainers.asm index e9971be3f..00ae5dbcd 100644 --- a/home/trainers.asm +++ b/home/trainers.asm @@ -203,7 +203,7 @@ FacingPlayerDistance:: and a ret -CheckTrainerFlag:: +UnreferencedCheckTrainerFlag:: push bc ld hl, OBJECT_MAP_OBJECT_INDEX add hl, bc diff --git a/home/video.asm b/home/video.asm index 008f1057c..5578ad293 100644 --- a/home/video.asm +++ b/home/video.asm @@ -117,7 +117,7 @@ UpdateBGMap:: ; Update the BG Map, in thirds, from wTilemap and wAttrmap. ldh a, [hBGMapMode] - and a + and a ; 0 ret z ; BG Map 0 @@ -127,7 +127,7 @@ UpdateBGMap:: jr z, .Attr ; BG Map 1 - dec a + dec a ; useless ldh a, [hBGMapAddress] ld l, a @@ -232,7 +232,7 @@ THIRD_HEIGHT EQU SCREEN_HEIGHT / 3 ldh [hBGMapThird], a ; Rows of tiles in a third - ld a, SCREEN_HEIGHT / 3 + ld a, THIRD_HEIGHT ; Discrepancy between wTilemap and BGMap ld bc, BG_MAP_WIDTH - (SCREEN_WIDTH - 1) diff --git a/macros/data.asm b/macros/data.asm index e9052f6b2..a6656af32 100644 --- a/macros/data.asm +++ b/macros/data.asm @@ -1,7 +1,30 @@ ; Value macros +; Many arbitrary percentages are simple base-10 or base-16 values: +; - 10 = 4 percent +; - 15 = 6 percent +; - $10 = 6 percent + 1 = 7 percent - 1 +; - 20 = 8 percent +; - 25 = 10 percent +; - 30 = 12 percent +; - 40 = 16 percent +; - 50 = 20 percent - 1 +; - 60 = 24 percent - 1 +; - 70 = 28 percent - 1 +; - 80 = 31 percent + 1 = 32 percent - 1 +; - 85 = 33 percent + 1 = 34 percent - 1 +; - 100 = 39 percent + 1 = 40 percent - 2 +; - 120 = 47 percent + 1 +; - 123 = 49 percent - 1 +; - 160 = 63 percent +; - 180 = 71 percent - 1 = 70 percent + 2 +; - 200 = 79 percent - 1 +; - 230 = 90 percent + 1 percent EQUS "* $ff / 100" +; e.g. 1 out_of 2 == 50 percent + 1 == $80 +out_of EQUS "* $100 /" + ; Constant data (db, dw, dl) macros dwb: MACRO @@ -146,7 +146,6 @@ INCLUDE "engine/events/move_deleter.asm" INCLUDE "engine/link/mystery_gift_2.asm" INCLUDE "engine/items/tmhm.asm" INCLUDE "engine/pokemon/print_move_description.asm" -INCLUDE "data/moves/descriptions.asm" INCLUDE "engine/events/pokerus/pokerus.asm" INCLUDE "engine/battle/start_battle.asm" INCLUDE "engine/gfx/place_graphic.asm" diff --git a/maps/PlayersHouse2F.asm b/maps/PlayersHouse2F.asm index 02659d55b..4ea22f8f8 100644 --- a/maps/PlayersHouse2F.asm +++ b/maps/PlayersHouse2F.asm @@ -32,7 +32,7 @@ PlayersHouse2F_MapScripts: db 0, 0, 0 ; filler -Doll1Script: +Doll1Script:: describedecoration DECODESC_LEFT_DOLL Doll2Script: diff --git a/mobile/mobile_40.asm b/mobile/mobile_40.asm index 6becee7c0..1cbb3bda7 100644 --- a/mobile/mobile_40.asm +++ b/mobile/mobile_40.asm @@ -1529,7 +1529,7 @@ Function1009f3: _LinkBattleSendReceiveAction: call .StageForSend - ld [wd431], a + ld [wLinkBattleSentAction], a farcall PlaceWaitingText ld a, [wLinkMode] cp LINK_MOBILE @@ -1573,7 +1573,7 @@ _LinkBattleSendReceiveAction: ret .LinkBattle_SendReceiveAction: - ld a, [wd431] + ld a, [wLinkBattleSentAction] ld [wPlayerLinkAction], a ld a, $ff ld [wOtherPlayerLinkAction], a @@ -1642,7 +1642,7 @@ _LinkBattleSendReceiveAction: Function100acf: ld de, Unknown_100b0a ld hl, wccb5 - ld a, [wd431] + ld a, [wLinkBattleSentAction] ld [hli], a ld c, $01 .asm_100adb @@ -6487,12 +6487,12 @@ Function102e07: db "Waiting...!@" Function102e3e: - ld de, .CANCEL + ld de, .CancelString hlcoord 10, 17 call PlaceString ret -.CANCEL: +.CancelString: db "CANCEL@" Function102e4f: diff --git a/mobile/mobile_42.asm b/mobile/mobile_42.asm index 5f4b62e5f..fbf6bed02 100644 --- a/mobile/mobile_42.asm +++ b/mobile/mobile_42.asm @@ -1374,7 +1374,7 @@ Function108ad4: ldh [rVBK], a ld hl, vTiles2 tile $4a lb bc, BANK(MobileCable1GFX), 16 ; aka BANK(MobileCable2GFX) - call Get2bpp_2 + call Get2bppViaHDMA call DelayFrame ld a, $0 ldh [rVBK], a diff --git a/mobile/mobile_46.asm b/mobile/mobile_46.asm index 793cf7c21..0f4698c1d 100644 --- a/mobile/mobile_46.asm +++ b/mobile/mobile_46.asm @@ -3889,8 +3889,8 @@ Strings_Ll0ToL40: db " L:30 @@" db " L:40 @@" db "CANCEL@@" - -String_119d8c: + +Unreferenced_CancelString: db "CANCEL@" BattleTower_LevelCheck: diff --git a/mobile/news/news.asm b/mobile/news/news.asm index 8875b0871..0aec6a35e 100644 --- a/mobile/news/news.asm +++ b/mobile/news/news.asm @@ -1,6 +1,6 @@ ; http://forums.glitchcity.info/index.php?topic=7509.msg206449#msg206449 - db $cc, $6b, $1e ; unused + dab Doll1Script ; related to "My Room" in Stadium 2? Unreferenced_Function1f4003: ld a, BANK(s6_a000) diff --git a/tools/Makefile b/tools/Makefile index 768f8912e..5dd3139fa 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -10,15 +10,18 @@ tools := \ palette \ pokemon_animation \ pokemon_animation_graphics \ - gfx \ - md5 + gfx all: $(tools) @: clean: rm -f $(tools) -gfx md5: common.h +gfx: common.h + +lzcomp: CFLAGS = -O3 -flto -std=c11 -Wall -Wextra -pedantic -Wno-strict-overflow -Wno-sign-compare +lzcomp: $(wildcard lz/*.c) $(wildcard lz/*.h) + $(CC) $(CFLAGS) -o $@ lz/*.c %: %.c $(CC) $(CFLAGS) -o $@ $< diff --git a/tools/lz/global.c b/tools/lz/global.c new file mode 100644 index 000000000..4d26acee8 --- /dev/null +++ b/tools/lz/global.c @@ -0,0 +1,35 @@ +#include "proto.h" + +const struct compressor compressors[] = { + // NOTE: the "flags" field for each compressor will be set to the chosen/current method number minus the base + // number for that particular compressor. That means that each compressor will use a zero-based flags value. + {.methods = 72, .name = "singlepass", .function = &try_compress_single_pass}, // 0-71 + {.methods = 2, .name = "null", .function = &store_uncompressed}, // 72-73 + {.methods = 6, .name = "repetitions", .function = &try_compress_repetitions}, // 74-79 + {.methods = 16, .name = "multipass", .function = &try_compress_multi_pass}, // 80-95 + {0} // end of the list +}; + +const unsigned char bit_flipping_table[] = { + // For each byte, the table contains that same byte with its bits flipped around (for instance, + // 0x58 (01011000 binary) becomes 0x1a (00011010 binary)). This is faster than flipping bits + // manually at runtime. + 0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0, 0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0, + 0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8, 0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8, + 0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4, 0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4, + 0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec, 0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc, + 0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2, 0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2, + 0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea, 0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa, + 0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6, 0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6, + 0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee, 0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe, + 0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1, 0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1, + 0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9, 0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9, + 0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5, 0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5, + 0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed, 0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd, + 0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3, 0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3, + 0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb, 0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb, + 0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7, 0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7, + 0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef, 0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff +}; + +char option_name_buffer[] = "-?"; // used to extract the name of a short option (separated from its argument) diff --git a/tools/lz/main.c b/tools/lz/main.c new file mode 100644 index 000000000..62e6dc413 --- /dev/null +++ b/tools/lz/main.c @@ -0,0 +1,54 @@ +#include "proto.h" + +int main (int argc, char ** argv) { + struct options options = get_options(argc, argv); + unsigned short size; + unsigned char * file_buffer = read_file_into_buffer(options.input, &size); + struct command * commands; + if (options.mode & 2) { + unsigned short original_size = size, remainder; + commands = get_commands_from_file(file_buffer, &size, &remainder); + if (!commands) error_exit(1, "invalid command stream"); + if (options.mode == 2) { + unsigned char * uncompressed = get_uncompressed_data(commands, file_buffer, &size); + if (!uncompressed) error_exit(1, "output data is too large"); + write_raw_data_to_file(options.output, uncompressed, size); + free(uncompressed); + } else + write_commands_and_padding_to_textfile(options.output, commands, size, file_buffer, original_size - remainder, remainder); + } else { + commands = compress(file_buffer, &size, options.method); + (options.mode ? write_commands_to_textfile : write_commands_to_file)(options.output, commands, size, file_buffer, options.alignment); + } + free(file_buffer); + free(commands); + return 0; +} + +struct command * compress (const unsigned char * data, unsigned short * size, unsigned method) { + unsigned char * bitflipped = malloc(*size); + unsigned current; + for (current = 0; current < *size; current ++) bitflipped[current] = bit_flipping_table[data[current]]; + const struct compressor * compressor = compressors; + struct command * result; + if (method < COMPRESSION_METHODS) { + while (method >= compressor -> methods) method -= (compressor ++) -> methods; + result = compressor -> function(data, bitflipped, size, method); + } else { + struct command * compressed_sequences[COMPRESSION_METHODS]; + unsigned short lengths[COMPRESSION_METHODS]; + unsigned flags = 0; + for (current = 0; current < COMPRESSION_METHODS; current ++) { + lengths[current] = *size; + if (flags == compressor -> methods) { + flags = 0; + compressor ++; + } + compressed_sequences[current] = compressor -> function(data, bitflipped, lengths + current, flags ++); + } + result = select_optimal_sequence(compressed_sequences, lengths, size); + for (current = 0; current < COMPRESSION_METHODS; current ++) free(compressed_sequences[current]); + } + free(bitflipped); + return result; +} diff --git a/tools/lz/merging.c b/tools/lz/merging.c new file mode 100644 index 000000000..79abb6d2e --- /dev/null +++ b/tools/lz/merging.c @@ -0,0 +1,102 @@ +#include "proto.h" + +struct command * select_optimal_sequence (struct command ** sequences, const unsigned short * lengths, unsigned short * final_length) { + struct command * compressor_sequences[NUM_COMPRESSORS * 2]; + unsigned short compressor_lengths[NUM_COMPRESSORS * 2]; + struct command * inverted_sequences[COMPRESSION_METHODS]; + unsigned short inverted_lengths[COMPRESSION_METHODS]; + unsigned p, current, method = 0; + for (current = 0; current < NUM_COMPRESSORS; current ++) { + compressor_sequences[current] = select_command_sequence(sequences + method, lengths + method, compressors[current].methods, compressor_lengths + current); + compressor_sequences[current + NUM_COMPRESSORS] = select_command_sequence(sequences + method, lengths + method, -(int) compressors[current].methods, + compressor_lengths + (current + NUM_COMPRESSORS)); + for (p = 0; p < compressors[current].methods; p ++) { + inverted_sequences[method + compressors[current].methods - 1 - p] = sequences[method + p]; + inverted_lengths[method + compressors[current].methods - 1 - p] = lengths[method + p]; + } + method += compressors[current].methods; + } + unsigned short final_lengths[8]; + struct command * final_sequences[8] = { + select_command_sequence(compressor_sequences, compressor_lengths, NUM_COMPRESSORS, final_lengths), + select_command_sequence(compressor_sequences, compressor_lengths, -NUM_COMPRESSORS, final_lengths + 1), + select_command_sequence(compressor_sequences + NUM_COMPRESSORS, compressor_lengths + NUM_COMPRESSORS, NUM_COMPRESSORS, final_lengths + 2), + select_command_sequence(compressor_sequences + NUM_COMPRESSORS, compressor_lengths + NUM_COMPRESSORS, -NUM_COMPRESSORS, final_lengths + 3), + select_command_sequence(sequences, lengths, COMPRESSION_METHODS, final_lengths + 4), + select_command_sequence(sequences, lengths, -COMPRESSION_METHODS, final_lengths + 5), + select_command_sequence(inverted_sequences, inverted_lengths, COMPRESSION_METHODS, final_lengths + 6), + select_command_sequence(inverted_sequences, inverted_lengths, -COMPRESSION_METHODS, final_lengths + 7) + }; + for (current = 0; current < (2 * NUM_COMPRESSORS); current ++) free(compressor_sequences[current]); + struct command * result = select_command_sequence(final_sequences, final_lengths, 8, final_length); + for (current = 0; current < 8; current ++) free(final_sequences[current]); + return result; +} + +struct command * select_command_sequence (struct command ** sequences, const unsigned short * lengths, int count, unsigned short * final_length) { + // negative count indicates iterating backwards + unsigned short min_sequence = 0, min_length = compressed_length(*sequences, *lengths); + unsigned short seq, len; + int backwards = 0; + if (count < 0) { + backwards = 1; + count = -count; + } + for (seq = 1; seq < count; seq ++) { + len = compressed_length(sequences[seq], lengths[seq]); + if (len < min_length) { + min_sequence = seq; + min_length = len; + } + } + *final_length = lengths[min_sequence]; + struct command * current = malloc(*final_length * sizeof(struct command)); + memcpy(current, sequences[min_sequence], *final_length * sizeof(struct command)); + struct command * new; + for (seq = 1; seq < count; seq ++) { + if (backwards) seq = count - seq; + new = merge_command_sequences(current, *final_length, sequences[(seq + min_sequence) % count], lengths[(seq + min_sequence) % count], final_length); + if (backwards) seq = count - seq; // restore the value for the loop + free(current); + current = new; + } + return current; +} + +struct command * merge_command_sequences (const struct command * current, unsigned short current_length, const struct command * new, unsigned short new_length, + unsigned short * result_length) { + struct command * result = malloc(sizeof(struct command) * (current_length + new_length)); + struct command * current_command = result; + const struct command * saved_current; + const struct command * saved_new; + unsigned short current_pos, new_pos; + while (current_length) { + if (current -> count == new -> count) { + *(current_command ++) = pick_best_command(2, *(current ++), *(new ++)); + current_length --; + continue; + } + saved_current = current; + saved_new = new; + current_pos = (current ++) -> count; + new_pos = (new ++) -> count; + current_length --; + while (current_pos != new_pos) + if (current_pos < new_pos) { + current_pos += (current ++) -> count; + current_length --; + } else + new_pos += (new ++) -> count; + current_pos = compressed_length(saved_current, current - saved_current); + new_pos = compressed_length(saved_new, new - saved_new); + if (new_pos < current_pos) { + memcpy(current_command, saved_new, sizeof(struct command) * (new - saved_new)); + current_command += new - saved_new; + } else { + memcpy(current_command, saved_current, sizeof(struct command) * (current - saved_current)); + current_command += current - saved_current; + } + } + *result_length = current_command - result; + return result; +} diff --git a/tools/lz/mpcomp.c b/tools/lz/mpcomp.c new file mode 100644 index 000000000..5961be8eb --- /dev/null +++ b/tools/lz/mpcomp.c @@ -0,0 +1,112 @@ +#include "proto.h" + +/* + Multi-pass compressor: performs an initial pass generating a single command for each byte position in the data and + refines the command stream further in subsequent passes. + Methods defined: 16 + Flags values: the flags are a bitfield; each bit triggers some alternate behavior if set: + 1: always emit a literal command (0) for the first byte of the file + 2: when reducing a two-byte repetition (2) command in the overlap elimination pass, don't force it to contain a + whole number of repetitions (i.e., an even count) + 4: don't emit copy commands (4, 5, 6) with a count of 3 + 8: don't emit single-byte repetition (1) commands +*/ + +struct command * try_compress_multi_pass (const unsigned char * data, const unsigned char * flipped, unsigned short * size, unsigned flags) { + struct command * result = calloc(*size, sizeof(struct command)); + unsigned char * reversed = malloc(*size); + short * sources = malloc(*size * sizeof(short)); + unsigned short pos, next, current = 0; + for (pos = 0; pos < *size; pos ++) { + reversed[pos] = data[*size - 1 - pos]; + sources[pos] = -1; + } + for (pos = (flags & 1); pos < *size; pos += (result[pos].count >= MULTIPASS_SKIP_THRESHOLD) ? result[pos].count : 1) { + result[pos] = pick_command_for_pass(data, flipped, reversed, sources, *size, pos, flags); + if ((result[pos].command >= 4) || (result[pos].count < MULTIPASS_SKIP_THRESHOLD)) sources[current ++] = pos; + } + free(reversed); + free(sources); + for (pos = 0; pos < *size; pos ++) { + for (current = 1; current < result[pos].count; current ++) if (result[pos + current].count > result[pos].count) { + result[pos].count = current; + if ((result[pos].command == 2) && (current & 1) && !(flags & 2)) result[pos].count --; + } + if (result[pos].count <= command_size(result[pos])) result[pos] = (struct command) {.command = 0, .count = 0}; + } + for (pos = 0; pos < *size; pos ++) + if (!result[pos].command) { + for (current = 1; (current < MAX_COMMAND_COUNT) && ((pos + current) < *size); current ++) if (result[pos + current].command) break; + result[pos] = (struct command) {.command = 0, .count = current, .value = pos}; + } else if (result[pos].count > MAX_COMMAND_COUNT) { + result[pos + MAX_COMMAND_COUNT] = result[pos]; + result[pos + MAX_COMMAND_COUNT].count -= MAX_COMMAND_COUNT; + if ((result[pos + MAX_COMMAND_COUNT].command >= 4) && (result[pos + MAX_COMMAND_COUNT].value >= 0)) + result[pos + MAX_COMMAND_COUNT].value += (result[pos].command == 6) ? -MAX_COMMAND_COUNT : MAX_COMMAND_COUNT; + result[pos].count = MAX_COMMAND_COUNT; + } + for (next = pos = 0; pos < *size; pos ++) + if (pos == next) + next += result[pos].count; + else + result[pos].command = 7; + repack(&result, size); + return result; +} + +struct command pick_command_for_pass (const unsigned char * data, const unsigned char * flipped, const unsigned char * reversed, const short * sources, + unsigned short length, unsigned short position, unsigned flags) { + struct command result = pick_repetition_for_pass(data, length, position, flags); + if (result.count >= MULTIPASS_SKIP_THRESHOLD) return result; + unsigned char p; + for (p = 0; p < 3; p ++) { + struct command temp = pick_copy_for_pass(data, p[(const unsigned char * []) {data, flipped, reversed}], sources, p + 4, length, position, flags); + if (temp.command == 7) continue; + if (temp.count > result.count) result = temp; + } + if ((result.command >= 4) && (result.value >= (position - LOOKBACK_LIMIT))) result.value -= position; + return result; +} + +struct command pick_repetition_for_pass (const unsigned char * data, unsigned short length, unsigned short position, unsigned flags) { + unsigned short p; + if (data[position]) { + if ((position + 1) >= length) return (struct command) {.command = 1, .count = 1, .value = data[position]}; + struct command result; + if (!(flags & 8) && (data[position] == data[position + 1])) + result = (struct command) {.command = 1, .value = data[position]}; + else + result = (struct command) {.command = 2, .value = data[position] | (data[position + 1] << 8)}; + for (p = 1; ((position + p) < length) && (p < LOOKAHEAD_LIMIT); p ++) if (data[position + p] != data[position + (p & 1)]) break; + result.count = p; + return result; + } else { + for (p = position + 1; (p < length) && (p < (position + LOOKAHEAD_LIMIT)); p ++) if (data[p]) break; + return (struct command) {.command = 3, .count = p - position}; + } +} + +struct command pick_copy_for_pass (const unsigned char * data, const unsigned char * reference, const short * sources, unsigned char command_type, + unsigned short length, unsigned short position, unsigned flags) { + struct command result = {.command = 7, .count = (flags & 4) ? 4 : 3}; + if (length < 3) return result; + unsigned refpos, count; + const unsigned char * current; + unsigned char buffer[6] = {0}; + memcpy(buffer, reference + length - 3, 3); + while (*sources >= 0) { + refpos = *(sources ++); + if (command_type == 6) refpos = length - 1 - refpos; + if (refpos >= (length - 3)) + current = buffer + refpos - (length - 3); + else + current = reference + refpos; + if (memcmp(data + position, current, 4)) continue; + for (count = 4; (count < (length - position)) && (count < (length - refpos)); count ++) if (data[position + count] != current[count]) break; + if (count > (length - refpos)) count = length - refpos; + if (count > (length - position)) count = length - position; + if (result.count > count) continue; + result = (struct command) {.command = command_type, .count = count, .value = sources[-1]}; + } + return result; +} diff --git a/tools/lz/nullcomp.c b/tools/lz/nullcomp.c new file mode 100644 index 000000000..d4535bd39 --- /dev/null +++ b/tools/lz/nullcomp.c @@ -0,0 +1,20 @@ +#include "proto.h" + +/* + Null compressor: stores data uncompressed, using literal (0) commands only. + Methods defined: 2 + Flags values: 0 = split a trailing 33-to-64-byte block at the end into two short blocks; 1 = don't +*/ + +struct command * store_uncompressed (__attribute__((unused)) const unsigned char * data, __attribute__((unused)) const unsigned char * bitflipped, unsigned short * size, unsigned flags) { + unsigned short position, block, remainder = *size; + struct command * result = NULL; + *size = 0; + for (position = 0; remainder; position += block, remainder -= block) { + block = (remainder > MAX_COMMAND_COUNT) ? MAX_COMMAND_COUNT : remainder; + if (!(flags & 1) && (block <= (2 * SHORT_COMMAND_COUNT)) && (block > SHORT_COMMAND_COUNT)) block = SHORT_COMMAND_COUNT; + result = realloc(result, sizeof(struct command) * (1 + *size)); + result[(*size) ++] = (struct command) {.command = 0, .count = block, .value = position}; + } + return result; +} diff --git a/tools/lz/options.c b/tools/lz/options.c new file mode 100644 index 000000000..8e5d05a7b --- /dev/null +++ b/tools/lz/options.c @@ -0,0 +1,141 @@ +#include "proto.h" + +struct options get_options (int argc, char ** argv) { + struct options result = {.input = NULL, .output = NULL, .mode = 0, .alignment = 0, .method = COMPRESSION_METHODS}; + const char * program_name = *argv; + int compressor = -1; + if (argc == 1) usage(program_name); + for (argv ++; *argv; argv ++) { + if (**argv != '-') break; + if (!1[*argv]) break; + if (!strcmp(*argv, "--")) { + argv ++; + break; + } else if (!(strcmp(*argv, "--text") && strcmp(*argv, "-t"))) + result.mode = 1; + else if (!(strcmp(*argv, "--binary") && strcmp(*argv, "-b"))) + result.mode = 0; + else if (!(strcmp(*argv, "--uncompress") && strcmp(*argv, "-u"))) + result.mode = 2; + else if (!(strcmp(*argv, "--dump") && strcmp(*argv, "-d"))) + result.mode = 3; + else if (!(strcmp(*argv, "--align") && strncmp(*argv, "-a", 2))) + result.alignment = parse_numeric_option_argument(&argv, 12); + else if (!(strcmp(*argv, "--method") && strncmp(*argv, "-m", 2))) + result.method = parse_numeric_option_argument(&argv, COMPRESSION_METHODS - 1); + else if (!(strcmp(*argv, "--compressor") && strncmp(*argv, "-c", 2))) + compressor = parse_compressor_option_argument(&argv); + else if (!(strcmp(*argv, "--optimize") && strcmp(*argv, "-o"))) { + result.method = COMPRESSION_METHODS; + compressor = -1; + } else if (!(strcmp(*argv, "--help") && strcmp(*argv, "-?"))) + usage(program_name); + else if (!(strcmp(*argv, "--list") && strcmp(*argv, "-l"))) + list_compressors(); + else + error_exit(3, "unknown option: %s", *argv); + } + if (compressor >= 0) { + if (result.method >= COMPRESSION_METHODS) result.method = 0; + if (result.method >= compressors[compressor].methods) + error_exit(3, "method for the %s compressor must be between 0 and %u", compressors[compressor].name, compressors[compressor].methods - 1); + while (compressor > 0) result.method += compressors[-- compressor].methods; + } + if (*argv) { + if (strcmp(*argv, "-")) result.input = *argv; + if (*(++ argv)) { + if (argv[1]) error_exit(3, "too many command-line arguments"); + if (strcmp(*argv, "-")) result.output = *argv; + } + } + return result; +} + +unsigned parse_numeric_option_argument (char *** alp, unsigned limit) { + const char * option; + const char * value = get_argument_for_option(alp, &option); + char * error; + unsigned long result = strtoul(value, &error, 10); + if (*error) error_exit(3, "invalid argument to option %s", option); + if (result > limit) error_exit(3, "argument to option %s must be between 0 and %u", option, limit); + return result; +} + +int parse_compressor_option_argument (char *** alp) { + const char * name = get_argument_for_option(alp, NULL); + if (!strcmp(name, "*")) return -1; + int result = -1; + unsigned length = strlen(name); + const struct compressor * compressor; + for (compressor = compressors; compressor -> name; compressor ++) { + if (strncmp(name, compressor -> name, length)) continue; + if (result >= 0) error_exit(3, "ambiguous compressor prefix: %s", name); + result = compressor - compressors; + } + if (result < 0) error_exit(3, "unknown compressor: %s", name); + return result; +} + +const char * get_argument_for_option (char *** alp, const char ** option_name) { + // alp: argument list pointer (i.e., address of the current value of argv after indexing) + // will point at the last consumed argument on exit (since the caller will probably increment it once more) + const char * option; + const char * result; + if (1[**alp] == '-') { + option = *((*alp) ++); + result = **alp; + } else { + option_name_buffer[1] = 1[**alp]; + option = option_name_buffer; + result = **alp + 2; + } + if (!(result && *result)) error_exit(3, "option %s requires an argument", option); + if (option_name) *option_name = option; + return result; +} + +noreturn usage (const char * program_name) { + fprintf(stderr, "Usage: %s [<options>] [<source file> [<output>]]\n\n", program_name); + fputs("Execution mode:\n", stderr); + fputs(" -b, --binary Output the command stream as binary data (default).\n", stderr); + fputs(" -t, --text Output the command stream as text.\n", stderr); + fputs(" -u, --uncompress Process a compressed file and output the original data.\n", stderr); + fputs(" -d, --dump Process a compressed file and dump the command stream as\n", stderr); + fputs(" text (as if compressed with the --text option).\n", stderr); + fputs(" -l, --list List compressors and their method numbers.\n", stderr); + fputs(" -?, --help Print this help text and exit.\n", stderr); + fputs("Compression options:\n", stderr); + fputs(" -o, --optimize Use the best combination of compression\n", stderr); + fputs(" methods available (default).\n", stderr); + fputs(" -m<number>, --method <number> Use only one specific compression method.\n", stderr); + fprintf(stderr, " Valid method numbers are between 0 and %u.\n", COMPRESSION_METHODS - 1); + fputs(" -c<name>, --compressor <name> Use the specified compressor: the method\n", stderr); + fputs(" number will be relative to that compressor.\n", stderr); + fputs(" Any prefix of the compressor name may be\n", stderr); + fputs(" specified. Use * to indicate any compressor.\n", stderr); + fputs(" -a<number>, --align <number> Pad the compressed output with zeros until\n", stderr); + fputs(" the size has the specified number of low bits\n", stderr); + fputs(" cleared (default: 0).\n", stderr); + fputs("The source and output filenames can be given as - (or omitted) to use standard\n", stderr); + fputs("input and output. Use -- to indicate that subsequent arguments are file names.\n", stderr); + exit(3); +} + +noreturn list_compressors (void) { + const struct compressor * compressor; + unsigned current, length = 10; + for (compressor = compressors; compressor -> name; compressor ++) if ((current = strlen(compressor -> name)) > length) length = current; + fprintf(stderr, "%-*s Offset Methods\n", length, "Compressor"); + for (current = 0; current < length; current ++) putc('-', stderr); + fputs(" ------ -------\n", stderr); + current = 0; + for (compressor = compressors; compressor -> name; compressor ++) { + fprintf(stderr, "%-*s %6u %7u\n", length, compressor -> name, current, compressor -> methods); + current += compressor -> methods; + } + putc('\n', stderr); + fputs("Note: the offset indicates the compressor's lowest method number when the\n", stderr); + fputs("--compressor option is not given. When that option is used, every compressor's\n", stderr); + fputs("methods are numbered from zero.\n", stderr); + exit(3); +} diff --git a/tools/lz/output.c b/tools/lz/output.c new file mode 100644 index 000000000..43e7ba928 --- /dev/null +++ b/tools/lz/output.c @@ -0,0 +1,138 @@ +#include "proto.h" + +void write_commands_to_textfile (const char * file, const struct command * commands, unsigned count, const unsigned char * input_stream, + unsigned char alignment) { + FILE * fp = file ? fopen(file, "w") : stdout; + if (!fp) error_exit(1, "could not open file %s for writing", file); + unsigned length = 0; + while (count --) { + write_command_to_textfile(fp, *commands, input_stream); + length += command_size(*(commands ++)); + } + if (fputs("\tlzend\n", fp) < 0) error_exit(1, "could not write terminator to compressed output"); + length = ~length & ((1 << alignment) - 1); + if (length --) { + int rv = fputs("\tdb 0", fp); + while ((rv >= 0) && length --) rv = fputs(", 0", fp); + if (rv >= 0) rv = -(putc('\n', fp) == EOF); + if (rv < 0) error_exit(1, "could not write padding to compressed output"); + } + if (file) fclose(fp); +} + +void write_commands_and_padding_to_textfile (const char * file, const struct command * commands, unsigned count, const unsigned char * input_stream, + unsigned padding_offset, unsigned padding_size) { + FILE * fp = file ? fopen(file, "w") : stdout; + if (!fp) error_exit(1, "could not open file %s for writing", file); + while (count --) write_command_to_textfile(fp, *(commands ++), input_stream); + if (fputs("\tlzend\n", fp) < 0) error_exit(1, "could not write terminator to compressed output"); + if (padding_size) { + input_stream += padding_offset; + int rv = fprintf(fp, "\tdb $%02hhx", *(input_stream ++)); + while ((rv >= 0) && (-- padding_size)) rv = fprintf(fp, ", $%02hhx", *(input_stream ++)); + if (rv >= 0) rv = -(putc('\n', fp) == EOF); + if (rv < 0) error_exit(1, "could not write padding to compressed output"); + } + if (file) fclose(fp); +} + +void write_command_to_textfile (FILE * fp, struct command command, const unsigned char * input_stream) { + if ((!command.count) || (command.count > MAX_COMMAND_COUNT)) error_exit(2, "invalid command in output stream"); + int rv, pos; + const char * kind; + switch (command.command) { + case 0: + if ((rv = fprintf(fp, "\tlzdata")) < 0) break; + for (pos = 0; pos < command.count; pos ++) if ((rv = fprintf(fp, "%s$%02hhx", pos ? ", " : " ", input_stream[command.value + pos])) < 0) break; + rv = putc('\n', fp); + break; + case 1: + if ((command.value < 0) || (command.value > 255)) error_exit(2, "invalid command in output stream"); + rv = fprintf(fp, "\tlzrepeat %u, $%02hhx\n", command.count, (unsigned char) command.value); + break; + case 2: + if (command.value < 0) error_exit(2, "invalid command in output stream"); + rv = fprintf(fp, "\tlzrepeat %u, $%02hhx, $%02hhx\n", command.count, (unsigned char) command.value, (unsigned char) (command.value >> 8)); + break; + case 3: + rv = fprintf(fp, "\tlzzero %u\n", command.count); + break; + case 4: + kind = "normal"; + goto copy; + case 5: + kind = "flipped"; + goto copy; + case 6: + kind = "reversed"; + copy: + if ((command.value < -LOOKBACK_LIMIT) || (command.value >= MAX_FILE_SIZE)) error_exit(2, "invalid command in output stream"); + if (command.value < 0) + rv = fprintf(fp, "\tlzcopy %s, %u, %d\n", kind, command.count, command.value); + else + rv = fprintf(fp, "\tlzcopy %s, %u, $%04hx\n", kind, command.count, (unsigned short) command.value); + break; + default: + error_exit(2, "invalid command in output stream"); + } + if (rv < 0) error_exit(1, "could not write command to compressed output"); +} + +void write_commands_to_file (const char * file, const struct command * commands, unsigned count, const unsigned char * input_stream, unsigned char alignment) { + FILE * fp = file ? fopen(file, "wb") : stdout; + if (!fp) error_exit(1, "could not open file %s for writing", file); + unsigned length = 0; + while (count --) { + write_command_to_file(fp, *commands, input_stream); + length += command_size(*(commands ++)); + } + if (putc(-1, fp) == EOF) error_exit(1, "could not write terminator to compressed output"); + length = ~length & ((1 << alignment) - 1); + while (length --) if (putc(0, fp) == EOF) error_exit(1, "could not write padding to compressed output"); + if (file) fclose(fp); +} + +void write_command_to_file (FILE * fp, struct command command, const unsigned char * input_stream) { + if ((!command.count) || (command.count > MAX_COMMAND_COUNT)) error_exit(2, "invalid command in output stream"); + unsigned char buf[4]; + unsigned char * pos = buf; + int n; + command.count --; + if (command.count < SHORT_COMMAND_COUNT) + *(pos ++) = (command.command << 5) + command.count; + else { + *(pos ++) = 224 + (command.command << 2) + (command.count >> 8); + *(pos ++) = command.count; + } + switch (command.command) { + case 1: case 2: + if ((command.value < 0) || (command.value >= (1 << (command.command << 3)))) error_exit(2, "invalid command in output stream"); + for (n = 0; n < command.command; n ++) *(pos ++) = command.value >> (n << 3); + case 0: case 3: + break; + default: + if ((command.value < -LOOKBACK_LIMIT) || (command.value >= MAX_FILE_SIZE)) error_exit(2, "invalid command in output stream"); + if (command.value < 0) + *(pos ++) = command.value ^ 127; + else { + *(pos ++) = command.value >> 8; + *(pos ++) = command.value; + } + } + if (fwrite(buf, 1, pos - buf, fp) != (pos - buf)) error_exit(1, "could not write command to compressed output"); + if (command.command) return; + command.count ++; + if (fwrite(input_stream + command.value, 1, command.count, fp) != command.count) error_exit(1, "could not write data to compressed output"); +} + +void write_raw_data_to_file (const char * file, const void * data, unsigned length) { + FILE * fp = file ? fopen(file, "w") : stdout; + if (!fp) error_exit(1, "could not open file %s for writing", file); + while (length) { + unsigned rv = fwrite(data, 1, length, fp); + if (!rv) error_exit(1, "could not write raw data to output"); + data = (const char *) data + rv; + length -= rv; + } + if (file) fclose(fp); +} diff --git a/tools/lz/packing.c b/tools/lz/packing.c new file mode 100644 index 000000000..0cb9fae90 --- /dev/null +++ b/tools/lz/packing.c @@ -0,0 +1,56 @@ +#include "proto.h" + +void optimize (struct command * commands, unsigned short count) { + while (count && (commands -> command == 7)) commands ++, count --; + if (count < 2) return; + struct command * end = commands + count; + struct command * next; + for (next = commands + 1; next < end; next ++) { + if (next -> command == 7) continue; + if ( + !(commands -> command) && + (command_size(*next) == next -> count) && + ((commands -> count + next -> count) <= MAX_COMMAND_COUNT) && + ((commands -> count > SHORT_COMMAND_COUNT) || ((commands -> count + next -> count) <= SHORT_COMMAND_COUNT)) + ) { + commands -> count += next -> count; + next -> command = 7; + continue; + } + if (next -> command == commands -> command) + switch (commands -> command) { + case 0: + if ((commands -> value + commands -> count) != next -> value) break; + commands -> count += next -> count; + next -> command = 7; + if (commands -> count <= MAX_COMMAND_COUNT) continue; + next -> command = 0; + next -> value = commands -> value + MAX_COMMAND_COUNT; + next -> count = commands -> count - MAX_COMMAND_COUNT; + commands -> count = MAX_COMMAND_COUNT; + break; + case 1: + if (commands -> value != next -> value) break; + // fallthrough + case 3: + if ((commands -> count + next -> count) <= MAX_COMMAND_COUNT) { + commands -> count += next -> count; + next -> command = 7; + continue; + } + next -> count = (commands -> count + next -> count) - MAX_COMMAND_COUNT; + commands -> count = MAX_COMMAND_COUNT; + } + commands = next; + } +} + +void repack (struct command ** commands, unsigned short * length) { + struct command * new_commands = malloc(sizeof(struct command) * *length); + struct command * current = new_commands; + unsigned short p; + for (p = 0; p < *length; p ++) if (p[*commands].command != 7) *(current ++) = p[*commands]; + free(*commands); + *commands = new_commands; + *length = current - new_commands; +} diff --git a/tools/lz/proto.h b/tools/lz/proto.h new file mode 100644 index 000000000..845774221 --- /dev/null +++ b/tools/lz/proto.h @@ -0,0 +1,107 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <stdarg.h> + +#define NUM_COMPRESSORS 4 +#define COMPRESSION_METHODS 96 /* sum of all values for the methods field in compressors */ +#define MAX_FILE_SIZE 32768 +#define SHORT_COMMAND_COUNT 32 +#define MAX_COMMAND_COUNT 1024 +#define LOOKBACK_LIMIT 128 /* highest negative valid count for a copy command */ +#define LOOKAHEAD_LIMIT 3072 /* maximum lookahead distance for the first pass of multi-pass compression */ +#define MULTIPASS_SKIP_THRESHOLD 64 + +#if __STDC_VERSION__ >= 201112L + // <noreturn.h> forces "noreturn void", which is silly and redundant; this is simpler + #define noreturn _Noreturn void +#else + #define noreturn void /* fallback */ +#endif + +struct command { + unsigned command: 3; // commands 0-6 as per compression spec; command 7 is used as a dummy placeholder + unsigned count: 12; // always equals the uncompressed data length + signed value: 17; // offset for commands 0 (into source) and 4-6 (into decompressed output); repeated bytes for commands 1-2 +}; + +struct compressor { + unsigned methods; + const char * name; + struct command * (* function) (const unsigned char *, const unsigned char *, unsigned short *, unsigned); +}; + +struct options { + const char * input; + const char * output; + unsigned method; // method to use, or >= COMPRESSION_METHODS to try them all + unsigned char mode; // 0: compress, 1: compress to text, 2: uncompress, 3: dump commands as text + unsigned char alignment; // 1 << value +}; + +// global.c +extern const struct compressor compressors[]; +extern const unsigned char bit_flipping_table[]; +extern char option_name_buffer[]; + +// main.c +int main(int, char **); +struct command * compress(const unsigned char *, unsigned short *, unsigned); + +// merging.c +struct command * select_optimal_sequence(struct command **, const unsigned short *, unsigned short *); +struct command * select_command_sequence(struct command **, const unsigned short *, int, unsigned short *); +struct command * merge_command_sequences(const struct command *, unsigned short, const struct command *, unsigned short, unsigned short *); + +// mpcomp.c +struct command * try_compress_multi_pass(const unsigned char *, const unsigned char *, unsigned short *, unsigned); +struct command pick_command_for_pass(const unsigned char *, const unsigned char *, const unsigned char *, const short *, unsigned short, + unsigned short, unsigned); +struct command pick_repetition_for_pass(const unsigned char *, unsigned short, unsigned short, unsigned); +struct command pick_copy_for_pass(const unsigned char *, const unsigned char *, const short *, unsigned char, unsigned short, unsigned short, unsigned); + +// nullcomp.c +struct command * store_uncompressed(const unsigned char *, const unsigned char *, unsigned short *, unsigned); + +// options.c +struct options get_options(int, char **); +unsigned parse_numeric_option_argument(char ***, unsigned); +int parse_compressor_option_argument(char ***); +const char * get_argument_for_option(char ***, const char **); +noreturn usage(const char *); +noreturn list_compressors(void); + +// output.c +void write_commands_to_textfile(const char *, const struct command *, unsigned, const unsigned char *, unsigned char); +void write_commands_and_padding_to_textfile(const char *, const struct command *, unsigned, const unsigned char *, unsigned, unsigned); +void write_command_to_textfile(FILE *, struct command, const unsigned char *); +void write_commands_to_file(const char *, const struct command *, unsigned, const unsigned char *, unsigned char); +void write_command_to_file(FILE *, struct command, const unsigned char *); +void write_raw_data_to_file(const char *, const void *, unsigned); + +// packing.c +void optimize(struct command *, unsigned short); +void repack(struct command **, unsigned short *); + +// repcomp.c +struct command * try_compress_repetitions(const unsigned char *, const unsigned char *, unsigned short *, unsigned); +struct command find_repetition_at_position(const unsigned char *, unsigned short, unsigned short); + +// spcomp.c +struct command * try_compress_single_pass(const unsigned char *, const unsigned char *, unsigned short *, unsigned); +struct command find_best_copy(const unsigned char *, unsigned short, unsigned short, const unsigned char *, unsigned); +unsigned short scan_forwards(const unsigned char *, unsigned short, const unsigned char *, unsigned short, short *); +unsigned short scan_backwards(const unsigned char *, unsigned short, unsigned short, short *); +struct command find_best_repetition(const unsigned char *, unsigned short, unsigned short); + +// uncomp.c +struct command * get_commands_from_file(const unsigned char *, unsigned short * restrict, unsigned short * restrict); +unsigned char * get_uncompressed_data(const struct command *, const unsigned char *, unsigned short *); + +// util.c +noreturn error_exit(int, const char *, ...); +unsigned char * read_file_into_buffer(const char *, unsigned short *); +struct command pick_best_command(unsigned, struct command, ...); +int is_better(struct command, struct command); +short command_size(struct command); +unsigned short compressed_length(const struct command *, unsigned short); diff --git a/tools/lz/repcomp.c b/tools/lz/repcomp.c new file mode 100644 index 000000000..f2bbad8a6 --- /dev/null +++ b/tools/lz/repcomp.c @@ -0,0 +1,63 @@ +#include "proto.h" + +/* + Repetitions compressor: compresses the data only using a subset of the available repetition commands. + Methods defined: 6 + Flags values: the value plus one is taken as a bitfield indicating which kinds of repetition commands are used + (lowest bit to highest: repeat single byte (1), repeat two bytes (2), repeat zeros (3)). +*/ + +struct command * try_compress_repetitions (const unsigned char * data, __attribute__((unused)) const unsigned char * bitflipped, unsigned short * size, unsigned flags) { + unsigned short pos = 0, skipped = 0; + struct command * result = malloc(*size * sizeof(struct command)); + struct command * current = result; + struct command candidate; + flags = (flags + 1) << 1; + while (pos < *size) { + candidate = find_repetition_at_position(data, pos, *size); + if ((candidate.command == 3) && !(flags & 8)) { + candidate.command = 1; + candidate.value = 0; + } + if ((candidate.command == 1) && !(flags & 2)) { + candidate.command = 2; + candidate.value |= candidate.value << 8; + } + if ((flags & (1 << candidate.command)) && (command_size(candidate) <= candidate.count)) { + if (skipped) *(current ++) = (struct command) {.command = 0, .count = skipped, .value = pos - skipped}; + skipped = 0; + *(current ++) = candidate; + pos += candidate.count; + } else { + pos ++; + if ((++ skipped) == MAX_COMMAND_COUNT) { + *(current ++) = (struct command) {.command = 0, .count = MAX_COMMAND_COUNT, .value = pos - MAX_COMMAND_COUNT}; + skipped = 0; + } + } + } + if (skipped) *(current ++) = (struct command) {.command = 0, .count = skipped, .value = pos - skipped}; + *size = current - result; + result = realloc(result, *size * sizeof(struct command)); + return result; +} + +struct command find_repetition_at_position (const unsigned char * data, unsigned short position, unsigned short length) { + if ((position + 1) >= length) return data[position] ? ((struct command) {.command = 7}) : ((struct command) {.command = 3, .count = 1}); + unsigned char value[2] = {data[position], data[position + 1]}; + unsigned repcount, limit = length - position; + if (limit > MAX_COMMAND_COUNT) limit = MAX_COMMAND_COUNT; + for (repcount = 2; (repcount < limit) && (data[position + repcount] == value[repcount & 1]); repcount ++); + struct command result; + result.count = repcount; + if (*value != value[1]) { + if (!*value && (repcount < 3)) return (struct command) {.command = 3, .count = 1}; + result.command = 2; + result.value = ((unsigned) (*value)) | (((unsigned) (value[1])) << 8); + } else if (*value) { + result.command = 1; + result.value = *value; + } else + result.command = 3; + return result; +} diff --git a/tools/lz/spcomp.c b/tools/lz/spcomp.c new file mode 100644 index 000000000..b61848365 --- /dev/null +++ b/tools/lz/spcomp.c @@ -0,0 +1,141 @@ +#include "proto.h" + +/* + Single-pass compressor: attempts to compress the data in a single pass, selecting the best command at each + position within some constraints. + Methods defined: 72 + Flags values: + Bit fields (will trigger alternate behavior if set): + 1: prefer repetition commands over copy commands of equal count + 2: don't emit a copy or repetition with a count equal to its size when the previous command is a literal (0) that + is not at maximum size (32 or 1024) + 4: don't emit long copy commands + Selector values (pick one from each group and add them to the bit fields): + - Scan delay: number of bytes that are forced into literal (0) commands after each non-literal command: + 0: 0 bytes + 8: 1 byte + 16: 2 bytes + - Copy command preference (when the command counts are tied), in order from most to least: + 0: normal (4), reversed (6), flipped (5) + 24: reversed (6), flipped (5), normal (4) + 48: flipped (5), reversed (6), normal (4) +*/ + +struct command * try_compress_single_pass (const unsigned char * data, const unsigned char * bitflipped, unsigned short * length, unsigned flags) { + struct command * commands = malloc(sizeof(struct command) * *length); + memset(commands, -1, sizeof(struct command) * *length); + struct command * current_command = commands; + unsigned short position = 0, previous_data = 0; + unsigned char scan_delay = 0, scan_delay_flag = (flags >> 3) % 3; + struct command copy, repetition; + while (position < *length) { + copy = find_best_copy(data, position, *length, bitflipped, flags); + repetition = find_best_repetition(data, position, *length); + if (flags & 1) + *current_command = pick_best_command(2, repetition, copy); + else + *current_command = pick_best_command(2, copy, repetition); + *current_command = pick_best_command(2, (struct command) {.command = 0, .count = 1, .value = position}, *current_command); + if ((flags & 2) && (command_size(*current_command) == current_command -> count)) + if (previous_data && (previous_data != SHORT_COMMAND_COUNT) && (previous_data != MAX_COMMAND_COUNT)) + *current_command = (struct command) {.command = 0, .count = 1, .value = position}; + if (scan_delay_flag) { + if (scan_delay >= scan_delay_flag) + scan_delay = 0; + else if (current_command -> command) { + scan_delay ++; + *current_command = (struct command) {.command = 0, .count = 1, .value = position}; + } + } + if (current_command -> command) + previous_data = 0; + else + previous_data += current_command -> count; + position += (current_command ++) -> count; + } + optimize(commands, current_command - commands); + repack(&commands, length); + return commands; +} + +struct command find_best_copy (const unsigned char * data, unsigned short position, unsigned short length, const unsigned char * bitflipped, unsigned flags) { + struct command simple = {.command = 7}; + struct command flipped = simple, backwards = simple; + short count, offset; + if ((count = scan_forwards(data + position, length - position, data, position, &offset))) + simple = (struct command) {.command = 4, .count = count, .value = offset}; + if ((count = scan_forwards(data + position, length - position, bitflipped, position, &offset))) + flipped = (struct command) {.command = 5, .count = count, .value = offset}; + if ((count = scan_backwards(data, length - position, position, &offset))) + backwards = (struct command) {.command = 6, .count = count, .value = offset}; + struct command command; + switch (flags / 24) { + case 0: command = pick_best_command(3, simple, backwards, flipped); break; + case 1: command = pick_best_command(3, backwards, flipped, simple); break; + case 2: command = pick_best_command(3, flipped, backwards, simple); + } + if ((flags & 4) && (command.count > SHORT_COMMAND_COUNT)) command.count = SHORT_COMMAND_COUNT; + return command; +} + +unsigned short scan_forwards (const unsigned char * target, unsigned short limit, const unsigned char * source, unsigned short real_position, short * offset) { + unsigned short best_match, best_length = 0; + unsigned short current_length; + unsigned short position; + for (position = 0; position < real_position; position ++) { + if (source[position] != *target) continue; + for (current_length = 0; (current_length < limit) && (source[position + current_length] == target[current_length]); current_length ++); + if (current_length > MAX_COMMAND_COUNT) current_length = MAX_COMMAND_COUNT; + if (current_length < best_length) continue; + best_match = position; + best_length = current_length; + } + if (!best_length) return 0; + if ((best_match + LOOKBACK_LIMIT) >= real_position) + *offset = best_match - real_position; + else + *offset = best_match; + return best_length; +} + +unsigned short scan_backwards (const unsigned char * data, unsigned short limit, unsigned short real_position, short * offset) { + if (real_position < limit) limit = real_position; + unsigned short best_match, best_length = 0; + unsigned short current_length; + unsigned short position; + for (position = 0; position < real_position; position ++) { + if (data[position] != data[real_position]) continue; + for (current_length = 0; (current_length <= position) && (current_length < limit) && + (data[position - current_length] == data[real_position + current_length]); current_length ++); + if (current_length > MAX_COMMAND_COUNT) current_length = MAX_COMMAND_COUNT; + if (current_length < best_length) continue; + best_match = position; + best_length = current_length; + } + if (!best_length) return 0; + if ((best_match + LOOKBACK_LIMIT) >= real_position) + *offset = best_match - real_position; + else + *offset = best_match; + return best_length; +} + +struct command find_best_repetition (const unsigned char * data, unsigned short position, unsigned short length) { + if ((position + 1) >= length) return data[position] ? ((struct command) {.command = 7}) : ((struct command) {.command = 3, .count = 1}); + unsigned char value[2] = {data[position], data[position + 1]}; + unsigned repcount, limit = length - position; + if (limit > MAX_COMMAND_COUNT) limit = MAX_COMMAND_COUNT; + for (repcount = 2; (repcount < limit) && (data[position + repcount] == value[repcount & 1]); repcount ++); + struct command result; + result.count = repcount; + if (*value != value[1]) { + if (!*value && (repcount < 3)) return (struct command) {.command = 3, .count = 1}; + result.command = 2; + result.value = ((unsigned) (*value)) | (((unsigned) (value[1])) << 8); + } else if (*value) { + result.command = 1; + result.value = *value; + } else + result.command = 3; + return result; +} diff --git a/tools/lz/uncomp.c b/tools/lz/uncomp.c new file mode 100644 index 000000000..3544cd93b --- /dev/null +++ b/tools/lz/uncomp.c @@ -0,0 +1,92 @@ +#include "proto.h" + +struct command * get_commands_from_file (const unsigned char * data, unsigned short * restrict size, unsigned short * restrict slack) { + struct command * result = malloc(*size * sizeof(struct command)); + unsigned short remaining = *size; + struct command * current = result; + const unsigned char * rp = data; + while (1) { + if (!(remaining --)) goto error; + current -> command = *rp >> 5; + current -> count = *(rp ++) & 31; + if (current -> command == 7) { + current -> command = current -> count >> 2; + current -> count = (current -> count & 3) << 8; + if (current -> command == 7) { + // long commands inside long commands are not allowed, but if the count is 0x300 here, it means that the original byte was 0xff + if (current -> count == 0x300) break; + goto error; + } + if (!(remaining --)) goto error; + current -> count |= *(rp ++); + } + current -> count ++; + switch (current -> command) { + case 0: + if (remaining <= current -> count) goto error; + current -> value = rp - data; + rp += current -> count; + remaining -= current -> count; + case 3: + break; + case 1: case 2: { + unsigned char p; + if (remaining <= current -> command) goto error; + current -> value = 0; + for (p = 0; p < current -> command; p ++) current -> value |= *(rp ++) << (p << 3); + remaining -= current -> command; + } break; + default: + if (!(remaining --)) goto error; + if ((current -> value = *(rp ++)) & 128) + current -> value = 127 - current -> value; + else { + if (!(remaining --)) goto error; + current -> value = (current -> value << 8) | *(rp ++); + } + } + current ++; + } + if (slack) *slack = *size - (rp - data); + *size = current - result; + return realloc(result, *size * sizeof(struct command)); + error: + free(result); + return NULL; +} + +unsigned char * get_uncompressed_data (const struct command * commands, const unsigned char * compressed, unsigned short * size) { + const struct command * limit = commands + *size; + unsigned char * result = malloc(MAX_FILE_SIZE + MAX_COMMAND_COUNT); + unsigned char * current = result; + unsigned short p; + for (; commands < limit; commands ++) { + switch (commands -> command) { + case 0: + memcpy(current, compressed + commands -> value, commands -> count); + current += commands -> count; + break; + case 1: case 2: + for (p = 0; p < commands -> count; p ++) *(current ++) = commands -> value >> ((p % commands -> command) << 3); + break; + case 3: + memset(current, 0, commands -> count); + current += commands -> count; + break; + default: { + const unsigned char * ref = ((commands -> value < 0) ? current : result) + commands -> value; + for (p = 0; p < commands -> count; p ++) { + current[p] = ref[(commands -> command == 6) ? -(int) p : p]; + if (commands -> command == 5) current[p] = bit_flipping_table[current[p]]; + } + current += commands -> count; + } + } + if ((current - result) > MAX_FILE_SIZE) { + free(result); + return NULL; + } + } + *size = current - result; + return result; +} diff --git a/tools/lz/util.c b/tools/lz/util.c new file mode 100644 index 000000000..d77ac7bcc --- /dev/null +++ b/tools/lz/util.c @@ -0,0 +1,54 @@ +#include "proto.h" + +noreturn error_exit (int error_code, const char * error, ...) { + va_list ap; + va_start(ap, error); + fputs("error: ", stderr); + vfprintf(stderr, error, ap); + va_end(ap); + fputc('\n', stderr); + exit(error_code); +} + +unsigned char * read_file_into_buffer (const char * file, unsigned short * size) { + FILE * fp = file ? fopen(file, "rb") : stdin; + if (!fp) error_exit(1, "could not open file %s for reading", file); + unsigned char * buf = malloc(MAX_FILE_SIZE + 1); + int rv = fread(buf, 1, MAX_FILE_SIZE + 1, fp); + if (file) fclose(fp); + if (rv < 0) error_exit(1, "could not read from file %s", file); + if (rv > MAX_FILE_SIZE) error_exit(1, "file %s is too big", file ? file : "<standard input>"); + *size = rv; + return buf; +} + +struct command pick_best_command (unsigned count, struct command command, ...) { + struct command result = command; + va_list ap; + va_start(ap, command); + while (-- count) { + command = va_arg(ap, struct command); + if (is_better(command, result)) result = command; + } + va_end(ap); + return result; +} + +int is_better (struct command new, struct command old) { + if (new.command == 7) return 0; + if (old.command == 7) return 1; + short new_savings = new.count - command_size(new), old_savings = old.count - command_size(old); + return new_savings > old_savings; +} + +short command_size (struct command command) { + short header_size = 1 + (command.count > SHORT_COMMAND_COUNT); + if (command.command & 4) return header_size + 1 + (command.value >= 0); + return header_size + command.command[(short []) {command.count, 1, 2, 0}]; +} + +unsigned short compressed_length (const struct command * commands, unsigned short count) { + unsigned short current, total = 0; + for (current = 0; current < count; current ++) if (commands[current].command != 7) total += command_size(commands[current]); + return total; +} diff --git a/tools/lzcomp.c b/tools/lzcomp.c deleted file mode 100644 index 562a5ec08..000000000 --- a/tools/lzcomp.c +++ /dev/null @@ -1,512 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <stdarg.h> - -#define COMPRESSION_METHODS 72 - -struct command { - unsigned command: 3; - unsigned count: 12; - signed value: 17; -}; - -struct options { - const char * input; - const char * output; - unsigned char mode; -}; - -int main(int, char **); -struct options get_options(char **); -void usage(const char *); -void error_exit(int, const char *, ...); -void bit_flip(const unsigned char *, unsigned short, unsigned char *); -unsigned char * read_file_into_buffer(const char *, unsigned short *); -void write_commands_to_textfile(const char *, const struct command *, unsigned, const unsigned char *); -void write_command_to_textfile(FILE *, struct command, const unsigned char *); -void write_commands_to_file(const char *, const struct command *, unsigned, const unsigned char *); -void write_command_to_file(FILE *, struct command, const unsigned char *); -struct command * compress(const unsigned char *, unsigned short *); -struct command * store_uncompressed(unsigned short *); -struct command * try_compress(const unsigned char *, const unsigned char *, unsigned short *, unsigned); -struct command find_best_copy(const unsigned char *, unsigned short, unsigned short, const unsigned char *, unsigned); -unsigned short scan_forwards(const unsigned char *, unsigned short, const unsigned char *, unsigned short, short *); -unsigned short scan_backwards(const unsigned char *, unsigned short, unsigned short, short *); -struct command find_best_repetition(const unsigned char *, unsigned short, unsigned short); -struct command pick_best_command(unsigned, struct command, ...); -int is_better(struct command, struct command); -short command_size(struct command); -void optimize(struct command *, unsigned short); -void repack(struct command **, unsigned short *); -struct command * select_command_sequence(struct command **, const unsigned short *, unsigned, unsigned short *); -struct command * merge_command_sequences(const struct command *, unsigned short, const struct command *, unsigned short, unsigned short *); -unsigned short compressed_length(const struct command *, unsigned short); - -int main (int argc __attribute__((unused)), char ** argv) { - struct options options = get_options(argv); - unsigned short size; - unsigned char * file_buffer = read_file_into_buffer(options.input, &size); - struct command * compressed = compress(file_buffer, &size); - if (options.mode) - write_commands_to_textfile(options.output, compressed, size, file_buffer); - else - write_commands_to_file(options.output, compressed, size, file_buffer); - free(file_buffer); - free(compressed); - return 0; -} - -struct options get_options (char ** argv) { - struct options result = {.input = NULL, .output = NULL, .mode = 0}; - const char * program_name = *argv; - for (argv ++; *argv; argv ++) { - if (strncmp(*argv, "--", 2)) break; - if (!strcmp(*argv, "--")) { - argv ++; - break; - } else if (!strcmp(*argv, "--text")) - result.mode = 1; - else if (!strcmp(*argv, "--binary")) - result.mode = 0; - else - error_exit(3, "unknown option: %s", *argv); - } - if (!*argv) usage(program_name); - result.input = *argv; - result.output = argv[1]; - return result; -} - -void usage (const char * program_name) { - fprintf(stderr, "Usage: %s [<options>] <source file> [<compressed output>]\n\n", program_name); - fputs("Options:\n", stderr); - fputs(" --text Output the command stream as text.\n", stderr); - fputs(" --binary Output the command stream as binary data (default).\n", stderr); - fputs(" -- End of option list.\n", stderr); - exit(3); -} - -void error_exit (int error_code, const char * error, ...) { - va_list ap; - va_start(ap, error); - fputs("error: ", stderr); - vfprintf(stderr, error, ap); - fputc('\n', stderr); - exit(error_code); -} - -void bit_flip (const unsigned char * data, unsigned short length, unsigned char * result) { - unsigned char new_value, pos; - while (length --) { - new_value = 0; - for (pos = 0; pos < 8; pos ++) new_value |= ((*data >> pos) & 1) << (7 - pos); - *(result ++) = new_value; - data ++; - } -} - -unsigned char * read_file_into_buffer (const char * file, unsigned short * size) { - FILE * fp = fopen(file, "rb"); - if (!fp) error_exit(1, "could not open file %s for reading", file); - unsigned char * buf = malloc(32769); - int rv = fread(buf, 1, 32769, fp); - fclose(fp); - if (rv < 0) error_exit(1, "could not read from file %s", file); - if (rv > 32768) error_exit(1, "file %s is too big", file); - *size = rv; - return buf; -} - -void write_commands_to_textfile (const char * file, const struct command * commands, unsigned count, const unsigned char * input_stream) { - FILE * fp = file ? fopen(file, "w") : stdout; - if (!fp) error_exit(1, "could not open file %s for writing", file); - while (count --) write_command_to_textfile(fp, *(commands ++), input_stream); - if (fputs("\tlzend\n", fp) < 0) error_exit(1, "could not write terminator to compressed output"); - if (file) fclose(fp); -} - -void write_command_to_textfile (FILE * fp, struct command command, const unsigned char * input_stream) { - if ((!command.count) || (command.count > 1024)) error_exit(2, "invalid command in output stream"); - int rv = -1, pos; - const char * kind; - switch (command.command) { - case 0: - if ((rv = fprintf(fp, "\tlzdata")) < 0) break; - for (pos = 0; pos < command.count; pos ++) if ((rv = fprintf(fp, "%s$%02hhx", pos ? ", " : " ", input_stream[command.value + pos])) < 0) break; - rv = putc('\n', fp); - break; - case 1: - if ((command.value < 0) || (command.value > 255)) error_exit(2, "invalid command in output stream"); - rv = fprintf(fp, "\tlzrepeat %u, $%02hhx\n", command.count, (unsigned char) command.value); - break; - case 2: - if (command.value < 0) error_exit(2, "invalid command in output stream"); - rv = fprintf(fp, "\tlzrepeat %u, $%02hhx, $%02hhx\n", command.count, (unsigned char) command.value, (unsigned char) (command.value >> 8)); - break; - case 3: - rv = fprintf(fp, "\tlzzero %u\n", command.count); - break; - case 4: - kind = "normal"; - goto copy; - case 5: - kind = "flipped"; - goto copy; - case 6: - kind = "reversed"; - copy: - if ((command.value < -128) || (command.value > 32767)) error_exit(2, "invalid command in output stream"); - if (command.value < 0) - rv = fprintf(fp, "\tlzcopy %s, %u, %d\n", kind, command.count, command.value); - else - rv = fprintf(fp, "\tlzcopy %s, %u, $%04hx\n", kind, command.count, (unsigned short) command.value); - break; - default: - error_exit(2, "invalid command in output stream"); - } - if (rv < 0) error_exit(1, "could not write command to compressed output"); -} - -void write_commands_to_file (const char * file, const struct command * commands, unsigned count, const unsigned char * input_stream) { - FILE * fp = file ? fopen(file, "wb") : stdout; - if (!fp) error_exit(1, "could not open file %s for writing", file); - while (count --) write_command_to_file(fp, *(commands ++), input_stream); - unsigned char terminator = -1; - if (fwrite(&terminator, 1, 1, fp) != 1) error_exit(1, "could not write terminator to compressed output"); - if (file) fclose(fp); -} - -void write_command_to_file (FILE * fp, struct command command, const unsigned char * input_stream) { - if ((!command.count) || (command.count > 1024)) error_exit(2, "invalid command in output stream"); - unsigned char buf[4]; - unsigned char * pos = buf; - int n; - command.count --; - if (command.count < 32) - *(pos ++) = (command.command << 5) + command.count; - else { - *(pos ++) = 224 + (command.command << 2) + (command.count >> 8); - *(pos ++) = command.count; - } - switch (command.command) { - case 1: case 2: - if ((command.value < 0) || (command.value >= (1 << (command.command << 3)))) error_exit(2, "invalid command in output stream"); - for (n = 0; n < command.command; n ++) *(pos ++) = command.value >> (n << 3); - case 0: case 3: - break; - default: - if ((command.value < -128) || (command.value > 32767)) error_exit(2, "invalid command in output stream"); - if (command.value < 0) - *(pos ++) = command.value ^ 127; - else { - *(pos ++) = command.value >> 8; - *(pos ++) = command.value; - } - } - if (fwrite(buf, 1, pos - buf, fp) != (size_t)(pos - buf)) error_exit(1, "could not write command to compressed output"); - if (command.command) return; - command.count ++; - if (fwrite(input_stream + command.value, 1, command.count, fp) != command.count) error_exit(1, "could not write data to compressed output"); -} - -struct command * compress (const unsigned char * data, unsigned short * size) { - unsigned char * bitflipped = malloc(*size); - bit_flip(data, *size, bitflipped); - struct command * compressed_sequences[COMPRESSION_METHODS + 1]; - unsigned short lengths[COMPRESSION_METHODS + 1]; - unsigned current; - for (current = 0; current < COMPRESSION_METHODS; current ++) { - lengths[current] = *size; - compressed_sequences[current] = try_compress(data, bitflipped, lengths + current, current); - } - free(bitflipped); - lengths[COMPRESSION_METHODS] = *size; - compressed_sequences[COMPRESSION_METHODS] = store_uncompressed(lengths + COMPRESSION_METHODS); - struct command * result = select_command_sequence(compressed_sequences, lengths, COMPRESSION_METHODS + 1, size); - for (current = 0; current <= COMPRESSION_METHODS; current ++) free(compressed_sequences[current]); - return result; -} - -struct command * store_uncompressed (unsigned short * size) { - unsigned short position, block, remainder = *size; - struct command * result = NULL; - *size = 0; - for (position = 0; remainder; position += block, remainder -= block) { - block = (remainder > 1024) ? 1024 : remainder; - if ((block <= 64) && (block > 32)) block = 32; - result = realloc(result, sizeof(struct command) * (1 + *size)); - result[(*size) ++] = (struct command) {.command = 0, .count = block, .value = position}; - } - return result; -} - -struct command * try_compress (const unsigned char * data, const unsigned char * bitflipped, unsigned short * length, unsigned flags) { - struct command * commands = malloc(sizeof(struct command) * *length); - memset(commands, -1, sizeof(struct command) * *length); - struct command * current_command = commands; - unsigned short position = 0, previous_data = 0; - unsigned char lookahead = 0, lookahead_flag = (flags >> 3) % 3; - struct command copy, repetition; - while (position < *length) { - copy = find_best_copy(data, position, *length, bitflipped, flags); - repetition = find_best_repetition(data, position, *length); - if (flags & 1) - *current_command = pick_best_command(2, repetition, copy); - else - *current_command = pick_best_command(2, copy, repetition); - *current_command = pick_best_command(2, (struct command) {.command = 0, .count = 1, .value = position}, *current_command); - if (flags & 2) { - if (previous_data && (previous_data != 32) && (previous_data != 1024) && (command_size(*current_command) == current_command -> count)) - *current_command = (struct command) {.command = 0, .count = 1, .value = position}; - } - if (lookahead_flag) { - if (lookahead >= lookahead_flag) - lookahead = 0; - else if (current_command -> command) { - lookahead ++; - *current_command = (struct command) {.command = 0, .count = 1, .value = position}; - } - } - if (current_command -> command) - previous_data = 0; - else - previous_data += current_command -> count; - position += (current_command ++) -> count; - } - optimize(commands, current_command - commands); - repack(&commands, length); - return commands; -} - -struct command find_best_copy (const unsigned char * data, unsigned short position, unsigned short length, const unsigned char * bitflipped, unsigned flags) { - struct command simple = {.command = 7}; - struct command flipped = simple, backwards = simple; - short count, offset; - if ((count = scan_forwards(data + position, length - position, data, position, &offset))) - simple = (struct command) {.command = 4, .count = count, .value = offset}; - if ((count = scan_forwards(data + position, length - position, bitflipped, position, &offset))) - flipped = (struct command) {.command = 5, .count = count, .value = offset}; - if ((count = scan_backwards(data, length - position, position, &offset))) - backwards = (struct command) {.command = 6, .count = count, .value = offset}; - struct command command; - switch (flags / 24) { - case 0: command = pick_best_command(3, simple, backwards, flipped); break; - case 1: command = pick_best_command(3, backwards, flipped, simple); break; - case 2: command = pick_best_command(3, flipped, backwards, simple); - } - if ((flags & 4) && (command.count > 32)) command.count = 32; - return command; -} - -unsigned short scan_forwards (const unsigned char * target, unsigned short limit, const unsigned char * source, unsigned short real_position, short * offset) { - unsigned short best_match, best_length = 0; - unsigned short current_length; - unsigned short position; - for (position = 0; position < real_position; position ++) { - if (source[position] != *target) continue; - for (current_length = 0; (current_length < limit) && (source[position + current_length] == target[current_length]); current_length ++); - if (current_length > 1024) current_length = 1024; - if (current_length < best_length) continue; - best_match = position; - best_length = current_length; - } - if (!best_length) return 0; - if ((best_match + 128) >= real_position) - *offset = best_match - real_position; - else - *offset = best_match; - return best_length; -} - -unsigned short scan_backwards (const unsigned char * data, unsigned short limit, unsigned short real_position, short * offset) { - if (real_position < limit) limit = real_position; - unsigned short best_match, best_length = 0; - unsigned short current_length; - unsigned short position; - for (position = 0; position < real_position; position ++) { - if (data[position] != data[real_position]) continue; - for (current_length = 0; (current_length <= position) && (current_length < limit) && - (data[position - current_length] == data[real_position + current_length]); current_length ++); - if (current_length > 1024) current_length = 1024; - if (current_length < best_length) continue; - best_match = position; - best_length = current_length; - } - if (!best_length) return 0; - if ((best_match + 128) >= real_position) - *offset = best_match - real_position; - else - *offset = best_match; - return best_length; -} - -struct command find_best_repetition (const unsigned char * data, unsigned short position, unsigned short length) { - if ((position + 1) >= length) return data[position] ? ((struct command) {.command = 7}) : ((struct command) {.command = 3, .count = 1}); - unsigned char value[2] = {data[position], data[position + 1]}; - unsigned repcount, limit = length - position; - if (limit > 1024) limit = 1024; - for (repcount = 2; (repcount < limit) && (data[position + repcount] == value[repcount & 1]); repcount ++); - struct command result; - result.count = repcount; - if (*value != value[1]) { - if (!*value && (repcount < 3)) return (struct command) {.command = 3, .count = 1}; - result.command = 2; - result.value = ((unsigned) (*value)) | (((unsigned) (value[1])) << 8); - } else if (*value) { - result.command = 1; - result.value = *value; - } else - result.command = 3; - return result; -} - -struct command pick_best_command (unsigned count, struct command command, ...) { - struct command result = command; - va_list ap; - va_start(ap, command); - while (-- count) { - command = va_arg(ap, struct command); - if (is_better(command, result)) result = command; - } - va_end(ap); - return result; -} - -int is_better (struct command new, struct command old) { - if (new.command == 7) return 0; - if (old.command == 7) return 1; - short new_savings = new.count - command_size(new), old_savings = old.count - command_size(old); - return new_savings > old_savings; -} - -short command_size (struct command command) { - short header_size = 1 + (command.count > 32); - if (command.command & 4) return header_size + 1 + (command.value >= 0); - return header_size + command.command[(short []) {command.count, 1, 2, 0}]; -} - -void optimize (struct command * commands, unsigned short count) { - while (count && (commands -> command == 7)) commands ++, count --; - if (count < 2) return; - struct command * end = commands + count; - struct command * next = commands + 1; - while (next < end) { - if (next -> command == 7) goto skip; - if ( - !(commands -> command) && - (command_size(*next) == next -> count) && - ((commands -> count + next -> count) <= 1024) && - ((commands -> count > 32) || ((commands -> count + next -> count) <= 32)) - ) { - commands -> count += next -> count; - next -> command = 7; - goto skip; - } - if (next -> command != commands -> command) goto accept; - switch (commands -> command) { - case 0: - if ((commands -> value + commands -> count) != next -> value) break; - commands -> count += next -> count; - next -> command = 7; - if (commands -> count <= 1024) goto skip; - next -> command = 0; - next -> value = commands -> value + 1024; - next -> count = commands -> count - 1024; - commands -> count = 1024; - break; - case 1: - if (commands -> value != next -> value) break; - // fall through - case 3: - if ((commands -> count + next -> count) <= 1024) { - commands -> count += next -> count; - next -> command = 7; - goto skip; - } - next -> count = (commands -> count + next -> count) - 1024; - commands -> count = 1024; - break; - } - accept: - commands = next; - skip: - next ++; - } -} - -void repack (struct command ** commands, unsigned short * length) { - struct command * new_commands = malloc(sizeof(struct command) * *length); - struct command * current = new_commands; - unsigned short p; - for (p = 0; p < *length; p ++) if (p[*commands].command != 7) *(current ++) = p[*commands]; - free(*commands); - *commands = new_commands; - *length = current - new_commands; -} - -struct command * select_command_sequence (struct command ** sequences, const unsigned short * lengths, unsigned count, unsigned short * final_length) { - unsigned short min_sequence = 0, min_length = compressed_length(*sequences, *lengths); - unsigned short seq, len; - for (seq = 1; seq < count; seq ++) { - len = compressed_length(sequences[seq], lengths[seq]); - if (len < min_length) { - min_sequence = seq; - min_length = len; - } - } - *final_length = lengths[min_sequence]; - struct command * current = malloc(*final_length * sizeof(struct command)); - memcpy(current, sequences[min_sequence], *final_length * sizeof(struct command)); - struct command * new; - for (seq = 1; seq < count; seq ++) { - new = merge_command_sequences(current, *final_length, sequences[(seq + min_sequence) % count], lengths[(seq + min_sequence) % count], final_length); - free(current); - current = new; - } - return current; -} - -struct command * merge_command_sequences (const struct command * current, unsigned short current_length, const struct command * new, unsigned short new_length, - unsigned short * result_length) { - struct command * result = malloc(sizeof(struct command) * (current_length + new_length)); - struct command * current_command = result; - const struct command * saved_current; - const struct command * saved_new; - unsigned short current_pos, new_pos; - while (current_length) { - if (current -> count == new -> count) { - *(current_command ++) = pick_best_command(2, *(current ++), *(new ++)); - current_length --; - continue; - } - saved_current = current; - saved_new = new; - current_pos = (current ++) -> count; - new_pos = (new ++) -> count; - current_length --; - while (current_pos != new_pos) - if (current_pos < new_pos) { - current_pos += (current ++) -> count; - current_length --; - } else - new_pos += (new ++) -> count; - current_pos = compressed_length(saved_current, current - saved_current); - new_pos = compressed_length(saved_new, new - saved_new); - if (new_pos < current_pos) { - memcpy(current_command, saved_new, sizeof(struct command) * (new - saved_new)); - current_command += new - saved_new; - } else { - memcpy(current_command, saved_current, sizeof(struct command) * (current - saved_current)); - current_command += current - saved_current; - } - } - *result_length = current_command - result; - return result; -} - -unsigned short compressed_length (const struct command * commands, unsigned short count) { - unsigned short current, total = 0; - for (current = 0; current < count; current ++) if (commands[current].command != 7) total += command_size(commands[current]); - return total; -} diff --git a/tools/mapreader.py b/tools/mapreader.py index 8a29e5235..de2ec3423 100644 --- a/tools/mapreader.py +++ b/tools/mapreader.py @@ -38,10 +38,11 @@ class MapReader: bank_types = { 'HRAM' : { 'size': 0x80, 'banked': False, }, 'OAM' : { 'size': 0xA0, 'banked': False, }, - 'ROM Bank' : { 'size': 0x4000, 'banked': True, }, - 'SRAM Bank': { 'size': 0x2000, 'banked': True, }, - 'VRAM Bank': { 'size': 0x1000, 'banked': True, }, - 'WRAM Bank': { 'size': 0x2000, 'banked': True, }, + 'ROM0 bank': { 'size': 0x4000, 'banked': True, }, + 'ROMX bank': { 'size': 0x4000, 'banked': True, }, + 'SRAM bank': { 'size': 0x2000, 'banked': True, }, + 'VRAM bank': { 'size': 0x1000, 'banked': True, }, + 'WRAM bank': { 'size': 0x2000, 'banked': True, }, } # FSM states @@ -52,7 +53,7 @@ class MapReader: # $506D = TypeMatchups section_data_regex = re.compile('\$([0-9A-Fa-f]{4}) = (.*)') # $3ED2 bytes - slack_regex = re.compile('\$([0-9A-Fa-f]{4}) bytes') + slack_regex = re.compile('\$([0-9A-Fa-f]{4}) bytes?') def __init__(self, *args, **kwargs): self.__dict__.update(kwargs) diff --git a/tools/md5.c b/tools/md5.c deleted file mode 100644 index 6f4f58d2d..000000000 --- a/tools/md5.c +++ /dev/null @@ -1,128 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <stdint.h> - -#include "common.h" - -static const int s[64] = { - 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, - 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, - 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, - 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, -}; - -static const uint32_t K[64] = { - 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, - 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501, - 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be, - 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, - 0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa, - 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8, - 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, - 0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a, - 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c, - 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, - 0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x04881d05, - 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665, - 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, - 0x655b59c3, 0x8f0ccc92, 0xffeff47d, 0x85845dd1, - 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1, - 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391, -}; - -#define rotate_left_32(value, by) \ - ((((value) << (by)) & 0xffffffff) | ((value) >> (32 - (by)))) - -void md5_wikipedia(uint8_t *data, int length, uint8_t *result) { - - uint8_t *message = calloc(length + 64, sizeof(uint8_t)); - memcpy(message, data, length); - - int64_t orig_bitlength = length * 8; - - message[length++] |= 1 << 7; - - while (length % 64 != (64 - 8)) { - length++; - } - for (int i = 0; i < 8; i++) { - message[length++] = (orig_bitlength >> (i * 8)) & 0xff; - } - - int a0 = 0x67452301; - int b0 = 0xefcdab89; - int c0 = 0x98badcfe; - int d0 = 0x10325476; - - for (int start = 0; start < length; start += 64) { - uint32_t M[16]; - for (int j = 0; j < 16; j++) { - uint8_t *word = &message[start + j * 4]; - M[j] = *word++; - M[j] |= *word++ << 8; - M[j] |= *word++ << 16; - M[j] |= *word++ << 24; - } - - int A = a0; - int B = b0; - int C = c0; - int D = d0; - for (int i = 0; i < 64; i++) { - int F, g; - switch (i / 16) { - case 0: - F = (B & C) | (~B & D); - g = i; - break; - case 1: - F = (D & B) | (~D & C); - g = (5 * i + 1) % 16; - break; - case 2: - F = B ^ C ^ D; - g = (3 * i + 5) % 16; - break; - case 3: - F = C ^ (B | ~D); - g = (7 * i) % 16; - break; - } - int e = D; - D = C; - C = B; - B = B + rotate_left_32(A + F + K[i] + M[g], s[i]); - A = e; - } - a0 += A; - b0 += B; - c0 += C; - d0 += D; - } - - int values[] = {a0, b0, c0, d0}; - for (int i = 0; i < 16; i++) { - int value = values[i >> 2]; - int shift = (i % 4) * 8; - result[i] = (value >> shift) & 0xff; - } - - free(message); -} - -int main(int argc, char *argv[]) { - if (argc < 2) { - exit(1); - } - char *infile = argv[1]; - int size; - uint8_t *data = read_u8(infile, &size); - - uint8_t result[16]; - md5_wikipedia(data, size, result); - for (int i = 0; i < 16; i++) { - printf("%02x", result[i]); - } - printf("\n"); -} diff --git a/tools/used_space.py b/tools/used_space.py index 3fc401f57..34f8e492d 100644 --- a/tools/used_space.py +++ b/tools/used_space.py @@ -38,7 +38,8 @@ def main(): default_bank_data = {'sections': [], 'used': 0, 'slack': bank_size} for bank in range(num_banks): hits = [0] * pixels_per_bank - data = r.bank_data['ROM Bank'].get(bank, default_bank_data) + bank_data = r.bank_data['ROM0 bank'] if bank == 0 else r.bank_data['ROMX bank'] + data = bank_data.get(bank, default_bank_data) for s in data['sections']: beg = s['beg'] & bank_mask end = s['end'] & bank_mask @@ -640,6 +640,7 @@ wEnemyScreens:: ; c700 ; see wPlayerScreens db +UNION ; c701 wPlayerSafeguardCount:: db ; c701 wPlayerLightScreenCount:: db ; c702 wPlayerReflectCount:: db ; c703 @@ -648,7 +649,19 @@ wPlayerReflectCount:: db ; c703 wEnemySafeguardCount:: db ; c705 wEnemyLightScreenCount:: db ; c706 wEnemyReflectCount:: db ; c707 - ds 2 + ds 1 + +NEXTU ; c701 + ds 1 +wBetaPokerSGBPals:: dw ; c702 + ds 1 +wBetaPokerSGBAttr:: db ; c705 +wBetaPokerSGBCol:: db ; c706 +wBetaPokerSGBRow:: db ; c707 + ds 1 +ENDU ; c708 + + ds 1 wBattleWeather:: ; c70a ; 00 normal @@ -2352,7 +2365,7 @@ ENDU ; d430 wd430:: ; mobile wBattleAction:: db ; d430 -wd431:: db ; mobile +wLinkBattleSentAction:: db ; d431 wMapStatus:: db ; d432 wMapEventStatus:: db ; d433 |