Copy disabled (too large)
Download .txt
Showing preview only (25,644K chars total). Download the full file to get everything.
Repository: Deokishisu/FRLG-Plus
Branch: master
Commit: f198fb944256
Files: 6180
Total size: 23.4 MB
Directory structure:
gitextract_41kfd4nd/
├── .gitattributes
├── .github/
│ ├── calcrom/
│ │ ├── calcrom.pl
│ │ └── webhook.sh
│ └── workflows/
│ └── build.yml
├── .gitignore
├── FAQ.md
├── FEATURES.md
├── INSTALL.md
├── Makefile
├── README.md
├── asm/
│ ├── macros/
│ │ ├── asm.inc
│ │ ├── battle_ai_script.inc
│ │ ├── battle_anim.inc
│ │ ├── battle_anim_script.inc
│ │ ├── battle_script.inc
│ │ ├── contest_ai_script.inc
│ │ ├── ec.inc
│ │ ├── event.inc
│ │ ├── field_effect_script.inc
│ │ ├── function.inc
│ │ ├── m4a.inc
│ │ ├── map.inc
│ │ ├── movement.inc
│ │ ├── music_voice.inc
│ │ └── trainer_tower.inc
│ └── macros.inc
├── asmdiff.sh
├── build_tools.sh
├── charmap.txt
├── common_syms/
│ ├── AgbRfu_LinkManager.txt
│ ├── agb_flash.txt
│ ├── battle_anim_special.txt
│ ├── battle_controller_pokedude.txt
│ ├── battle_main.txt
│ ├── berry_fix_program.txt
│ ├── bg.txt
│ ├── cable_club.txt
│ ├── ereader_screen.txt
│ ├── event_data.txt
│ ├── evolution_scene.txt
│ ├── fame_checker.txt
│ ├── field_camera.txt
│ ├── field_control_avatar.txt
│ ├── field_specials.txt
│ ├── fieldmap.txt
│ ├── help_system.txt
│ ├── help_system_util.txt
│ ├── image_processing_effects.txt
│ ├── librfu_rfu.txt
│ ├── librfu_sio32id.txt
│ ├── librfu_stwi.txt
│ ├── link.txt
│ ├── link_rfu_2.txt
│ ├── list_menu.txt
│ ├── load_save.txt
│ ├── m4a.txt
│ ├── main.txt
│ ├── overworld.txt
│ ├── party_menu.txt
│ ├── quest_log.txt
│ ├── random.txt
│ ├── save.txt
│ ├── save_failed_screen.txt
│ ├── scrcmd.txt
│ ├── sound.txt
│ ├── sprite.txt
│ ├── task.txt
│ ├── text.txt
│ ├── text_printer.txt
│ └── window.txt
├── compare.sh
├── config.mk
├── constants/
│ ├── constants.inc
│ ├── gba_constants.inc
│ ├── m4a_constants.inc
│ └── misc_constants.inc
├── data/
│ ├── battle_ai_scripts.s
│ ├── battle_anim_scripts.s
│ ├── battle_scripts_1.s
│ ├── battle_scripts_2.s
│ ├── event_scripts.s
│ ├── field_effect_scripts.s
│ ├── layouts/
│ │ ├── .gitignore
│ │ └── layouts.json
│ ├── map_events.s
│ ├── maps/
│ │ ├── .gitignore
│ │ ├── ArtisanCave_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ArtisanCave_B1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BattleColosseum_2P/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── BattleColosseum_4P/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── BattleFrontier_ExchangeServiceCorner/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BattleFrontier_Lounge1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BattleFrontier_Lounge2/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BattleFrontier_Lounge3/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BattleFrontier_Lounge4/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BattleFrontier_Lounge5/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BattleFrontier_Lounge6/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BattleFrontier_Lounge7/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BattleFrontier_Lounge8/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BattleFrontier_Mart/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BattleFrontier_OutsideEast/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BattleFrontier_OutsideWest/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BattleFrontier_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BattleFrontier_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BattleFrontier_RankingHall/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BattleFrontier_ReceptionGate/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BattleFrontier_ScottsHouse/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── BirthIsland_Exterior/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── BirthIsland_Harbor/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── CeladonCity/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_Condominiums_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_Condominiums_2F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_Condominiums_3F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_Condominiums_Roof/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_Condominiums_RoofRoom/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_DepartmentStore_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_DepartmentStore_2F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_DepartmentStore_3F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_DepartmentStore_4F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_DepartmentStore_5F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_DepartmentStore_Elevator/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── CeladonCity_DepartmentStore_Roof/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_GameCorner/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_GameCorner_PrizeRoom/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_Gym/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_Hotel/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_House1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeladonCity_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── CeladonCity_Restaurant/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCave_1F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── CeruleanCave_1F_Blue/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCave_1F_Yellow/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCave_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── CeruleanCave_2F_Blue/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCave_2F_Yellow/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCave_B1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCave_B1F_Blue/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCave_B1F_Yellow/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCity/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCity_BikeShop/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCity_Gym/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCity_House1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCity_House2/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCity_House3/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCity_House4/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCity_House5/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCity_Mart/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCity_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CeruleanCity_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── CinnabarIsland/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CinnabarIsland_Gym/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CinnabarIsland_Mart/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CinnabarIsland_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CinnabarIsland_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── CinnabarIsland_PokemonLab_Entrance/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CinnabarIsland_PokemonLab_ExperimentRoom/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CinnabarIsland_PokemonLab_Lounge/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── CinnabarIsland_PokemonLab_ResearchRoom/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── DiglettsCave_B1F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── DiglettsCave_NorthEntrance/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── DiglettsCave_SouthEntrance/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FarawayIsland_Exterior/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FarawayIsland_Interior/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FiveIsland/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FiveIsland_Harbor/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FiveIsland_House1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FiveIsland_House2/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FiveIsland_LostCave_Entrance/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FiveIsland_LostCave_Room1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FiveIsland_LostCave_Room10/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FiveIsland_LostCave_Room11/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FiveIsland_LostCave_Room12/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FiveIsland_LostCave_Room13/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FiveIsland_LostCave_Room14/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FiveIsland_LostCave_Room2/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FiveIsland_LostCave_Room3/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FiveIsland_LostCave_Room4/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FiveIsland_LostCave_Room5/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FiveIsland_LostCave_Room6/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FiveIsland_LostCave_Room7/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FiveIsland_LostCave_Room8/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FiveIsland_LostCave_Room9/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FiveIsland_Meadow/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FiveIsland_MemorialPillar/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FiveIsland_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FiveIsland_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FiveIsland_ResortGorgeous/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FiveIsland_ResortGorgeous_House/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FiveIsland_RocketWarehouse/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FiveIsland_WaterLabyrinth/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FourIsland/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FourIsland_Base/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FourIsland_Base_CableCarStation/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FourIsland_CableCarStation/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FourIsland_Harbor/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FourIsland_House1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FourIsland_House2/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FourIsland_IcefallCave_1F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FourIsland_IcefallCave_B1F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FourIsland_IcefallCave_Back/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FourIsland_IcefallCave_Entrance/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FourIsland_LoreleisHouse/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FourIsland_Mart/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FourIsland_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FourIsland_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FourIsland_PokemonDayCare/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FuchsiaCity/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FuchsiaCity_Gym/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FuchsiaCity_House1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FuchsiaCity_House2/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FuchsiaCity_House3/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FuchsiaCity_Mart/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FuchsiaCity_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FuchsiaCity_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── FuchsiaCity_SafariZone_Entrance/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FuchsiaCity_SafariZone_Office/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── FuchsiaCity_WardensHouse/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── IndigoPlateau_Exterior/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── IndigoPlateau_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── IndigoPlateau_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── LavenderTown/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── LavenderTown_House1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── LavenderTown_House2/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── LavenderTown_Mart/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── LavenderTown_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── LavenderTown_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── LavenderTown_VolunteerPokemonHouse/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── MtEmber_Exterior/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── MtEmber_RubyPath_1F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── MtEmber_RubyPath_B1F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── MtEmber_RubyPath_B1F_Stairs/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── MtEmber_RubyPath_B2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── MtEmber_RubyPath_B2F_Stairs/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── MtEmber_RubyPath_B3F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── MtEmber_RubyPath_B4F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── MtEmber_RubyPath_B5F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── MtEmber_Summit/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── MtEmber_SummitPath_1F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── MtEmber_SummitPath_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── MtEmber_SummitPath_3F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── MtMoon_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── MtMoon_B1F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── MtMoon_B2F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── NavelRock_1F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_B1F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_Base/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_BasePath_B10F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_BasePath_B11F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_BasePath_B1F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_BasePath_B2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_BasePath_B3F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_BasePath_B4F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_BasePath_B5F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_BasePath_B6F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_BasePath_B7F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_BasePath_B8F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_BasePath_B9F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_Exterior/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_Fork/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_Harbor/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_Summit/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_SummitPath_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_SummitPath_3F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_SummitPath_4F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── NavelRock_SummitPath_5F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── OneIsland/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── OneIsland_Harbor/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── OneIsland_House1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── OneIsland_House2/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── OneIsland_KindleRoad/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── OneIsland_KindleRoad_EmberSpa/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── OneIsland_KindleRoad_GlassWorkshop/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── OneIsland_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── OneIsland_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── OneIsland_TreasureBeach/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PalletTown/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PalletTown_PlayersHouse_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PalletTown_PlayersHouse_2F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PalletTown_ProfessorOaksLab/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PalletTown_RivalsHouse/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PewterCity/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PewterCity_Gym/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PewterCity_House1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PewterCity_House2/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PewterCity_Mart/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PewterCity_Museum_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PewterCity_Museum_2F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PewterCity_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PewterCity_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── PokemonLeague_AgathasRoom/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PokemonLeague_BrunosRoom/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PokemonLeague_ChampionsRoom/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PokemonLeague_HallOfFame/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PokemonLeague_LancesRoom/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PokemonLeague_LoreleisRoom/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PokemonMansion_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PokemonMansion_2F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PokemonMansion_3F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PokemonMansion_B1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PokemonTower_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PokemonTower_2F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PokemonTower_3F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PokemonTower_4F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PokemonTower_5F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PokemonTower_6F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PokemonTower_7F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── PowerPlant/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── Prototype_SeviiIsle_6/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── Prototype_SeviiIsle_7/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── Prototype_SeviiIsle_8/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── Prototype_SeviiIsle_9/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── RS_BattleTower/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── RS_BattleTower_BattleRoom/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── RS_BattleTower_Corridor/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── RS_BattleTower_Elevator/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── RS_BattleTower_Lobby/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── RecordCorner/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── RockTunnel_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── RockTunnel_B1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── RocketHideout_B1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── RocketHideout_B2F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── RocketHideout_B3F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── RocketHideout_B4F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── RocketHideout_Elevator/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route10/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route10_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route10_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── Route11/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route11_EastEntrance_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route11_EastEntrance_2F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route12/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route12_FishingHouse/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route12_NorthEntrance_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route12_NorthEntrance_2F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route13/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route14/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route15/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route15_WestEntrance_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route15_WestEntrance_2F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route16/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route16_House/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route16_NorthEntrance_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route16_NorthEntrance_2F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route17/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route18/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route18_EastEntrance_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route18_EastEntrance_2F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route19/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route19_UnusedHouse/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── Route2/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route20/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route20_Underwater/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route21_North/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route21_South/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route22/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route22_NorthEntrance/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── Route23/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route23_UnusedHouse/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── Route24/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route25/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route25_SeaCottage/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route2_EastBuilding/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route2_House/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route2_ViridianForest_NorthEntrance/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route2_ViridianForest_SouthEntrance/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route3/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route4/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route4_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route4_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── Route5/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route5_PokemonDayCare/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route5_SouthEntrance/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route6/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route6_NorthEntrance/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route6_UnusedHouse/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── Route7/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route7_EastEntrance/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route8/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route8_WestEntrance/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── Route9/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_1F_Corridor/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_1F_Room1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_1F_Room2/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_1F_Room3/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_1F_Room4/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_1F_Room5/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_1F_Room6/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_1F_Room7/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_2F_Corridor/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_2F_Room1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_2F_Room2/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_2F_Room3/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_2F_Room4/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_2F_Room5/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_2F_Room6/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_3F_Corridor/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_B1F_Corridor/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SSAnne_B1F_Room1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_B1F_Room2/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_B1F_Room3/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_B1F_Room4/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_B1F_Room5/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_CaptainsOffice/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_Deck/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SSAnne_Exterior/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SSAnne_Kitchen/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SafariZone_Center/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SafariZone_Center_RestHouse/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SafariZone_East/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SafariZone_East_RestHouse/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SafariZone_North/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SafariZone_NorthEast/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SafariZone_NorthWest/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SafariZone_NorthWest_RestHouse/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SafariZone_North_RestHouse/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SafariZone_SecretHouse/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SafariZone_West/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SafariZone_West_RestHouse/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SaffronCity/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SaffronCity_Connection/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SaffronCity_CopycatsHouse_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SaffronCity_CopycatsHouse_2F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SaffronCity_Dojo/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SaffronCity_Gym/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SaffronCity_House/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SaffronCity_Mart/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SaffronCity_MrPsychicsHouse/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SaffronCity_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SaffronCity_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SaffronCity_PokemonTrainerFanClub/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SeafoamIslands_1F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SeafoamIslands_B1F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SeafoamIslands_B2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SeafoamIslands_B3F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SeafoamIslands_B4F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SevenIsland/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SevenIsland_Harbor/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SevenIsland_House_Room1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SevenIsland_House_Room2/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SevenIsland_Mart/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SevenIsland_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SevenIsland_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SevenIsland_SevaultCanyon/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SevenIsland_SevaultCanyon_Entrance/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SevenIsland_SevaultCanyon_House/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SevenIsland_SevaultCanyon_TanobyKey/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SevenIsland_TanobyRuins/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SevenIsland_TanobyRuins_DilfordChamber/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SevenIsland_TanobyRuins_LiptooChamber/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SevenIsland_TanobyRuins_MoneanChamber/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SevenIsland_TanobyRuins_RixyChamber/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SevenIsland_TanobyRuins_ScufibChamber/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SevenIsland_TanobyRuins_ViapoisChamber/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SevenIsland_TanobyRuins_WeepthChamber/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SevenIsland_TrainerTower/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SevenIsland_UnusedHouse/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SilphCo_10F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SilphCo_11F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SilphCo_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SilphCo_2F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SilphCo_3F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SilphCo_4F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SilphCo_5F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SilphCo_6F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SilphCo_7F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SilphCo_8F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SilphCo_9F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SilphCo_Elevator/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SixIsland/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SixIsland_AlteringCave/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SixIsland_DottedHole_1F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SixIsland_DottedHole_B1F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SixIsland_DottedHole_B2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SixIsland_DottedHole_B3F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SixIsland_DottedHole_B4F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SixIsland_DottedHole_SapphireRoom/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SixIsland_GreenPath/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SixIsland_Harbor/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SixIsland_House/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SixIsland_Mart/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SixIsland_OutcastIsland/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SixIsland_PatternBush/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SixIsland_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SixIsland_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── SixIsland_RuinValley/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SixIsland_WaterPath/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SixIsland_WaterPath_House1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SixIsland_WaterPath_House2/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SouthernIsland_Exterior/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── SouthernIsland_Interior/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ThreeIsland/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ThreeIsland_BerryForest/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ThreeIsland_BondBridge/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ThreeIsland_BondBridge_Underwater/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ThreeIsland_DunsparceTunnel/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ThreeIsland_Harbor/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── ThreeIsland_House1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ThreeIsland_House2/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ThreeIsland_House3/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ThreeIsland_House4/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ThreeIsland_House5/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ThreeIsland_Mart/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ThreeIsland_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ThreeIsland_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── ThreeIsland_Port/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── TradeCenter/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── TrainerTower_1F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── TrainerTower_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── TrainerTower_3F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── TrainerTower_4F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── TrainerTower_5F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── TrainerTower_6F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── TrainerTower_7F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── TrainerTower_8F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── TrainerTower_Elevator/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── TrainerTower_Lobby/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── TrainerTower_Roof/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── TwoIsland/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── TwoIsland_CapeBrink/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── TwoIsland_CapeBrink_House/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── TwoIsland_Harbor/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── TwoIsland_House/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── TwoIsland_JoyfulGameCorner/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── TwoIsland_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── TwoIsland_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── UndergroundPath_EastEntrance/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── UndergroundPath_EastWestTunnel/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── UndergroundPath_NorthEntrance/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── UndergroundPath_NorthSouthTunnel/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── UndergroundPath_SouthEntrance/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── UndergroundPath_WestEntrance/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── UnionRoom/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── VermilionCity/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── VermilionCity_Gym/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── VermilionCity_House1/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── VermilionCity_House2/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── VermilionCity_House3/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── VermilionCity_Mart/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── VermilionCity_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── VermilionCity_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── VermilionCity_PokemonFanClub/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── VictoryRoad_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── VictoryRoad_2F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── VictoryRoad_3F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ViridianCity/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ViridianCity_Gym/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ViridianCity_House/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ViridianCity_Mart/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ViridianCity_PokemonCenter_1F/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ViridianCity_PokemonCenter_2F/
│ │ │ ├── map.json
│ │ │ └── scripts.inc
│ │ ├── ViridianCity_School/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ ├── ViridianForest/
│ │ │ ├── map.json
│ │ │ ├── scripts.inc
│ │ │ └── text.inc
│ │ └── map_groups.json
│ ├── maps.s
│ ├── mb_berry_fix.gba
│ ├── mb_colosseum.gba
│ ├── mb_ereader.gba
│ ├── multiboot_berry_glitch_fix.s
│ ├── multiboot_ereader.s
│ ├── multiboot_pokemon_colosseum.s
│ ├── mystery_event_msg.s
│ ├── mystery_event_script_cmd_table.s
│ ├── script_cmd_table.inc
│ ├── scripts/
│ │ ├── aide.inc
│ │ ├── bag_full.inc
│ │ ├── cable_club.inc
│ │ ├── cave_of_origin.inc
│ │ ├── day_care.inc
│ │ ├── fame_checker.inc
│ │ ├── field_moves.inc
│ │ ├── flash.inc
│ │ ├── flavor_text.inc
│ │ ├── fuji_event.inc
│ │ ├── fuji_event.pory
│ │ ├── hall_of_fame.inc
│ │ ├── hole.inc
│ │ ├── item_ball_scripts.inc
│ │ ├── itemfinder.inc
│ │ ├── master_trainers.inc
│ │ ├── move_tutors.inc
│ │ ├── movement.inc
│ │ ├── mystery_event_club.inc
│ │ ├── national_dex_aide.inc
│ │ ├── national_dex_aide.pory
│ │ ├── obtain_item.inc
│ │ ├── pc.inc
│ │ ├── pc_transfer.inc
│ │ ├── pkmn_center_nurse.inc
│ │ ├── pokedex_rating.inc
│ │ ├── pokemon_league.inc
│ │ ├── pokemon_mansion.inc
│ │ ├── questionnaire.inc
│ │ ├── repel.inc
│ │ ├── route23.inc
│ │ ├── safari_zone.inc
│ │ ├── seagallop.inc
│ │ ├── set_gym_trainers.inc
│ │ ├── silphco_doors.inc
│ │ ├── static_pokemon.inc
│ │ ├── std_msgbox.inc
│ │ ├── surf.inc
│ │ ├── trainer_battle.inc
│ │ ├── trainer_card.inc
│ │ ├── trainer_tower.inc
│ │ ├── trainers.inc
│ │ └── white_out.inc
│ ├── sound_data.s
│ ├── specials.inc
│ ├── text/
│ │ ├── aide.inc
│ │ ├── braille.inc
│ │ ├── day_care.inc
│ │ ├── fame_checker.inc
│ │ ├── flavor_text.inc
│ │ ├── help_system.inc
│ │ ├── ingame_trade.inc
│ │ ├── itemfinder.inc
│ │ ├── new_game_intro.inc
│ │ ├── obtain_item.inc
│ │ ├── pc.inc
│ │ ├── pc_transfer.inc
│ │ ├── poke_mart.inc
│ │ ├── pokedex_rating.inc
│ │ ├── pokedude.inc
│ │ ├── route23.inc
│ │ ├── safari_zone.inc
│ │ ├── save.inc
│ │ ├── seagallop.inc
│ │ ├── sign_lady.inc
│ │ ├── surf.inc
│ │ ├── trainer_card.inc
│ │ ├── trainers.inc
│ │ └── white_out.inc
│ └── tilesets/
│ ├── primary/
│ │ ├── building/
│ │ │ └── palettes/
│ │ │ ├── 00.pal
│ │ │ ├── 01.pal
│ │ │ ├── 02.pal
│ │ │ ├── 03.pal
│ │ │ ├── 04.pal
│ │ │ ├── 05.pal
│ │ │ ├── 06.pal
│ │ │ ├── 07.pal
│ │ │ ├── 08.pal
│ │ │ ├── 09.pal
│ │ │ ├── 10.pal
│ │ │ ├── 11.pal
│ │ │ ├── 12.pal
│ │ │ ├── 13.pal
│ │ │ ├── 14.pal
│ │ │ └── 15.pal
│ │ └── general/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ └── secondary/
│ ├── battlefrontier/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ └── 12.pal
│ ├── battlefrontieroutsideeast/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ └── 12.pal
│ ├── battlefrontieroutsidewest/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ └── 12.pal
│ ├── battlefrontierrankinghall/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ └── 12.pal
│ ├── berry_forest/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── bike_shop/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── burgled_house/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── cable_club/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── cave/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── celadon_city/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── celadon_gym/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── cerulean_cave/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── cerulean_city/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── cerulean_gym/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── cinnabar_gym/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── cinnabar_island/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── condominiums/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── department_store/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── digletts_cave/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── dummy_1/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── dummy_2/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── dummy_3/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── dummy_4/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── fan_club_daycare/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── fuchsia_city/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── fuchsia_gym/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── game_corner/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── generic_building_1/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── generic_building_2/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── hall_of_fame/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── hoenn_building/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── indigo_plateau/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── island_harbor/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── lab/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── lavender_town/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── mart/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── mt_ember/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── museum/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── navel_rock/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── pallet_town/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── pewter_city/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── pewter_gym/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── pokemon_center/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── pokemon_league/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── pokemon_mansion/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── pokemon_tower/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── power_plant/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── restaurant_hotel/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── rock_tunnel/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── safari_zone_building/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── saffron_city/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── saffron_gym/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── school/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── sea_cottage/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── seafoam_islands/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── sevii_islands_123/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── sevii_islands_45/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── sevii_islands_67/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── seviiislands5/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── seviiislands6/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── ss_anne/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── tanoby_ruins/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── trainer_tower/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── underground_path/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── underwater/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── unused_gatehouse_1/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── unused_gatehouse_2/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── vermilion_city/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── vermilion_gym/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── viridian_city/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ ├── viridian_forest/
│ │ └── palettes/
│ │ ├── 00.pal
│ │ ├── 01.pal
│ │ ├── 02.pal
│ │ ├── 03.pal
│ │ ├── 04.pal
│ │ ├── 05.pal
│ │ ├── 06.pal
│ │ ├── 07.pal
│ │ ├── 08.pal
│ │ ├── 09.pal
│ │ ├── 10.pal
│ │ ├── 11.pal
│ │ ├── 12.pal
│ │ ├── 13.pal
│ │ ├── 14.pal
│ │ └── 15.pal
│ └── viridian_gym/
│ └── palettes/
│ ├── 00.pal
│ ├── 01.pal
│ ├── 02.pal
│ ├── 03.pal
│ ├── 04.pal
│ ├── 05.pal
│ ├── 06.pal
│ ├── 07.pal
│ ├── 08.pal
│ ├── 09.pal
│ ├── 10.pal
│ ├── 11.pal
│ ├── 12.pal
│ ├── 13.pal
│ ├── 14.pal
│ └── 15.pal
├── docs/
│ ├── bugs_and_glitches.md
│ └── legacy_WSL1_INSTALL.md
├── firered.sha1
├── firered_rev1.sha1
├── graphics/
│ ├── battle_anims/
│ │ ├── backgrounds/
│ │ │ ├── bug.pal
│ │ │ ├── sky.pal
│ │ │ ├── solarbeam.pal
│ │ │ └── water_muddy.pal
│ │ ├── masks/
│ │ │ ├── stat1.pal
│ │ │ ├── stat2.pal
│ │ │ ├── stat3.pal
│ │ │ ├── stat4.pal
│ │ │ ├── stat5.pal
│ │ │ ├── stat6.pal
│ │ │ ├── stat7.pal
│ │ │ └── stat8.pal
│ │ ├── sprites/
│ │ │ ├── black_ball.pal
│ │ │ ├── blue_light_wall.pal
│ │ │ ├── blue_orb.pal
│ │ │ ├── blue_ring.pal
│ │ │ ├── blue_ring_2.pal
│ │ │ ├── brown_orb.pal
│ │ │ ├── flower.pal
│ │ │ ├── glowy_blue_orb.pal
│ │ │ ├── glowy_green_orb.pal
│ │ │ ├── gray_light_wall.pal
│ │ │ ├── hit_2.pal
│ │ │ ├── ice_crystals.pal
│ │ │ ├── ice_cube.pal
│ │ │ ├── mud_sand.pal
│ │ │ ├── music_notes_2.pal
│ │ │ ├── orange_light_wall.pal
│ │ │ ├── pink_heart.pal
│ │ │ ├── purple_gas_cloud.pal
│ │ │ ├── purple_ring.pal
│ │ │ ├── red_heart.pal
│ │ │ ├── red_light_wall.pal
│ │ │ ├── red_orb_2.pal
│ │ │ ├── sap_drip_2.pal
│ │ │ ├── slash_2.pal
│ │ │ ├── sleep_powder.pal
│ │ │ ├── spark.pal
│ │ │ ├── sparkle_2.pal
│ │ │ ├── stun_spore.pal
│ │ │ ├── whip_hit.pal
│ │ │ └── white_circle_of_light.pal
│ │ └── unused/
│ │ ├── flying.pal
│ │ ├── line_sketch_2.pal
│ │ ├── spinning_ball_2.pal
│ │ └── unknown.pal
│ ├── battle_interface/
│ │ ├── healthbar.pal
│ │ ├── healthbox.pal
│ │ ├── textbox1.pal
│ │ └── textbox2.pal
│ ├── battle_terrain/
│ │ ├── building/
│ │ │ └── terrain.pal
│ │ ├── cave/
│ │ │ └── terrain.pal
│ │ ├── grass/
│ │ │ └── terrain.pal
│ │ ├── indoor/
│ │ │ ├── 1.pal
│ │ │ ├── 2.pal
│ │ │ ├── agatha.pal
│ │ │ ├── bruno.pal
│ │ │ ├── champion.pal
│ │ │ ├── gym.pal
│ │ │ ├── lance.pal
│ │ │ ├── leader.pal
│ │ │ ├── link.pal
│ │ │ ├── lorelei.pal
│ │ │ └── plain.pal
│ │ ├── longgrass/
│ │ │ └── terrain.pal
│ │ ├── mountain/
│ │ │ └── terrain.pal
│ │ ├── pond/
│ │ │ └── terrain.pal
│ │ ├── sand/
│ │ │ └── terrain.pal
│ │ ├── underwater/
│ │ │ └── terrain.pal
│ │ ├── unused/
│ │ │ ├── building/
│ │ │ │ ├── palette.pal
│ │ │ │ ├── palette2.pal
│ │ │ │ └── palette3.pal
│ │ │ ├── groudon.pal
│ │ │ ├── kyogre.pal
│ │ │ ├── plain.pal
│ │ │ └── stadium/
│ │ │ ├── battle_frontier.pal
│ │ │ ├── palette1.pal
│ │ │ ├── palette2.pal
│ │ │ ├── palette3.pal
│ │ │ ├── palette4.pal
│ │ │ ├── palette5.pal
│ │ │ ├── palette6.pal
│ │ │ └── palette7.pal
│ │ └── water/
│ │ └── terrain.pal
│ ├── battle_transitions/
│ │ ├── agatha_bg.pal
│ │ ├── blue_bg.pal
│ │ ├── bruno_bg.pal
│ │ ├── green_bg.pal
│ │ ├── lance_bg.pal
│ │ ├── lorelei_bg.pal
│ │ ├── red_bg.pal
│ │ ├── sliding_pokeball.pal
│ │ └── unused_trainer.pal
│ ├── berry_pouch/
│ │ └── background_female.pal
│ ├── cable_car/
│ │ └── bg.pal
│ ├── cave_transition/
│ │ ├── black.pal
│ │ ├── enter.pal
│ │ ├── exit.pal
│ │ └── white.pal
│ ├── contest/
│ │ ├── interface.pal
│ │ ├── japanese/
│ │ │ └── palette.pal
│ │ └── results.pal
│ ├── credits/
│ │ ├── pokeball_blastoise.pal
│ │ ├── pokeball_charizard.pal
│ │ ├── pokeball_pikachu.pal
│ │ ├── pokeball_venusaur.pal
│ │ └── white_circle.pal
│ ├── dodrio_berry_picking/
│ │ ├── bg.pal
│ │ ├── shiny.pal
│ │ └── tree_border.pal
│ ├── easy_chat/
│ │ ├── text.pal
│ │ ├── text_input_frame_green.pal
│ │ ├── text_input_frame_orange.pal
│ │ └── title_text.pal
│ ├── evolution_scene/
│ │ ├── gray_transition_intro.pal
│ │ ├── transition.pal
│ │ └── unused.pal
│ ├── fame_checker/
│ │ ├── silhouette.pal
│ │ └── unk.pal
│ ├── field_effects/
│ │ └── palettes/
│ │ ├── ash.pal
│ │ ├── general_0.pal
│ │ ├── general_1.pal
│ │ └── small_sparkle.pal
│ ├── field_specials/
│ │ ├── champion_room_lighting_0.pal
│ │ ├── champion_room_lighting_1.pal
│ │ ├── champion_room_lighting_2.pal
│ │ ├── champion_room_lighting_3.pal
│ │ ├── champion_room_lighting_4.pal
│ │ ├── champion_room_lighting_5.pal
│ │ ├── champion_room_lighting_6.pal
│ │ ├── champion_room_lighting_7.pal
│ │ ├── champion_room_lighting_8.pal
│ │ ├── deoxys_rock_0.pal
│ │ ├── deoxys_rock_1.pal
│ │ ├── deoxys_rock_10.pal
│ │ ├── deoxys_rock_2.pal
│ │ ├── deoxys_rock_3.pal
│ │ ├── deoxys_rock_4.pal
│ │ ├── deoxys_rock_5.pal
│ │ ├── deoxys_rock_6.pal
│ │ ├── deoxys_rock_7.pal
│ │ ├── deoxys_rock_8.pal
│ │ ├── deoxys_rock_9.pal
│ │ ├── elite_four_lighting_0.pal
│ │ ├── elite_four_lighting_1.pal
│ │ ├── elite_four_lighting_10.pal
│ │ ├── elite_four_lighting_11.pal
│ │ ├── elite_four_lighting_2.pal
│ │ ├── elite_four_lighting_3.pal
│ │ ├── elite_four_lighting_4.pal
│ │ ├── elite_four_lighting_5.pal
│ │ ├── elite_four_lighting_6.pal
│ │ ├── elite_four_lighting_7.pal
│ │ ├── elite_four_lighting_8.pal
│ │ └── elite_four_lighting_9.pal
│ ├── interface/
│ │ ├── bag.pal
│ │ ├── blank.pal
│ │ ├── dex_caught_pokeball.pal
│ │ ├── pokemon_types.pal
│ │ ├── red_arrow.pal
│ │ ├── save_failed_screen.pal
│ │ ├── std_menu.pal
│ │ └── text_pp.pal
│ ├── intro/
│ │ ├── copyright.pal
│ │ ├── game_freak/
│ │ │ ├── bg.pal
│ │ │ └── sparkles.pal
│ │ ├── gengar.pal
│ │ ├── nidorino.pal
│ │ ├── scene_2/
│ │ │ ├── bg.pal
│ │ │ └── nidorino_close.pal
│ │ └── scene_3/
│ │ └── bg.pal
│ ├── item_menu/
│ │ ├── bag_window_pal.pal
│ │ └── bg_female.pal
│ ├── items/
│ │ └── icon_palettes/
│ │ ├── acro_bike.pal
│ │ ├── aguav_berry.pal
│ │ ├── amulet_coin.pal
│ │ ├── antidote.pal
│ │ ├── apicot_berry.pal
│ │ ├── aspear_berry.pal
│ │ ├── aurora_ticket.pal
│ │ ├── awakening.pal
│ │ ├── bead_mail.pal
│ │ ├── belue_berry.pal
│ │ ├── berry_juice.pal
│ │ ├── berry_pouch.pal
│ │ ├── bicycle.pal
│ │ ├── bike_voucher.pal
│ │ ├── black_flute.pal
│ │ ├── black_type_enhancing_item.pal
│ │ ├── blue_flute.pal
│ │ ├── blue_orb.pal
│ │ ├── blue_scarf.pal
│ │ ├── blue_shard.pal
│ │ ├── bluk_berry.pal
│ │ ├── bright_powder.pal
│ │ ├── burn_heal.pal
│ │ ├── calcium.pal
│ │ ├── carbos.pal
│ │ ├── card_key.pal
│ │ ├── charcoal.pal
│ │ ├── cheri_berry.pal
│ │ ├── chesto_berry.pal
│ │ ├── choice_band.pal
│ │ ├── cleanse_tag.pal
│ │ ├── coin_case.pal
│ │ ├── contest_pass.pal
│ │ ├── cornn_berry.pal
│ │ ├── dark_tm_hm.pal
│ │ ├── deep_sea_scale.pal
│ │ ├── deep_sea_tooth.pal
│ │ ├── devon_goods.pal
│ │ ├── devon_scope.pal
│ │ ├── dire_hit.pal
│ │ ├── dive_ball.pal
│ │ ├── dragon_fang.pal
│ │ ├── dragon_scale.pal
│ │ ├── dragon_tm_hm.pal
│ │ ├── dream_mail.pal
│ │ ├── durin_berry.pal
│ │ ├── electric_tm_hm.pal
│ │ ├── elixir.pal
│ │ ├── energy_powder.pal
│ │ ├── energy_root.pal
│ │ ├── enigma_berry.pal
│ │ ├── eon_ticket.pal
│ │ ├── escape_rope.pal
│ │ ├── ether.pal
│ │ ├── everstone.pal
│ │ ├── exp_share.pal
│ │ ├── fab_mail.pal
│ │ ├── fame_checker.pal
│ │ ├── fighting_tm_hm.pal
│ │ ├── figy_berry.pal
│ │ ├── fire_stone.pal
│ │ ├── fire_tm_hm.pal
│ │ ├── fluffy_tail.pal
│ │ ├── flying_tm_hm.pal
│ │ ├── focus_band.pal
│ │ ├── fresh_water.pal
│ │ ├── full_heal.pal
│ │ ├── full_restore.pal
│ │ ├── ganlon_berry.pal
│ │ ├── ghost_tm_hm.pal
│ │ ├── glitter_mail.pal
│ │ ├── go_goggles.pal
│ │ ├── gold_teeth.pal
│ │ ├── good_rod.pal
│ │ ├── grass_tm_hm.pal
│ │ ├── great_ball.pal
│ │ ├── green_scarf.pal
│ │ ├── green_shard.pal
│ │ ├── grepa_berry.pal
│ │ ├── ground_tm_hm.pal
│ │ ├── guard_spec.pal
│ │ ├── harbor_mail.pal
│ │ ├── hard_stone.pal
│ │ ├── heal_powder.pal
│ │ ├── heart_scale.pal
│ │ ├── hoenn_fossil.pal
│ │ ├── hondew_berry.pal
│ │ ├── hp_up.pal
│ │ ├── hyper_potion.pal
│ │ ├── iapapa_berry.pal
│ │ ├── ice_heal.pal
│ │ ├── ice_tm_hm.pal
│ │ ├── iron.pal
│ │ ├── itemfinder.pal
│ │ ├── kanto_fossil.pal
│ │ ├── kelpsy_berry.pal
│ │ ├── key.pal
│ │ ├── kings_rock.pal
│ │ ├── lansat_berry.pal
│ │ ├── lava_cookie_and_letter.pal
│ │ ├── lax_incense.pal
│ │ ├── leaf_stone.pal
│ │ ├── leftovers.pal
│ │ ├── lemonade.pal
│ │ ├── leppa_berry.pal
│ │ ├── liechi_berry.pal
│ │ ├── light_ball.pal
│ │ ├── link_bracelet.pal
│ │ ├── lucky_egg.pal
│ │ ├── lucky_punch.pal
│ │ ├── lum_berry.pal
│ │ ├── luxury_ball.pal
│ │ ├── mach_bike.pal
│ │ ├── macho_brace.pal
│ │ ├── magma_emblem.pal
│ │ ├── magnet.pal
│ │ ├── mago_berry.pal
│ │ ├── magost_berry.pal
│ │ ├── master_ball.pal
│ │ ├── max_elixir.pal
│ │ ├── max_ether.pal
│ │ ├── max_potion.pal
│ │ ├── max_repel.pal
│ │ ├── mech_mail.pal
│ │ ├── mental_herb.pal
│ │ ├── metal_coat.pal
│ │ ├── metal_powder.pal
│ │ ├── meteorite.pal
│ │ ├── miracle_seed.pal
│ │ ├── moomoo_milk.pal
│ │ ├── moon_stone.pal
│ │ ├── mushroom.pal
│ │ ├── mystic_ticket.pal
│ │ ├── mystic_water.pal
│ │ ├── nanab_berry.pal
│ │ ├── nest_ball.pal
│ │ ├── net_ball.pal
│ │ ├── never_melt_ice.pal
│ │ ├── nomel_berry.pal
│ │ ├── normal_tm_hm.pal
│ │ ├── nugget.pal
│ │ ├── oaks_parcel.pal
│ │ ├── old_amber.pal
│ │ ├── old_key.pal
│ │ ├── old_rod.pal
│ │ ├── old_sea_map.pal
│ │ ├── oran_berry.pal
│ │ ├── orange_mail.pal
│ │ ├── pamtre_berry.pal
│ │ ├── paralyze_heal.pal
│ │ ├── pearl.pal
│ │ ├── pecha_berry.pal
│ │ ├── persim_berry.pal
│ │ ├── petaya_berry.pal
│ │ ├── pinap_berry.pal
│ │ ├── pink_scarf.pal
│ │ ├── poison_barb.pal
│ │ ├── poison_tm_hm.pal
│ │ ├── poke_ball.pal
│ │ ├── poke_doll.pal
│ │ ├── poke_flute.pal
│ │ ├── pokeblock_case.pal
│ │ ├── pomeg_berry.pal
│ │ ├── potion.pal
│ │ ├── powder_jar.pal
│ │ ├── pp_max.pal
│ │ ├── pp_up.pal
│ │ ├── protein.pal
│ │ ├── psychic_tm_hm.pal
│ │ ├── qualot_berry.pal
│ │ ├── question_mark.pal
│ │ ├── quick_claw.pal
│ │ ├── rabuta_berry.pal
│ │ ├── rainbow_pass.pal
│ │ ├── rare_candy.pal
│ │ ├── rawst_berry.pal
│ │ ├── razz_berry.pal
│ │ ├── red_flute.pal
│ │ ├── red_orb.pal
│ │ ├── red_scarf.pal
│ │ ├── red_shard.pal
│ │ ├── repeat_ball.pal
│ │ ├── repel.pal
│ │ ├── retro_mail.pal
│ │ ├── return_to_field_arrow.pal
│ │ ├── revival_herb.pal
│ │ ├── revive.pal
│ │ ├── rock_tm_hm.pal
│ │ ├── ruby.pal
│ │ ├── sacred_ash.pal
│ │ ├── safari_ball.pal
│ │ ├── salac_berry.pal
│ │ ├── sapphire.pal
│ │ ├── scanner.pal
│ │ ├── scope_lens.pal
│ │ ├── sea_incense.pal
│ │ ├── secret_key.pal
│ │ ├── shadow_mail.pal
│ │ ├── sharp_beak.pal
│ │ ├── shell.pal
│ │ ├── shoal_salt.pal
│ │ ├── silk_scarf.pal
│ │ ├── silph_scope.pal
│ │ ├── silver_powder.pal
│ │ ├── sitrus_berry.pal
│ │ ├── smoke_ball.pal
│ │ ├── soda_pop.pal
│ │ ├── soft_sand.pal
│ │ ├── soot_sack.pal
│ │ ├── soothe_bell.pal
│ │ ├── soul_dew.pal
│ │ ├── spell_tag.pal
│ │ ├── spelon_berry.pal
│ │ ├── ss_ticket.pal
│ │ ├── star.pal
│ │ ├── starf_berry.pal
│ │ ├── steel_tm_hm.pal
│ │ ├── stick.pal
│ │ ├── sun_stone.pal
│ │ ├── super_potion.pal
│ │ ├── super_repel.pal
│ │ ├── super_rod.pal
│ │ ├── tamato_berry.pal
│ │ ├── tea.pal
│ │ ├── teachy_tv.pal
│ │ ├── thick_club.pal
│ │ ├── thunder_stone.pal
│ │ ├── tm_case.pal
│ │ ├── town_map.pal
│ │ ├── tri_pass.pal
│ │ ├── tropic_mail.pal
│ │ ├── twisted_spoon.pal
│ │ ├── ultra_ball.pal
│ │ ├── up_grade.pal
│ │ ├── vs_seeker.pal
│ │ ├── wailmer_pail.pal
│ │ ├── water_stone.pal
│ │ ├── water_tm_hm.pal
│ │ ├── watmel_berry.pal
│ │ ├── wave_mail.pal
│ │ ├── wepear_berry.pal
│ │ ├── white_flute.pal
│ │ ├── white_herb.pal
│ │ ├── wiki_berry.pal
│ │ ├── wood_mail.pal
│ │ ├── x_accuracy.pal
│ │ ├── x_attack.pal
│ │ ├── x_defend.pal
│ │ ├── x_special.pal
│ │ ├── x_speed.pal
│ │ ├── yellow_flute.pal
│ │ ├── yellow_scarf.pal
│ │ ├── yellow_shard.pal
│ │ └── zinc.pal
│ ├── mail/
│ │ ├── bead/
│ │ │ └── palette.pal
│ │ ├── dream/
│ │ │ └── palette.pal
│ │ ├── fab/
│ │ │ └── palette.pal
│ │ ├── glitter/
│ │ │ └── palette.pal
│ │ ├── harbor/
│ │ │ └── palette.pal
│ │ ├── mech/
│ │ │ └── palette.pal
│ │ ├── orange/
│ │ │ └── palette.pal
│ │ ├── retro/
│ │ │ └── palette.pal
│ │ ├── shadow/
│ │ │ └── palette.pal
│ │ ├── tropic/
│ │ │ └── palette.pal
│ │ ├── wave/
│ │ │ └── palette.pal
│ │ └── wood/
│ │ └── palette.pal
│ ├── main_menu/
│ │ ├── bg.pal
│ │ └── textbox.pal
│ ├── misc/
│ │ └── option_menu.pal
│ ├── naming_screen/
│ │ ├── buttons.pal
│ │ ├── cursor.pal
│ │ ├── keyboard.pal
│ │ ├── menu.pal
│ │ ├── page_swap_lower.pal
│ │ ├── page_swap_others.pal
│ │ ├── page_swap_upper.pal
│ │ └── rival.pal
│ ├── oak_speech/
│ │ ├── leaf/
│ │ │ └── pal.pal
│ │ ├── oak/
│ │ │ └── pal.pal
│ │ ├── pikachu_intro/
│ │ │ └── pikachu.pal
│ │ ├── platform.pal
│ │ ├── red/
│ │ │ └── pal.pal
│ │ └── rival/
│ │ └── pal.pal
│ ├── object_events/
│ │ └── palettes/
│ │ ├── 22.pal
│ │ ├── 23.pal
│ │ ├── 839C588.pal
│ │ ├── 839D3A8.pal
│ │ ├── black_sand_footprints.pal
│ │ ├── bridge_reflection.pal
│ │ ├── cable_car.pal
│ │ ├── lady.pal
│ │ ├── meteorite.pal
│ │ ├── npc_blue.pal
│ │ ├── npc_blue_reflection.pal
│ │ ├── npc_green.pal
│ │ ├── npc_green_reflection.pal
│ │ ├── npc_pink.pal
│ │ ├── npc_pink_reflection.pal
│ │ ├── npc_white.pal
│ │ ├── npc_white_reflection.pal
│ │ ├── player.pal
│ │ ├── player_reflection.pal
│ │ ├── player_unused.pal
│ │ ├── rs_quinty_plump.pal
│ │ ├── rs_quinty_plump_reflection.pal
│ │ ├── seagallop.pal
│ │ ├── snow_footprints.pal
│ │ ├── ss_anne.pal
│ │ ├── three_island_grass.pal
│ │ └── underwater_sprites.pal
│ ├── pokedex/
│ │ ├── area_markers/
│ │ │ └── marker.pal
│ │ ├── kanto_dex_bgpals.pal
│ │ ├── national_dex_bgpals.pal
│ │ └── silhouette_sprite_pal.pal
│ ├── pokemon/
│ │ ├── abra/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── absol/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── aerodactyl/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── aggron/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── aipom/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── alakazam/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── altaria/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── ampharos/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── anorith/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── arbok/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── arcanine/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── ariados/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── armaldo/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── aron/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── articuno/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── azumarill/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── azurill/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── bagon/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── baltoy/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── banette/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── barboach/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── bayleef/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── beautifly/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── beedrill/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── beldum/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── bellossom/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── bellsprout/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── blastoise/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── blaziken/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── blissey/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── breloom/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── bulbasaur/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── butterfree/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── cacnea/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── cacturne/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── camerupt/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── carvanha/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── cascoon/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── castform/
│ │ │ ├── normal/
│ │ │ │ ├── normal.pal
│ │ │ │ └── shiny.pal
│ │ │ ├── rainy/
│ │ │ │ ├── normal.pal
│ │ │ │ └── shiny.pal
│ │ │ ├── snowy/
│ │ │ │ ├── normal.pal
│ │ │ │ └── shiny.pal
│ │ │ └── sunny/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── caterpie/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── celebi/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── chansey/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── charizard/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── charmander/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── charmeleon/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── chikorita/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── chimecho/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── chinchou/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── clamperl/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── claydol/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── clefable/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── clefairy/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── cleffa/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── cloyster/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── combusken/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── corphish/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── corsola/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── cradily/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── crawdaunt/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── crobat/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── croconaw/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── cubone/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── cyndaquil/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── delcatty/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── delibird/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── deoxys/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── dewgong/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── diglett/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── ditto/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── dodrio/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── doduo/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── donphan/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── dragonair/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── dragonite/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── dratini/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── drowzee/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── dugtrio/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── dunsparce/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── dusclops/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── duskull/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── dustox/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── eevee/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── egg/
│ │ │ └── normal.pal
│ │ ├── ekans/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── electabuzz/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── electrike/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── electrode/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── elekid/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── entei/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── espeon/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── exeggcute/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── exeggutor/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── exploud/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── farfetchd/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── fearow/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── feebas/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── feraligatr/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── flaaffy/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── flareon/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── flygon/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── forretress/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── furret/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── gardevoir/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── gastly/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── gengar/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── geodude/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── girafarig/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── glalie/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── gligar/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── gloom/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── golbat/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── goldeen/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── golduck/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── golem/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── gorebyss/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── granbull/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── graveler/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── grimer/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── groudon/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── grovyle/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── growlithe/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── grumpig/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── gulpin/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── gyarados/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── hariyama/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── haunter/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── heracross/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── hitmonchan/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── hitmonlee/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── hitmontop/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── ho_oh/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── hoothoot/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── hoppip/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── horsea/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── houndoom/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── houndour/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── huntail/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── hypno/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── icon_palettes/
│ │ │ ├── icon_palette_0.pal
│ │ │ ├── icon_palette_1.pal
│ │ │ └── icon_palette_2.pal
│ │ ├── igglybuff/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── illumise/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── ivysaur/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── jigglypuff/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── jirachi/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── jolteon/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── jumpluff/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── jynx/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── kabuto/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── kabutops/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── kadabra/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── kakuna/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── kangaskhan/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── kecleon/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── kingdra/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── kingler/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── kirlia/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── koffing/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── krabby/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── kyogre/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── lairon/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── lanturn/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── lapras/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── larvitar/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── latias/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── latios/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── ledian/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── ledyba/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── lickitung/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── lileep/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── linoone/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── lombre/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── lotad/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── loudred/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── ludicolo/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── lugia/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── lunatone/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── luvdisc/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── machamp/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── machoke/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── machop/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── magby/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── magcargo/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── magikarp/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── magmar/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── magnemite/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── magneton/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── makuhita/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── manectric/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── mankey/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── mantine/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── mareep/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── marill/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── marowak/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── marshtomp/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── masquerain/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── mawile/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── medicham/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── meditite/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── meganium/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── meowth/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── metagross/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── metang/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── metapod/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── mew/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── mewtwo/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── mightyena/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── milotic/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── miltank/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── minun/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── misdreavus/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── moltres/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── mr_mime/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── mudkip/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── muk/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── murkrow/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── natu/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── nidoking/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── nidoqueen/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── nidoran_f/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── nidoran_m/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── nidorina/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── nidorino/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── nincada/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── ninetales/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── ninjask/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── noctowl/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── nosepass/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── numel/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── nuzleaf/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── octillery/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── oddish/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── omanyte/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── omastar/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── onix/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── paras/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── parasect/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── pelipper/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── persian/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── phanpy/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── pichu/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── pidgeot/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── pidgeotto/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── pidgey/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── pikachu/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── piloswine/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── pineco/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── pinsir/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── plusle/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── politoed/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── poliwag/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── poliwhirl/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── poliwrath/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── ponyta/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── poochyena/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── porygon/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── porygon2/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── primeape/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── psyduck/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── pupitar/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── quagsire/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── question_mark/
│ │ │ ├── circled/
│ │ │ │ ├── normal.pal
│ │ │ │ └── shiny.pal
│ │ │ └── double/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── quilava/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── qwilfish/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── raichu/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── raikou/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── ralts/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── rapidash/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── raticate/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── rattata/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── rayquaza/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── regice/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── regirock/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── registeel/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── relicanth/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── remoraid/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── rhydon/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── rhyhorn/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── roselia/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── sableye/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── salamence/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── sandshrew/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── sandslash/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── sceptile/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── scizor/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── scyther/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── seadra/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── seaking/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── sealeo/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── seedot/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── seel/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── sentret/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── seviper/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── sharpedo/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── shedinja/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── shelgon/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── shellder/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── shiftry/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── shroomish/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── shuckle/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── shuppet/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── silcoon/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── skarmory/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── skiploom/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── skitty/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── slaking/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── slakoth/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── slowbro/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── slowking/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── slowpoke/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── slugma/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── smeargle/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── smoochum/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── sneasel/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── snorlax/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── snorunt/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── snubbull/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── solrock/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── spearow/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── spheal/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── spinarak/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── spinda/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── spoink/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── squirtle/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── stantler/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── starmie/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── staryu/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── steelix/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── sudowoodo/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── suicune/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── sunflora/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── sunkern/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── surskit/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── swablu/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── swalot/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── swampert/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── swellow/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── swinub/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── taillow/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── tangela/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── tauros/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── teddiursa/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── tentacool/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── tentacruel/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── togepi/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── togetic/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── torchic/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── torkoal/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── totodile/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── trapinch/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── treecko/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── tropius/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── typhlosion/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── tyranitar/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── tyrogue/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── umbreon/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── unown/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── ursaring/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── vaporeon/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── venomoth/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── venonat/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── venusaur/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── vibrava/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── victreebel/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── vigoroth/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── vileplume/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── volbeat/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── voltorb/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── vulpix/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── wailmer/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── wailord/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── walrein/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── wartortle/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── weedle/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── weepinbell/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── weezing/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── whiscash/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── whismur/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── wigglytuff/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── wingull/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── wobbuffet/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── wooper/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── wurmple/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── wynaut/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── xatu/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── yanma/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── zangoose/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── zapdos/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ ├── zigzagoon/
│ │ │ ├── normal.pal
│ │ │ └── shiny.pal
│ │ └── zubat/
│ │ ├── normal.pal
│ │ └── shiny.pal
│ ├── pokemon_jump/
│ │ ├── bg.pal
│ │ ├── bonuses.pal
│ │ ├── interface.pal
│ │ ├── pal1.pal
│ │ ├── pal2.pal
│ │ └── venusaur.pal
│ ├── pokemon_special_anim/
│ │ ├── bg.pal
│ │ └── bg_tm_hm.pal
│ ├── pokemon_storage/
│ │ ├── interface.pal
│ │ ├── interface_no_display_mon.pal
│ │ ├── menu.pal
│ │ ├── misc1.pal
│ │ ├── misc2.pal
│ │ ├── party_menu.pal
│ │ ├── scrolling_bg_move_items.pal
│ │ ├── unused.pal
│ │ └── unused_choose_box_menu.pal
│ ├── region_map/
│ │ ├── cursor.pal
│ │ ├── misc_icon.pal
│ │ ├── player_icon_leaf.pal
│ │ ├── player_icon_red.pal
│ │ ├── region_map.pal
│ │ ├── region_map_hoenn.pal
│ │ ├── switch_map_cursor.pal
│ │ └── top_bar.pal
│ ├── seagallop/
│ │ └── ferry_and_wake.pal
│ ├── slot_machine/
│ │ ├── firered/
│ │ │ ├── match_lines.pal
│ │ │ └── payout_lights.pal
│ │ └── leafgreen/
│ │ ├── match_lines.pal
│ │ └── payout_lights.pal
│ ├── summary_screen/
│ │ ├── hp_bar_red.pal
│ │ ├── hp_bar_yellow.pal
│ │ ├── marking.pal
│ │ ├── move_selection_cursor.pal
│ │ ├── text_header.pal
│ │ └── text_moves.pal
│ ├── teachy_tv/
│ │ └── palettes.pal
│ ├── text_window/
│ │ ├── stdpal_0.pal
│ │ ├── stdpal_1.pal
│ │ ├── stdpal_2.pal
│ │ ├── stdpal_3.pal
│ │ └── stdpal_4.pal
│ ├── title_screen/
│ │ ├── firered/
│ │ │ ├── background.pal
│ │ │ ├── box_art_mon.pal
│ │ │ ├── game_title_logo.pal
│ │ │ └── slash.pal
│ │ └── leafgreen/
│ │ ├── background.pal
│ │ ├── box_art_mon.pal
│ │ ├── game_title_logo.pal
│ │ └── slash.pal
│ ├── tm_case/
│ │ ├── disc_types_1.pal
│ │ ├── disc_types_2.pal
│ │ ├── menu_female.pal
│ │ └── menu_male.pal
│ ├── trade/
│ │ ├── black.pal
│ │ ├── cursor.pal
│ │ ├── gba.pal
│ │ ├── gba_pal2.pal
│ │ ├── link_mon.pal
│ │ ├── menu.pal
│ │ ├── shadow.pal
│ │ ├── text.pal
│ │ ├── unused1.pal
│ │ ├── wireless_signal_receive.pal
│ │ └── wireless_signal_send.pal
│ ├── trainer_card/
│ │ ├── blue.pal
│ │ ├── bronze.pal
│ │ ├── female_bg.pal
│ │ ├── gold.pal
│ │ ├── green.pal
│ │ ├── rse/
│ │ │ ├── bronze.pal
│ │ │ ├── copper.pal
│ │ │ ├── female_bg.pal
│ │ │ ├── gold.pal
│ │ │ ├── green.pal
│ │ │ └── silver.pal
│ │ ├── silver.pal
│ │ ├── star.pal
│ │ ├── stickers1.pal
│ │ ├── stickers2.pal
│ │ ├── stickers3.pal
│ │ ├── stickers4.pal
│ │ └── unused.pal
│ ├── trainers/
│ │ └── palettes/
│ │ ├── aqua_admin_f.pal
│ │ ├── aqua_admin_m.pal
│ │ ├── aqua_grunt_f.pal
│ │ ├── aqua_grunt_m.pal
│ │ ├── aqua_leader_archie.pal
│ │ ├── aroma_lady.pal
│ │ ├── battle_girl.pal
│ │ ├── beauty.pal
│ │ ├── biker.pal
│ │ ├── bird_keeper.pal
│ │ ├── black_belt.pal
│ │ ├── bug_catcher.pal
│ │ ├── bug_maniac.pal
│ │ ├── burglar.pal
│ │ ├── camper.pal
│ │ ├── champion_rival.pal
│ │ ├── champion_steven.pal
│ │ ├── channeler.pal
│ │ ├── collector.pal
│ │ ├── cool_couple.pal
│ │ ├── cool_trainer_f.pal
│ │ ├── cool_trainer_m.pal
│ │ ├── crush_girl.pal
│ │ ├── crush_kin.pal
│ │ ├── cue_ball.pal
│ │ ├── cycling_triathlete_f.pal
│ │ ├── cycling_triathlete_m.pal
│ │ ├── dragon_tamer.pal
│ │ ├── elite_four_agatha.pal
│ │ ├── elite_four_bruno.pal
│ │ ├── elite_four_drake.pal
│ │ ├── elite_four_glacia.pal
│ │ ├── elite_four_lance.pal
│ │ ├── elite_four_lorelei.pal
│ │ ├── elite_four_phoebe.pal
│ │ ├── elite_four_sidney.pal
│ │ ├── emerald_brendan.pal
│ │ ├── emerald_may.pal
│ │ ├── engineer.pal
│ │ ├── expert_f.pal
│ │ ├── expert_m.pal
│ │ ├── fisherman.pal
│ │ ├── gamer.pal
│ │ ├── gentleman.pal
│ │ ├── guitarist.pal
│ │ ├── hex_maniac.pal
│ │ ├── hiker.pal
│ │ ├── interviewer.pal
│ │ ├── juggler.pal
│ │ ├── kindler.pal
│ │ ├── lady.pal
│ │ ├── lass.pal
│ │ ├── leader_blaine.pal
│ │ ├── leader_brawly.pal
│ │ ├── leader_brock.pal
│ │ ├── leader_erika.pal
│ │ ├── leader_flannery.pal
│ │ ├── leader_giovanni.pal
│ │ ├── leader_koga.pal
│ │ ├── leader_lt_surge.pal
│ │ ├── leader_misty.pal
│ │ ├── leader_norman.pal
│ │ ├── leader_roxanne.pal
│ │ ├── leader_sabrina.pal
│ │ ├── leader_tate_and_liza.pal
│ │ ├── leader_wallace.pal
│ │ ├── leader_wattson.pal
│ │ ├── leader_winona.pal
│ │ ├── leaf.pal
│ │ ├── leaf_back_pic.pal
│ │ ├── magma_admin_f.pal
│ │ ├── magma_admin_m.pal
│ │ ├── magma_grunt_f.pal
│ │ ├── magma_grunt_m.pal
│ │ ├── magma_leader_maxie.pal
│ │ ├── master_beauty.pal
│ │ ├── master_bird_keeper.pal
│ │ ├── master_black_belt.pal
│ │ ├── master_bug_catcher.pal
│ │ ├── master_cool_trainer_m.pal
│ │ ├── master_hiker.pal
│ │ ├── master_lass.pal
│ │ ├── master_psychic_m.pal
│ │ ├── master_scientist.pal
│ │ ├── master_swimmer.pal
│ │ ├── master_youngster.pal
│ │ ├── ninja_boy.pal
│ │ ├── old_couple.pal
│ │ ├── old_man_back_pic.pal
│ │ ├── painter.pal
│ │ ├── parasol_lady.pal
│ │ ├── picnicker.pal
│ │ ├── pokedude_back_pic.pal
│ │ ├── pokefan_f.pal
│ │ ├── pokefan_m.pal
│ │ ├── pokemaniac.pal
│ │ ├── pokemon_breeder.pal
│ │ ├── pokemon_ranger_f.pal
│ │ ├── pokemon_ranger_m.pal
│ │ ├── professor_oak.pal
│ │ ├── psychic_f.pal
│ │ ├── psychic_m.pal
│ │ ├── red.pal
│ │ ├── red_back_pic.pal
│ │ ├── rich_boy.pal
│ │ ├── rival_early.pal
│ │ ├── rival_late.pal
│ │ ├── rocker.pal
│ │ ├── rocket_grunt_f.pal
│ │ ├── rocket_grunt_m.pal
│ │ ├── rs_aroma_lady.pal
│ │ ├── rs_beauty.pal
│ │ ├── rs_bird_keeper.pal
│ │ ├── rs_black_belt.pal
│ │ ├── rs_bug_catcher.pal
│ │ ├── rs_camper.pal
│ │ ├── rs_cool_trainer_f.pal
│ │ ├── rs_cool_trainer_m.pal
│ │ ├── rs_fisherman.pal
│ │ ├── rs_gentleman.pal
│ │ ├── rs_hiker.pal
│ │ ├── rs_lady.pal
│ │ ├── rs_lass.pal
│ │ ├── rs_picnicker.pal
│ │ ├── rs_pokemaniac.pal
│ │ ├── rs_pokemon_breeder_f.pal
│ │ ├── rs_pokemon_breeder_m.pal
│ │ ├── rs_pokemon_ranger_f.pal
│ │ ├── rs_pokemon_ranger_m.pal
│ │ ├── rs_psychic_f.pal
│ │ ├── rs_psychic_m.pal
│ │ ├── rs_ruin_maniac.pal
│ │ ├── rs_sailor.pal
│ │ ├── rs_sis_and_bro.pal
│ │ ├── rs_swimmer_f.pal
│ │ ├── rs_swimmer_m.pal
│ │ ├── rs_tuber_f.pal
│ │ ├── rs_twins.pal
│ │ ├── rs_young_couple.pal
│ │ ├── rs_youngster.pal
│ │ ├── ruby_sapphire_brendan.pal
│ │ ├── ruby_sapphire_may.pal
│ │ ├── ruin_maniac.pal
│ │ ├── running_triathlete_f.pal
│ │ ├── running_triathlete_m.pal
│ │ ├── sailor.pal
│ │ ├── school_kid_f.pal
│ │ ├── school_kid_m.pal
│ │ ├── scientist.pal
│ │ ├── sis_and_bro.pal
│ │ ├── sr_and_jr.pal
│ │ ├── super_nerd.pal
│ │ ├── swimmer_f.pal
│ │ ├── swimmer_m.pal
│ │ ├── swimming_triathlete_f.pal
│ │ ├── swimming_triathlete_m.pal
│ │ ├── tamer.pal
│ │ ├── tuber_f.pal
│ │ ├── tuber_m.pal
│ │ ├── twins.pal
│ │ ├── wally.pal
│ │ ├── young_couple.pal
│ │ └── youngster.pal
│ ├── union_room_chat/
│ │ ├── messages.pal
│ │ ├── objects.pal
│ │ ├── text_entry.pal
│ │ └── unused.pal
│ ├── unused/
│ │ ├── battle_anim_023.pal
│ │ ├── gray_palette.pal
│ │ ├── old_pal1.pal
│ │ ├── old_pal2.pal
│ │ ├── old_pal3.pal
│ │ ├── old_pal4.pal
│ │ ├── old_pal5.pal
│ │ ├── old_pal6.pal
│ │ ├── old_pal7.pal
│ │ └── red_palette.pal
│ ├── weather/
│ │ └── default.pal
│ ├── wireless_status_screen/
│ │ ├── anim_00.pal
│ │ ├── anim_01.pal
│ │ ├── anim_02.pal
│ │ ├── anim_03.pal
│ │ ├── anim_04.pal
│ │ ├── anim_05.pal
│ │ ├── anim_06.pal
│ │ ├── anim_07.pal
│ │ ├── anim_08.pal
│ │ ├── anim_09.pal
│ │ ├── anim_10.pal
│ │ ├── anim_11.pal
│ │ ├── anim_12.pal
│ │ ├── anim_13.pal
│ │ └── default.pal
│ ├── wonder_card/
│ │ ├── bg0.pal
│ │ ├── bg1.pal
│ │ ├── bg2.pal
│ │ ├── bg3.pal
│ │ ├── bg4.pal
│ │ ├── bg5.pal
│ │ ├── bg6.pal
│ │ ├── bg7.pal
│ │ ├── stamp_shadow_0.pal
│ │ ├── stamp_shadow_1.pal
│ │ ├── stamp_shadow_2.pal
│ │ ├── stamp_shadow_3.pal
│ │ ├── stamp_shadow_4.pal
│ │ ├── stamp_shadow_5.pal
│ │ ├── stamp_shadow_6.pal
│ │ └── stamp_shadow_7.pal
│ └── wonder_news/
│ ├── bg0.pal
│ ├── bg6.pal
│ └── bg7.pal
├── graphics_file_rules.mk
├── include/
│ ├── AgbRfu_LinkManager.h
│ ├── bag.h
│ ├── battle.h
│ ├── battle_ai_script_commands.h
│ ├── battle_ai_switch_items.h
│ ├── battle_anim.h
│ ├── battle_bg.h
│ ├── battle_controllers.h
│ ├── battle_gfx_sfx_util.h
│ ├── battle_interface.h
│ ├── battle_main.h
│ ├── battle_message.h
│ ├── battle_records.h
│ ├── battle_script_commands.h
│ ├── battle_scripts.h
│ ├── battle_setup.h
│ ├── battle_tower.h
│ ├── battle_transition.h
│ ├── battle_util.h
│ ├── battle_util2.h
│ ├── berry.h
│ ├── berry_crush.h
│ ├── berry_fix_program.h
│ ├── berry_pouch.h
│ ├── berry_powder.h
│ ├── bg.h
│ ├── bg_regs.h
│ ├── bike.h
│ ├── blend_palette.h
│ ├── blit.h
│ ├── cable_club.h
│ ├── calculate_base_damage.h
│ ├── cereader_tool.h
│ ├── characters.h
│ ├── clear_save_data_screen.h
│ ├── coins.h
│ ├── config.h
│ ├── constants/
│ │ ├── abilities.h
│ │ ├── battle.h
│ │ ├── battle_ai.h
│ │ ├── battle_anim.h
│ │ ├── battle_move_effects.h
│ │ ├── battle_script_commands.h
│ │ ├── battle_setup.h
│ │ ├── battle_string_ids.h
│ │ ├── battle_tower.h
│ │ ├── cable_club.h
│ │ ├── coins.h
│ │ ├── daycare.h
│ │ ├── decorations.h
│ │ ├── easy_chat.h
│ │ ├── event_bg.h
│ │ ├── event_object_movement.h
│ │ ├── event_objects.h
│ │ ├── fame_checker.h
│ │ ├── field_effects.h
│ │ ├── field_tasks.h
│ │ ├── field_weather.h
│ │ ├── flags.h
│ │ ├── game_stat.h
│ │ ├── global.h
│ │ ├── heal_locations.h
│ │ ├── help_system.h
│ │ ├── hoenn_cries.h
│ │ ├── hold_effects.h
│ │ ├── item_effects.h
│ │ ├── item_menu.h
│ │ ├── items.h
│ │ ├── layouts.h
│ │ ├── map_groups.h
│ │ ├── map_scripts.h
│ │ ├── map_types.h
│ │ ├── maps.h
│ │ ├── master_opponents.h
│ │ ├── menu.h
│ │ ├── metatile_behaviors.h
│ │ ├── metatile_labels.h
│ │ ├── moves.h
│ │ ├── mystery_gift.h
│ │ ├── opponents.h
│ │ ├── party_menu.h
│ │ ├── pokedex.h
│ │ ├── pokemon.h
│ │ ├── quest_log.h
│ │ ├── region_map_sections.h
│ │ ├── rgb.h
│ │ ├── seagallop.h
│ │ ├── songs.h
│ │ ├── sound.h
│ │ ├── species.h
│ │ ├── trade.h
│ │ ├── trainer_card.h
│ │ ├── trainer_fan_club.h
│ │ ├── trainer_tower.h
│ │ ├── trainer_types.h
│ │ ├── trainers.h
│ │ ├── union_room.h
│ │ ├── vars.h
│ │ └── weather.h
│ ├── coord_event_weather.h
│ ├── credits.h
│ ├── data.h
│ ├── daycare.h
│ ├── decompress.h
│ ├── decoration.h
│ ├── digit_obj_util.h
│ ├── diploma.h
│ ├── dma3.h
│ ├── dodrio_berry_picking.h
│ ├── dynamic_placeholder_text_util.h
│ ├── easy_chat.h
│ ├── egg_hatch.h
│ ├── ereader_helpers.h
│ ├── event_data.h
│ ├── event_object_lock.h
│ ├── event_object_movement.h
│ ├── event_scripts.h
│ ├── evolution_graphics.h
│ ├── evolution_scene.h
│ ├── fame_checker.h
│ ├── faraway_island.h
│ ├── field_camera.h
│ ├── field_control_avatar.h
│ ├── field_door.h
│ ├── field_effect.h
│ ├── field_effect_helpers.h
│ ├── field_effect_scripts.h
│ ├── field_fadetransition.h
│ ├── field_message_box.h
│ ├── field_player_avatar.h
│ ├── field_poison.h
│ ├── field_screen.h
│ ├── field_screen_effect.h
│ ├── field_specials.h
│ ├── field_tasks.h
│ ├── field_weather.h
│ ├── field_weather_effects.h
│ ├── field_weather_util.h
│ ├── fieldmap.h
│ ├── fldeff.h
│ ├── gba/
│ │ ├── defines.h
│ │ ├── flash_internal.h
│ │ ├── gba.h
│ │ ├── io_reg.h
│ │ ├── isagbprint.h
│ │ ├── m4a_internal.h
│ │ ├── macro.h
│ │ ├── multiboot.h
│ │ ├── syscall.h
│ │ └── types.h
│ ├── gflib.h
│ ├── global.berry.h
│ ├── global.fieldmap.h
│ ├── global.h
│ ├── gpu_regs.h
│ ├── graphics.h
│ ├── hall_of_fame.h
│ ├── heal_location.h
│ ├── help_message.h
│ ├── help_system.h
│ ├── image_processing_effects.h
│ ├── intro.h
│ ├── item.h
│ ├── item_menu.h
│ ├── item_menu_icons.h
│ ├── item_pc.h
│ ├── item_use.h
│ ├── itemfinder.h
│ ├── keyboard_text.h
│ ├── libgcnmultiboot.h
│ ├── librfu.h
│ ├── link.h
│ ├── link_rfu.h
│ ├── list_menu.h
│ ├── load_save.h
│ ├── m4a.h
│ ├── mail.h
│ ├── mail_data.h
│ ├── mailbox_pc.h
│ ├── main.h
│ ├── main_menu.h
│ ├── malloc.h
│ ├── map_name_popup.h
│ ├── map_preview_screen.h
│ ├── math_util.h
│ ├── menu.h
│ ├── menu_helpers.h
│ ├── menu_indicators.h
│ ├── metatile_behavior.h
│ ├── mini_printf.h
│ ├── minigame_countdown.h
│ ├── mon_markings.h
│ ├── money.h
│ ├── multiboot.h
│ ├── mystery_event_msg.h
│ ├── mystery_event_script.h
│ ├── mystery_gift.h
│ ├── mystery_gift_client.h
│ ├── mystery_gift_link.h
│ ├── mystery_gift_menu.h
│ ├── mystery_gift_server.h
│ ├── naming_screen.h
│ ├── new_game.h
│ ├── new_menu_helpers.h
│ ├── oak_speech.h
│ ├── option_menu.h
│ ├── orre_met_location_strings.h
│ ├── overworld.h
│ ├── palette.h
│ ├── palette_util.h
│ ├── party_menu.h
│ ├── pc_screen_effect.h
│ ├── play_time.h
│ ├── player_pc.h
│ ├── pokeball.h
│ ├── pokedex.h
│ ├── pokedex_area_markers.h
│ ├── pokedex_screen.h
│ ├── pokemon.h
│ ├── pokemon_icon.h
│ ├── pokemon_item_effects.h
│ ├── pokemon_jump.h
│ ├── pokemon_size_record.h
│ ├── pokemon_special_anim.h
│ ├── pokemon_special_anim_internal.h
│ ├── pokemon_storage_system.h
│ ├── pokemon_storage_system_internal.h
│ ├── pokemon_summary_screen.h
│ ├── quest_log.h
│ ├── quest_log_battle.h
│ ├── quest_log_objects.h
│ ├── quest_log_player.h
│ ├── random.h
│ ├── region_map.h
│ ├── renewable_hidden_items.h
│ ├── reset_save_heap.h
│ ├── reshow_battle_screen.h
│ ├── roamer.h
│ ├── safari_zone.h
│ ├── save.h
│ ├── save_failed_screen.h
│ ├── save_location.h
│ ├── save_menu_util.h
│ ├── scanline_effect.h
│ ├── script.h
│ ├── script_menu.h
│ ├── script_movement.h
│ ├── script_pokemon_util.h
│ ├── shop.h
│ ├── slot_machine.h
│ ├── sound.h
│ ├── special_field_anim.h
│ ├── sprite.h
│ ├── start_menu.h
│ ├── string_util.h
│ ├── strings.h
│ ├── task.h
│ ├── teachy_tv.h
│ ├── text.h
│ ├── text_window.h
│ ├── text_window_graphics.h
│ ├── tilemap_util.h
│ ├── tileset_anims.h
│ ├── tilesets.h
│ ├── title_screen.h
│ ├── tm_case.h
│ ├── trade.h
│ ├── trade_scene.h
│ ├── trainer_card.h
│ ├── trainer_front_sprites.h
│ ├── trainer_ids.h
│ ├── trainer_pokemon_sprites.h
│ ├── trainer_see.h
│ ├── trainer_tower.h
│ ├── trig.h
│ ├── union_room.h
│ ├── union_room_battle.h
│ ├── union_room_chat.h
│ ├── union_room_chat_display.h
│ ├── union_room_chat_objects.h
│ ├── union_room_message.h
│ ├── union_room_player_avatar.h
│ ├── util.h
│ ├── vs_seeker.h
│ ├── wild_encounter.h
│ ├── wild_pokemon_area.h
│ ├── window.h
│ └── wonder_news.h
├── json_data_rules.mk
├── ld_script.ld
├── ld_script_modern.ld
├── leafgreen.sha1
├── leafgreen_rev1.sha1
├── map_data_rules.mk
├── patch/
│ └── frlgPlus.bps
├── replace.sh
├── songs.mk
├── sound/
│ ├── MPlayDef.s
│ ├── cry_tables.inc
│ ├── direct_sound_data.inc
│ ├── direct_sound_samples/
│ │ ├── bicycle_bell.aif
│ │ ├── classical_choir_voice_ahhs.aif
│ │ ├── cries/
│ │ │ ├── abra.aif
│ │ │ ├── absol.aif
│ │ │ ├── aerodactyl.aif
│ │ │ ├── aggron.aif
│ │ │ ├── aipom.aif
│ │ │ ├── alakazam.aif
│ │ │ ├── altaria.aif
│ │ │ ├── ampharos.aif
│ │ │ ├── anorith.aif
│ │ │ ├── arbok.aif
│ │ │ ├── arcanine.aif
│ │ │ ├── ariados.aif
│ │ │ ├── armaldo.aif
│ │ │ ├── aron.aif
│ │ │ ├── articuno.aif
│ │ │ ├── azumarill.aif
│ │ │ ├── azurill.aif
│ │ │ ├── bagon.aif
│ │ │ ├── baltoy.aif
│ │ │ ├── banette.aif
│ │ │ ├── barboach.aif
│ │ │ ├── bayleef.aif
│ │ │ ├── beautifly.aif
│ │ │ ├── beedrill.aif
│ │ │ ├── beldum.aif
│ │ │ ├── bellossom.aif
│ │ │ ├── bellsprout.aif
│ │ │ ├── blastoise.aif
│ │ │ ├── blaziken.aif
│ │ │ ├── blissey.aif
│ │ │ ├── breloom.aif
│ │ │ ├── bulbasaur.aif
│ │ │ ├── butterfree.aif
│ │ │ ├── cacnea.aif
│ │ │ ├── cacturne.aif
│ │ │ ├── camerupt.aif
│ │ │ ├── carvanha.aif
│ │ │ ├── cascoon.aif
│ │ │ ├── castform.aif
│ │ │ ├── caterpie.aif
│ │ │ ├── celebi.aif
│ │ │ ├── chansey.aif
│ │ │ ├── charizard.aif
│ │ │ ├── charmander.aif
│ │ │ ├── charmeleon.aif
│ │ │ ├── chikorita.aif
│ │ │ ├── chimecho.aif
│ │ │ ├── chinchou.aif
│ │ │ ├── clamperl.aif
│ │ │ ├── claydol.aif
│ │ │ ├── clefable.aif
│ │ │ ├── clefairy.aif
│ │ │ ├── cleffa.aif
│ │ │ ├── cloyster.aif
│ │ │ ├── combusken.aif
│ │ │ ├── corphish.aif
│ │ │ ├── corsola.aif
│ │ │ ├── cradily.aif
│ │ │ ├── crawdaunt.aif
│ │ │ ├── crobat.aif
│ │ │ ├── croconaw.aif
│ │ │ ├── cubone.aif
│ │ │ ├── cyndaquil.aif
│ │ │ ├── delcatty.aif
│ │ │ ├── delibird.aif
│ │ │ ├── deoxys.aif
│ │ │ ├── dewgong.aif
│ │ │ ├── diglett.aif
│ │ │ ├── ditto.aif
│ │ │ ├── dodrio.aif
│ │ │ ├── doduo.aif
│ │ │ ├── donphan.aif
│ │ │ ├── dragonair.aif
│ │ │ ├── dragonite.aif
│ │ │ ├── dratini.aif
│ │ │ ├── drowzee.aif
│ │ │ ├── dugtrio.aif
│ │ │ ├── dunsparce.aif
│ │ │ ├── dusclops.aif
│ │ │ ├── duskull.aif
│ │ │ ├── dustox.aif
│ │ │ ├── eevee.aif
│ │ │ ├── ekans.aif
│ │ │ ├── electabuzz.aif
│ │ │ ├── electrike.aif
│ │ │ ├── electrode.aif
│ │ │ ├── elekid.aif
│ │ │ ├── entei.aif
│ │ │ ├── espeon.aif
│ │ │ ├── exeggcute.aif
│ │ │ ├── exeggutor.aif
│ │ │ ├── exploud.aif
│ │ │ ├── farfetchd.aif
│ │ │ ├── fearow.aif
│ │ │ ├── feebas.aif
│ │ │ ├── feraligatr.aif
│ │ │ ├── flaaffy.aif
│ │ │ ├── flareon.aif
│ │ │ ├── flygon.aif
│ │ │ ├── forretress.aif
│ │ │ ├── furret.aif
│ │ │ ├── gardevoir.aif
│ │ │ ├── gastly.aif
│ │ │ ├── gengar.aif
│ │ │ ├── geodude.aif
│ │ │ ├── girafarig.aif
│ │ │ ├── glalie.aif
│ │ │ ├── gligar.aif
│ │ │ ├── gloom.aif
│ │ │ ├── golbat.aif
│ │ │ ├── goldeen.aif
│ │ │ ├── golduck.aif
│ │ │ ├── golem.aif
│ │ │ ├── gorebyss.aif
│ │ │ ├── granbull.aif
│ │ │ ├── graveler.aif
│ │ │ ├── grimer.aif
│ │ │ ├── groudon.aif
│ │ │ ├── grovyle.aif
│ │ │ ├── growlithe.aif
│ │ │ ├── grumpig.aif
│ │ │ ├── gulpin.aif
│ │ │ ├── gyarados.aif
│ │ │ ├── hariyama.aif
│ │ │ ├── haunter.aif
│ │ │ ├── heracross.aif
│ │ │ ├── hitmonchan.aif
│ │ │ ├── hitmonlee.aif
│ │ │ ├── hitmontop.aif
│ │ │ ├── ho_oh.aif
│ │ │ ├── hoothoot.aif
│ │ │ ├── hoppip.aif
│ │ │ ├── horsea.aif
│ │ │ ├── houndoom.aif
│ │ │ ├── houndour.aif
│ │ │ ├── huntail.aif
│ │ │ ├── hypno.aif
│ │ │ ├── igglybuff.aif
│ │ │ ├── illumise.aif
│ │ │ ├── ivysaur.aif
│ │ │ ├── jigglypuff.aif
│ │ │ ├── jirachi.aif
│ │ │ ├── jolteon.aif
│ │ │ ├── jumpluff.aif
│ │ │ ├── jynx.aif
│ │ │ ├── kabuto.aif
│ │ │ ├── kabutops.aif
│ │ │ ├── kadabra.aif
│ │ │ ├── kakuna.aif
│ │ │ ├── kangaskhan.aif
│ │ │ ├── kecleon.aif
│ │ │ ├── kingdra.aif
│ │ │ ├── kingler.aif
│ │ │ ├── kirlia.aif
│ │ │ ├── koffing.aif
│ │ │ ├── krabby.aif
│ │ │ ├── kyogre.aif
│ │ │ ├── lairon.aif
│ │ │ ├── lanturn.aif
│ │ │ ├── lapras.aif
│ │ │ ├── larvitar.aif
│ │ │ ├── latias.aif
│ │ │ ├── latios.aif
│ │ │ ├── ledian.aif
│ │ │ ├── ledyba.aif
│ │ │ ├── lickitung.aif
│ │ │ ├── lileep.aif
│ │ │ ├── linoone.aif
│ │ │ ├── lombre.aif
│ │ │ ├── lotad.aif
│ │ │ ├── loudred.aif
│ │ │ ├── ludicolo.aif
│ │ │ ├── lugia.aif
│ │ │ ├── lunatone.aif
│ │ │ ├── luvdisc.aif
│ │ │ ├── machamp.aif
│ │ │ ├── machoke.aif
│ │ │ ├── machop.aif
│ │ │ ├── magby.aif
│ │ │ ├── magcargo.aif
│ │ │ ├── magikarp.aif
│ │ │ ├── magmar.aif
│ │ │ ├── magnemite.aif
│ │ │ ├── magneton.aif
│ │ │ ├── makuhita.aif
│ │ │ ├── manectric.aif
│ │ │ ├── mankey.aif
│ │ │ ├── mantine.aif
│ │ │ ├── mareep.aif
│ │ │ ├── marill.aif
│ │ │ ├── marowak.aif
│ │ │ ├── marshtomp.aif
│ │ │ ├── masquerain.aif
│ │ │ ├── mawile.aif
│ │ │ ├── medicham.aif
│ │ │ ├── meditite.aif
│ │ │ ├── meganium.aif
│ │ │ ├── meowth.aif
│ │ │ ├── metagross.aif
│ │ │ ├── metang.aif
│ │ │ ├── metapod.aif
│ │ │ ├── mew.aif
│ │ │ ├── mewtwo.aif
│ │ │ ├── mightyena.aif
│ │ │ ├── milotic.aif
│ │ │ ├── miltank.aif
│ │ │ ├── minun.aif
│ │ │ ├── misdreavus.aif
│ │ │ ├── moltres.aif
│ │ │ ├── mr_mime.aif
│ │ │ ├── mudkip.aif
│ │ │ ├── muk.aif
│ │ │ ├── murkrow.aif
│ │ │ ├── natu.aif
│ │ │ ├── nidoking.aif
│ │ │ ├── nidoqueen.aif
│ │ │ ├── nidoran_f.aif
│ │ │ ├── nidoran_m.aif
│ │ │ ├── nidorina.aif
│ │ │ ├── nidorino.aif
│ │ │ ├── nincada.aif
│ │ │ ├── ninetales.aif
│ │ │ ├── ninjask.aif
│ │ │ ├── noctowl.aif
│ │ │ ├── nosepass.aif
│ │ │ ├── numel.aif
│ │ │ ├── nuzleaf.aif
│ │ │ ├── octillery.aif
│ │ │ ├── oddish.aif
│ │ │ ├── omanyte.aif
│ │ │ ├── omastar.aif
│ │ │ ├── onix.aif
│ │ │ ├── paras.aif
│ │ │ ├── parasect.aif
│ │ │ ├── pelipper.aif
│ │ │ ├── persian.aif
│ │ │ ├── phanpy.aif
│ │ │ ├── pichu.aif
│ │ │ ├── pidgeot.aif
│ │ │ ├── pidgeotto.aif
│ │ │ ├── pidgey.aif
│ │ │ ├── pikachu.aif
│ │ │ ├── piloswine.aif
│ │ │ ├── pineco.aif
│ │ │ ├── pinsir.aif
│ │ │ ├── plusle.aif
│ │ │ ├── politoed.aif
│ │ │ ├── poliwag.aif
│ │ │ ├── poliwhirl.aif
│ │ │ ├── poliwrath.aif
│ │ │ ├── ponyta.aif
│ │ │ ├── poochyena.aif
│ │ │ ├── porygon.aif
│ │ │ ├── porygon2.aif
│ │ │ ├── primeape.aif
│ │ │ ├── psyduck.aif
│ │ │ ├── pupitar.aif
│ │ │ ├── quagsire.aif
│ │ │ ├── quilava.aif
│ │ │ ├── qwilfish.aif
│ │ │ ├── raichu.aif
│ │ │ ├── raikou.aif
│ │ │ ├── ralts.aif
│ │ │ ├── rapidash.aif
│ │ │ ├── raticate.aif
│ │ │ ├── rattata.aif
│ │ │ ├── rayquaza.aif
│ │ │ ├── regice.aif
│ │ │ ├── regirock.aif
│ │ │ ├── registeel.aif
│ │ │ ├── relicanth.aif
│ │ │ ├── remoraid.aif
│ │ │ ├── rhydon.aif
│ │ │ ├── rhyhorn.aif
│ │ │ ├── roselia.aif
│ │ │ ├── sableye.aif
│ │ │ ├── salamence.aif
│ │ │ ├── sandshrew.aif
│ │ │ ├── sandslash.aif
│ │ │ ├── sceptile.aif
│ │ │ ├── scizor.aif
│ │ │ ├── scyther.aif
│ │ │ ├── seadra.aif
│ │ │ ├── seaking.aif
│ │ │ ├── sealeo.aif
│ │ │ ├── seedot.aif
│ │ │ ├── seel.aif
│ │ │ ├── sentret.aif
│ │ │ ├── seviper.aif
│ │ │ ├── sharpedo.aif
│ │ │ ├── shedinja.aif
│ │ │ ├── shelgon.aif
│ │ │ ├── shellder.aif
│ │ │ ├── shiftry.aif
│ │ │ ├── shroomish.aif
│ │ │ ├── shuckle.aif
│ │ │ ├── shuppet.aif
│ │ │ ├── silcoon.aif
│ │ │ ├── skarmory.aif
│ │ │ ├── skiploom.aif
│ │ │ ├── skitty.aif
│ │ │ ├── slaking.aif
│ │ │ ├── slakoth.aif
│ │ │ ├── slowbro.aif
│ │ │ ├── slowking.aif
│ │ │ ├── slowpoke.aif
│ │ │ ├── slugma.aif
│ │ │ ├── smeargle.aif
│ │ │ ├── smoochum.aif
│ │ │ ├── sneasel.aif
│ │ │ ├── snorlax.aif
│ │ │ ├── snorunt.aif
│ │ │ ├── snubbull.aif
│ │ │ ├── solrock.aif
│ │ │ ├── spearow.aif
│ │ │ ├── spheal.aif
│ │ │ ├── spinarak.aif
│ │ │ ├── spinda.aif
│ │ │ ├── spoink.aif
│ │ │ ├── squirtle.aif
│ │ │ ├── stantler.aif
│ │ │ ├── starmie.aif
│ │ │ ├── staryu.aif
│ │ │ ├── steelix.aif
│ │ │ ├── sudowoodo.aif
│ │ │ ├── suicune.aif
│ │ │ ├── sunflora.aif
│ │ │ ├── sunkern.aif
│ │ │ ├── surskit.aif
│ │ │ ├── swablu.aif
│ │ │ ├── swalot.aif
│ │ │ ├── swampert.aif
│ │ │ ├── swellow.aif
│ │ │ ├── swinub.aif
│ │ │ ├── taillow.aif
│ │ │ ├── tangela.aif
│ │ │ ├── tauros.aif
│ │ │ ├── teddiursa.aif
│ │ │ ├── tentacool.aif
│ │ │ ├── tentacruel.aif
│ │ │ ├── togepi.aif
│ │ │ ├── togetic.aif
│ │ │ ├── torchic.aif
│ │ │ ├── torkoal.aif
│ │ │ ├── totodile.aif
│ │ │ ├── trapinch.aif
│ │ │ ├── treecko.aif
│ │ │ ├── tropius.aif
│ │ │ ├── typhlosion.aif
│ │ │ ├── tyranitar.aif
│ │ │ ├── tyrogue.aif
│ │ │ ├── umbreon.aif
│ │ │ ├── unown.aif
│ │ │ ├── unused_265.aif
│ │ │ ├── unused_268.aif
│ │ │ ├── ursaring.aif
│ │ │ ├── vaporeon.aif
│ │ │ ├── venomoth.aif
│ │ │ ├── venonat.aif
│ │ │ ├── venusaur.aif
│ │ │ ├── vibrava.aif
│ │ │ ├── victreebel.aif
│ │ │ ├── vigoroth.aif
│ │ │ ├── vileplume.aif
│ │ │ ├── volbeat.aif
│ │ │ ├── voltorb.aif
│ │ │ ├── vulpix.aif
│ │ │ ├── wailmer.aif
│ │ │ ├── wailord.aif
│ │ │ ├── walrein.aif
│ │ │ ├── wartortle.aif
│ │ │ ├── weedle.aif
│ │ │ ├── weepinbell.aif
│ │ │ ├── weezing.aif
│ │ │ ├── whiscash.aif
│ │ │ ├── whismur.aif
│ │ │ ├── wigglytuff.aif
│ │ │ ├── wingull.aif
│ │ │ ├── wobbuffet.aif
│ │ │ ├── wooper.aif
│ │ │ ├── wurmple.aif
│ │ │ ├── wynaut.aif
│ │ │ ├── xatu.aif
│ │ │ ├── yanma.aif
│ │ │ ├── zangoose.aif
│ │ │ ├── zapdos.aif
│ │ │ ├── zigzagoon.aif
│ │ │ └── zubat.aif
│ │ ├── dance_drums_ride_bell.aif
│ │ ├── drum_and_percussion_kick.aif
│ │ ├── ethnic_flavours_atarigane.aif
│ │ ├── ethnic_flavours_hyoushigi.aif
│ │ ├── ethnic_flavours_kotsuzumi.aif
│ │ ├── ethnic_flavours_ohtsuzumi.aif
│ │ ├── heart_of_asia_gamelan.aif
│ │ ├── phonemes/
│ │ │ ├── 01.aif
│ │ │ ├── 02.aif
│ │ │ ├── 03.aif
│ │ │ ├── 04.aif
│ │ │ ├── 05.aif
│ │ │ ├── 06.aif
│ │ │ ├── 07.aif
│ │ │ ├── 08.aif
│ │ │ ├── 09.aif
│ │ │ ├── 10.aif
│ │ │ ├── 11.aif
│ │ │ ├── 12.aif
│ │ │ ├── 13.aif
│ │ │ ├── 14.aif
│ │ │ ├── 15.aif
│ │ │ ├── 16.aif
│ │ │ ├── 17.aif
│ │ │ ├── 18.aif
│ │ │ ├── 19.aif
│ │ │ ├── 20.aif
│ │ │ ├── 21.aif
│ │ │ ├── 22.aif
│ │ │ ├── 23.aif
│ │ │ ├── 24.aif
│ │ │ ├── 25.aif
│ │ │ ├── 26.aif
│ │ │ ├── 27.aif
│ │ │ ├── 28.aif
│ │ │ ├── 29.aif
│ │ │ ├── 30.aif
│ │ │ ├── 31.aif
│ │ │ ├── 32.aif
│ │ │ ├── 33.aif
│ │ │ ├── 34.aif
│ │ │ ├── 35.aif
│ │ │ ├── 36.aif
│ │ │ ├── 37.aif
│ │ │ ├── 38.aif
│ │ │ ├── 39.aif
│ │ │ ├── 40.aif
│ │ │ ├── 41.aif
│ │ │ ├── 42.aif
│ │ │ ├── 43.aif
│ │ │ ├── 44.aif
│ │ │ ├── 45.aif
│ │ │ ├── 46.aif
│ │ │ ├── 47.aif
│ │ │ ├── 48.aif
│ │ │ ├── 49.aif
│ │ │ ├── 50.aif
│ │ │ └── 51.aif
│ │ ├── register_noise.aif
│ │ ├── sc88pro_accordion.aif
│ │ ├── sc88pro_accordion_duplicate.aif
│ │ ├── sc88pro_bubbles.aif
│ │ ├── sc88pro_church_organ3_high.aif
│ │ ├── sc88pro_church_organ3_low.aif
│ │ ├── sc88pro_fingered_bass.aif
│ │ ├── sc88pro_flute.aif
│ │ ├── sc88pro_french_horn_60.aif
│ │ ├── sc88pro_french_horn_72.aif
│ │ ├── sc88pro_fretless_bass.aif
│ │ ├── sc88pro_glockenspiel.aif
│ │ ├── sc88pro_harp.aif
│ │ ├── sc88pro_jingle_bell.aif
│ │ ├── sc88pro_mute_high_conga.aif
│ │ ├── sc88pro_nylon_str_guitar.aif
│ │ ├── sc88pro_open_low_conga.aif
│ │ ├── sc88pro_orchestra_cymbal_crash.aif
│ │ ├── sc88pro_orchestra_snare.aif
│ │ ├── sc88pro_organ2.aif
│ │ ├── sc88pro_piano1_48.aif
│ │ ├── sc88pro_piano1_60.aif
│ │ ├── sc88pro_piano1_72.aif
│ │ ├── sc88pro_piano1_84.aif
│ │ ├── sc88pro_pizzicato_strings.aif
│ │ ├── sc88pro_rnd_kick.aif
│ │ ├── sc88pro_rnd_snare.aif
│ │ ├── sc88pro_slap_bass.aif
│ │ ├── sc88pro_square_wave.aif
│ │ ├── sc88pro_string_ensemble_60.aif
│ │ ├── sc88pro_string_ensemble_72.aif
│ │ ├── sc88pro_string_ensemble_84.aif
│ │ ├── sc88pro_synth_bass.aif
│ │ ├── sc88pro_taiko.aif
│ │ ├── sc88pro_tambourine.aif
│ │ ├── sc88pro_timpani.aif
│ │ ├── sc88pro_timpani_with_snare.aif
│ │ ├── sc88pro_tr909_hand_clap.aif
│ │ ├── sc88pro_trumpet_60.aif
│ │ ├── sc88pro_trumpet_72.aif
│ │ ├── sc88pro_trumpet_84.aif
│ │ ├── sc88pro_tuba_39.aif
│ │ ├── sc88pro_tuba_51.aif
│ │ ├── sc88pro_tubular_bell.aif
│ │ ├── sc88pro_wind.aif
│ │ ├── sc88pro_xylophone.aif
│ │ ├── sd90_ambient_tom.aif
│ │ ├── sd90_classical_detuned_ep1_high.aif
│ │ ├── sd90_classical_detuned_ep1_low.aif
│ │ ├── sd90_classical_distortion_guitar_high.aif
│ │ ├── sd90_classical_distortion_guitar_low.aif
│ │ ├── sd90_classical_oboe.aif
│ │ ├── sd90_classical_overdrive_guitar.aif
│ │ ├── sd90_classical_shakuhachi.aif
│ │ ├── sd90_classical_whistle.aif
│ │ ├── sd90_cowbell.aif
│ │ ├── sd90_enhanced_delay_shaku.aif
│ │ ├── sd90_open_triangle.aif
│ │ ├── sd90_solo_snare.aif
│ │ ├── sd90_special_scream_drive.aif
│ │ ├── steinway_b_piano.aif
│ │ ├── trinity_30303_mega_bass.aif
│ │ ├── trinity_big_boned.aif
│ │ ├── trinity_cymbal_crash.aif
│ │ ├── unknown_01.aif
│ │ ├── unknown_02.aif
│ │ ├── unknown_03.aif
│ │ ├── unknown_04.aif
│ │ ├── unknown_05.aif
│ │ ├── unknown_06.aif
│ │ ├── unknown_07.aif
│ │ ├── unknown_08.aif
│ │ ├── unknown_09.aif
│ │ ├── unknown_10.aif
│ │ ├── unknown_11.aif
│ │ ├── unknown_12.aif
│ │ ├── unknown_13.aif
│ │ ├── unknown_14.aif
│ │ ├── unknown_15.aif
│ │ ├── unknown_16.aif
│ │ ├── unknown_17.aif
│ │ ├── unknown_18.aif
│ │ ├── unknown_bell.aif
│ │ ├── unknown_close_hihat.aif
│ │ ├── unknown_female_voice.aif
│ │ ├── unknown_koto_high.aif
│ │ ├── unknown_koto_low.aif
│ │ ├── unknown_open_hihat.aif
│ │ ├── unknown_snare.aif
│ │ ├── unknown_synth_snare.aif
│ │ ├── unused_guitar_separates_power_chord.aif
│ │ ├── unused_heart_of_asia_indian_drum.aif
│ │ ├── unused_sc55_tom.aif
│ │ ├── unused_sc88pro_unison_slap.aif
│ │ ├── unused_sd90_oboe.aif
│ │ ├── unused_unknown_male_voice.aif
│ │ ├── wave_54.aif
│ │ └── wave_77.aif
│ ├── keysplit_tables.inc
│ ├── music_player_table.inc
│ ├── programmable_wave_data.inc
│ ├── programmable_wave_samples/
│ │ ├── 01.pcm
│ │ ├── 02.pcm
│ │ ├── 03.pcm
│ │ ├── 04.pcm
│ │ ├── 05.pcm
│ │ ├── 06.pcm
│ │ ├── 07.pcm
│ │ ├── 08.pcm
│ │ ├── 09.pcm
│ │ ├── 10.pcm
│ │ ├── 11.pcm
│ │ ├── 12.pcm
│ │ ├── 13.pcm
│ │ ├── 14.pcm
│ │ ├── 15.pcm
│ │ ├── 16.pcm
│ │ ├── 17.pcm
│ │ ├── 18.pcm
│ │ ├── 19.pcm
│ │ ├── 20.pcm
│ │ ├── 21.pcm
│ │ ├── 22.pcm
│ │ ├── 23.pcm
│ │ ├── 24.pcm
│ │ └── 25.pcm
│ ├── song_table.inc
│ ├── songs/
│ │ ├── midi/
│ │ │ ├── mus_abandoned_ship.mid
│ │ │ ├── mus_abnormal_weather.mid
│ │ │ ├── mus_aqua_magma_hideout.mid
│ │ │ ├── mus_awaken_legend.mid
│ │ │ ├── mus_b_arena.mid
│ │ │ ├── mus_b_dome.mid
│ │ │ ├── mus_b_dome_lobby.mid
│ │ │ ├── mus_b_factory.mid
│ │ │ ├── mus_b_frontier.mid
│ │ │ ├── mus_b_palace.mid
│ │ │ ├── mus_b_pike.mid
│ │ │ ├── mus_b_pyramid.mid
│ │ │ ├── mus_b_pyramid_top.mid
│ │ │ ├── mus_b_tower.mid
│ │ │ ├── mus_b_tower_rs.mid
│ │ │ ├── mus_birch_lab.mid
│ │ │ ├── mus_c_comm_center.mid
│ │ │ ├── mus_c_vs_legend_beast.mid
│ │ │ ├── mus_cable_car.mid
│ │ │ ├── mus_caught.mid
│ │ │ ├── mus_cave_of_origin.mid
│ │ │ ├── mus_contest.mid
│ │ │ ├── mus_contest_lobby.mid
│ │ │ ├── mus_contest_results.mid
│ │ │ ├── mus_contest_winner.mid
│ │ │ ├── mus_credits.mid
│ │ │ ├── mus_cycling.mid
│ │ │ ├── mus_dewford.mid
│ │ │ ├── mus_dummy.mid
│ │ │ ├── mus_encounter_aqua.mid
│ │ │ ├── mus_encounter_brendan.mid
│ │ │ ├── mus_encounter_champion.mid
│ │ │ ├── mus_encounter_cool.mid
│ │ │ ├── mus_encounter_elite_four.mid
│ │ │ ├── mus_encounter_female.mid
│ │ │ ├── mus_encounter_girl.mid
│ │ │ ├── mus_encounter_hiker.mid
│ │ │ ├── mus_encounter_intense.mid
│ │ │ ├── mus_encounter_interviewer.mid
│ │ │ ├── mus_encounter_magma.mid
│ │ │ ├── mus_encounter_male.mid
│ │ │ ├── mus_encounter_may.mid
│ │ │ ├── mus_encounter_rich.mid
│ │ │ ├── mus_encounter_suspicious.mid
│ │ │ ├── mus_encounter_swimmer.mid
│ │ │ ├── mus_encounter_twins.mid
│ │ │ ├── mus_end.mid
│ │ │ ├── mus_ever_grande.mid
│ │ │ ├── mus_evolution.mid
│ │ │ ├── mus_evolution_intro.mid
│ │ │ ├── mus_evolved.mid
│ │ │ ├── mus_fallarbor.mid
│ │ │ ├── mus_follow_me.mid
│ │ │ ├── mus_fortree.mid
│ │ │ ├── mus_game_corner.mid
│ │ │ ├── mus_gsc_pewter.mid
│ │ │ ├── mus_gsc_route38.mid
│ │ │ ├── mus_gym.mid
│ │ │ ├── mus_hall_of_fame.mid
│ │ │ ├── mus_hall_of_fame_room.mid
│ │ │ ├── mus_heal.mid
│ │ │ ├── mus_help.mid
│ │ │ ├── mus_intro.mid
│ │ │ ├── mus_intro_battle.mid
│ │ │ ├── mus_level_up.mid
│ │ │ ├── mus_lilycove.mid
│ │ │ ├── mus_lilycove_museum.mid
│ │ │ ├── mus_link_contest_p1.mid
│ │ │ ├── mus_link_contest_p2.mid
│ │ │ ├── mus_link_contest_p3.mid
│ │ │ ├── mus_link_contest_p4.mid
│ │ │ ├── mus_littleroot.mid
│ │ │ ├── mus_littleroot_test.mid
│ │ │ ├── mus_move_deleted.mid
│ │ │ ├── mus_mt_chimney.mid
│ │ │ ├── mus_mt_pyre.mid
│ │ │ ├── mus_mt_pyre_exterior.mid
│ │ │ ├── mus_obtain_b_points.mid
│ │ │ ├── mus_obtain_badge.mid
│ │ │ ├── mus_obtain_berry.mid
│ │ │ ├── mus_obtain_item.mid
│ │ │ ├── mus_obtain_symbol.mid
│ │ │ ├── mus_obtain_tmhm.mid
│ │ │ ├── mus_oceanic_museum.mid
│ │ │ ├── mus_oldale.mid
│ │ │ ├── mus_petalburg.mid
│ │ │ ├── mus_petalburg_woods.mid
│ │ │ ├── mus_poke_center.mid
│ │ │ ├── mus_poke_mart.mid
│ │ │ ├── mus_rayquaza_appears.mid
│ │ │ ├── mus_register_match_call.mid
│ │ │ ├── mus_rg_berry_pick.mid
│ │ │ ├── mus_rg_caught.mid
│ │ │ ├── mus_rg_caught_intro.mid
│ │ │ ├── mus_rg_celadon.mid
│ │ │ ├── mus_rg_cinnabar.mid
│ │ │ ├── mus_rg_credits.mid
│ │ │ ├── mus_rg_cycling.mid
│ │ │ ├── mus_rg_dex_rating.mid
│ │ │ ├── mus_rg_encounter_boy.mid
│ │ │ ├── mus_rg_encounter_deoxys.mid
│ │ │ ├── mus_rg_encounter_girl.mid
│ │ │ ├── mus_rg_encounter_gym_leader.mid
│ │ │ ├── mus_rg_encounter_rival.mid
│ │ │ ├── mus_rg_encounter_rocket.mid
│ │ │ ├── mus_rg_follow_me.mid
│ │ │ ├── mus_rg_fuchsia.mid
│ │ │ ├── mus_rg_game_corner.mid
│ │ │ ├── mus_rg_game_freak.mid
│ │ │ ├── mus_rg_gym.mid
│ │ │ ├── mus_rg_hall_of_fame.mid
│ │ │ ├── mus_rg_heal.mid
│ │ │ ├── mus_rg_intro_fight.mid
│ │ │ ├── mus_rg_jigglypuff.mid
│ │ │ ├── mus_rg_lavender.mid
│ │ │ ├── mus_rg_mt_moon.mid
│ │ │ ├── mus_rg_mystery_gift.mid
│ │ │ ├── mus_rg_net_center.mid
│ │ │ ├── mus_rg_new_game_exit.mid
│ │ │ ├── mus_rg_new_game_instruct.mid
│ │ │ ├── mus_rg_new_game_intro.mid
│ │ │ ├── mus_rg_oak.mid
│ │ │ ├── mus_rg_oak_lab.mid
│ │ │ ├── mus_rg_obtain_key_item.mid
│ │ │ ├── mus_rg_pallet.mid
│ │ │ ├── mus_rg_pewter.mid
│ │ │ ├── mus_rg_photo.mid
│ │ │ ├── mus_rg_poke_center.mid
│ │ │ ├── mus_rg_poke_flute.mid
│ │ │ ├── mus_rg_poke_jump.mid
│ │ │ ├── mus_rg_poke_mansion.mid
│ │ │ ├── mus_rg_poke_tower.mid
│ │ │ ├── mus_rg_rival_exit.mid
│ │ │ ├── mus_rg_rocket_hideout.mid
│ │ │ ├── mus_rg_route1.mid
│ │ │ ├── mus_rg_route11.mid
│ │ │ ├── mus_rg_route24.mid
│ │ │ ├── mus_rg_route3.mid
│ │ │ ├── mus_rg_sevii_123.mid
│ │ │ ├── mus_rg_sevii_45.mid
│ │ │ ├── mus_rg_sevii_67.mid
│ │ │ ├── mus_rg_sevii_cave.mid
│ │ │ ├── mus_rg_sevii_dungeon.mid
│ │ │ ├── mus_rg_sevii_route.mid
│ │ │ ├── mus_rg_silph.mid
│ │ │ ├── mus_rg_slow_pallet.mid
│ │ │ ├── mus_rg_ss_anne.mid
│ │ │ ├── mus_rg_surf.mid
│ │ │ ├── mus_rg_teachy_tv_menu.mid
│ │ │ ├── mus_rg_teachy_tv_show.mid
│ │ │ ├── mus_rg_title.mid
│ │ │ ├── mus_rg_trainer_tower.mid
│ │ │ ├── mus_rg_union_room.mid
│ │ │ ├── mus_rg_vermillion.mid
│ │ │ ├── mus_rg_victory_gym_leader.mid
│ │ │ ├── mus_rg_victory_road.mid
│ │ │ ├── mus_rg_victory_trainer.mid
│ │ │ ├── mus_rg_victory_wild.mid
│ │ │ ├── mus_rg_viridian_forest.mid
│ │ │ ├── mus_rg_vs_champion.mid
│ │ │ ├── mus_rg_vs_deoxys.mid
│ │ │ ├── mus_rg_vs_gym_leader.mid
│ │ │ ├── mus_rg_vs_legend.mid
│ │ │ ├── mus_rg_vs_mewtwo.mid
│ │ │ ├── mus_rg_vs_trainer.mid
│ │ │ ├── mus_rg_vs_wild.mid
│ │ │ ├── mus_roulette.mid
│ │ │ ├── mus_route101.mid
│ │ │ ├── mus_route104.mid
│ │ │ ├── mus_route110.mid
│ │ │ ├── mus_route111.mid
│ │ │ ├── mus_route113.mid
│ │ │ ├── mus_route119.mid
│ │ │ ├── mus_route120.mid
│ │ │ ├── mus_route122.mid
│ │ │ ├── mus_rustboro.mid
│ │ │ ├── mus_safari_zone.mid
│ │ │ ├── mus_sailing.mid
│ │ │ ├── mus_school.mid
│ │ │ ├── mus_sealed_chamber.mid
│ │ │ ├── mus_slateport.mid
│ │ │ ├── mus_slots_jackpot.mid
│ │ │ ├── mus_slots_win.mid
│ │ │ ├── mus_sootopolis.mid
│ │ │ ├── mus_surf.mid
│ │ │ ├── mus_title.mid
│ │ │ ├── mus_too_bad.mid
│ │ │ ├── mus_trick_house.mid
│ │ │ ├── mus_underwater.mid
│ │ │ ├── mus_verdanturf.mid
│ │ │ ├── mus_victory_aqua_magma.mid
│ │ │ ├── mus_victory_gym_leader.mid
│ │ │ ├── mus_victory_league.mid
│ │ │ ├── mus_victory_road.mid
│ │ │ ├── mus_victory_trainer.mid
│ │ │ ├── mus_victory_wild.mid
│ │ │ ├── mus_vs_aqua_magma.mid
│ │ │ ├── mus_vs_aqua_magma_leader.mid
│ │ │ ├── mus_vs_champion.mid
│ │ │ ├── mus_vs_elite_four.mid
│ │ │ ├── mus_vs_frontier_brain.mid
│ │ │ ├── mus_vs_gym_leader.mid
│ │ │ ├── mus_vs_kyogre_groudon.mid
│ │ │ ├── mus_vs_mew.mid
│ │ │ ├── mus_vs_rayquaza.mid
│ │ │ ├── mus_vs_regi.mid
│ │ │ ├── mus_vs_rival.mid
│ │ │ ├── mus_vs_trainer.mid
│ │ │ ├── mus_vs_wild.mid
│ │ │ ├── mus_weather_groudon.mid
│ │ │ ├── ph_choice_blend.mid
│ │ │ ├── ph_choice_held.mid
│ │ │ ├── ph_choice_solo.mid
│ │ │ ├── ph_cloth_blend.mid
│ │ │ ├── ph_cloth_held.mid
│ │ │ ├── ph_cloth_solo.mid
│ │ │ ├── ph_cure_blend.mid
│ │ │ ├── ph_cure_held.mid
│ │ │ ├── ph_cure_solo.mid
│ │ │ ├── ph_dress_blend.mid
│ │ │ ├── ph_dress_held.mid
│ │ │ ├── ph_dress_solo.mid
│ │ │ ├── ph_face_blend.mid
│ │ │ ├── ph_face_held.mid
│ │ │ ├── ph_face_solo.mid
│ │ │ ├── ph_fleece_blend.mid
│ │ │ ├── ph_fleece_held.mid
│ │ │ ├── ph_fleece_solo.mid
│ │ │ ├── ph_foot_blend.mid
│ │ │ ├── ph_foot_held.mid
│ │ │ ├── ph_foot_solo.mid
│ │ │ ├── ph_goat_blend.mid
│ │ │ ├── ph_goat_held.mid
│ │ │ ├── ph_goat_solo.mid
│ │ │ ├── ph_goose_blend.mid
│ │ │ ├── ph_goose_held.mid
│ │ │ ├── ph_goose_solo.mid
│ │ │ ├── ph_kit_blend.mid
│ │ │ ├── ph_kit_held.mid
│ │ │ ├── ph_kit_solo.mid
│ │ │ ├── ph_lot_blend.mid
│ │ │ ├── ph_lot_held.mid
│ │ │ ├── ph_lot_solo.mid
│ │ │ ├── ph_mouth_blend.mid
│ │ │ ├── ph_mouth_held.mid
│ │ │ ├── ph_mouth_solo.mid
│ │ │ ├── ph_nurse_blend.mid
│ │ │ ├── ph_nurse_held.mid
│ │ │ ├── ph_nurse_solo.mid
│ │ │ ├── ph_price_blend.mid
│ │ │ ├── ph_price_held.mid
│ │ │ ├── ph_price_solo.mid
│ │ │ ├── ph_strut_blend.mid
│ │ │ ├── ph_strut_held.mid
│ │ │ ├── ph_strut_solo.mid
│ │ │ ├── ph_thought_blend.mid
│ │ │ ├── ph_thought_held.mid
│ │ │ ├── ph_thought_solo.mid
│ │ │ ├── ph_trap_blend.mid
│ │ │ ├── ph_trap_held.mid
│ │ │ ├── ph_trap_solo.mid
│ │ │ ├── se_a.mid
│ │ │ ├── se_applause.mid
│ │ │ ├── se_arena_timeup1.mid
│ │ │ ├── se_arena_timeup2.mid
│ │ │ ├── se_ball.mid
│ │ │ ├── se_ball_bounce_1.mid
│ │ │ ├── se_ball_bounce_2.mid
│ │ │ ├── se_ball_bounce_3.mid
│ │ │ ├── se_ball_bounce_4.mid
│ │ │ ├── se_ball_open.mid
│ │ │ ├── se_ball_throw.mid
│ │ │ ├── se_ball_trade.mid
│ │ │ ├── se_ball_tray_ball.mid
│ │ │ ├── se_ball_tray_enter.mid
│ │ │ ├── se_ball_tray_exit.mid
│ │ │ ├── se_balloon_blue.mid
│ │ │ ├── se_balloon_red.mid
│ │ │ ├── se_balloon_yellow.mid
│ │ │ ├── se_bang.mid
│ │ │ ├── se_berry_blender.mid
│ │ │ ├── se_bike_bell.mid
│ │ │ ├── se_bike_hop.mid
│ │ │ ├── se_boo.mid
│ │ │ ├── se_breakable_door.mid
│ │ │ ├── se_bridge_walk.mid
│ │ │ ├── se_card.mid
│ │ │ ├── se_click.mid
│ │ │ ├── se_contest_condition_lose.mid
│ │ │ ├── se_contest_curtain_fall.mid
│ │ │ ├── se_contest_curtain_rise.mid
│ │ │ ├── se_contest_heart.mid
│ │ │ ├── se_contest_icon_change.mid
│ │ │ ├── se_contest_icon_clear.mid
│ │ │ ├── se_contest_mons_turn.mid
│ │ │ ├── se_contest_place.mid
│ │ │ ├── se_dex_search.mid
│ │ │ ├── se_ding_dong.mid
│ │ │ ├── se_door.mid
│ │ │ ├── se_downpour.mid
│ │ │ ├── se_downpour_stop.mid
│ │ │ ├── se_e.mid
│ │ │ ├── se_effective.mid
│ │ │ ├── se_egg_hatch.mid
│ │ │ ├── se_elevator.mid
│ │ │ ├── se_escalator.mid
│ │ │ ├── se_exit.mid
│ │ │ ├── se_exp.mid
│ │ │ ├── se_exp_max.mid
│ │ │ ├── se_failure.mid
│ │ │ ├── se_faint.mid
│ │ │ ├── se_fall.mid
│ │ │ ├── se_field_poison.mid
│ │ │ ├── se_flee.mid
│ │ │ ├── se_fu_zaku.mid
│ │ │ ├── se_glass_flute.mid
│ │ │ ├── se_i.mid
│ │ │ ├── se_ice_break.mid
│ │ │ ├── se_ice_crack.mid
│ │ │ ├── se_ice_stairs.mid
│ │ │ ├── se_intro_blast.mid
│ │ │ ├── se_itemfinder.mid
│ │ │ ├── se_lavaridge_fall_warp.mid
│ │ │ ├── se_ledge.mid
│ │ │ ├── se_low_health.mid
│ │ │ ├── se_m_bind.mid
│ │ │ ├── se_m_comet_punch.mid
│ │ │ ├── se_m_cut.mid
│ │ │ ├── se_m_double_slap.mid
│ │ │ ├── se_m_fire_punch.mid
│ │ │ ├── se_m_fly.mid
│ │ │ ├── se_m_gust.mid
│ │ │ ├── se_m_gust2.mid
│ │ │ ├── se_m_headbutt.mid
│ │ │ ├── se_m_horn_attack.mid
│ │ │ ├── se_m_jump_kick.mid
│ │ │ ├── se_m_leer.mid
│ │ │ ├── se_m_mega_kick.mid
│ │ │ ├── se_m_mega_kick2.mid
│ │ │ ├── se_m_pay_day.mid
│ │ │ ├── se_m_razor_wind.mid
│ │ │ ├── se_m_razor_wind2.mid
│ │ │ ├── se_m_sand_attack.mid
│ │ │ ├── se_m_scratch.mid
│ │ │ ├── se_m_swords_dance.mid
│ │ │ ├── se_m_tail_whip.mid
│ │ │ ├── se_m_take_down.mid
│ │ │ ├── se_m_vicegrip.mid
│ │ │ ├── se_m_wing_attack.mid
│ │ │ ├── se_mud_ball.mid
│ │ │ ├── se_mugshot.mid
│ │ │ ├── se_n.mid
│ │ │ ├── se_not_effective.mid
│ │ │ ├── se_note_a.mid
│ │ │ ├── se_note_b.mid
│ │ │ ├── se_note_c.mid
│ │ │ ├── se_note_c_high.mid
│ │ │ ├── se_note_d.mid
│ │ │ ├── se_note_e.mid
│ │ │ ├── se_note_f.mid
│ │ │ ├── se_note_g.mid
│ │ │ ├── se_o.mid
│ │ │ ├── se_orb.mid
│ │ │ ├── se_pc_login.mid
│ │ │ ├── se_pc_off.mid
│ │ │ ├── se_pc_on.mid
│ │ │ ├── se_pike_curtain_close.mid
│ │ │ ├── se_pike_curtain_open.mid
│ │ │ ├── se_pin.mid
│ │ │ ├── se_pokenav_call.mid
│ │ │ ├── se_pokenav_hang_up.mid
│ │ │ ├── se_pokenav_off.mid
│ │ │ ├── se_pokenav_on.mid
│ │ │ ├── se_puddle.mid
│ │ │ ├── se_rain.mid
│ │ │ ├── se_rain_stop.mid
│ │ │ ├── se_repel.mid
│ │ │ ├── se_rg_bag_cursor.mid
│ │ │ ├── se_rg_ball_click.mid
│ │ │ ├── se_rg_card_flip.mid
│ │ │ ├── se_rg_card_flipping.mid
│ │ │ ├── se_rg_card_open.mid
│ │ │ ├── se_rg_deoxys_move.mid
│ │ │ ├── se_rg_door.mid
│ │ │ ├── se_rg_help_close.mid
│ │ │ ├── se_rg_help_error.mid
│ │ │ ├── se_rg_help_open.mid
│ │ │ ├── se_rg_poke_jump_failure.mid
│ │ │ ├── se_rg_poke_jump_success.mid
│ │ │ ├── se_rg_shop.mid
│ │ │ ├── se_rg_ss_anne_horn.mid
│ │ │ ├── se_rotating_gate.mid
│ │ │ ├── se_roulette_ball.mid
│ │ │ ├── se_roulette_ball2.mid
│ │ │ ├── se_save.mid
│ │ │ ├── se_select.mid
│ │ │ ├── se_shiny.mid
│ │ │ ├── se_ship.mid
│ │ │ ├── se_shop.mid
│ │ │ ├── se_sliding_door.mid
│ │ │ ├── se_success.mid
│ │ │ ├── se_sudowoodo_shake.mid
│ │ │ ├── se_super_effective.mid
│ │ │ ├── se_switch.mid
│ │ │ ├── se_taillow_wing_flap.mid
│ │ │ ├── se_thunder.mid
│ │ │ ├── se_thunder2.mid
│ │ │ ├── se_thunderstorm.mid
│ │ │ ├── se_thunderstorm_stop.mid
│ │ │ ├── se_truck_door.mid
│ │ │ ├── se_truck_move.mid
│ │ │ ├── se_truck_stop.mid
│ │ │ ├── se_truck_unload.mid
│ │ │ ├── se_u.mid
│ │ │ ├── se_unlock.mid
│ │ │ ├── se_use_item.mid
│ │ │ ├── se_vend.mid
│ │ │ ├── se_warp_in.mid
│ │ │ └── se_warp_out.mid
│ │ ├── se_dex_page.s
│ │ ├── se_dex_scroll.s
│ │ ├── se_m_absorb.s
│ │ ├── se_m_absorb_2.s
│ │ ├── se_m_acid_armor.s
│ │ ├── se_m_attract.s
│ │ ├── se_m_attract2.s
│ │ ├── se_m_barrier.s
│ │ ├── se_m_baton_pass.s
│ │ ├── se_m_belly_drum.s
│ │ ├── se_m_bite.s
│ │ ├── se_m_blizzard.s
│ │ ├── se_m_blizzard2.s
│ │ ├── se_m_bonemerang.s
│ │ ├── se_m_brick_break.s
│ │ ├── se_m_bubble.s
│ │ ├── se_m_bubble2.s
│ │ ├── se_m_bubble3.s
│ │ ├── se_m_bubble_beam.s
│ │ ├── se_m_bubble_beam2.s
│ │ ├── se_m_charge.s
│ │ ├── se_m_charm.s
│ │ ├── se_m_confuse_ray.s
│ │ ├── se_m_cosmic_power.s
│ │ ├── se_m_crabhammer.s
│ │ ├── se_m_detect.s
│ │ ├── se_m_dig.s
│ │ ├── se_m_dive.s
│ │ ├── se_m_dizzy_punch.s
│ │ ├── se_m_double_team.s
│ │ ├── se_m_dragon_rage.s
│ │ ├── se_m_earthquake.s
│ │ ├── se_m_ember.s
│ │ ├── se_m_encore.s
│ │ ├── se_m_encore2.s
│ │ ├── se_m_explosion.s
│ │ ├── se_m_faint_attack.s
│ │ ├── se_m_flame_wheel.s
│ │ ├── se_m_flame_wheel2.s
│ │ ├── se_m_flamethrower.s
│ │ ├── se_m_flatter.s
│ │ ├── se_m_giga_drain.s
│ │ ├── se_m_grasswhistle.s
│ │ ├── se_m_hail.s
│ │ ├── se_m_harden.s
│ │ ├── se_m_haze.s
│ │ ├── se_m_heal_bell.s
│ │ ├── se_m_heat_wave.s
│ │ ├── se_m_hydro_pump.s
│ │ ├── se_m_hyper_beam.s
│ │ ├── se_m_hyper_beam2.s
│ │ ├── se_m_icy_wind.s
│ │ ├── se_m_lick.s
│ │ ├── se_m_lock_on.s
│ │ ├── se_m_metronome.s
│ │ ├── se_m_milk_drink.s
│ │ ├── se_m_minimize.s
│ │ ├── se_m_mist.s
│ │ ├── se_m_moonlight.s
│ │ ├── se_m_morning_sun.s
│ │ ├── se_m_nightmare.s
│ │ ├── se_m_perish_song.s
│ │ ├── se_m_petal_dance.s
│ │ ├── se_m_poison_powder.s
│ │ ├── se_m_psybeam.s
│ │ ├── se_m_psybeam2.s
│ │ ├── se_m_rain_dance.s
│ │ ├── se_m_reflect.s
│ │ ├── se_m_reversal.s
│ │ ├── se_m_rock_throw.s
│ │ ├── se_m_sacred_fire.s
│ │ ├── se_m_sacred_fire2.s
│ │ ├── se_m_sand_tomb.s
│ │ ├── se_m_sandstorm.s
│ │ ├── se_m_screech.s
│ │ ├── se_m_self_destruct.s
│ │ ├── se_m_sing.s
│ │ ├── se_m_sketch.s
│ │ ├── se_m_sky_uppercut.s
│ │ ├── se_m_snore.s
│ │ ├── se_m_solar_beam.s
│ │ ├── se_m_spit_up.s
│ │ ├── se_m_stat_decrease.s
│ │ ├── se_m_stat_increase.s
│ │ ├── se_m_strength.s
│ │ ├── se_m_string_shot.s
│ │ ├── se_m_string_shot2.s
│ │ ├── se_m_supersonic.s
│ │ ├── se_m_surf.s
│ │ ├── se_m_swagger.s
│ │ ├── se_m_swagger2.s
│ │ ├── se_m_sweet_scent.s
│ │ ├── se_m_swift.s
│ │ ├── se_m_teeter_dance.s
│ │ ├── se_m_teleport.s
│ │ ├── se_m_thunder_wave.s
│ │ ├── se_m_thunderbolt.s
│ │ ├── se_m_thunderbolt2.s
│ │ ├── se_m_toxic.s
│ │ ├── se_m_tri_attack.s
│ │ ├── se_m_tri_attack2.s
│ │ ├── se_m_twister.s
│ │ ├── se_m_uproar.s
│ │ ├── se_m_vital_throw.s
│ │ ├── se_m_vital_throw2.s
│ │ ├── se_m_waterfall.s
│ │ ├── se_m_whirlpool.s
│ │ ├── se_m_yawn.s
│ │ ├── se_rg_bag_pocket.s
│ │ ├── se_wall_hit.s
│ │ └── se_win_open.s
│ ├── voice_groups.inc
│ └── voicegroups/
│ ├── voicegroup000.inc
│ ├── voicegroup001.inc
│ ├── voicegroup002.inc
│ ├── voicegroup003.inc
│ ├── voicegroup004.inc
│ ├── voicegroup005.inc
│ ├── voicegroup006.inc
│ ├── voicegroup007.inc
│ ├── voicegroup008.inc
│ ├── voicegroup009.inc
│ ├── voicegroup010.inc
│ ├── voicegroup011.inc
│ ├── voicegroup012.inc
│ ├── voicegroup013.inc
│ ├── voicegroup014.inc
│ ├── voicegroup015.inc
│ ├── voicegroup016.inc
│ ├── voicegroup017.inc
│ ├── voicegroup018.inc
│ ├── voicegroup019.inc
│ ├── voicegroup020.inc
│ ├── voicegroup021.inc
│ ├── voicegroup022.inc
│ ├── voicegroup023.inc
│ ├── voicegroup024.inc
│ ├── voicegroup025.inc
│ ├── voicegroup026.inc
│ ├── voicegroup027.inc
│ ├── voicegroup028.inc
│ ├── voicegroup029.inc
│ ├── voicegroup030.inc
│ ├── voicegroup031.inc
│ ├── voicegroup032.inc
│ ├── voicegroup033.inc
│ ├── voicegroup034.inc
│ ├── voicegroup035.inc
│ ├── voicegroup036.inc
│ ├── voicegroup037.inc
│ ├── voicegroup038.inc
│ ├── voicegroup039.inc
│ ├── voicegroup040.inc
│ ├── voicegroup041.inc
│ ├── voicegroup042.inc
│ ├── voicegroup043.inc
│ ├── voicegroup044.inc
│ ├── voicegroup045.inc
│ ├── voicegroup046.inc
│ ├── voicegroup047.inc
│ ├── voicegroup048.inc
│ ├── voicegroup049.inc
│ ├── voicegroup050.inc
│ ├── voicegroup051.inc
│ ├── voicegroup052.inc
│ ├── voicegroup053.inc
│ ├── voicegroup054.inc
│ ├── voicegroup055.inc
│ ├── voicegroup056.inc
│ ├── voicegroup057.inc
│ ├── voicegroup058.inc
│ ├── voicegroup059.inc
│ ├── voicegroup060.inc
│ ├── voicegroup061.inc
│ ├── voicegroup062.inc
│ ├── voicegroup063.inc
│ ├── voicegroup064.inc
│ ├── voicegroup065.inc
│ ├── voicegroup066.inc
│ ├── voicegroup067.inc
│ ├── voicegroup068.inc
│ ├── voicegroup069.inc
│ ├── voicegroup070.inc
│ ├── voicegroup071.inc
│ ├── voicegroup072.inc
│ ├── voicegroup073.inc
│ ├── voicegroup074.inc
│ ├── voicegroup075.inc
│ ├── voicegroup076.inc
│ ├── voicegroup077.inc
│ ├── voicegroup078.inc
│ ├── voicegroup079.inc
│ ├── voicegroup080.inc
│ ├── voicegroup081.inc
│ ├── voicegroup082.inc
│ ├── voicegroup083.inc
│ ├── voicegroup084.inc
│ ├── voicegroup085.inc
│ ├── voicegroup086.inc
│ ├── voicegroup087.inc
│ ├── voicegroup088.inc
│ ├── voicegroup089.inc
│ ├── voicegroup090.inc
│ ├── voicegroup091.inc
│ ├── voicegroup092.inc
│ ├── voicegroup093.inc
│ ├── voicegroup094.inc
│ ├── voicegroup095.inc
│ ├── voicegroup096.inc
│ ├── voicegroup097.inc
│ ├── voicegroup098.inc
│ ├── voicegroup099.inc
│ ├── voicegroup100.inc
│ ├── voicegroup101.inc
│ ├── voicegroup102.inc
│ ├── voicegroup103.inc
│ ├── voicegroup104.inc
│ ├── voicegroup105.inc
│ ├── voicegroup106.inc
│ ├── voicegroup107.inc
│ ├── voicegroup108.inc
│ ├── voicegroup109.inc
│ ├── voicegroup110.inc
│ ├── voicegroup111.inc
│ ├── voicegroup112.inc
│ ├── voicegroup113.inc
│ ├── voicegroup114.inc
│ ├── voicegroup115.inc
│ ├── voicegroup116.inc
│ ├── voicegroup117.inc
│ ├── voicegroup118.inc
│ ├── voicegroup119.inc
│ ├── voicegroup120.inc
│ ├── voicegroup121.inc
│ ├── voicegroup122.inc
│ ├── voicegroup123.inc
│ ├── voicegroup124.inc
│ ├── voicegroup125.inc
│ ├── voicegroup126.inc
│ ├── voicegroup127.inc
│ ├── voicegroup128.inc
│ ├── voicegroup129.inc
│ ├── voicegroup130.inc
│ ├── voicegroup131.inc
│ ├── voicegroup132.inc
│ ├── voicegroup133.inc
│ ├── voicegroup134.inc
│ ├── voicegroup135.inc
│ ├── voicegroup136.inc
│ ├── voicegroup137.inc
│ ├── voicegroup138.inc
│ ├── voicegroup139.inc
│ ├── voicegroup140.inc
│ ├── voicegroup141.inc
│ ├── voicegroup142.inc
│ ├── voicegroup143.inc
│ ├── voicegroup144.inc
│ ├── voicegroup145.inc
│ ├── voicegroup146.inc
│ ├── voicegroup147.inc
│ ├── voicegroup148.inc
│ ├── voicegroup149.inc
│ ├── voicegroup150.inc
│ ├── voicegroup151.inc
│ ├── voicegroup152.inc
│ ├── voicegroup153.inc
│ ├── voicegroup154.inc
│ ├── voicegroup155.inc
│ ├── voicegroup156.inc
│ ├── voicegroup157.inc
│ ├── voicegroup158.inc
│ ├── voicegroup159.inc
│ ├── voicegroup160.inc
│ ├── voicegroup161.inc
│ ├── voicegroup162.inc
│ ├── voicegroup163.inc
│ ├── voicegroup164.inc
│ ├── voicegroup165.inc
│ ├── voicegroup166.inc
│ ├── voicegroup167.inc
│ ├── voicegroup168.inc
│ ├── voicegroup169.inc
│ ├── voicegroup170.inc
│ ├── voicegroup171.inc
│ ├── voicegroup172.inc
│ ├── voicegroup173.inc
│ ├── voicegroup174.inc
│ ├── voicegroup175.inc
│ ├── voicegroup176.inc
│ ├── voicegroup177.inc
│ ├── voicegroup178.inc
│ ├── voicegroup179.inc
│ ├── voicegroup180.inc
│ ├── voicegroup181.inc
│ ├── voicegroup182.inc
│ ├── voicegroup183.inc
│ ├── voicegroup184.inc
│ ├── voicegroup185.inc
│ ├── voicegroup186.inc
│ ├── voicegroup187.inc
│ ├── voicegroup188.inc
│ ├── voicegroup189.inc
│ ├── voicegroup190.inc
│ └── voicegroup191.inc
├── spritesheet_rules.mk
├── src/
│ ├── AgbRfu_LinkManager.c
│ ├── agb_flash.c
│ ├── agb_flash_1m.c
│ ├── agb_flash_le.c
│ ├── agb_flash_mx.c
│ ├── bag.c
│ ├── battle_ai_script_commands.c
│ ├── battle_ai_switch_items.c
│ ├── battle_anim.c
│ ├── battle_anim_bug.c
│ ├── battle_anim_dark.c
│ ├── battle_anim_dragon.c
│ ├── battle_anim_effects_1.c
│ ├── battle_anim_effects_2.c
│ ├── battle_anim_effects_3.c
│ ├── battle_anim_electric.c
│ ├── battle_anim_fight.c
│ ├── battle_anim_fire.c
│ ├── battle_anim_flying.c
│ ├── battle_anim_ghost.c
│ ├── battle_anim_ground.c
│ ├── battle_anim_ice.c
│ ├── battle_anim_mon_movement.c
│ ├── battle_anim_mons.c
│ ├── battle_anim_normal.c
│ ├── battle_anim_poison.c
│ ├── battle_anim_psychic.c
│ ├── battle_anim_rock.c
│ ├── battle_anim_smokescreen.c
│ ├── battle_anim_sound_tasks.c
│ ├── battle_anim_special.c
│ ├── battle_anim_status_effects.c
│ ├── battle_anim_utility_funcs.c
│ ├── battle_anim_water.c
│ ├── battle_bg.c
│ ├── battle_controller_link_opponent.c
│ ├── battle_controller_link_partner.c
│ ├── battle_controller_oak_old_man.c
│ ├── battle_controller_opponent.c
│ ├── battle_controller_player.c
│ ├── battle_controller_pokedude.c
│ ├── battle_controller_safari.c
│ ├── battle_controllers.c
│ ├── battle_gfx_sfx_util.c
│ ├── battle_interface.c
│ ├── battle_intro.c
│ ├── battle_main.c
│ ├── battle_message.c
│ ├── battle_records.c
│ ├── battle_script_commands.c
│ ├── battle_setup.c
│ ├── battle_tower.c
│ ├── battle_transition.c
│ ├── battle_util.c
│ ├── battle_util2.c
│ ├── berry.c
│ ├── berry_crush.c
│ ├── berry_fix_program.c
│ ├── berry_pouch.c
│ ├── berry_powder.c
│ ├── bg.c
│ ├── bg_regs.c
│ ├── bike.c
│ ├── blend_palette.c
│ ├── blit.c
│ ├── braille_text.c
│ ├── buy_menu_helpers.c
│ ├── cable_car.c
│ ├── cable_car_util.c
│ ├── cable_club.c
│ ├── cereader_tool.c
│ ├── clear_save_data_screen.c
│ ├── coins.c
│ ├── coord_event_weather.c
│ ├── credits.c
│ ├── crt0.s
│ ├── data/
│ │ ├── battle_anim.h
│ │ ├── battle_moves.h
│ │ ├── battle_tower/
│ │ │ ├── level_100_mons.h
│ │ │ ├── level_50_mons.h
│ │ │ └── trainers.h
│ │ ├── decoration/
│ │ │ ├── description.h
│ │ │ ├── header.h
│ │ │ └── tiles.h
│ │ ├── easy_chat/
│ │ │ ├── easy_chat_group_actions.h
│ │ │ ├── easy_chat_group_adjectives.h
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
*.pal text eol=crlf
*.s text eol=lf
*.txt text eol=lf
Makefile text eol=lf
*.mk text eol=lf
*.c text eol=lf
*.h text eol=lf
*.pl text eol=lf
*.inc text eol=lf
*.sha1 text eol=lf
*.sed text eol=lf
*.sh text eol=lf
*.json text eol=lf
.gitignore text eol=lf
.gitattributes text eol=lf
*.yml text eol=lf
*.py text eol=lf
*.png binary
*.bin binary
*.pcm binary
*.h linguist-language=C
*.inc linguist-language=Assembly
================================================
FILE: .github/calcrom/calcrom.pl
================================================
#!/usr/bin/perl
# Usage:
# calcrom.pl <mapfile> [--verbose][--data]
#
# mapfile: path to .map file output by LD
# verbose: set to get more detailed output
# data: set to output % breakdown of data
use IPC::Cmd qw[ run ];
use Getopt::Long;
my $usage = "Usage: calcrom.pl file.map [--verbose][--data]\n";
my $verbose = "";
my $showData;
GetOptions("verbose" => \$verbose, "data" => \$showData) or die $usage;
(@ARGV == 1)
or die $usage;
open(my $file, $ARGV[0])
or die "ERROR: could not open file '$ARGV[0]'.\n";
my $src = 0;
my $asm = 0;
my $srcdata = 0;
my $data = 0;
my @pairs = ();
while (my $line = <$file>)
{
if ($line =~ /^ \.(\w+)\s+0x[0-9a-f]+\s+(0x[0-9a-f]+) (\w+)\/(.+)\.o/)
{
my $section = $1;
my $size = hex($2);
my $dir = $3;
my $basename = $4;
if ($size & 3)
{
$size += 4 - ($size % 3);
}
if ($section =~ /text/)
{
if ($dir eq 'src')
{
$src += $size;
}
elsif ($dir eq 'asm')
{
if (!($basename =~ /(crt0|libagbsyscall|libgcnmultiboot|m4a_1)/))
{
push @pairs, [$basename, $size];
}
$asm += $size;
}
}
elsif ($section =~ /rodata/)
{
if ($dir eq 'src')
{
$srcdata += $size;
}
elsif ($dir eq 'data')
{
$data += $size;
}
}
}
}
my @sorted = sort { $a->[1] <=> $b->[1] } @pairs;
(my $elffname = $ARGV[0]) =~ s/\.map/.elf/;
# Note that the grep filters out all branch labels. It also requires a minimum
# line length of 5, to filter out a ton of generated symbols (like AcCn). No
# settings to nm seem to remove these symbols. Finally, nm prints out a separate
# entry for whenever a name appears in a file, not just where it's defined. uniq
# removes all the duplicate entries.
#
#
# You'd expect this to take a while, because of uniq. It runs in under a second,
# though. Uniq is pretty fast!
my $base_cmd = "nm $elffname | awk '{print \$3}' | grep '^[^_].\\{4\\}' | uniq";
# This looks for Unknown_, Unknown_, or sub_, followed by an address. Note that
# it matches even if stuff precedes the unknown, like sUnknown/gUnknown.
my $undoc_regex = "'[Uu]nknown_[0-9a-fA-F]\\{5,7\\}\\|sub_[0-9a-fA-F]\\{5,7\\}'";
# This looks for every symbol with an address at the end of it. Some things are
# given a name based on their type / location, but still have an unknown purpose.
# For example, FooMap_EventScript_FFFFFFF.
# The above may be double counted here, and will need to be filtered out.
my $partial_doc_regex = "'_[0-28][0-9a-fA-F]\\{5,7\\}'";
my $count_cmd = "wc -l";
# It sucks that we have to run this three times, but I can't figure out how to get
# stdin working for subcommands in perl while still having a timeout. It's decently
# fast anyway.
my $total_syms_as_string;
(run (
command => "$base_cmd | $count_cmd",
buffer => \$total_syms_as_string,
timeout => 60
))
or die "ERROR: Error while getting all symbols: $?";
my $undocumented_as_string;
(run (
command => "$base_cmd | grep $undoc_regex | $count_cmd",
buffer => \$undocumented_as_string,
timeout => 60
))
or die "ERROR: Error while filtering for undocumented symbols: $?";
my $partial_documented_as_string;
(run (
command => "$base_cmd | grep $partial_doc_regex | grep -v $undoc_regex | $count_cmd",
buffer => \$partial_documented_as_string,
timeout => 60
))
or die "ERROR: Error while filtering for partial symbols: $?";
# Performing addition on a string converts it to a number. Any string that fails
# to convert to a number becomes 0. So if our converted number is 0, but our string
# is nonzero, then the conversion was an error.
$undocumented_as_string =~ s/^\s+|\s+$//g;
my $undocumented = $undocumented_as_string + 0;
(($undocumented != 0) or (($undocumented == 0) and ($undocumented_as_string eq "0")))
or die "ERROR: Cannot convert string to num: '$undocumented_as_string'";
$partial_documented_as_string =~ s/^\s+|\s+$//g;
my $partial_documented = $partial_documented_as_string + 0;
(($partial_documented != 0) or (($partial_documented == 0) and ($partial_documented_as_string eq "0")))
or die "ERROR: Cannot convert string to num: '$partial_documented_as_string'";
$total_syms_as_string =~ s/^\s+|\s+$//g;
my $total_syms = $total_syms_as_string + 0;
(($total_syms != 0) or (($total_syms == 0) and ($total_syms_as_string eq "0")))
or die "ERROR: Cannot convert string to num: '$total_syms_as_string'";
($total_syms != 0)
or die "ERROR: No symbols found.";
my $total = $src + $asm;
my $srcPct = sprintf("%.4f", 100 * $src / $total);
my $asmPct = sprintf("%.4f", 100 * $asm / $total);
my $documented = $total_syms - ($undocumented + $partial_documented);
my $docPct = sprintf("%.4f", 100 * $documented / $total_syms);
my $partialPct = sprintf("%.4f", 100 * $partial_documented / $total_syms);
my $undocPct = sprintf("%.4f", 100 * $undocumented / $total_syms);
if ($asm == 0)
{
print "Code decompilation is 100% complete\n"
}
else
{
print "$total total bytes of code\n";
print "$src bytes of code in src ($srcPct%)\n";
print "$asm bytes of code in asm ($asmPct%)\n";
}
print "\n";
if ($verbose != 0)
{
print "BREAKDOWN\n";
foreach my $item (@sorted)
{
print " $item->[1] bytes in asm/$item->[0].s\n"
}
print "\n";
}
if ($partial_documented == 0 && $undocumented == 0)
{
print "Documentation is 100% complete\n"
}
else
{
print "$total_syms total symbols\n";
print "$documented symbols documented ($docPct%)\n";
print "$partial_documented symbols partially documented ($partialPct%)\n";
print "$undocumented symbols undocumented ($undocPct%)\n";
}
if ($showData)
{
print "\n";
my $dataTotal = $srcdata + $data;
my $srcDataPct = sprintf("%.4f", 100 * $srcdata / $dataTotal);
my $dataPct = sprintf("%.4f", 100 * $data / $dataTotal);
print "$dataTotal total bytes of data\n";
print "$srcdata bytes of data in src ($srcDataPct%)\n";
print "$data bytes of data in data ($dataPct%)\n";
}
================================================
FILE: .github/calcrom/webhook.sh
================================================
#!/bin/bash -ex
build_name=$1
map_file=$build_name.map
if [ ! -f $map_file ]; then
echo "$map_file does not exist!"
exit 1
fi
output=$(perl $(dirname "$0")/calcrom.pl $build_name.map | sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g')
curl -d "{\"username\": \"$CALCROM_DISCORD_WEBHOOK_USERNAME\", \"avatar_url\": \"$CALCROM_DISCORD_WEBHOOK_AVATAR_URL\", \"content\":\"\`\`\`\\n$build_name progress:\\n$output\\n\`\`\`\"}" -H "Content-Type: application/json" -X POST "$CALCROM_DISCORD_WEBHOOK_URL"
================================================
FILE: .github/workflows/build.yml
================================================
name: CI
on:
push:
branches: [ master ]
pull_request:
jobs:
build:
runs-on: ubuntu-latest
env:
GAME_VERSION: FIRERED
GAME_LANGUAGE: ENGLISH
GAME_REVISION: 0
MODERN: 0
COMPARE: 1
steps:
- name: Checkout
uses: actions/checkout@master
- name: Checkout agbcc
uses: actions/checkout@master
with:
path: 'agbcc'
repository: 'pret/agbcc'
- name: Checkout symbols
if: ${{ github.event_name == 'push' }}
uses: actions/checkout@master
with:
path: 'symbols'
ref: 'symbols'
- name: Install binutils
run: sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi
# build-essential, git, and libpng-dev are already installed
# gcc-arm-none-eabi is only needed for the modern build
# as an alternative to dkP
- name: Install agbcc
run: |
./build.sh
./install.sh ../
working-directory: ./agbcc
- name: Compare FireRed
run: |
make -j${nproc} all syms
- name: Compare FireRed rev1
env:
GAME_REVISION: 1
run: |
make -j${nproc} all syms
- name: Compare LeafGreen
env:
GAME_VERSION: LEAFGREEN
run: |
make -j${nproc} all syms
- name: Compare LeafGreen rev1
env:
GAME_VERSION: LEAFGREEN
GAME_REVISION: 1
run: |
make -j${nproc} all syms
- name: Build Modern
env:
MODERN: 1
COMPARE: 0
run: |
make -j${nproc} all
- name: Move symfiles
if: ${{ github.event_name == 'push' }}
run: |
cp *.sym symbols/
echo "SYMBOLS_COMMIT_MSG=$( git log --format=%s ${GITHUB_SHA} )" >> $GITHUB_ENV
- name: Update symfiles
if: ${{ github.event_name == 'push' }}
uses: EndBug/add-and-commit@v7
with:
branch: symbols
cwd: "./symbols"
add: "*.sym"
message: ${{ env.SYMBOLS_COMMIT_MSG }}
================================================
FILE: .gitignore
================================================
*.1bpp
*.4bpp
*.8bpp
*.DS_Store
*.bak
*.bat
*.diff
*.dump
*.elf
*.exe
*.fwjpnfont
*.gba
!data/*.gba
*.sgm
*.sa1
*.sg1
*.gbapal
*.hwjpnfont
*.i
*.idb
*.id0
*.id1
*.id2
*.latfont
*.lz
*.map
*.nam
*.o
*.pcm
*.pl
*.rl
*.s.old
*.s.old2
*.sa*
*.swo
*.swp
*.til
.fuse*
.idea/
Thumbs.db
build/
cmake-build-*
ld_script_ruby.txt
ld_script_sapphire.txt
sound/**/*.bin
sound/songs/midi/*.s
src/data/items.h
src/data/region_map/region_map_entries.h
src/data/region_map/region_map_entry_strings.h
src/data/region_map/porymap_config.json
tags
tools/agbcc
tools/binutils
types_*.taghl
!.github/calcrom/calcrom.pl
!sound/programmable_wave_samples/*.pcm
_Deparsed_XSubs.pm
porymap.*.cfg
prefabs.json
.vscode/*.*
*.ss1
*.ss2
my_script.js
*.js
*.sym
================================================
FILE: FAQ.md
================================================
# **Frequently Asked Questions**
### How can I support development?
[I have a Ko-fi link](https://ko-fi.com/deokishisu), tips are appreciated!
# Table of Contents:
* Mechanics:
* [Will later-generation battle mechanics be implemented? What about the physical/special split?](#will-later-generation-battle-mechanics-be-implemented-what-about-the-physicalspecial-split)
* [Will new moves be implemented? New held items?](#will-new-moves-be-implemented-new-held-items)
* [Will the Generation VI+ Experience Share be implemented?](#will-the-generation-vi-experience-share-be-implemented)
* [Will you improve breeding mechanics?](#will-you-improve-breeding-mechanics)
* [What are the shiny chances? Will they be improved?](#what-are-the-shiny-chances-will-they-be-improved)
* [Will you add something to change my Pokémon's IVs/Hidden Power/Nature/etc.?](#will-you-add-something-to-change-my-pokémons-ivshidden-powernatureetc)
* Pokémon Availability:
* [Will you add later-generation Pokémon?](#will-you-add-later-generation-pokémon)
* [How many Pokémon are available? Will *all* Pokémon be catchable?](#how-many-pokémon-are-available-will-all-pokémon-be-catchable)
* [Can you change wild Pokémon availability/levels? Can you put *x* Pokémon in *y* map? Will you add more Pokémon in the future?](#can-you-change-wild-pokémon-availabilitylevels-can-you-put-x-pokémon-in-y-map-will-you-add-more-pokémon-in-the-future)
* [Is there a list of wild encounter tables?](#is-there-a-list-of-wild-encounter-tables)
* [Can I obtain the other Kanto starters? Can I obtain the unchosen fossil?](#can-i-obtain-the-other-kanto-starters-can-i-obtain-the-unchosen-fossil)
* [Can I evolve my Kanto Pokémon into their Johto evolutions without the National Dex?](#can-i-evolve-my-kanto-pokémon-into-their-johto-evolutions-without-the-national-dex)
* [How do I evolve Eevee into Espeon and Umbreon?](#how-do-i-evolve-eevee-into-espeon-and-umbreon)
* [Can I evolve trade evolutions without trading?](#can-i-evolve-trade-evolutions-without-trading)
* [Are trade evolution items available before the postgame?](#are-trade-evolution-items-available-before-the-postgame)
* [How do I get the other legendary beasts?](#how-do-i-get-the-other-legendary-beasts)
* [Where do I get the event tickets so I can obtain Mew, Lugia and Ho-oh, Deoxys, and Latias and Latias?](#where-do-i-get-the-event-tickets-so-i-can-obtain-mew-lugia-and-ho-oh-deoxys-and-latias-and-latias)
* [How do I get Sudowoodo to battle me?](#how-do-i-get-sudowoodo-to-battle-me)
* [How do I get the other Fighting Dojo Pokémon? How do I get the missing Hitmonchan/Hitmonlee?](#how-do-i-get-the-other-fighting-dojo-pokémon-how-do-i-get-the-missing-hitmonchanhitmonlee)
* Gameplay:
* [I just started the game, where is the Key System Menu? I can't change my difficulty after a new game!](#i-just-started-the-game-where-is-the-key-system-menu-i-cant-change-my-difficulty-after-a-new-game)
* [Where do I unlock Gym Leader rematches?](#where-do-i-unlock-gym-leader-rematches)
* [How does inviting a Gym Leader work? A Gym Leader I invited is gone! When is the rematch lady's Spearow coming back?](#how-does-inviting-a-gym-leader-work-a-gym-leader-i-invited-is-gone-when-is-the-rematch-ladys-spearow-coming-back)
* [Can I rematch Giovanni? I can only invite seven Gym Leaders.](#can-i-rematch-giovanni-i-can-only-invite-seven-gym-leaders)
* [What are the Challenge Mode boss trainer levels? I want to level cap my Nuzlocke run.](#what-are-the-challenge-mode-boss-trainer-levels-i-want-to-level-cap-my-nuzlocke-run)
* [Where are the new Move Tutors and what moves do they teach?](#where-are-the-new-move-tutors-and-what-moves-do-they-teach)
* [Is there a location list for all the Master Trainers?](#is-there-a-location-list-for-all-the-master-trainers)
* Troubleshooting Savefiles, Emulators, and Flashcarts:
* [Is my vanilla FireRed or LeafGreen save compatible with FRLG+?](#is-my-vanilla-firered-or-leafgreen-save-compatible-with-frlg)
* [My emulator/flashcart doesn't work with FRLG+! The game won't save!](#my-emulatorflashcart-doesnt-work-with-frlg-the-game-wont-save)
* Modifying FRLG+:
* [Can I use FRLG+ as a ROM Base?](#can-i-use-frlg-as-a-rom-base)
* [How did you implement *x* feature? Can I use *y* feature for my hack?](#how-did-you-implement-x-feature-can-i-use-y-feature-for-my-hack)
* Miscellaneous:
* [Where do I get TM10 for Hidden Power? Pickup doesn't give me TM10 for Hidden Power!](#where-do-i-get-tm10-for-hidden-power-pickup-doesnt-give-me-tm10-for-hidden-power)
* [Will text be decapitalized?](#will-text-be-decapitalized)
* [How do I link to other games? When is the earliest I can link?](#how-do-i-link-to-other-games-when-is-the-earliest-i-can-link)
## Mechanics:
### Will later-generation battle mechanics be implemented? What about the physical/special split?
No. This hack aims to preserve the original battle mechanics and maintain link compatibility with the vanilla games. Changing the battle mechanics runs contrary to those goals.
### Will new moves be implemented? New held items?
No. This hack aims to preserve the original battle mechanics and maintain link compatibility with the vanilla games. Adding new moves or held items runs contrary to those goals.
### Will the Generation VI+ Experience Share be implemented?
No.
### Will you improve breeding mechanics?
Breeding mechanics have been ported from Emerald, save for Volt Tackle Pichu breeding, but no further improvements will be made. This hack is not meant to supplant the vanilla games when it comes to obtaining good Pokémon.
Because Volt Tackle Pichu are illegal in Generation III if they weren't generated in Emerald, the Volt Tackle breeding mechanic will not be ported.
### What are the shiny chances? Will they be improved?
The shiny chance is 1/8192, as it was in Generation III. The odds of encountering a shiny Pokémon will not be increased.
### Will you add something to change my Pokémon's IVs/Hidden Power/Nature/etc.?
No. This hack is not meant to supplant the vanilla games when it comes to obtaining good Pokémon. For IVs specifically, players can make the game behave as if all Pokémon IVs are perfect by toggling an option in the Key System Menu. This option does not affect a Pokémon's actual IVs or Hidden Power.
## Pokémon Availability:
### Will you add later-generation Pokémon?
No. This hack aims to maintain link compatibility with the vanilla games and keep all obtainable Pokémon legal in Generation III.
### How many Pokémon are available? Will *all* Pokémon be catchable?
There are 246 Pokémon available in the hack without trading. This hack does not add any new Pokémon that were not available in Generation III. To complete the National Dex, trade with the vanilla games. This is not a 386 hack, and not all Pokémon will be obtainable without trading.
### Can you change wild Pokémon availability/levels? Can you put *x* Pokémon in *y* map? Will you add more Pokémon in the future?
One of the goals of this hack is to make every Pokémon available to the player legal in Generation III. This means that modifying existing Pokémon encounters or adding new Pokémon to existing encounter tables would make illegal Pokémon obtainable. There are new Pokémon available that were not in FireRed and LeafGreen originally, but they have been painstakingly implemented in such a way as to maintain their Generation III legality.
Adding more Pokémon in the future would require finding ways to make them legal in Generation III, and for the remaining roster of Pokémon there aren't ways to do that while still having it make sense. If you want more Pokémon, trade with vanilla.
### Is there a list of wild encounter tables?
Yes, however it is not well-organized. [The link is here](https://github.com/Deokishisu/FRLG-Plus/blob/master/src/data/wild_encounters.h).
### Can I obtain the other Kanto starters? Can I obtain the unchosen fossil?
Yes, both in the postgame.
<details>
<summary>The other Kanto starters:</summary>
The Rival's starter can be obtained as an Egg on Four Island from the Day Care Man.
The unchosen starter can be obtained from Daisy after fixing the Network Machine on One Island.
</details>
<details>
<summary>The unchosen fossil:</summary>
The unchosen fossil can be obtained in Three Isle Path from the prospector in the cave after becoming Champion.
</details>
### Can I evolve my Kanto Pokémon into their Johto evolutions without the National Dex?
Yes. The game will no longer prevent Pokémon from evolving into a Pokémon that is not in the Kanto Pokédex.
### How do I evolve Eevee into Espeon and Umbreon?
Eevee evolves into Espeon when leveled up outdoors with high friendship. Eevee evolves into Umbreon when leveled up indoors with high friendship.
### Can I evolve trade evolutions without trading?
Yes. A new key item, the Link Bracelet, is available. It is an unmissable key item that is obtained during the story and can be used like an evolution stone. To evolve Pokémon that need to hold an item while trading to evolve, have them hold the item before using the Link Bracelet on them.
<details>
<summary>Exact location of the Link Bracelet:</summary>
It is received from the Rival after defeating him in Silph Co.
</details>
### Are trade evolution items available before the postgame?
Yes. Most are available as wild held items. Items like the Up-grade have been moved to be available before becoming the Champion.
<details>
<summary>Pokemon that hold trade evolution items:</summary>
• Metal Coats can be found rarely on wild Magnemite and Magneton.
• Dragon Scales can be found rarely on wild Dratini and Dragonair.
• King's Rocks can be found rarely on wild Poliwhirl and Slowbro.
• Deep Sea Scales can be found rarely on wild Chinchou underwater.
• Deep Sea Teeth can be found rarely on wild Gyarados underwater.
</details>
### How do I get the other legendary beasts?
Every time you enter the Hall of Fame, an uncaught legendary beast will begin to roam Kanto if there are no legendary beasts currently roaming.
### Where do I get the event tickets so I can obtain Mew, Lugia and Ho-oh, Deoxys, and Latias and Latias?
<details>
<summary>The Old Sea Map for Mew on Faraway Island:</summary>
Become the Champion, then talk to Mr. Fuji in his home in Lavender Town.
</details>
<details>
<summary>The MysticTicket for Lugia and Ho-oh on Navel Rock:</summary>
Obtain the Extended Dex, then get the diploma for completing the Kanto Pokédex in Celadon Mansion.
</details>
<details>
<summary>The AuroraTicket for Deoxys on Birth Island:</summary>
Get a 28-win streak at the Battle Tower.
</details>
<details>
<summary>The Eon Ticket for Latias and Latios on Southern Island:</summary>
Get a 56-win streak at the Battle Tower. These Pokémon are version exclusive, so switch versions in the Key System Menu to obtain both of them.
</details>
### How do I get Sudowoodo to battle me?
<details>
<summary>To get Sudowoodo to battle,</summary>
have a Fresh Water in your bag and talk to it.
</details>
### How do I get the other Fighting Dojo Pokémon? How do I get the missing Hitmonchan/Hitmonlee?
Breed your Hitmonchan/Hitmonlee for a Tyrogue and then evolve that Tyrogue into the Fighting Dojo Pokémon that you didn't pick.
## Gameplay:
### I just started the game, where is the Key System Menu? I can't change my difficulty after a new game!
Once you have started a new game, you need to save and reset. The Key System Menu is on the Main Menu alongside the Continue and New Game options.
### Where do I unlock Gym Leader rematches?
There is an old woman in a house on Seven Island who will start the sidequest for you.
### How does inviting a Gym Leader work? A Gym Leader I invited is gone! When is the rematch lady's Spearow coming back?
When you show the old woman in the Battle House a full Fame Checker entry for a Gym Leader, her Spearow will leave to bring them an invitation. Once Spearow returns, the invited Gym Leader will periodically visit the Battle House basement where they can be rematched. Once beaten, a Gym Leader will return to their Gym, but will come back to the house automatically to train after some time.
Both Spearow returning and Gym Leaders visiting are based on steps taken while outside of the Seven Island town area. There is randomness involved in how many steps it takes to trigger a Gym Leader visit, but there is bad luck protection that will begin forcing visits to prevent long waits between visits.
The sign outside the Battle House will report which Gym Leaders are currently visiting.
### Can I rematch Giovanni? I can only invite seven Gym Leaders.
Giovanni is canonically on the run after he flees his Gym and is not seen again in FRLG+. Only the first seven Gym Leaders can be rematched.
### What are the Challenge Mode boss trainer levels? I want to level cap my Nuzlocke run.
<details>
<summary>Their levels are as follows:</summary>
Brock: 15<br>
Misty: 22<br>
Lt. Surge: 26<br>
Rocket Hideout Giovanni: 31<br>
Erika: 31<br>
Koga: 46<br>
Silph Co. Giovanni: 44<br>
Sabrina: 46<br>
Blaine: 51<br>
Leader Giovanni: 54<br>
Lorelei: 58<br>
Bruno: 60<br>
Agatha: 62<br>
Lance: 64<br>
Champion: 67<br>
Rematch Lorelei: 71<br>
Rematch Bruno: 73<br>
Rematch Agatha: 75<br>
Rematch Lance: 77<br>
Rematch Champion: 80<br>
</details>
### Where are the new Move Tutors and what moves do they teach?
<details>
<summary>New move tutor locations:</summary>
• Fury Cutter - Vermilion City
• Rollout - Route 24
• Swagger - Route 10
• Dynamic Punch - Saffron City
• Sleep Talk - Silph Co.
• Nightmare - Silph Co.
• Self-Destruct - Cinnabar Island
• Sky Attack - Mt. Ember
The tutors in Saffron City and Silph Co. will not appear until Team Rocket has been driven from the city.
</details>
### Is there a location list for all the Master Trainers?
The Master Trainers are all in the same locations as they were in LGPE, with the exception of Master Trainers who would have been on Cycling Road. Those that would have been on Cycling Road have been moved to Routes 16 and 18. Keeping that in mind, [refer to this list from Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Master_Trainer#Trainer_list) for the Master Trainer locations.
## Troubleshooting Savefiles, Emulators, and Flashcarts:
### Is my vanilla FireRed or LeafGreen save compatible with FRLG+?
No. The save needed to be edited to add certain features, and therefore vanilla saves are incompatible with FRLG+. Similarly, FRLG+ saves cannot be used in vanilla.
### My emulator/flashcart doesn't work with FRLG+! The game won't save!
The recommended emulator for desktop is [mGBA](https://mgba.io/downloads.html).
If your emulator or flashcart isn't working properly with FRLG+, follow instructions for that particular emulator or flashcart for playing vanilla FireRed or LeafGreen and apply them to getting FRLG+ to work. If a patch is required to get vanilla FireRed or LeafGreen to save properly, then FRLG+ is incompatible with that emulator or flashcart.
## Modifying FRLG+:
### Can I use FRLG+ as a ROM Base?
My official stance is that all mods of FRLG+ are unauthorized and unsupported, but derivative works of FRLG+ must be free and open source. If you choose to use FRLG+ as a ROM Base, I will not offer any support nor answer questions regarding developing a mod of this hack. Use of FRLG+ as a base is contingent on your resulting work being free and open source, as FRLG+ is.
### How did you implement *x* feature? Can I use *y* feature for my hack?
My commits are descriptively labeled. If you want to grab something from FRLG+, go back through my commits and find where I implemented it. I don't offer support or answer questions for lifting things from FRLG+, but since the project is open source anyone can take from it.
## Miscellaneous:
### Where do I get TM10 for Hidden Power? Pickup doesn't give me TM10 for Hidden Power!
The TM for Hidden Power has been removed from the pickup table and is now sold in the Celadon Dept. Store.
The Pickup table has been changed to the following:<br>
15% - Oran Berry<br>
10% - Cheri Berry, Chesto Berry, Pecha Berry, Rawst Berry, Aspear Berry, Persim Berry<br>
5% - PP Up, Rare Candy, Nugget, Pomeg Berry<br>
1% - Kelpsy Berry, Qualot Berry, Hondew Berry, Grepa Berry, Tamato Berry<br>
### Will text be decapitalized?
No.
### How do I link to other games? When is the earliest I can link?
FRLG+ is fully compatible with everything that the vanilla international FireRed and LeafGreen games were compatible with. If your emulator supports linking, refer to its documentation for how to initiate a link.
The player may link with all Generation III GBA and GCN games the moment they receive the Pokédex. Finishing the Net Center on One Island is no longer a prerequisite for trading with the Hoenn games, trading with the Orre games, using Pokémon Box: Ruby and Sapphire, or receiving Eggs or Pokémon that are not in the Kanto Pokédex.
================================================
FILE: FEATURES.md
================================================
## Features
#### Mechanical Additions:
- A Key System has been implemented, similar to Black 2 and White 2. Press the L Button while on the Key System Menu to access the Help System, which has detailed information on each key. Use the keys to change various settings about your game. Those settings are:
* __Version__: Switch between FireRed and LeafGreen to catch version-exclusive Pokémon.
* __Difficulty__: Like in Black 2 and White 2, there is a Challenge and an Easy Mode difficulty. These difficulties scale trainer levels up or down, and in Challenge Mode important trainers will have an extra Pokémon and badge boosts are disabled.
* __Nuzlocke Toggle__: Can toggle on a Nuzlocke mode. Press the L Button on the Key System menu to read the special ruleset for this mode.
* __IV Calculation__: Can make the game treat your Pokémon's IVs as all perfect (31), all zero, or use their actual IVs as is standard for the purposes of stat calculation. This does not affect your Pokémon's actual IVs or Hidden Power, just how their stats are calculated. If set to all perfect, enemy Pokémon will also be treated as if they have all perfect IVs.
* __EV Calculation__: Can make the game treat your Pokémon's EVs as all zero, or use their actual EVs as is standard for the purposes of stat calculation. This does not affect your Pokémon's actual EVs, (they will still gain/lose EVs as normal), just how their stats are calculated.
* __No Free Heals__: Can disable free party heals, most notably the Pokémon Center heals and the Lavender Tower purified zone, but also many others. This also prevents PC Boxes from healing Pokémon deposited into them.
* __Exp. Modifier__: Can alter experience gains using a multiplier. The possible options are 0×, 1/2×, 1×, and 2×. Pokémon still gain EVs normally when this is set to 0×.
##### Nuzlocke Info:
<details>
<summary>This is a special implementation of the Nuzlocke ruleset. While the Nuzlocke toggle is on (click for details):</summary>
<ul>
<li>Fainted Pokémon cannot be healed by any means (including depositing them in a PC Box).</li>
<li>The player is not asked whether or not they want to give a nickname to obtained Pokémon while Nuzlocke Mode is on.</li>
<li>Pokémon can be obtained at any time, but only the first Pokémon obtained in an area is usable barring duplicates (dupe clause).</li>
<ul>
<li>There is a UI element drawn to the enemy's healthbar to indicate if it counts as the first encounter in an area.</li>
<li>Unusable Pokémon will be automatically fainted if received, and will not count as an encounter for the purposes of the built-in dupe clause.</li>
<li>In-game trades will be fainted if the Pokémon traded for them was fainted but will be usable if not, and otherwise do not count as a first encounter.</li>
<li>Eggs, when hatched, will set the encounter flag of the place the egg was first obtained. If that place already had a first encounter, then the egg will hatch fainted.</li>
</ul>
<li>The Dupe Clause is in effect. Pokémon that are already owned, or evolutionary relatives of already owned Pokémon, will not count if they are the first encounter in an area and not caught.</li>
<ul>
<li>In-game trades do invoke the dupe clause for additional Pokémon of that species.</li>
</ul>
<li>If a white out occurs, the player will be prompted to grab a usable Pokémon from their PC Box.</li>
<ul>
<li>If there are no usable Pokémon left, they will be given a choice of soft-resetting or turning off the Nuzlocke toggle and healing their party normally.</li>
</ul>
<li>None of these rules come into effect until after the player obtains Poké Balls.</li>
<li>Encounters are not tracked:</li>
<ul>
<li>While the Nuzlocke toggle is off,</li>
<li>retroactively (starting a Nuzlocke midway through a regular playthrough will allow new "first" encounters) and,</li>
<li>before the player obtains the Pokédex, to prevent losing the opportunity to catch Route 1 Pokémon before catching Pokémon is possible.</li>
</ul>
<li>Each outdoor Safari Zone map counts as a separate area for the purposes of catching Pokémon.</li>
<ul>
</details>
#### Story Changes:
- The player may progress to the Sevii Islands postgame content immediately after becoming the Champion; the National Dex is no longer required to do so.
- After the player becomes the Champion, Oak will upgrade their Pokédex with a new Extended Mode which lists all Pokémon available without trading.
- The National Pokédex is now obtained by trading in a Pokémon that is not in the Extended Dex.
- A legendary beast will begin roaming when the player first enters the Hall of Fame, instead of upon delivering the Sapphire.
- Event tickets are given away through gameplay milestones, allowing the player access to Birth Island and Navel Rock to catch Deoxys and Ho-oh/Lugia, respectively.
* Faraway Island has been ported from Emerald, allowing players to catch Mew. The Old Sea Map is given away similarly to the other event tickets.
* Southern Island has been ported from Emerald, allowing players to catch Latias and Latios. The Eon Ticket is given away similarly to the other event tickets.
- Expanded postgame, focusing on organically fleshing out the available content.
* HM08 Dive is now available and usable in the field. New underwater areas found on Route 20 and Bond Bridge.
* A Safari Zone expansion adds two more areas, making more Pokémon obtainable.
* The Hoenn Battle Tower has been ported from RS. The player will be invited to challenge the Battle Tower upon delivering the Ruby to Celio.
* The Level 100 mode has been replaced with the Open Level mode like in Emerald.
* Artisan Cave can be accessed from the Battle Tower's dock.
* A new area in Berry Forest makes the pinch berries available.
* A new area west of Cape Brink has rematchable trainers for the purposes of EV training.
* Gym Leader rematches can be unlocked on Seven Island.
* Master Trainers appear around Kanto after becoming the Champion, filling a similar role to their appearance in the Let's Go games with some differences.
* Master Trainers can be rematched immediately.
* Master Trainer Pokémon will scale to the level of the Pokémon used to challenge them, making them more accessible.
* Master Trainer Pokémon hold items and have better movesets than in the Let's Go games, making them significantly more challenging.
* The Master Trainers for Ditto, Articuno, Zapdos, Moltres, Mewtwo, and Mew want to see Pokémon with 100 total Effort Values.
* Master Trainers that would have been on Cycling Road have been moved to Routes 16 and 18.
* Additionally, some Master Trainers have been repositioned on their maps to account for FRLG area design.
* Clearing a Master Trainer confers a title that can be used in link battles with other FRLG+ players.
* Clearing all 151 Master Trainers unlocks a secret superboss Trainer.
#### Quality of Life Changes:
##### Travel-related:
- Running indoors.
- Toggle auto running with the R button.
- Cut trees stay cut permanently.
- Hold B while surfing to go faster. If autorun is enabled, hold B to go slower, as the faster speed becomes default.
- The bike now has two gears, one for the default speed, and one for Mach Bike speed. Press B while biking to switch between them.
- The Victory Road boulder puzzles no longer reset.
- The two boulders that block access to Mt. Ember's exterior will no longer block the way once the player moves past them.
- Steps taken aren't counted while inside Safari Zone Rest Houses.
- The player travels at running speed while diving.
- The map fades in significantly faster after most warps, which makes entering and exiting doors faster.
##### Inventory and Item-related:
- Expanded item pockets. The player can hold one stack of every legally-obtainable item at once.
- Two new pockets, the Medicine and Held Items pockets, have been introduced to ease bag navigation.
- Press Start in the bag to sort items by several criteria.
- The bag pockets wrap around when switching between them.
- Left and Right in the TM Case and Berry Pouch scrolls faster.
- Infinite TM usage. TM prices have been modified to reflect this. TMs do not restore PP when learned, like in BW/B2W2.
* The missable TM44 Rest from the S.S. Anne has been added to the Celadon Dept. Store inventory.
* TM10 is no longer available through Pickup and is instead available in the Celadon Dept. Store.
- EV-reducing berries ported from Emerald (the Pomeg glitch was fixed during the port). Otherwise worthless berries obtainable as hidden items or through Pickup have been changed to these.
- When a repel expires, the player will be asked whether they want to use another immediately, like in Black 2 and White 2.
- The Generation III Poké Ball varieties can be purchased in Silph Co. after it has been liberated from Team Rocket.
- The Light Ball is held rarely by Pikachu outside of Viridian Forest, making it obtainable without trading.
- LGPE-style bonus Premier Balls in shops. Buying multiples of ten of any Poké Ball type will give bonus Premier Balls.
- Trade evolution items are now available before the postgame.
* Up-grade can be found in Silph Co.
* Metal Coats can be found rarely on wild Magnemite and Magneton.
* Dragon Scales can be found rarely on wild Dratini and Dragonair.
* King's Rocks can be found rarely on wild Poliwhirl and Slowbro.
* Deep Sea Scales can be found rarely on wild Chinchou underwater.
* Deep Sea Teeth can be found rarely on wild Gyarados underwater.
##### Battle-related:
- New options available in the options menu to speed up battles:
* Battle Transitions setting turns off the transition animation between the field and a battle.
* Battle Intro Animation setting turns off the sliding animation that occurs at the start of every battle.
* Battle Scene has been renamed to Move Animations and now also skips in-battle text delays when it is off.
* HP Bar Animation Speed gives four options for how fast the HP bar animates, including instant.
* Exp. Bar Animation Speed gives the player the choice to make experience bars animate instantly.
- New battle style option, switch, which is like shift but doesn't tell what the opponent is switching in. Shift has been renamed to predict.
- Press B on the "What will Pokémon do?" menu during wild battles to move the cursor to run.
- A message is now printed at the end of a battle if a Pokémon has gained an item through the Pickup ability.
##### Move Tutor-related:
- There are eight new Move Tutors scattered throughout the world that teach Fury Cutter, Rollout, Dynamic Punch, Sleep Talk, Nightmare, Self-Destruct, Sky Attack, and Swagger respectively.
- Move Tutors will charge after the first time they teach a move, allowing infinite tutor uses at a cost. Frenzy Plant, Blast Burn, and Hydro Cannon can be tutored infinitely for free, and no longer have a friendship requirement to learn.
- The Move Reminder can overwrite HM moves with relearned moves.
- The Move Reminder can teach moves from a Pokémon's pre-evolutions, with some caveats.
* If the Pokémon has a baby form, it can only relearn moves exclusive to that form if it was hatched itself. Wobbuffet from Mirage Island are the sole exception, as they were caught as Wynaut and therefore can also relearn Wynaut's exclusive moves.
* If a Pokémon is not at a high enough level to learn a move from its own learnset, then it cannot relearn that move regardless of its presence in a pre-evolution's learnset.
##### User Interface-related:
- Indicators have been added for which stats are affected by natures on summary screen.
- Press the select button in the party menu to switch Pokémon without having to use the menu option.
- Press the select button on the initial Pokédex screen to open the last viewed entry.
- Hidden Power's true type and power are shown on the summary screen, and its type is shown in battle.
- Return and Frustration's true power is shown on the summary screen.
- Weather Ball's type and power are updated with the weather in both the summary screen and in battle.
- Nature Power now displays the type, power, and accuracy of the move it will call in both the summary screen and in battle.
- The summary screen now wraps around when cycling through the party Pokémon instead of stopping at the first and last.
- Game Corner coins can be bought in increments of 1000 in addition to the other two options.
##### Pokémon-related:
- All Deoxys formes are included, and are implemented in the way that the GBA games did it for link compatibility purposes. Switch Deoxys' forme by examining the meteorite exhibit in the Pewter Museum of Science.
- No evolution restrictions; Pokémon will evolve regardless of whether or not their evolution is in the Kanto Dex.
* Eevee evolves into Espeon by happiness outdoors and Umbreon by happiness indoors.
- The EV cap for an individual stat is 252, like in later generations.
- Pokémon that evolve by trade can evolve by using an unmissable Key Item on them that is obtained during the story. Pokémon like Scyther also need to be holding their evolution items to evolve in this way.
- Uncaptured legendary Pokémon, roaming Pokémon, and Snorlax will be regenerated upon entering the Hall of Fame, keeping them from being missable.
- If upon entering the Hall of Fame a legendary beast is not currently roaming, an uncaught one will begin to roam. This allows the player to capture all three legendary beasts in one playthrough.
- A woman in the Move Reminder's House on Two Island can check if a Pokémon is fully EV trained. If it is, she'll give it the Effort Ribbon.
##### Day Care-related:
- The Day-Care Man will raise his hand immediately if a Pokémon Egg is ready without having to transition to another map. He no longer steps forward to indicate an Egg is available.
- The Day Care will send a retrieved Pokémon to a box as long as it's not holding mail if the player's party is full.
- Eggs have a 50% chance of inheriting the nature of their mother or Ditto parent if that parent holds an Everstone, ported from Emerald.
- The Route 5 Day-Care Man tells the player what level a Pokémon was when it was first deposited.
##### Miscellaneous Quality of Life Additions:
- Instant text option.
- No link restrictions
* Trade with Ruby, Sapphire, Emerald, Colosseum, and XD the moment that the player catches a second Pokémon.
* Unmodified Emerald may need the National Dex before it allows trading.
- The Old Man tutorial battle is skipped if you have more than one Pokémon with you.
- The Trainer Card star gained from doing Wireless minigames on Two Island can also be earned by achieving a 50-win streak at the Battle Tower.
- The Pokémon Center nurses abbreviate their dialogue after getting two Trainer Card stars, similar to Generation IV and up.
- Softlock prevention mechanisms are present. The player can no longer trap themselves on Cinnabar Island and the Indigo Plateau, and free Poké Balls are available in potential softlock situations.
- There is now a PC in the S.S. Anne in the room where the player can rest.
#### Vanilla Bug Fixes:
- All Revision 1 fixes are included here. This includes the missing "Presents" graphic in the intro, and several Pokédex errors and oversights.
- The Nugget Bridge Rocket can no longer give the player infinite Nuggets.
- Assist, Block, Camouflage, Charge, Conversion 2, Follow Me, Grudge, Helping Hand, Imprison, Ingrain, Magic Coat, Mean Look, Memento, Mimic, Mud Sport, Nightmare, Pain Split, Recycle, Refresh, Role Play, Skill Swap, Slack Off, Snatch, Softboiled, Spider Web, Tail Glow, Vital Throw, Water Sport, Wish and Yawn display as --- accuracy instead of 100 accuracy.
- The misspelling of "Pokcet" in the Teachy TV program has been fixed.
- Raikou and Entei will not disappear if they Roar the player out of their battles.
* The roaming IV glitch will __not__ be fixed, as it affects the legality of the legendary beasts.
- Fixed Karate King Koichi and Charine localization oversights. These characters are now named Kiyo and Janine as they are in GSC/HGSS.
- Fixed bug where the AI would decide to use Foresight based on the user's type and stats instead of the target's.
- Fixed bug where the AI would incorrectly decide to try to stall with semi-invulnerable moves while a weather effect is damaging them.
- Fixed bug where the AI would decide to use Facade based on the target's status instead of its own.
- Fixed an oversight where Icefall Cave's cracked ice tiles could spawn wild encounters. If a wild encounter is generated on one, it does not crack, allowing the player to cheat the puzzle.
- Fixed the [evolution move-learning glitch](https://glitchcity.wiki/wiki/Evolution_move-learning_glitch).
- Many vanilla tile errors have been fixed. Too many.
#### Miscellaneous Changes:
- All Kanto Pokémon, along with 90% of Johto Pokémon, will be available in one playthrough. All Hoenn Pokémon (except for Azurill, Wynaut, Latias, Latios, and Deoxys) will still need to be traded for.
- Abilities have effects in the overworld ported from Emerald.
* As Lightningrod's Emerald overworld effect is inapplicable, it has been changed. Lightningrod now charges the Vs. Seeker twice as fast.
- The Pokémon Summary Screen can accurately show the met location of any Pokémon obtained in Gen 3, including Pokémon from Orre.
- Silph Co. is populated by workers once it is liberated from Team Rocket.
- Some aesthetic and music changes which are mostly confined to the Sevii Islands to make each island more distinct.
- Cycling Road forces the bike theme, like in RGBY.
- Emerald's player character designs show in the link rooms if linking with Emerald.
- The original RGBY textbox is available as frame type 11 in the options menu.
- The Gambler trainer class has been decensored.
================================================
FILE: INSTALL.md
================================================
# Instructions
These instructions explain how to set up the tools required to build **pokefirered**, which assembles the source files into a ROM.
These instructions come with notes which can be expanded by clicking the "<i>Note...</i>" text.
In general, you should not need to open these unless if you get an error or if you need additional clarification.
If you run into trouble, ask for help on Discord or IRC (see [README.md](README.md)).
## Windows
Windows has instructions for building with three possible terminals, providing 3 different options in case the user stumbles upon unexpected errors.
- [Windows 10/11 (WSL1)](#windows-1011-wsl1) (**Fastest, highly recommended**, Windows 10 and 11 only)
- [Windows (msys2)](#windows-msys2) (Second fastest)
- [Windows (Cygwin)](#windows-cygwin) (Slowest)
Unscientific benchmarks suggest **msys2 is 2x slower** than WSL1, and **Cygwin is 5-6x slower** than WSL1.
<details>
<summary><i>Note for advanced users: <b>WSL2</b>...</i></summary>
> <b>WSL2</b> is an option and is even faster than <b>WSL1</b> if files are stored on the WSL2 file system, but some tools may have trouble interacting
> with the WSL2 file system over the network drive. For example, tools which use Qt versions before 5.15.2 such as <a href="https://github.com/huderlem/porymap">porymap</a>
> may <a href="https://bugreports.qt.io/browse/QTBUG-86277">have problems with parsing the <code>\\wsl$</code> network drive path</a>.
</details>
All of the Windows instructions assume that the default drive is C:\\. If this differs to your actual drive letter, then replace C with the correct drive letter when reading the instructions.
**A note of caution**: As Windows 7 is officially unsupported by Microsoft and Windows 8 has very little usage, some maintainers are unwilling to maintain the Windows 7/8 instructions. Thus, these instructions may break in the future with fixes taking longer than fixes to the Windows 10 instructions.
## Windows 10/11 (WSL1)
WSL1 is the preferred terminal to build **pokefirered**. The following instructions will explain how to install WSL1 (referred to interchangeably as WSL).
- If WSL (Debian or Ubuntu) is **not installed**, then go to [Installing WSL1](#Installing-WSL1).
- Otherwise, if WSL is installed, but it **hasn't previously been set up for another decompilation project**, then go to [Setting up WSL1](#Setting-up-WSL1).
- Otherwise, **open WSL** and go to [Choosing where to store pokefirered (WSL1)](#Choosing-where-to-store-pokefirered-WSL1).
### Installing WSL1
1. Open [Windows Powershell **as Administrator**](https://i.imgur.com/QKmVbP9.png), and run the following command (Right Click or Shift+Insert is paste in the Powershell).
```powershell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
```
2. Once the process finishes, restart your machine.
3. The next step is to choose and install a Linux distribution from the Microsoft Store. The following instructions will assume Ubuntu as the Linux distribution of choice.
<details>
<summary><i>Note for advanced users...</i></summary>
> You can pick a preferred Linux distribution, but setup instructions may differ. Debian should work with the given instructions, but has not been tested.
</details>
4. Open the [Microsoft Store Linux Selection](https://aka.ms/wslstore), click Ubuntu, then click Get, which will install the Ubuntu distribution.
<details>
<summary><i>Notes...</i></summary>
> Note 1: If a dialog pops up asking for you to sign into a Microsoft Account, then just close the dialog.
> Note 2: If the link does not work, then open the Microsoft Store manually, and search for the Ubuntu app (choose the one with no version number).
</details>
### Setting up WSL1
Some tips before proceeding:
- In WSL, Copy and Paste is either done via
- **right-click** (selection + right click to Copy, right click with no selection to Paste)
- **Ctrl+Shift+C/Ctrl+Shift+V** (enabled by right-clicking the title bar, going to Properties, then checking the checkbox next to "Use Ctrl+Shift+C/V as Copy/Paste").
- Some of the commands that you'll run will ask for your WSL password and/or confirmation to perform the stated action. This is to be expected, just enter your WSL password and/or the yes action when necessary.
1. Open **Ubuntu** (e.g. using Search).
2. WSL/Ubuntu will set up its own installation when it runs for the first time. Once WSL/Ubuntu finishes installing, it will ask for a username and password (to be input in).
<details>
<summary><i>Note...</i></summary>
> When typing in the password, there will be no visible response, but the terminal will still read in input.
</details>
3. Update WSL/Ubuntu before continuing. Do this by running the following command. These commands will likely take a long time to finish:
```bash
sudo apt update && sudo apt upgrade
```
> Note: If the repository you plan to build has an **[older revision of the INSTALL.md](https://github.com/pret/pokefirered/blob/b7a6240/INSTALL.md)**, then follow the [legacy WSL1 instructions](docs/legacy_WSL1_INSTALL.md) from here.
4. Certain packages are required to build pokefirered. Install these packages by running the following command:
```bash
sudo apt install build-essential binutils-arm-none-eabi git libpng-dev
```
<details>
<summary><i>Note...</i></summary>
> If the above command does not work, try the above command but replacing `apt` with `apt-get`.
</details>
### Choosing where to store pokefirered (WSL1)
WSL has its own file system that's not natively accessible from Windows, but Windows files *are* accessible from WSL. So you're going to want to store pokefirered within Windows.
For example, say you want to store pokefirered (and agbcc) in **C:\Users\\_\<user>_\Desktop\decomps**. First, ensure that the folder already exists. Then, enter this command to **change directory** to said folder, where *\<user>* is your **Windows** username:
```bash
cd /mnt/c/Users/<user>/Desktop/decomps
```
<details>
<summary><i>Notes...</i></summary>
> Note 1: The Windows C:\ drive is called /mnt/c/ in WSL.
> Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "/mnt/c/users/<user>/Desktop/decomp folder"`.
> Note 3: Windows path names are case-insensitive so adhering to capitalization isn't needed
</details>
If this works, then proceed to [Installation](#installation).
Otherwise, ask for help on Discord or IRC (see [README.md](README.md)), or continue reading below for [Windows instructions using msys2](#windows-msys2).
## Windows (msys2)
- If devkitARM is **not installed**, then go to [Installing devkitARM](#installing-devkitarm).
- If devkitARM is installed, but msys2 **hasn't previously been set up for another decompilation project**, then go to [Setting up msys2](#setting-up-msys2).
- Otherwise, **open msys2** and go to [Choosing where to store pokefirered (msys2)](#choosing-where-to-store-pokefirered-msys2).
### Installing devkitARM
1. Download the devkitPro installer [here](https://github.com/devkitPro/installer/releases).
2. Run the devkitPro installer. In the "Choose Components" screen, uncheck everything except GBA Development unless if you plan to install other devkitPro components for other purposes. Keep the install location as C:\devkitPro and leave the Start Menu option unchanged.
### Setting up msys2
Note that in msys2, Copy is Ctrl+Insert and Paste is Shift+Insert.
1. Open msys2 at C:\devkitPro\msys2\msys2_shell.bat.
2. Certain packages are required to build pokefirered. Install these by running the following command:
```bash
pacman -S make gcc zlib-devel git
```
<details>
<summary><i>Note...</i></summary>
> This command will ask for confirmation, just enter the yes action when prompted.
</details>
3. Download [libpng](https://sourceforge.net/projects/libpng/files/libpng16/1.6.37/libpng-1.6.37.tar.xz/download).
4. Change directory to where libpng was downloaded. By default, msys2 will start in the current user's profile folder, located at **C:\Users\\⁠_\<user>_**, where *\<user>* is your Windows username. In most cases, libpng should be saved within a subfolder of the profile folder. For example, if libpng was saved to **C:\Users\\_\<user>_\Downloads** (the Downloads location for most users), enter this command:
```bash
cd Downloads
```
<details>
<summary><i>Notes...</i></summary>
> Note 1: While not shown, msys uses forward slashes `/` instead of backwards slashes `\` as the directory separator.
> Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "Downloads/My Downloads"`.
> Note 3: Windows path names are case-insensitive so adhering to capitalization isn’t needed.
> Note 4: If libpng was saved elsewhere, you will need to specify the full path to where libpng was downloaded, e.g. `cd c:/devkitpro/msys2` if it was saved there.
</details>
5. Run the following commands to uncompress and install libpng.
```bash
tar xf libpng-1.6.37.tar.xz
cd libpng-1.6.37
./configure --prefix=/usr
make check
make install
```
6. Then finally, run the following command to change back to the user profile folder.
```bash
cd
```
### Choosing where to store pokefirered (msys2)
At this point, you can choose a folder to store pokefirered into. If you're okay with storing pokefirered in the user profile folder, then proceed to [Installation](#installation). Otherwise, you'll need to account for where pokefirered is stored when changing directory to the pokefirered folder.
For example, if you want to store pokefirered (and agbcc) in **C:\Users\\_\<user>_\Desktop\decomps** (where *\<user>* is your **Windows** username), enter this command:
```bash
cd Desktop/decomps
```
If this works, then proceed to [Installation](#installation).
Otherwise, ask for help on Discord or IRC (see [README.md](README.md)), or continue reading below for [Windows instructions using Cygwin](#windows-cygwin).
## Windows (Cygwin)
1. If devkitARM is **not installed**, then follow the instructions used to [install devkitARM](#installing-devkitarm) for the msys2 setup before continuing. *Remember to not continue following the msys2 instructions by mistake!*
2.
- If Cygwin is **not installed**, or does not have all of the required packages installed, then go to [Installing Cygwin](#installing-cygwin).
- If Cygwin is installed, but **is not configured to work with devkitARM**, then go to [Configuring devkitARM for Cygwin](#configuring-devkitarm-for-cygwin).
- Otherwise, **open Cygwin** and go to [Choosing where to store pokefirered (Cygwin)](#choosing-where-to-store-pokefirered-cygwin)
### Installing Cygwin
1. Download [Cygwin](https://cygwin.com/install.html): setup-x86_64.exe for 64-bit Windows, setup-x86.exe for 32-bit.
2. Run the Cygwin setup. Within the Cygwin setup, leave the default settings until the "Choose A Download Site" screen.
3. At "Choose a Download Site", select any mirror within the Available Download Sites.
4. At "Select Packages", set the view to "Full" (top left) and search for the following packages:
- `make`
- `git`
- `gcc-core`
- `gcc-g++`
- `libpng-devel`
To quickly find these, use the search bar and type the name of each package. Ensure that the selected package name is the **exact** same as the one you're trying to download, e.g. `cmake` is **NOT** the same as `make`.
5. For each package, double click on the text that says "**Skip**" next to each package to select the most recent version to install. If the text says anything other than "**Skip**", (e.g. Keep or a version number), then the package is or will be installed and you don't need to do anything.
6. Once all required packages have been selected, finish the installation.
### Configuring devkitARM for Cygwin
Note that in Cygwin, Copy is Ctrl+Insert and Paste is Shift+Insert.
1. Open **Cygwin**.
2. Run the following commands to configure devkitPro to work with Cygwin.
```bash
export DEVKITPRO=/cygdrive/c/devkitpro
echo export DEVKITPRO=$DEVKITPRO >> ~/.bashrc
export DEVKITARM=$DEVKITPRO/devkitARM
echo export DEVKITARM=$DEVKITARM >> ~/.bashrc
```
<details>
<summary><i>Note...</i></summary>
> Replace the drive letter c with the actual drive letter if it is not c.
</details>
### Choosing where to store pokefirered (Cygwin)
Cygwin has its own file system that's within Windows, at **C:\cygwin64\home\\_\<user>_**. If you don't want to store pokefirered there, you'll need to account for where pokefirered is stored when **changing directory** to the pokefirered folder.
For example, if you want to store pokefirered (and agbcc) in **C:\Users\\_\<user>_\Desktop\decomps**, enter this command, where *\<user>* is your **Windows** username:
```bash
cd c:/Users/<user>/Desktop/decomps
```
Note that the directory **must exist** in Windows. If you want to store pokefirered in a dedicated folder that doesn't exist (e.g. the example provided above), then create the folder (e.g. using Windows Explorer) before executing the `cd` command.
<details>
<summary><i>Notes...</i></summary>
> Note 1: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "c:/users/<user>/Desktop/decomp folder"`.
> Note 2: Windows path names are case-insensitive so adhering to capitalization isn't needed
</details>
If this works, then proceed to [Installation](#installation). Otherwise, ask for help on Discord or IRC (see [README.md](README.md)).
## macOS
1. If the Xcode Command Line Tools are not installed, download the tools [here](https://developer.apple.com/xcode/resources/), open your Terminal, and run the following command:
```bash
xcode-select --install
```
2. - If libpng is **not installed**, then go to [Installing libpng (macOS)](#installing-libpng-macos).
- If devkitARM is **not installed**, then go to [Installing devkitARM (macOS)](#installing-devkitarm-macos).
- Otherwise, **open the Terminal** and go to [Choosing where to store pokefirered (macOS)](#choosing-where-to-store-pokefirered-macos)
### Installing libpng (macOS)
<details>
<summary><i>Note for advanced users...</i></summary>
> This guide installs libpng via Homebrew as it is the easiest method, however advanced users can install libpng through other means if they so desire.
</details>
<details>
<summary><i><strong>Note for Apple Silicon (M1) Mac users...</strong></i></summary>
> Currently, Homebrew and libng must be installed via Rosetta on Apple Silicon Macs. Before continuing, create a [Terminal shell profile with Rosetta](https://www.astroworldcreations.com/blog/apple-silicon-and-legacy-command-line-software). Be sure to run the commands corresponding to Apple Silicon (M1).
</details>
1. Open the Terminal.
2. If Homebrew is not installed, then install [Homebrew](https://brew.sh/) by following the instructions on the website.
3. Run the following command to install libpng.
```bash
brew install libpng # Intel Macs
/usr/local/bin/brew install libpng # Apple Silicon (M1) Macs
```
libpng is now installed.
Continue to [Installing devkitARM (macOS)](#installing-devkitarm-macos) if **devkitARM is not installed**, otherwise, go to [Choosing where to store pokefirered (macOS)](#choosing-where-to-store-pokefirered-macos).
### Installing devkitARM (macOS)
1. Download the `devkitpro-pacman-installer.pkg` package from [here](https://github.com/devkitPro/pacman/releases).
2. Open the package to install devkitPro pacman.
3. In the Terminal, run the following commands to install devkitARM:
```bash
sudo dkp-pacman -Sy
sudo dkp-pacman -S gba-dev
sudo dkp-pacman -S devkitarm-rules
```
The command with gba-dev will ask for the selection of packages to install. Just press Enter to install all of them, followed by entering Y to proceed with the installation.
4. After the tools are installed, devkitARM must now be made accessible from anywhere by the system. To do so, run the following commands:
```bash
export DEVKITPRO=/opt/devkitpro
echo "export DEVKITPRO=$DEVKITPRO" >> ~/.bashrc # Intel Macs
echo "export DEVKITPRO=$DEVKITPRO" >> ~/.zshrc # Apple Silicon (M1) Macs
export DEVKITARM=$DEVKITPRO/devkitARM
echo "export DEVKITARM=$DEVKITARM" >> ~/.bashrc # Intel Macs
echo "export DEVKITARM=$DEVKITARM" >> ~/.zshrc # Apple Silicon (M1) Macs
echo "if [ -f ~/.bashrc ]; then . ~/.bashrc; fi" >> ~/.bash_profile # Intel Macs
echo "if [ -f ~/.zshrc ]; then . ~/.zshrc; fi" >> ~/.zprofile # Apple Silicon (M1) Macs
```
### Choosing where to store pokefirered (macOS)
At this point, you can choose a folder to store pokefirered into. If you're okay with storing pokefirered in the user folder, then proceed to [Installation](#installation). Otherwise, you'll need to account for where pokefirered is stored when changing directory to the pokefirered folder.
For example, if you want to store pokefirered (and agbcc) in **~/Desktop/decomps**, enter this command to **change directory** to the desired folder:
```bash
cd Desktop/decomps
```
Note that the directory **must exist** in the folder system. If you want to store pokefirered in a dedicated folder that doesn't exist (e.g. the example provided above), then create the folder (e.g. using Finder) before executing the `cd` command.
<details>
<summary><i>Note..</i>.</summary>
> Note: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "Desktop/decomp folder"`
</details>
If this works, then proceed to [Installation](#installation). Otherwise, ask for help on Discord or IRC (see [README.md](README.md)).
## Linux
Open Terminal and enter the following commands, depending on which distro you're using.
### Debian/Ubuntu-based distributions
Run the following command to install the necessary packages:
```bash
sudo apt install build-essential binutils-arm-none-eabi git libpng-dev
```
Then proceed to [Choosing where to store pokefirered (Linux)](#choosing-where-to-store-pokefirered-linux).
<details>
<summary><i>Note for legacy repos...</i></summary>
> If the repository you plan to build has an **[older revision of the INSTALL.md](https://github.com/pret/pokefirered/blob/571c598/INSTALL.md)**,
> then you will have to install devkitARM. Install all the above packages except binutils-arm-none-eabi, and follow the instructions to
> [install devkitARM on Debian/Ubuntu-based distributions](#installing-devkitarm-on-debianubuntu-based-distributions).
</details>
### Other distributions
_(Specific instructions for other distributions would be greatly appreciated!)_
1. Try to find the required software in its repositories:
- `gcc`
- `g++`
- `make`
- `git`
- `libpng-dev`
2. Follow the instructions [here](https://devkitpro.org/wiki/devkitPro_pacman) to install devkitPro pacman. As a reminder, the goal is to configure an existing pacman installation to recognize devkitPro's repositories.
3. Once devkitPro pacman is configured, run the following commands:
```bash
sudo pacman -Sy
sudo pacman -S gba-dev
```
The last command will ask for the selection of packages to install. Just press Enter to install all of them, followed by entering Y to proceed with the installation.
### Choosing where to store pokefirered (Linux)
At this point, you can choose a folder to store pokefirered (and agbcc) into. If so, you'll have to account for the modified folder path when changing directory to the pokefirered folder.
If this works, then proceed to [Installation](#installation). Otherwise, ask for help on Discord or IRC (see [README.md](README.md)).
## Installation
<details>
<summary><i>Note for Windows users...</i></summary>
> Consider adding an exception for the `pokefirered` and/or `decomps` folder in Windows Security using
> [these instructions](https://support.microsoft.com/help/4028485). This prevents Microsoft Defender from
> scanning them which might improve performance while building.
</details>
1. If pokefirered is not already downloaded (some users may prefer to download pokefirered via a git client like GitHub Desktop), run:
```bash
git clone https://github.com/pret/pokefirered
```
<details>
<summary><i>Note for WSL1...</i></summary>
> If you get an error stating `fatal: could not set 'core.filemode' to 'false'`, then run the following commands:
> ```bash
> cd
> sudo umount /mnt/c
> sudo mount -t drvfs C: /mnt/c -o metadata,noatime
> cd <folder where pokefirered is to be stored>
> ```
> Where *\<folder where pokefirered is to be stored>* is the path of the folder [where you chose to store pokefirered](#Choosing-where-to-store-pokefirered-WSL1). Then run the `git clone` command again.
</details>
2. Install agbcc into pokefirered. The commands to run depend on certain conditions. **You should only follow one of the listed instructions**:
- If agbcc has **not been built before** in the folder where you chose to store pokefirered, run the following commands to build and install it into pokefirered:
```bash
git clone https://github.com/pret/agbcc
cd agbcc
./build.sh
./install.sh ../pokefirered
```
- **Otherwise**, if agbcc has been built before (e.g. if the git clone above fails), but was **last built on a different terminal** than the one currently used (only relevant to Windows, e.g. switching from msys2 to WSL1), then run the following commands to build and install it into pokefirered:
```bash
cd agbcc
git clean -fX
./build.sh
./install.sh ../pokefirered
```
- **Otherwise**, if agbcc has been built before on the same terminal, run the following commands to install agbcc into pokefirered:
```bash
cd agbcc
./install.sh ../pokefirered
```
<details>
<summary><i>Note...</i></summary>
> If building agbcc or pokefirered results in an error, try deleting the agbcc folder and re-installing agbcc as if it has not been built before.
</details>
3. Once agbcc is installed, change directory back to the base directory where pokefirered and agbcc are stored:
```bash
cd ..
```
Now you're ready to [build **pokefirered**](#build-pokefirered)
## Build pokefirered
If you aren't in the pokefirered directory already, then **change directory** to the pokefirered folder:
```bash
cd pokefirered
```
To build **pokefirered.gba** (Note: to speed up builds, see [Parallel builds](#parallel-builds)):
```bash
make
```
If it has built successfully you will have the output file **pokefirered.gba** in your project folder.
<details>
<summary>Note for Windows...</summary>
> If you switched terminals since the last build (e.g. from msys2 to WSL1), you must run `make clean-tools` once before any subsequent `make` commands.
</details>
## Build pokeleafgreen and REV1
Pokemon FireRed and LeafGreen were both released together. As such, this project is capable of building both ROMs. To do so, simply run
```bash
make leafgreen
```
This project can also build the version 1.1 ROMs of both FireRed and LeafGreen. To build each, run
```bash
make firered_rev1 # for FireRed 1.1
make leafgreen_rev1 # for LeafGreen 1.1
```
# Building guidance
## Parallel builds
See [the GNU docs](https://www.gnu.org/software/make/manual/html_node/Parallel.html) and [this Stack Exchange thread](https://unix.stackexchange.com/questions/208568) for more information.
To speed up building, first get the value of `nproc` by running the following command:
```bash
nproc
```
Builds can then be sped up by running the following command:
```bash
make -j<output of nproc>
```
Replace `<output of nproc>` with the number that the `nproc` command returned.
`nproc` is not available on macOS. The alternative is `sysctl -n hw.ncpu` ([relevant Stack Overflow thread](https://stackoverflow.com/questions/1715580)).
## Compare ROM to the original
For contributing, or if you'd simply like to verify that your ROM is identical to the original game, run:
```bash
make compare # or compare_leafgreen, compare_firered_rev1, compare_leafgreen_rev1
```
If it matches, you will see the following at the end of the output:
```bash
pokefirered.gba: OK
```
If there are any changes from the original game, you will instead see:
```bash
pokefirered.gba: FAILED
shasum: WARNING: 1 computed checksum did NOT match
```
## devkitARM's C compiler
This project supports the `arm-none-eabi-gcc` compiler included with devkitARM. If devkitARM (a.k.a. gba-dev) has already been installed as part of the platform-specific instructions, simply run:
```bash
make modern # or leafgreen_modern, firered_rev1_modern, leafgreen_rev1_modern
```
Otherwise, follow the instructions below to install devkitARM.
### Installing devkitARM on WSL1
1. `gdebi-core` must be installed beforehand in order to install devkitPro pacman (which facilitates the installation of devkitARM). Install this with the following command:
```bash
sudo apt install gdebi-core
```
<details>
<summary><i>Note...</i></summary>
> If the above command does not work, try the above command but replacing `apt` with `apt-get`.
</details>
2. Once `gdebi-core` is done installing, download the devkitPro pacman package [here](https://github.com/devkitPro/pacman/releases). The file to download is `devkitpro-pacman.amd64.deb`.
3. Change directory to where the package was downloaded. For example, if the package file was saved to **C:\Users\\_\<user>_\Downloads** (the Downloads location for most users), enter this command, where *\<user> is your **Windows** username:
```bash
cd /mnt/c/Users/<user>/Downloads
```
4. Once the directory has been changed to the folder containing the devkitPro pacman package, run the following commands to install devkitARM.
```bash
sudo gdebi devkitpro-pacman.amd64.deb
sudo dkp-pacman -Sy
sudo dkp-pacman -S gba-dev
```
The last command will ask for the selection of packages to install. Just press Enter to install all of them, followed by entering Y to proceed with the installation.
<details>
<summary><i>Note...</i></summary>
> Note: `devkitpro-pacman.amd64.deb` is the expected filename of the devkitPro package downloaded (for the first command). If the downloaded package filename differs, then use that filename instead.
</details>
5. Run the following command to set devkitPro related environment variables (alternatively, close and re-open WSL):
```bash
source /etc/profile.d/devkit-env.sh
```
devkitARM is now installed.
### Installing devkitARM on Debian/Ubuntu-based distributions
1. If `gdebi-core` is not installed, run the following command:
```bash
sudo apt install gdebi-core
```
2. Download the devkitPro pacman package [here](https://github.com/devkitPro/pacman/releases). The file to download is `devkitpro-pacman.amd64.deb`.
3. Change directory to where the package was downloaded. Then, run the following commands to install devkitARM:
```bash
sudo gdebi devkitpro-pacman.amd64.deb
sudo dkp-pacman -Sy
sudo dkp-pacman -S gba-dev
```
The last command will ask for the selection of packages to install. Just press Enter to install all of them, followed by entering Y to proceed with the installation.
> Note: `devkitpro-pacman.amd64.deb` is the expected filename of the devkitPro package downloaded (for the first command). If the downloaded package filename differs, then use that filename instead.
4. Run the following command to set devkitPro related environment variables (alternatively, close and re-open the Terminal):
```bash
source /etc/profile.d/devkit-env.sh
```
devkitARM is now installed.
## Other toolchains
To build using a toolchain other than devkitARM, override the `TOOLCHAIN` environment variable with the path to your toolchain, which must contain the subdirectory `bin`.
```bash
make TOOLCHAIN="/path/to/toolchain/here"
```
The following is an example:
```bash
make TOOLCHAIN="/usr/local/arm-none-eabi"
```
To compile the `modern` target with this toolchain, the subdirectories `lib`, `include`, and `arm-none-eabi` must also be present.
# Useful additional tools
* [porymap](https://github.com/huderlem/porymap) for viewing and editing maps
* [poryscript](https://github.com/huderlem/poryscript) for scripting ([VS Code extension](https://marketplace.visualstudio.com/items?itemName=karathan.poryscript))
* [Tilemap Studio](https://github.com/Rangi42/tilemap-studio) for viewing and editing tilemaps
================================================
FILE: Makefile
================================================
TOOLCHAIN := $(DEVKITARM)
COMPARE ?= 0
# don't use dkP's base_tools anymore
# because the redefinition of $(CC) conflicts
# with when we want to use $(CC) to preprocess files
# thus, manually create the variables for the bin
# files, or use arm-none-eabi binaries on the system
# if dkP is not installed on this system
ifneq (,$(TOOLCHAIN))
ifneq ($(wildcard $(TOOLCHAIN)/bin),)
export PATH := $(TOOLCHAIN)/bin:$(PATH)
endif
endif
PREFIX := arm-none-eabi-
OBJCOPY := $(PREFIX)objcopy
OBJDUMP := $(PREFIX)objdump
AS := $(PREFIX)as
LD := $(PREFIX)ld
# note: the makefile must be set up so MODERNCC is never called
# if MODERN=0
MODERNCC := $(PREFIX)gcc
ifeq ($(OS),Windows_NT)
EXE := .exe
else
EXE :=
endif
# use arm-none-eabi-cpp for macOS
# as macOS's default compiler is clang
# and clang's preprocessor will warn on \u
# when preprocessing asm files, expecting a unicode literal
# we can't unconditionally use arm-none-eabi-cpp
# as installations which install binutils-arm-none-eabi
# don't come with it
ifneq ($(MODERN),1)
ifeq ($(shell uname -s),Darwin)
CPP := $(PREFIX)cpp
else
CPP := $(CC) -E
endif
else
CPP := $(PREFIX)cpp
endif
include config.mk
GCC_VER = $(shell $(CC) -dumpversion)
ifeq ($(MODERN),0)
CC1 := tools/agbcc/bin/agbcc$(EXE)
override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm
LIBPATH := -L ../../tools/agbcc/lib
else
CC1 := $(shell $(MODERNCC) --print-prog-name=cc1) -quiet
override CFLAGS += -mthumb -mthumb-interwork -O2 -mcpu=arm7tdmi -mabi=apcs-gnu -fno-toplevel-reorder -fno-aggressive-loop-optimizations -Wno-pointer-to-int-cast
LIBPATH := -L $(shell dirname $(shell $(MODERNCC) --print-file-name=libgcc.a)) -L $(shell dirname $(shell $(MODERNCC) --print-file-name=libc.a))
endif
CPPFLAGS := -iquote include -D$(GAME_VERSION) -DREVISION=$(GAME_REVISION) -D$(GAME_LANGUAGE) -DMODERN=$(MODERN)
ifeq ($(MODERN),0)
CPPFLAGS += -I tools/agbcc -I tools/agbcc/include -nostdinc -undef
endif
SHELL := /bin/bash -o pipefail
ROM := poke$(BUILD_NAME).gba
OBJ_DIR := build/$(BUILD_NAME)
ELF = $(ROM:.gba=.elf)
MAP = $(ROM:.gba=.map)
SYM = $(ROM:.gba=.sym)
C_SUBDIR = src
DATA_C_SUBDIR = src/data
ASM_SUBDIR = asm
DATA_ASM_SUBDIR = data
SONG_SUBDIR = sound/songs
MID_SUBDIR = sound/songs/midi
SAMPLE_SUBDIR = sound/direct_sound_samples
CRY_SUBDIR = sound/direct_sound_samples/cries
C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR)
ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR)
DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR)
SONG_BUILDDIR = $(OBJ_DIR)/$(SONG_SUBDIR)
MID_BUILDDIR = $(OBJ_DIR)/$(MID_SUBDIR)
ASFLAGS := -mcpu=arm7tdmi --defsym $(GAME_VERSION)=1 --defsym REVISION=$(GAME_REVISION) --defsym $(GAME_LANGUAGE)=1 --defsym MODERN=$(MODERN)
LDFLAGS = -Map ../../$(MAP)
LIB := $(LIBPATH) -lc -lgcc
ifneq ($(MODERN),0)
ifneq ($(DEVKITARM),)
ifeq ($(TOOLCHAIN),$(DEVKITARM))
LIB += -lsysbase -lc
endif
endif
LIB += -lnosys
endif
SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c
GFX := tools/gbagfx/gbagfx
AIF := tools/aif2pcm/aif2pcm
MID := tools/mid2agb/mid2agb
SCANINC := tools/scaninc/scaninc
PREPROC := tools/preproc/preproc
RAMSCRGEN := tools/ramscrgen/ramscrgen
FIX := tools/gbafix/gbafix
MAPJSON := tools/mapjson/mapjson
JSONPROC := tools/jsonproc/jsonproc
PERL := perl
# Clear the default suffixes
.SUFFIXES:
# Don't delete intermediate files
.SECONDARY:
# Delete files that weren't built properly
.DELETE_ON_ERROR:
# Secondary expansion is required for dependency variables in object rules.
.SECONDEXPANSION:
$(shell mkdir -p $(C_BUILDDIR) $(ASM_BUILDDIR) $(DATA_ASM_BUILDDIR) $(SONG_BUILDDIR) $(MID_BUILDDIR))
infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line))))
# Build tools when building the rom
# Disable dependency scanning for clean/tidy/tools
ifeq (,$(filter-out all compare syms modern,$(MAKECMDGOALS)))
$(call infoshell, $(MAKE) tools)
else
NODEP := 1
endif
C_SRCS := $(wildcard $(C_SUBDIR)/*.c)
C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS))
C_ASM_SRCS += $(wildcard $(C_SUBDIR)/*.s $(C_SUBDIR)/*/*.s $(C_SUBDIR)/*/*/*.s)
C_ASM_OBJS := $(patsubst $(C_SUBDIR)/%.s,$(C_BUILDDIR)/%.o,$(C_ASM_SRCS))
ASM_SRCS := $(wildcard $(ASM_SUBDIR)/*.s)
ASM_OBJS := $(patsubst $(ASM_SUBDIR)/%.s,$(ASM_BUILDDIR)/%.o,$(ASM_SRCS))
# get all the data/*.s files EXCEPT the ones with specific rules
REGULAR_DATA_ASM_SRCS := $(filter-out $(DATA_ASM_SUBDIR)/maps.s $(DATA_ASM_SUBDIR)/map_events.s, $(wildcard $(DATA_ASM_SUBDIR)/*.s))
DATA_ASM_SRCS := $(wildcard $(DATA_ASM_SUBDIR)/*.s)
DATA_ASM_OBJS := $(patsubst $(DATA_ASM_SUBDIR)/%.s,$(DATA_ASM_BUILDDIR)/%.o,$(DATA_ASM_SRCS))
SONG_SRCS := $(wildcard $(SONG_SUBDIR)/*.s)
SONG_OBJS := $(patsubst $(SONG_SUBDIR)/%.s,$(SONG_BUILDDIR)/%.o,$(SONG_SRCS))
MID_SRCS := $(wildcard $(MID_SUBDIR)/*.mid)
MID_OBJS := $(patsubst $(MID_SUBDIR)/%.mid,$(MID_BUILDDIR)/%.o,$(MID_SRCS))
OBJS := $(C_OBJS) $(C_ASM_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS)
OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS))
TOOLDIRS := $(filter-out tools/agbcc tools/binutils tools/analyze_source,$(wildcard tools/*))
TOOLBASE = $(TOOLDIRS:tools/%=%)
TOOLS = $(foreach tool,$(TOOLBASE),tools/$(tool)/$(tool)$(EXE))
ALL_BUILDS := firered firered_rev1 leafgreen leafgreen_rev1
ALL_BUILDS += $(ALL_BUILDS:%=%_modern)
.PHONY: all rom tools clean-tools mostlyclean clean compare tidy syms $(TOOLDIRS) $(ALL_BUILDS) $(ALL_BUILDS:%=compare_%) modern
MAKEFLAGS += --no-print-directory
AUTO_GEN_TARGETS :=
all: tools rom
syms: $(SYM)
rom: $(ROM)
ifeq ($(COMPARE),1)
@$(SHA1) $(BUILD_NAME).sha1
endif
tools: $(TOOLDIRS)
$(TOOLDIRS):
@$(MAKE) -C $@
# For contributors to make sure a change didn't affect the contents of the ROM.
compare:
@$(MAKE) COMPARE=1
mostlyclean: tidy
rm -f $(SAMPLE_SUBDIR)/*.bin
rm -f $(CRY_SUBDIR)/*.bin
$(RM) $(SONG_OBJS) $(MID_SUBDIR)/*.s
find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} +
$(RM) $(DATA_ASM_SUBDIR)/layouts/layouts.inc $(DATA_ASM_SUBDIR)/layouts/layouts_table.inc
$(RM) $(DATA_ASM_SUBDIR)/maps/connections.inc $(DATA_ASM_SUBDIR)/maps/events.inc $(DATA_ASM_SUBDIR)/maps/groups.inc $(DATA_ASM_SUBDIR)/maps/headers.inc
find $(DATA_ASM_SUBDIR)/maps \( -iname 'connections.inc' -o -iname 'events.inc' -o -iname 'header.inc' \) -exec rm {} +
$(RM) $(AUTO_GEN_TARGETS)
clean-tools:
@$(foreach tooldir,$(TOOLDIRS),$(MAKE) clean -C $(tooldir);)
clean: mostlyclean clean-tools
tidy:
$(RM) $(ALL_BUILDS:%=poke%{.gba,.elf,.map})
$(RM) -r build
include graphics_file_rules.mk
include tileset_rules.mk
include map_data_rules.mk
include spritesheet_rules.mk
include json_data_rules.mk
include songs.mk
%.s: ;
%.png: ;
%.pal: ;
%.aif: ;
%.1bpp: %.png ; $(GFX) $< $@
%.4bpp: %.png ; $(GFX) $< $@
%.8bpp: %.png ; $(GFX) $< $@
%.gbapal: %.pal ; $(GFX) $< $@
%.gbapal: %.png ; $(GFX) $< $@
%.lz: % ; $(GFX) $< $@
%.rl: % ; $(GFX) $< $@
$(CRY_SUBDIR)/%.bin: $(CRY_SUBDIR)/%.aif ; $(AIF) $< $@ --compress
sound/%.bin: sound/%.aif ; $(AIF) $< $@
sound/songs/%.s: sound/songs/%.mid
$(MID) $< $@
ifeq ($(MODERN),0)
$(C_BUILDDIR)/agb_flash.o: CFLAGS := -O -mthumb-interwork
$(C_BUILDDIR)/agb_flash_1m.o: CFLAGS := -O -mthumb-interwork
$(C_BUILDDIR)/agb_flash_mx.o: CFLAGS := -O -mthumb-interwork
$(C_BUILDDIR)/m4a.o: CC1 := tools/agbcc/bin/old_agbcc$(EXE)
$(C_BUILDDIR)/isagbprn.o: CC1 := tools/agbcc/bin/old_agbcc$(EXE)
$(C_BUILDDIR)/isagbprn.o: CFLAGS := -mthumb-interwork
$(C_BUILDDIR)/trainer_tower.o: CFLAGS += -ffreestanding
$(C_BUILDDIR)/battle_anim_flying.o: CFLAGS += -ffreestanding
$(C_BUILDDIR)/librfu_intr.o: CC1 := tools/agbcc/bin/agbcc_arm$(EXE)
$(C_BUILDDIR)/librfu_intr.o: CFLAGS := -O2 -mthumb-interwork -quiet
else
$(C_BUILDDIR)/berry_crush_2.o: CFLAGS += -Wno-address-of-packed-member
$(C_BUILDDIR)/berry_crush_3.o: CFLAGS += -Wno-address-of-packed-member
$(C_BUILDDIR)/braille_text.o: CFLAGS += -Wno-address-of-packed-member
$(C_BUILDDIR)/text.o: CFLAGS += -Wno-address-of-packed-member
$(C_BUILDDIR)/battle_tower.o: CFLAGS += -Wno-div-by-zero
$(C_BUILDDIR)/librfu_intr.o: override CFLAGS += -marm -mthumb-interwork -O2 -mtune=arm7tdmi -march=armv4t -mabi=apcs-gnu -fno-toplevel-reorder -fno-aggressive-loop-optimizations -Wno-pointer-to-int-cast
endif
ifeq ($(NODEP),1)
$(C_BUILDDIR)/%.o: c_dep :=
else
$(C_BUILDDIR)/%.o: c_dep = $(shell [[ -f $(C_SUBDIR)/$*.c ]] && $(SCANINC) -I include -I tools/agbcc/include $(C_SUBDIR)/$*.c)
endif
ifeq ($(DINFO),1)
override CFLAGS += -g
endif
$(C_BUILDDIR)/%.o : $(C_SUBDIR)/%.c $$(c_dep)
@$(CPP) $(CPPFLAGS) $< -o $(C_BUILDDIR)/$*.i
@$(PREPROC) $(C_BUILDDIR)/$*.i charmap.txt | $(CC1) $(CFLAGS) -o $(C_BUILDDIR)/$*.s
@echo -e ".text\n\t.align\t2, 0 @ Don't pad with nop\n" >> $(C_BUILDDIR)/$*.s
$(AS) $(ASFLAGS) -o $@ $(C_BUILDDIR)/$*.s
ifeq ($(NODEP),1)
$(C_BUILDDIR)/%.o: c_asm_dep :=
else
$(C_BUILDDIR)/%.o: c_asm_dep = $(shell [[ -f $(C_SUBDIR)/$*.s ]] && $(SCANINC) -I "" $(C_SUBDIR)/$*.s)
endif
$(C_BUILDDIR)/%.o: $(C_SUBDIR)/%.s $$(c_asm_dep)
$(AS) $(ASFLAGS) -o $@ $<
ifeq ($(NODEP),1)
$(DATA_ASM_BUILDDIR)/%.o: data_dep :=
else
$(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) -I . $(DATA_ASM_SUBDIR)/$*.s)
endif
ifeq ($(NODEP),1)
$(ASM_BUILDDIR)/%.o: $(ASM_SUBDIR)/%.s
$(AS) $(ASFLAGS) -o $@ $<
else
define ASM_DEP
$1: $2 $$(shell $(SCANINC) -I include -I "" $2)
$$(AS) $$(ASFLAGS) -o $$@ $$<
endef
$(foreach src, $(ASM_SRCS), $(eval $(call ASM_DEP,$(patsubst $(ASM_SUBDIR)/%.s,$(ASM_BUILDDIR)/%.o, $(src)),$(src))))
endif
ifeq ($(NODEP),1)
$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s
$(PREPROC) $< charmap.txt | $(CPP) -I include - | $(AS) $(ASFLAGS) -o $@
else
define DATA_ASM_DEP
$1: $2 $$(shell $(SCANINC) -I include -I "" $2)
$$(PREPROC) $$< charmap.txt | $$(CPP) -I include - | $$(AS) $$(ASFLAGS) -o $$@
endef
$(foreach src, $(REGULAR_DATA_ASM_SRCS), $(eval $(call DATA_ASM_DEP,$(patsubst $(DATA_ASM_SUBDIR)/%.s,$(DATA_ASM_BUILDDIR)/%.o, $(src)),$(src))))
endif
$(SONG_BUILDDIR)/%.o: $(SONG_SUBDIR)/%.s
$(AS) $(ASFLAGS) -I sound -o $@ $<
$(OBJ_DIR)/sym_bss.ld: sym_bss.txt
$(RAMSCRGEN) .bss $< ENGLISH > $@
$(OBJ_DIR)/sym_common.ld: sym_common.txt $(C_OBJS) $(wildcard common_syms/*.txt)
$(RAMSCRGEN) COMMON $< ENGLISH -c $(C_BUILDDIR),common_syms > $@
$(OBJ_DIR)/sym_ewram.ld: sym_ewram.txt
$(RAMSCRGEN) ewram_data $< ENGLISH > $@
ifeq ($(MODERN),0)
LD_SCRIPT := ld_script.ld
LD_SCRIPT_DEPS := $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_common.ld $(OBJ_DIR)/sym_ewram.ld
else
LD_SCRIPT := ld_script_modern.ld
LD_SCRIPT_DEPS :=
endif
$(ELF): $(LD_SCRIPT) $(LD_SCRIPT_DEPS) $(OBJS)
@cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ../../$< -o ../../$@ $(OBJS_REL) $(LIB)
$(FIX) $@ -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(GAME_REVISION) --silent
$(ROM): $(ELF)
$(OBJCOPY) -O binary --gap-fill 0xFF --pad-to 0x9000000 $< $@
# "friendly" target names for convenience sake
firered: ; @$(MAKE) GAME_VERSION=FIRERED
firered_rev1: ; @$(MAKE) GAME_VERSION=FIRERED GAME_REVISION=1
leafgreen: ; @$(MAKE) GAME_VERSION=LEAFGREEN
leafgreen_rev1: ; @$(MAKE) GAME_VERSION=LEAFGREEN GAME_REVISION=1
compare_firered: ; @$(MAKE) GAME_VERSION=FIRERED COMPARE=1
compare_firered_rev1: ; @$(MAKE) GAME_VERSION=FIRERED GAME_REVISION=1 COMPARE=1
compare_leafgreen: ; @$(MAKE) GAME_VERSION=LEAFGREEN COMPARE=1
compare_leafgreen_rev1: ; @$(MAKE) GAME_VERSION=LEAFGREEN GAME_REVISION=1 COMPARE=1
firered_modern: ; @$(MAKE) GAME_VERSION=FIRERED MODERN=1
firered_rev1_modern: ; @$(MAKE) GAME_VERSION=FIRERED GAME_REVISION=1 MODERN=1
leafgreen_modern: ; @$(MAKE) GAME_VERSION=LEAFGREEN MODERN=1
leafgreen_rev1_modern: ; @$(MAKE) GAME_VERSION=LEAFGREEN GAME_REVISION=1 MODERN=1
modern: ; @$(MAKE) MODERN=1
###################
### Symbol file ###
###################
$(SYM): $(ELF)
$(OBJDUMP) -t $< | sort -u | grep -E "^0[2389]" | $(PERL) -p -e 's/^(\w{8}) (\w).{6} \S+\t(\w{8}) (\S+)$$/\1 \2 \3 \4/g' > $@
================================================
FILE: README.md
================================================
# Pokémon FireRed and LeafGreen+
This is the repository for the Pokémon FireRed and LeafGreen+ hack, based on [pret's decompilation of Pokémon FireRed and LeafGreen](https://github.com/pret/pokefirered).
* [**View the FAQ**](https://github.com/Deokishisu/FRLG-Plus/blob/master/FAQ.md)
* [**View the full features list**](https://github.com/Deokishisu/FRLG-Plus/blob/master/FEATURES.md)
* [**Download the patch**](https://github.com/Deokishisu/FRLG-Plus/releases/latest)
* Please direct questions and comments to [**the PokéCommunity thread**](https://www.pokecommunity.com/showthread.php?t=454382).
* Support Development
* [I have a Ko-fi link](https://ko-fi.com/deokishisu), tips are appreciated!
## See also
For other pret projects, see [pret.github.io](https://pret.github.io/).
## Discord server for pret
You can find pret on [Discord](https://discord.gg/d5dubZ3). This is not the Discord server for this hack.
================================================
FILE: asm/macros/asm.inc
================================================
.ifndef GUARD_ASM_MACROS_ASM_INC
.set GUARD_ASM_MACROS_ASM_INC, 1
.macro inc x
.set \x, \x + 1
.endm
.macro enum_start x=0
.set __enum__, \x
.endm
.macro enum constant
.equiv \constant, __enum__
inc __enum__
.endm
.endif @ GUARD_ASM_MACROS_ASM_INC
================================================
FILE: asm/macros/battle_ai_script.inc
================================================
.macro if_random_less_than percent:req, ptr:req
.byte 0x00
.byte \percent
.4byte \ptr
.endm
@ unused
.macro if_random_greater_than percent:req, ptr:req
.byte 0x01
.byte \percent
.4byte \ptr
.endm
@ unused
.macro if_random_equal ptr:req
.byte 0x02
.4byte \ptr
.endm
@ unused
.macro if_random_not_equal ptr:req
.byte 0x03
.4byte \ptr
.endm
.macro score score:req
.byte 0x04
.byte \score
.endm
.macro if_hp_less_than battler:req, percent:req, ptr:req
.byte 0x05
.byte \battler
.byte \percent
.4byte \ptr
.endm
.macro if_hp_more_than battler:req, percent:req, ptr:req
.byte 0x06
.byte \battler
.byte \percent
.4byte \ptr
.endm
.macro if_hp_equal battler:req, percent:req, ptr:req
.byte 0x07
.byte \battler
.byte \percent
.4byte \ptr
.endm
.macro if_hp_not_equal battler:req, percent:req, ptr:req
.byte 0x08
.byte \battler
.byte \percent
.4byte \ptr
.endm
.macro if_status battler:req, status:req, ptr:req
.byte 0x09
.byte \battler
.4byte \status
.4byte \ptr
.endm
.macro if_not_status battler:req, status:req, ptr:req
.byte 0x0a
.byte \battler
.4byte \status
.4byte \ptr
.endm
.macro if_status2 battler:req, status:req, ptr:req
.byte 0x0b
.byte \battler
.4byte \status
.4byte \ptr
.endm
.macro if_not_status2 battler:req, status:req, ptr:req
.byte 0x0c
.byte \battler
.4byte \status
.4byte \ptr
.endm
.macro if_status3 battler:req, status:req, ptr:req
.byte 0x0d
.byte \battler
.4byte \status
.4byte \ptr
.endm
.macro if_not_status3 battler:req, status:req, ptr:req
.byte 0x0e
.byte \battler
.4byte \status
.4byte \ptr
.endm
.macro if_side_affecting battler:req, status:req, ptr:req
.byte 0x0f
.byte \battler
.4byte \status
.4byte \ptr
.endm
.macro if_not_side_affecting battler:req, status:req, ptr:req
.byte 0x10
.byte \battler
.4byte \status
.4byte \ptr
.endm
.macro if_less_than value:req, ptr:req
.byte 0x11
.byte \value
.4byte \ptr
.endm
.macro if_more_than value:req, ptr:req
.byte 0x12
.byte \value
.4byte \ptr
.endm
.macro if_equal value:req, ptr:req
.byte 0x13
.byte \value
.4byte \ptr
.endm
.macro if_not_equal value:req, ptr:req
.byte 0x14
.byte \value
.4byte \ptr
.endm
.macro if_less_than_ptr value:req, ptr:req
.byte 0x15
.4byte \value
.4byte \ptr
.endm
.macro if_more_than_ptr value:req, ptr:req
.byte 0x16
.4byte \value
.4byte \ptr
.endm
.macro if_equal_ptr value:req, ptr:req
.byte 0x17
.4byte \value
.4byte \ptr
.endm
.macro if_not_equal_ptr value:req, ptr:req
.byte 0x18
.4byte \value
.4byte \ptr
.endm
.macro if_move move:req, ptr:req
.byte 0x19
.2byte \move
.4byte \ptr
.endm
.macro if_not_move move:req, ptr:req
.byte 0x1a
.2byte \move
.4byte \ptr
.endm
.macro if_in_bytes list:req, ptr:req
.byte 0x1b
.4byte \list
.4byte \ptr
.endm
.macro if_not_in_bytes list:req, ptr:req
.byte 0x1c
.4byte \list
.4byte \ptr
.endm
.macro if_in_hwords list:req, ptr:req
.byte 0x1d
.4byte \list
.4byte \ptr
.endm
.macro if_not_in_hwords list:req, ptr:req
.byte 0x1e
.4byte \list
.4byte \ptr
.endm
.macro if_user_has_attacking_move ptr:req
.byte 0x1f
.4byte \ptr
.endm
.macro if_user_has_no_attacking_moves ptr:req
.byte 0x20
.4byte \ptr
.endm
.macro get_turn_count
.byte 0x21
.endm
.macro get_type byte:req
.byte 0x22
.byte \byte
.endm
@ unused
.macro get_considered_move_power
.byte 0x23
.endm
.macro get_how_powerful_move_is
.byte 0x24
.endm
.macro get_last_used_move battler:req
.byte 0x25
.byte \battler
.endm
.macro if_equal_ type:req, ptr:req
.byte 0x26
.byte \type
.4byte \ptr
.endm
@ unused
.macro if_not_equal_ type:req, ptr:req
.byte 0x27
.byte \type
.4byte \ptr
.endm
.macro if_would_go_first battler:req, ptr:req
.byte 0x28
.byte \battler
.4byte \ptr
.endm
.macro if_would_not_go_first battler:req, ptr:req
.byte 0x29
.byte \battler
.4byte \ptr
.endm
@ nullsub
.macro ai_2a
.byte 0x2a
.endm
@ nullsub
.macro ai_2b
.byte 0x2b
.endm
.macro count_alive_pokemon battler:req
.byte 0x2c
.byte \battler
.endm
@ unused
.macro get_considered_move
.byte 0x2d
.endm
.macro get_considered_move_effect
.byte 0x2e
.endm
.macro get_ability battler:req
.byte 0x2f
.byte \battler
.endm
@ unused
.macro get_highest_type_effectiveness
.byte 0x30
.endm
.macro if_type_effectiveness effectiveness:req, ptr:req
.byte 0x31
.byte \effectiveness
.4byte \ptr
.endm
@ nullsub
.macro ai_32
.byte 0x32
.endm
@ nullsub
.macro ai_33
.byte 0x33
.endm
.macro if_status_in_party battler:req, status:req, ptr:req
.byte 0x34
.byte \battler
.4byte \status
.4byte \ptr
.endm
@ bugged
.macro if_status_not_in_party battler:req, status:req, ptr:req
.byte 0x35
.byte \battler
.4byte \status
.4byte \ptr
.endm
.macro get_weather
.byte 0x36
.endm
.macro if_effect byte:req, ptr:req
.byte 0x37
.byte \byte
.4byte \ptr
.endm
.macro if_not_effect byte:req, ptr:req
.byte 0x38
.byte \byte
.4byte \ptr
.endm
.macro if_stat_level_less_than battler:req, stat:req, level:req, ptr:req
.byte 0x39
.byte \battler
.byte \stat
.byte \level
.4byte \ptr
.endm
.macro if_stat_level_more_than battler:req, stat:req, level:req, ptr:req
.byte 0x3a
.byte \battler
.byte \stat
.byte \level
.4byte \ptr
.endm
.macro if_stat_level_equal battler:req, stat:req, level:req, ptr:req
.byte 0x3b
.byte \battler
.byte \stat
.byte \level
.4byte \ptr
.endm
.macro if_stat_level_not_equal battler:req, stat:req, level:req, ptr:req
.byte 0x3c
.byte \battler
.byte \stat
.byte \level
.4byte \ptr
.endm
.macro if_can_faint ptr:req
.byte 0x3d
.4byte \ptr
.endm
.macro if_cant_faint ptr:req
.byte 0x3e
.4byte \ptr
.endm
@ unused
.macro if_has_move battler:req, move:req, ptr:req
.byte 0x3f
.byte \battler
.2byte \move
.4byte \ptr
.endm
@ unused
.macro if_doesnt_have_move battler:req, move:req, ptr:req
.byte 0x40
.byte \battler
.2byte \move
.4byte \ptr
.endm
.macro if_has_move_with_effect battler:req, effect:req, ptr:req
.byte 0x41
.byte \battler
.byte \effect
.4byte \ptr
.endm
.macro if_doesnt_have_move_with_effect battler:req, effect:req, ptr:req
.byte 0x42
.byte \battler
.byte \effect
.4byte \ptr
.endm
.macro if_any_move_disabled_or_encored battler:req, byte:req, ptr:req
.byte 0x43
.byte \battler
.byte \byte
.4byte \ptr
.endm
.macro if_curr_move_disabled_or_encored battler:req, ptr:req
.byte 0x44
.byte \battler
.4byte \ptr
.endm
.macro flee
.byte 0x45
.endm
.macro if_random_safari_flee ptr:req
.byte 0x46
.4byte \ptr
.endm
.macro watch
.byte 0x47
.endm
.macro get_hold_effect battler:req
.byte 0x48
.byte \battler
.endm
.macro get_gender battler:req
.byte 0x49
.byte \battler
.endm
.macro is_first_turn_for battler:req
.byte 0x4a
.byte \battler
.endm
.macro get_stockpile_count battler:req
.byte 0x4b
.byte \battler
.endm
.macro is_double_battle
.byte 0x4c
.endm
.macro get_used_held_item battler:req
.byte 0x4d
.byte \battler
.endm
.macro get_move_type_from_result
.byte 0x4e
.endm
.macro get_move_power_from_result
.byte 0x4f
.endm
.macro get_move_effect_from_result
.byte 0x50
.endm
.macro get_protect_count battler:req
.byte 0x51
.byte \battler
.endm
@ nullsub
.macro ai_52
.byte 0x52
.endm
@ nullsub
.macro ai_53
.byte 0x53
.endm
@ nullsub
.macro ai_54
.byte 0x54
.endm
@ nullsub
.macro ai_55
.byte 0x55
.endm
@ nullsub
.macro ai_56
.byte 0x56
.endm
@ nullsub
.macro ai_57
.byte 0x57
.endm
@ unused
.macro call ptr:req
.byte 0x58
.4byte \ptr
.endm
.macro goto ptr:req
.byte 0x59
.4byte \ptr
.endm
.macro end
.byte 0x5a
.endm
.macro if_level_cond cond:req, ptr:req
.byte 0x5b
.byte \cond
.4byte \ptr
.endm
.macro if_user_higher_level ptr:req
if_level_cond 0, \ptr
.endm
.macro if_target_higher_level ptr:req
if_level_cond 1, \ptr
.endm
.macro if_equal_levels ptr:req
if_level_cond 2, \ptr
.endm
@ unused
.macro if_target_taunted ptr:req
.byte 0x5c
.4byte \ptr
.endm
.macro if_target_not_taunted ptr:req
.byte 0x5d
.4byte \ptr
.endm
@ useful script macros
.macro get_curr_move_type
get_type AI_TYPE_MOVE
.endm
.macro get_user_type1
get_type AI_TYPE1_USER
.endm
.macro get_user_type2
get_type AI_TYPE2_USER
.endm
.macro get_target_type1
get_type AI_TYPE1_TARGET
.endm
.macro get_target_type2
get_type AI_TYPE2_TARGET
.endm
.macro if_target_faster ptr:req
if_would_go_first 1, \ptr
.endm
.macro if_user_faster ptr:req
if_would_go_first 0, \ptr
.endm
.macro if_double_battle ptr:req
is_double_battle
if_equal 1, \ptr
.endm
.macro if_not_double_battle ptr:req
is_double_battle
if_equal 0, \ptr
.endm
.macro if_any_move_disabled battler:req, ptr:req
if_any_move_disabled_or_encored \battler, 0, \ptr
.endm
.macro if_any_move_encored battler:req, ptr:req
if_any_move_disabled_or_encored \battler, 1, \ptr
.endm
================================================
FILE: asm/macros/battle_anim.inc
================================================
.macro loadsprite id
.byte 0x00
.2byte \id
.endm
.macro unloadsprite id
.byte 0x01
.2byte \id
.endm
.macro sprite template, priority, argv:vararg
.byte 0x02
.4byte \template
.byte \priority
.byte (.Lsprite_\@_2 - .Lsprite_\@_1) / 2
.Lsprite_\@_1:
.2byte \argv
.Lsprite_\@_2:
.endm
.macro createtask addr, priority, argv:vararg
.byte 0x03
.4byte \addr
.byte \priority
.byte (.Lcreatetask_\@_2 - .Lcreatetask_\@_1) / 2
.Lcreatetask_\@_1:
.2byte \argv
.Lcreatetask_\@_2:
.endm
.macro pause delay
.byte 0x04
.byte \delay
.endm
.macro wait
.byte 0x05
.endm
.macro hang1
.byte 0x06
.endm
.macro hang2
.byte 0x07
.endm
.macro end
.byte 0x08
.endm
.macro playse id
.byte 0x09
.2byte \id
.endm
.macro monbg which
.byte 0x0A
.byte \which
.endm
.macro clearmonbg which
.byte 0x0B
.byte \which
.endm
.macro setalpha eva, evb
.byte 0x0C
.2byte ((\evb) << 8) | (\eva)
.endm
.macro blendoff
.byte 0x0D
.endm
.macro call addr
.byte 0x0E
.4byte \addr
.endm
.macro ret
.byte 0x0F
.endm
.macro setvar var_num, value
.byte 0x10
.byte \var_num
.2byte \value
.endm
.macro ifelse addr1, addr2
.byte 0x11
.4byte \addr1
.4byte \addr2
.endm
.macro jumpif cond, addr
.byte 0x12
.byte \cond
.4byte \addr
.endm
.macro jump addr
.byte 0x13
.4byte \addr
.endm
.macro fadetobg id
.byte 0x14
.byte \id
.endm
.macro restorebg
.byte 0x15
.endm
.macro waitbgfadeout
.byte 0x16
.endm
.macro waitbgfadein
.byte 0x17
.endm
.macro changebg id
.byte 0x18
.byte \id
.endm
.macro panse_19 id, pan
.byte 0x19
.2byte \id
.byte \pan
.endm
.macro setpan pan
.byte 0x1A
.byte \pan
.endm
.macro panse_1B id, pan_start, pan_end, step, delay
.byte 0x1B
.2byte \id
.byte \pan_start
.byte \pan_end
.byte \step
.byte \delay
.endm
.macro panse_1C id, pan, delay, count
.byte 0x1C
.2byte \id
.byte \pan
.byte \delay
.byte \count
.endm
.macro panse_1D id, pan, count
.byte 0x1D
.2byte \id
.byte \pan
.byte \count
.endm
.macro setbldcnt bldcnt
.byte 0x1E
.2byte \bldcnt
.endm
.macro createtask_1F addr, argv:vararg
.byte 0x1F
.4byte \addr
.byte (.Lcreatetask_1F_\@_2 - .Lcreatetask_1F_\@_1) / 2
.Lcreatetask_1F_\@_1:
.2byte \argv
.Lcreatetask_1F_\@_2:
.endm
.macro waitsound
.byte 0x20
.endm
.macro jumpvareq var_num, value, addr
.byte 0x21
.byte \var_num
.2byte \value
.4byte \addr
.endm
.macro monbg_22 unk
.byte 0x22
.byte \unk
.endm
.macro clearmonbg_23 unk
.byte 0x23
.byte \unk
.endm
.macro jumpunkcond addr
.byte 0x24
.4byte \addr
.endm
.macro fadetobg_25 a, b, c
.byte 0x25
.byte \a
.byte \b
.byte \c
.endm
.macro panse_26 id, pan_start, pan_end, step, delay
.byte 0x26
.2byte \id
.byte \pan_start
.byte \pan_end
.byte \step
.byte \delay
.endm
.macro panse_27 id, pan_start, pan_end, step, delay
.byte 0x27
.2byte \id
.byte \pan_start
.byte \pan_end
.byte \step
.byte \delay
.endm
.macro monbgprio_28 unk
.byte 0x28
.byte \unk
.endm
.macro monbgprio_29
.byte 0x29
.endm
.macro monbgprio_2A unk
.byte 0x2A
.byte \unk
.endm
.macro invisible side
.byte 0x2B
.byte \side
.endm
.macro visible side
.byte 0x2C
.byte \side
.endm
.macro doublebattle_2D unk
.byte 0x2D
.byte \unk
.endm
.macro doublebattle_2E unk
.byte 0x2E
.byte \unk
.endm
.macro stopsound
.byte 0x2F
.endm
================================================
FILE: asm/macros/battle_anim_script.inc
================================================
@ commands
.macro loadspritegfx tag:req
.byte 0x0
.2byte \tag
.endm
.macro unloadspritegfx tag:req
.byte 0x1
.2byte \tag
.endm
.macro createsprite template:req, anim_battler:req, subpriority_offset:req, argv:vararg
.byte 0x02
.4byte \template
.if \anim_battler == ANIM_TARGET
.byte ANIMSPRITE_IS_TARGET | (\subpriority_offset & 0x7F)
.else
.byte (\subpriority_offset & 0x7F)
.endif
.byte (.Lsprite_\@_2 - .Lsprite_\@_1) / 2
.Lsprite_\@_1:
.2byte \argv
.Lsprite_\@_2:
.endm
.macro createvisualtask addr:req, priority:req, argv:vararg
.byte 0x03
.4byte \addr
.byte \priority
.byte (.Lcreatetask_\@_2 - .Lcreatetask_\@_1) / 2
.Lcreatetask_\@_1:
.2byte \argv
.Lcreatetask_\@_2:
.endm
.macro delay frames:req
.byte 0x4
.byte \frames
.endm
.macro waitforvisualfinish
.byte 0x5
.endm
.macro nop
.byte 0x6
.endm
.macro nop2
.byte 0x7
.endm
.macro end
.byte 0x8
.endm
.macro playse se:req
.byte 0x9
.2byte \se
.endm
.macro monbg battler:req
.byte 0xa
.byte \battler
.endm
.macro clearmonbg battler:req
.byte 0xb
.byte \battler
.endm
.macro setalpha eva:req, evb:req
.byte 0x0C
.2byte ((\evb) << 8) | (\eva)
.endm
.macro blendoff
.byte 0xd
.endm
.macro call ptr:req
.byte 0xe
.4byte \ptr
.endm
.macro return
.byte 0xf
.endm
.macro setarg argId:req, value:req
.byte 0x10
.byte \argId
.2byte \value
.endm
.macro choosetwoturnanim ptr1:req, ptr2:req
.byte 0x11
.4byte \ptr1
.4byte \ptr2
.endm
.macro jumpifmoveturn value:req, ptr:req
.byte 0x12
.byte \value
.4byte \ptr
.endm
.macro goto ptr:req
.byte 0x13
.4byte \ptr
.endm
.macro fadetobg bg:req
.byte 0x14
.byte \bg
.endm
.macro restorebg
.byte 0x15
.endm
.macro waitbgfadeout
.byte 0x16
.endm
.macro waitbgfadein
.byte 0x17
.endm
.macro changebg bg:req
.byte 0x18
.byte \bg
.endm
.macro playsewithpan se:req, pan:req
.byte 0x19
.2byte \se
.byte \pan
.endm
.macro setpan pan:req
.byte 0x1a
.byte \pan
.endm
.macro panse se:req, currentPan:req, targetPan:req, incrementPan:req, delay:req
.byte 0x1b
.2byte \se
.byte \currentPan
.byte \targetPan
.byte \incrementPan
.byte \delay
.endm
.macro loopsewithpan se:req, pan:req, wait:req, times:req
.byte 0x1c
.2byte \se
.byte \pan
.byte \wait
.byte \times
.endm
.macro waitplaysewithpan se:req, pan:req, wait:req
.byte 0x1d
.2byte \se
.byte \pan
.byte \wait
.endm
.macro setbldcnt bldcnt:req
.byte 0x1e
.2byte \bldcnt
.endm
.macro createsoundtask addr:req, argv:vararg
.byte 0x1F
.4byte \addr
.byte (.Lcreatetask_1F_\@_2 - .Lcreatetask_1F_\@_1) / 2
.Lcreatetask_1F_\@_1:
.2byte \argv
.Lcreatetask_1F_\@_2:
.endm
.macro waitsound
.byte 0x20
.endm
.macro jumpargeq argId:req, value:req, ptr:req
.byte 0x21
.byte \argId
.2byte \value
.4byte \ptr
.endm
.macro monbg_static battler:req
.byte 0x22
.byte \battler
.endm
.macro clearmonbg_static battler:req
.byte 0x23
.byte \battler
.endm
.macro jumpifcontest ptr:req
.byte 0x24
.4byte \ptr
.endm
.macro fadetobgfromset bgOpponent:req, bgPlayer:req, bgContest:req
.byte 0x25
.byte \bgOpponent
.byte \bgPlayer
.byte \bgContest
.endm
.macro panse_adjustnone se:req, currentPan:req, targetPan:req, incrementPan:req, delay:req
.byte 0x26
.2byte \se
.byte \currentPan
.byte \targetPan
.byte \incrementPan
.byte \delay
.endm
.macro panse_adjustall se:req, currentPan:req, targetPan:req, incrementPan:req, delay:req
.byte 0x27
.2byte \se
.byte \currentPan
.byte \targetPan
.byte \incrementPan
.byte \delay
.endm
.macro splitbgprio battler:req
.byte 0x28
.byte \battler
.endm
.macro splitbgprio_all
.byte 0x29
.endm
.macro splitbgprio_foes battler:req
.byte 0x2a
.byte \battler
.endm
.macro invisible battler:req
.byte 0x2b
.byte \battler
.endm
.macro visible battler:req
.byte 0x2c
.byte \battler
.endm
.macro teamattack_moveback battler:req
.byte 0x2d
.byte \battler
.endm
.macro teamattack_movefwd battler:req
.byte 0x2e
.byte \battler
.endm
.macro stopsound
.byte 0x2f
.endm
@ useful macros
.macro jumpreteq value:req, ptr:req
jumpargeq ARG_RET_ID, \value, \ptr
.endm
.macro jumprettrue ptr:req
jumpreteq TRUE, \ptr
.endm
.macro jumpretfalse ptr:req
jumpreteq FALSE, \ptr
.endm
================================================
FILE: asm/macros/battle_script.inc
================================================
@ commands
.macro attackcanceler
.byte 0x0
.endm
.macro accuracycheck param0:req, param1:req
.byte 0x1
.4byte \param0
.2byte \param1
.endm
.macro attackstring
.byte 0x2
.endm
.macro ppreduce
.byte 0x3
.endm
.macro critcalc
.byte 0x4
.endm
.macro damagecalc
.byte 0x5
.endm
.macro typecalc
.byte 0x6
.endm
.macro adjustnormaldamage
.byte 0x7
.endm
.macro adjustnormaldamage2
.byte 0x8
.endm
.macro attackanimation
.byte 0x9
.endm
.macro waitanimation
.byte 0xa
.endm
.macro healthbarupdate battler:req
.byte 0xb
.byte \battler
.endm
.macro datahpupdate battler:req
.byte 0xc
.byte \battler
.endm
.macro critmessage
.byte 0xd
.endm
.macro effectivenesssound
.byte 0xe
.endm
.macro resultmessage
.byte 0xf
.endm
.macro printstring id:req
.byte 0x10
.2byte \id
.endm
.macro printselectionstring id:req
.byte 0x11
.2byte \id
.endm
.macro waitmessage param0:req
.byte 0x12
.2byte \param0
.endm
.macro printfromtable ptr:req
.byte 0x13
.4byte \ptr
.endm
.macro printselectionstringfromtable ptr:req
.byte 0x14
.4byte \ptr
.endm
.macro seteffectwithchance
.byte 0x15
.endm
.macro seteffectprimary
.byte 0x16
.endm
.macro seteffectsecondary
.byte 0x17
.endm
.macro clearstatusfromeffect battler:req
.byte 0x18
.byte \battler
.endm
.macro tryfaintmon battler:req
.byte 0x19
.byte \battler
.byte FALSE
.4byte NULL
.endm
.macro tryfaintmon_spikes battler:req, ptr:req
.byte 0x19
.byte \battler
.byte TRUE
.4byte \ptr
.endm
.macro dofaintanimation battler:req
.byte 0x1a
.byte \battler
.endm
.macro cleareffectsonfaint battler:req
.byte 0x1b
.byte \battler
.endm
.macro jumpifstatus battler:req, status1:req, ptr:req
.byte 0x1c
.byte \battler
.4byte \status1
.4byte \ptr
.endm
.macro jumpifstatus2 battler:req, status2:req, ptr:req
.byte 0x1d
.byte \battler
.4byte \status2
.4byte \ptr
.endm
.macro jumpifability param0:req, ability:req, ptr:req
.byte 0x1e
.byte \param0
.byte \ability
.4byte \ptr
.endm
.macro jumpifsideaffecting battler:req, sidestatus:req, ptr:req
.byte 0x1f
.byte \battler
.2byte \sidestatus
.4byte \ptr
.endm
.macro jumpifstat battler:req, ifflag:req, stat:req, value:req, ptr
.byte 0x20
.byte \battler
.byte \ifflag
.byte \stat
.byte \value
.4byte \ptr
.endm
.macro jumpifstatus3condition battler:req, status3:req, param2:req, ptr:req
.byte 0x21
.byte \battler
.4byte \status3
.byte \param2
.4byte \ptr
.endm
.macro jumpiftype battler:req, type:req, ptr:req
.byte 0x22
.byte \battler
.byte \type
.4byte \ptr
.endm
.macro getexp battler:req
.byte 0x23
.byte \battler
.endm
.macro checkteamslost ptr:req
.byte 0x24
.4byte \ptr
.endm
.macro movevaluescleanup
.byte 0x25
.endm
.macro setmultihit value:req
.byte 0x26
.byte \value
.endm
.macro decrementmultihit value:req
.byte 0x27
.4byte \value
.endm
.macro goto ptr:req
.byte 0x28
.4byte \ptr
.endm
.macro jumpifbyte ifflag:req, param1:req, param2:req, param3:req
.byte 0x29
.byte \ifflag
.4byte \param1
.byte \param2
.4byte \param3
.endm
.macro jumpifhalfword ifflag:req, param1:req, param2:req, param3:req
.byte 0x2a
.byte \ifflag
.4byte \param1
.2byte \param2
.4byte \param3
.endm
.macro jumpifword ifflag:req, param1:req, param2:req, param3:req
.byte 0x2b
.byte \ifflag
.4byte \param1
.4byte \param2
.4byte \param3
.endm
.macro jumpifarrayequal param0:req, param1:req, param2:req, param3:req
.byte 0x2c
.4byte \param0
.4byte \param1
.byte \param2
.4byte \param3
.endm
.macro jumpifarraynotequal param0:req, param1:req, param2:req, param3:req
.byte 0x2d
.4byte \param0
.4byte \param1
.byte \param2
.4byte \param3
.endm
.macro setbyte ptr:req, param1:req
.byte 0x2e
.4byte \ptr
.byte \param1
.endm
.macro addbyte ptr:req, param1:req
.byte 0x2f
.4byte \ptr
.byte \param1
.endm
.macro subbyte ptr:req, param1:req
.byte 0x30
.4byte \ptr
.byte \param1
.endm
.macro copyarray param0:req, param1:req, param2:req
.byte 0x31
.4byte \param0
.4byte \param1
.byte \param2
.endm
.macro copyarraywithindex param0:req, param1:req, param2:req, param3:req
.byte 0x32
.4byte \param0
.4byte \param1
.4byte \param2
.byte \param3
.endm
.macro orbyte ptr:req, param1:req
.byte 0x33
.4byte \ptr
.byte \param1
.endm
.macro orhalfword ptr:req, param1:req
.byte 0x34
.4byte \ptr
.2byte \param1
.endm
.macro orword ptr:req, param1:req
.byte 0x35
.4byte \ptr
.4byte \param1
.endm
.macro bicbyte ptr:req, param1:req
.byte 0x36
.4byte \ptr
.byte \param1
.endm
.macro bichalfword ptr:req, param1:req
.byte 0x37
.4byte \ptr
.2byte \param1
.endm
.macro bicword ptr:req, param1:req
.byte 0x38
.4byte \ptr
.4byte \param1
.endm
.macro pause param0:req
.byte 0x39
.2byte \param0
.endm
.macro waitstate
.byte 0x3a
.endm
.macro healthbar_update battler:req
.byte 0x3b
.byte \battler
.endm
.macro return
.byte 0x3c
.endm
.macro end
.byte 0x3d
.endm
.macro end2
.byte 0x3e
.endm
.macro end3
.byte 0x3f
.endm
.macro jumpifaffectedbyprotect ptr:req
.byte 0x40
.4byte \ptr
.endm
.macro call ptr:req
.byte 0x41
.4byte \ptr
.endm
.macro jumpiftype2 battler:req, type:req, ptr:req
.byte 0x42
.byte \battler
.byte \type
.4byte \ptr
.endm
.macro jumpifabilitypresent ability:req, ptr:req
.byte 0x43
.byte \ability
.4byte \ptr
.endm
.macro endselectionscript
.byte 0x44
.endm
.macro playanimation battler:req, animType:req, arg=NULL
.byte 0x45
.byte \battler
.byte \animType
.4byte \arg
.endm
.macro playanimation_var battler:req, animType:req, arg=NULL
.byte 0x46
.byte \battler
.4byte \animType
.4byte \arg
.endm
.macro setgraphicalstatchangevalues
.byte 0x47
.endm
.macro playstatchangeanimation battler:req, param1:req, param2:req
.byte 0x48
.byte \battler
.byte \param1
.byte \param2
.endm
.macro moveend param0:req, param1:req
.byte 0x49
.byte \param0
.byte \param1
.endm
@ Help macros for 5 uses of moveend command
@ All cases
.macro moveendall
setbyte sMOVEEND_STATE, 0
moveend 0, 0
.endm
@ Chosen case
.macro moveendcase case:req
setbyte sMOVEEND_STATE, \case
moveend 1, 0
.endm
@ All cases from (inclusive)
.macro moveendfrom from:req
setbyte sMOVEEND_STATE, \from
moveend 0, 0
.endm
@ All cases from 0 to (not inclusive)
.macro moveendto to:req
setbyte sMOVEEND_STATE, 0
moveend 2, \to
.endm
@ Cases from (inclusive) to (not inclusive)
.macro moveendfromto from:req, to:req
setbyte sMOVEEND_STATE, \from
moveend 2, \to
.endm
.macro typecalc2
.byte 0x4a
.endm
.macro returnatktoball
.byte 0x4b
.endm
.macro getswitchedmondata battler:req
.byte 0x4c
.byte \battler
.endm
.macro switchindataupdate battler:req
.byte 0x4d
.byte \battler
.endm
.macro switchinanim battler:req, dontclearsubstitutebit:req
.byte 0x4e
.byte \battler
.byte \dontclearsubstitutebit
.endm
.macro jumpifcantswitch battler:req, ptr:req
.byte 0x4f
.byte \battler
.4byte \ptr
.endm
.macro openpartyscreen param0:req, param1:req
.byte 0x50
.byte \param0
.4byte \param1
.endm
.macro switchhandleorder battler:req, param1:req
.byte 0x51
.byte \battler
.byte \param1
.endm
.macro switchineffects battler:req
.byte 0x52
.byte \battler
.endm
.macro trainerslidein battler:req
.byte 0x53
.byte \battler
.endm
.macro playse song:req
.byte 0x54
.2byte \song
.endm
.macro fanfare song:req
.byte 0x55
.2byte \song
.endm
.macro playfaintcry battler:req
.byte 0x56
.byte \battler
.endm
.macro endlinkbattle
.byte 0x57
.endm
.macro returntoball battler:req
.byte 0x58
.byte \battler
.endm
.macro handlelearnnewmove param0:req, param1:req, param2:req
.byte 0x59
.4byte \param0
.4byte \param1
.byte \param2
.endm
.macro yesnoboxlearnmove param0:req
.byte 0x5a
.4byte \param0
.endm
.macro yesnoboxstoplearningmove param0:req
.byte 0x5b
.4byte \param0
.endm
.macro hitanimation battler:req
.byte 0x5c
.byte \battler
.endm
.macro getmoneyreward addr
.byte 0x5d
.4byte \addr
.endm
.macro updatebattlermoves battler:req
.byte 0x5e
.byte \battler
.endm
.macro swapattackerwithtarget
.byte 0x5f
.endm
.macro incrementgamestat param0:req
.byte 0x60
.byte \param0
.endm
.macro drawpartystatussummary battler:req
.byte 0x61
.byte \battler
.endm
.macro hidepartystatussummary battler:req
.byte 0x62
.byte \battler
.endm
.macro jumptocalledmove param0:req
.byte 0x63
.byte \param0
.endm
.macro statusanimation battler:req
.byte 0x64
.byte \battler
.endm
.macro status2animation battler:req, status2:req
.byte 0x65
.byte \battler
.4byte \status2
.endm
.macro chosenstatusanimation battler:req, param1:req, param2:req
.byte 0x66
.byte \battler
.byte \param1
.4byte \param2
.endm
.macro yesnobox
.byte 0x67
.endm
.macro cancelallactions
.byte 0x68
.endm
.macro adjustsetdamage
.byte 0x69
.endm
.macro removeitem battler:req
.byte 0x6a
.byte \battler
.endm
.macro atknameinbuff1
.byte 0x6b
.endm
.macro drawlvlupbox
.byte 0x6c
.endm
.macro resetsentmonsvalue
.byte 0x6d
.endm
.macro setatktoplayer0
.byte 0x6e
.endm
.macro makevisible battler:req
.byte 0x6f
.byte \battler
.endm
.macro recordlastability battler:req
.byte 0x70
.byte \battler
.endm
.macro buffermovetolearn
.byte 0x71
.endm
.macro jumpifplayerran ptr:req
.byte 0x72
.4byte \ptr
.endm
.macro hpthresholds battler:req
.byte 0x73
.byte \battler
.endm
.macro hpthresholds2 battler:req
.byte 0x74
.byte \battler
.endm
.macro useitemonopponent
.byte 0x75
.endm
.macro various battler:req, param1:req
.byte 0x76
.byte \battler
.byte \param1
.endm
.macro setprotectlike
.byte 0x77
.endm
.macro tryexplosion
.byte 0x78
.endm
.macro setatkhptozero
.byte 0x79
.endm
.macro jumpifnexttargetvalid ptr:req
.byte 0x7a
.4byte \ptr
.endm
.macro tryhealhalfhealth param0:req, battler:req
.byte 0x7b
.4byte \param0
.byte \battler
.endm
.macro trymirrormove
.byte 0x7c
.endm
.macro setrain
.byte 0x7d
.endm
.macro setreflect
.byte 0x7e
.endm
.macro setseeded
.byte 0x7f
.endm
.macro manipulatedamage param0:req
.byte 0x80
.byte \param0
.endm
.macro trysetrest param0:req
.byte 0x81
.4byte \param0
.endm
.macro jumpifnotfirstturn ptr:req
.byte 0x82
.4byte \ptr
.endm
.macro nop
.byte 0x83
.endm
.macro jumpifcantmakeasleep param0:req
.byte 0x84
.4byte \param0
.endm
.macro stockpile
.byte 0x85
.endm
.macro stockpiletobasedamage param0:req
.byte 0x86
.4byte \param0
.endm
.macro stockpiletohpheal param0:req
.byte 0x87
.4byte \param0
.endm
.macro negativedamage
.byte 0x88
.endm
.macro statbuffchange param0:req, param1:req
.byte 0x89
.byte \param0
.4byte \param1
.endm
.macro normalisebuffs
.byte 0x8a
.endm
.macro setbide
.byte 0x8b
.endm
.macro confuseifrepeatingattackends
.byte 0x8c
.endm
.macro setmultihitcounter param0:req
.byte 0x8d
.byte \param0
.endm
.macro initmultihitstring
.byte 0x8e
.endm
.macro forcerandomswitch param0:req
.byte 0x8f
.4byte \param0
.endm
.macro tryconversiontypechange param0:req
.byte 0x90
.4byte \param0
.endm
.macro givepaydaymoney
.byte 0x91
.endm
.macro setlightscreen
.byte 0x92
.endm
.macro tryKO param0:req
.byte 0x93
.4byte \param0
.endm
.macro damagetohalftargethp
.byte 0x94
.endm
.macro setsandstorm
.byte 0x95
.endm
.macro weatherdamage
.byte 0x96
.endm
.macro tryinfatuating param0:req
.byte 0x97
.4byte \param0
.endm
.macro updatestatusicon battler:req
.byte 0x98
.byte \battler
.endm
.macro setmist
.byte 0x99
.endm
.macro setfocusenergy
.byte 0x9a
.endm
.macro transformdataexecution
.byte 0x9b
.endm
.macro setsubstitute
.byte 0x9c
.endm
.macro mimicattackcopy param0:req
.byte 0x9d
.4byte \param0
.endm
.macro metronome
.byte 0x9e
.endm
.macro dmgtolevel
.byte 0x9f
.endm
.macro psywavedamageeffect
.byte 0xa0
.endm
.macro counterdamagecalculator param0:req
.byte 0xa1
.4byte \param0
.endm
.macro mirrorcoatdamagecalculator param0:req
.byte 0xa2
.4byte \param0
.endm
.macro disablelastusedattack param0:req
.byte 0xa3
.4byte \param0
.endm
.macro trysetencore param0:req
.byte 0xa4
.4byte \param0
.endm
.macro painsplitdmgcalc param0:req
.byte 0xa5
.4byte \param0
.endm
.macro settypetorandomresistance param0:req
.byte 0xa6
.4byte \param0
.endm
.macro setalwayshitflag
.byte 0xa7
.endm
.macro copymovepermanently param0:req
.byte 0xa8
.4byte \param0
.endm
.macro trychoosesleeptalkmove param0:req
.byte 0xa9
.4byte \param0
.endm
.macro setdestinybond
.byte 0xaa
.endm
.macro trysetdestinybondtohappen
.byte 0xab
.endm
.macro remaininghptopower
.byte 0xac
.endm
.macro tryspiteppreduce param0:req
.byte 0xad
.4byte \param0
.endm
.macro healpartystatus
.byte 0xae
.endm
.macro cursetarget param0:req
.byte 0xaf
.4byte \param0
.endm
.macro trysetspikes param0:req
.byte 0xb0
.4byte \param0
.endm
.macro setforesight
.byte 0xb1
.endm
.macro trysetperishsong param0:req
.byte 0xb2
.4byte \param0
.endm
.macro rolloutdamagecalculation
.byte 0xb3
.endm
.macro jumpifconfusedandstatmaxed stat:req, ptr:req
.byte 0xb4
.byte \stat
.4byte \ptr
.endm
.macro furycuttercalc
.byte 0xb5
.endm
.macro friendshiptodamagecalculation
.byte 0xb6
.endm
.macro presentdamagecalculation
.byte 0xb7
.endm
.macro setsafeguard
.byte 0xb8
.endm
.macro magnitudedamagecalculation
.byte 0xb9
.endm
.macro jumpifnopursuitswitchdmg param0:req
.byte 0xba
.4byte \param0
.endm
.macro setsunny
.byte 0xbb
.endm
.macro maxattackhalvehp param0:req
.byte 0xbc
.4byte \param0
.endm
.macro copyfoestats param0:req
.byte 0xbd
.4byte \param0
.endm
.macro rapidspinfree
.byte 0xbe
.endm
.macro setdefensecurlbit
.byte 0xbf
.endm
.macro recoverbasedonsunlight param0:req
.byte 0xc0
.4byte \param0
.endm
.macro hiddenpowercalc
.byte 0xc1
.endm
.macro selectfirstvalidtarget
.byte 0xc2
.endm
.macro trysetfutureattack param0:req
.byte 0xc3
.4byte \param0
.endm
.macro trydobeatup param0:req, param1:req
.byte 0xc4
.4byte \param0
.4byte \param1
.endm
.macro setsemiinvulnerablebit
.byte 0xc5
.endm
.macro clearsemiinvulnerablebit
.byte 0xc6
.endm
.macro setminimize
.byte 0xc7
.endm
.macro sethail
.byte 0xc8
.endm
.macro trymemento ptr:req
.byte 0xc9
.4byte \ptr
.endm
.macro setforcedtarget
.byte 0xca
.endm
.macro setcharge
.byte 0xcb
.endm
.macro callterrainattack
.byte 0xcc
.endm
.macro cureifburnedparalysedorpoisoned param0:req
.byte 0xcd
.4byte \param0
.endm
.macro settorment param0:req
.byte 0xce
.4byte \param0
.endm
.macro jumpifnodamage param0:req
.byte 0xcf
.4byte \param0
.endm
.macro settaunt param0:req
.byte 0xd0
.4byte \param0
.endm
.macro trysethelpinghand param0:req
.byte 0xd1
.4byte \param0
.endm
.macro tryswapitems param0:req
.byte 0xd2
.4byte \param0
.endm
.macro trycopyability param0:req
.byte 0xd3
.4byte \param0
.endm
.macro trywish param0:req, param1:req
.byte 0xd4
.byte \param0
.4byte \param1
.endm
.macro trysetroots param0:req
.byte 0xd5
.4byte \param0
.endm
.macro doubledamagedealtifdamaged
.byte 0xd6
.endm
.macro setyawn param0:req
.byte 0xd7
.4byte \param0
.endm
.macro setdamagetohealthdifference param0:req
.byte 0xd8
.4byte \param0
.endm
.macro scaledamagebyhealthratio
.byte 0xd9
.endm
.macro tryswapabilities param0:req
.byte 0xda
.4byte \param0
.endm
.macro tryimprison param0:req
.byte 0xdb
.4byte \param0
.endm
.macro trysetgrudge param0:req
.byte 0xdc
.4byte \param0
.endm
.macro weightdamagecalculation
.byte 0xdd
.endm
.macro assistattackselect param0:req
.byte 0xde
.4byte \param0
.endm
.macro trysetmagiccoat param0:req
.byte 0xdf
.4byte \param0
.endm
.macro trysetsnatch param0:req
.byte 0xe0
.4byte \param0
.endm
.macro trygetintimidatetarget param0:req
.byte 0xe1
.4byte \param0
.endm
.macro switchoutabilities battler:req
.byte 0xe2
.byte \battler
.endm
.macro jumpifhasnohp battler:req, param1:req
.byte 0xe3
.byte \battler
.4byte \param1
.endm
.macro getsecretpowereffect
.byte 0xe4
.endm
.macro pickup
.byte 0xe5
.endm
.macro docastformchangeanimation
.byte 0xe6
.endm
.macro trycastformdatachange
.byte 0xe7
.endm
.macro settypebasedhalvers param0:req
.byte 0xe8
.4byte \param0
.endm
.macro setweatherballtype
.byte 0xe9
.endm
.macro tryrecycleitem param0:req
.byte 0xea
.4byte \param0
.endm
.macro settypetoterrain param0:req
.byte 0xeb
.4byte \param0
.endm
.macro pursuitrelated param0:req
.byte 0xec
.4byte \param0
.endm
.macro snatchsetbattlers
.byte 0xed
.endm
.macro removelightscreenreflect
.byte 0xee
.endm
.macro handleballthrow
.byte 0xef
.endm
.macro givecaughtmon
.byte 0xf0
.endm
.macro trysetcaughtmondexflags param0:req
.byte 0xf1
.4byte \param0
.endm
.macro displaydexinfo
.byte 0xf2
.endm
.macro trygivecaughtmonnick param0:req
.byte 0xf3
.4byte \param0
.endm
.macro subattackerhpbydmg
.byte 0xf4
.endm
.macro removeattackerstatus1
.byte 0xf5
.endm
.macro finishaction
.byte 0xf6
.endm
.macro finishturn
.byte 0xf7
.endm
@ various command changed to more readable macros
.macro cancelmultiturnmoves battler:req
various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES
.endm
.macro setmagiccoattarget battler:req
various \battler, VARIOUS_SET_MAGIC_COAT_TARGET
.endm
.macro getifcantrunfrombattle battler:req
various \battler, VARIOUS_IS_RUNNING_IMPOSSIBLE
.endm
.macro getmovetarget battler:req
various \battler, VARIOUS_GET_MOVE_TARGET
.endm
.macro getbattlerfainted battler:req
various \battler, VARIOUS_GET_BATTLER_FAINTED
.endm
.macro resetintimidatetracebits battler:req
various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS
.endm
.macro updatechoicemoveonlvlup battler:req
various \battler, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP
.endm
.macro resetplayerfainted
various BS_ATTACKER, VARIOUS_RESET_PLAYER_FAINTED
.endm
.macro getbattlersforrecall
various BS_ATTACKER, VARIOUS_GET_BATTLERS_FOR_RECALL
.endm
.macro returnopponentmon1toball
various BS_ATTACKER, VARIOUS_RETURN_OPPONENT_MON1
.endm
.macro returnopponentmon2toball
various BS_ATTACKER, VARIOUS_RETURN_OPPONENT_MON2
.endm
.macro checkpokeflute battler:req
various \battler, VARIOUS_CHECK_POKEFLUTE
.endm
.macro waitfanfare battler:req
various \battler, VARIOUS_WAIT_FANFARE
.endm
@ helpful macros
.macro setstatchanger stat:req, stages:req, down:req
setbyte sSTATCHANGER \stat | \stages << 4 | \down << 7
.endm
.macro setmoveeffect effect:req
setbyte cEFFECT_CHOOSER, \effect
.endm
.macro chosenstatus1animation battler:req, status:req
chosenstatusanimation \battler, 0x0, \status
.endm
.macro chosenstatus2animation battler:req, status:req
chosenstatusanimation \battler, 0x1, \status
.endm
.macro sethword dst:req, value:req
setbyte \dst, (\value) & 0xFF
setbyte \dst + 1, ((\value) >> 8) & 0xFF
.endm
.macro setword dst:req, value:req
setbyte \dst, (\value) & 0xFF
setbyte \dst + 1, ((\value) >> 8) & 0xFF
setbyte \dst + 2, ((\value) >> 16) & 0xFF
setbyte \dst + 3, ((\value) >> 24) & 0xFF
.endm
.macro copybyte dst:req, src:req
copyarray \dst, \src, 0x1
.endm
.macro copyhword dst:req, src:req
copyarray \dst, \src, 0x2
.endm
.macro copyword dst:req, src:req
copyarray \dst, \src, 0x4
.endm
.macro jumpifbytenotequal byte1:req, byte2:req, jumpptr:req
jumpifarraynotequal \byte1, \byte2, 0x1, \jumpptr
.endm
.macro jumpifbyteequal byte1:req, byte2:req, jumpptr:req
jumpifarrayequal \byte1, \byte2, 0x1, \jumpptr
.endm
.macro jumpifmove move:req, jumpptr:req
jumpifhalfword CMP_EQUAL, gCurrentMove, \move, \jumpptr
.endm
.macro jumpifnotmove move:req, jumpptr:req
jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr
.endm
.macro jumpifstatus3 battler:req, status:req, jumpptr:req
jumpifstatus3condition \battler, \status, 0x0, \jumpptr
.endm
.macro jumpifnostatus3 battler:req, status:req, jumpptr:req
jumpifstatus3condition \battler, \status, 0x1, \jumpptr
.endm
.macro jumpifmovehadnoeffect jumpptr:req
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_NO_EFFECT, \jumpptr
.endm
.macro jumpifbattletype flags:req, jumpptr:req
jumpifword CMP_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
.endm
.macro jumpifnotbattletype flags:req, jumpptr:req
jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
.endm
================================================
FILE: asm/macros/contest_ai_script.inc
================================================
@ Add a positive/negative value to the score of the move being evaluated.
.macro score score
.byte 0x00
.byte \score
.endm
@ turn (AKA "Appeal No.")
.macro get_turn
.byte 0x01
.endm
.macro if_turn_less_than param, addr
.byte 0x02
.byte \param
.4byte \addr
.endm
.macro if_turn_more_than param, addr
.byte 0x03
.byte \param
.4byte \addr
.endm
.macro if_turn_eq param, addr
.byte 0x04
.byte \param
.4byte \addr
.endm
.macro if_turn_not_eq param, addr
.byte 0x05
.byte \param
.4byte \addr
.endm
@ audience excitement
.macro get_excitement
.byte 0x06
.endm
.macro if_excitement_less_than param, addr
.byte 0x07
.byte \param
.4byte \addr
.endm
.macro if_excitement_more_than param, addr
.byte 0x08
.byte \param
.4byte \addr
.endm
.macro if_excitement_eq param, addr
.byte 0x09
.byte \param
.4byte \addr
.endm
.macro if_excitement_not_eq param, addr
.byte 0x0A
.byte \param
.4byte \addr
.endm
@ the order that the user goes in the current turn
.macro get_user_order
.byte 0x0B
.endm
.macro if_user_order_less_than param addr
.byte 0x0C
.byte \param
.4byte \addr
.endm
.macro if_user_order_more_than param addr
.byte 0x0D
.byte \param
.4byte \addr
.endm
.macro if_user_order_eq param addr
.byte 0x0E
.byte \param
.4byte \addr
.endm
.macro if_user_order_not_eq param addr
.byte 0x0F
.byte \param
.4byte \addr
.endm
@ user condition
.macro get_user_condition
.byte 0x10
.endm
.macro if_user_condition_less_than param, addr
.byte 0x11
.byte \param
.4byte \addr
.endm
.macro if_user_condition_more_than param, addr
.byte 0x12
.byte \param
.4byte \addr
.endm
.macro if_user_condition_eq param, addr
.byte 0x13
.byte \param
.4byte \addr
.endm
.macro if_user_condition_not_eq param, addr
.byte 0x14
.byte \param
.4byte \addr
.endm
@ 15
@ 16
@ 17
@ 18
@ 19
@ 1A
@ 1B
@ 1C
@ 1D
@ 1E
@ contest type
.macro get_contest_type
.byte 0x1F
.endm
.macro if_contest_type_eq param, addr
.byte 0x20
.byte \param
.4byte \addr
.endm
.macro if_contest_type_not_eq param, addr
.byte 0x21
.byte \param
.4byte \addr
.endm
@ move excitement (change in excitement due to move)
.macro get_move_excitement
.byte 0x22
.endm
.macro if_move_excitement_less_than param, addr
.byte 0x23
.byte \param
.4byte \addr
.endm
.macro if_move_excitement_more_than param, addr
.byte 0x24
.byte \param
.4byte \addr
.endm
.macro if_move_excitement_eq param, addr
.byte 0x25
.byte \param
.4byte \addr
.endm
.macro if_move_excitement_not_eq param, addr
.byte 0x26
.byte \param
.4byte \addr
.endm
@ move effect
.macro get_effect
.byte 0x27
.endm
.macro if_effect_eq param, addr
.byte 0x28
.byte \param
.4byte \addr
.endm
.macro if_effect_not_eq param, addr
.byte 0x29
.byte \param
.4byte \addr
.endm
@ move effect type
.macro get_effect_type
.byte 0x2A
.endm
.macro if_effect_type_eq param, addr
.byte 0x2B
.byte \param
.4byte \addr
.endm
.macro if_effect_type_not_eq param, addr
.byte 0x2C
.byte \param
.4byte \addr
.endm
@ whether the current move is the most appealing in the user's moveset
.macro check_most_appealing_move
.byte 0x2D
.endm
.macro if_most_appealing_move addr
.byte 0x2E
.4byte \addr
.endm
@ 2F
@ 30
@ 31
@ 32
@ 33
@ 34
@ 35
@ 36
@ 37
@ 38
@ 39
@ 3A
@ number of times current move has been used
.macro get_move_used_count
.byte 0x3B
.endm
.macro if_move_used_count_less_than param, addr
.byte 0x3C
.byte \param
.4byte \addr
.endm
.macro if_move_used_count_more_than param, addr
.byte 0x3D
.byte \param
.4byte \addr
.endm
.macro if_move_used_count_eq param, addr
.byte 0x3E
.byte \param
.4byte \addr
.endm
.macro if_move_used_count_not_eq param, addr
.byte 0x3F
.byte \param
.4byte \addr
.endm
@ whether the current move is a combo starter (with another move in the moveset)
.macro check_combo_starter
.byte 0x40
.endm
.macro if_combo_starter addr
.byte 0x41
.4byte \addr
.endm
.macro if_not_combo_starter addr
.byte 0x42
.4byte \addr
.endm
@ whether the current move is a combo finisher (with another move in the moveset)
.macro check_combo_finisher
.byte 0x43
.endm
.macro if_combo_finisher addr
.byte 0x44
.4byte \addr
.endm
.macro if_not_combo_finisher addr
.byte 0x45
.4byte \addr
.endm
@ whether the current move would finish a combo
.macro check_would_finish_combo
.byte 0x46
.endm
.macro if_would_finish_combo addr
.byte 0x47
.4byte \addr
.endm
.macro if_would_not_finish_combo addr
.byte 0x48
.4byte \addr
.endm
@ condition of mon (indexed by order)
.macro get_condition mon
.byte 0x49
.byte \mon
.endm
.macro if_condition_less_than mon, value, addr
.byte 0x4A
.byte \mon
.byte \value
.4byte \addr
.endm
.macro if_condition_more_than mon, value, addr
.byte 0x4B
.byte \mon
.byte \value
.4byte \addr
.endm
.macro if_condition_eq mon, value, addr
.byte 0x4C
.byte \mon
.byte \value
.4byte \addr
.endm
.macro if_condition_not_eq mon, value, addr
.byte 0x4D
.byte \mon
.byte \value
.4byte \addr
.endm
@ whether the mon used a combo starter move
@ Even though this value is always 1 or 0 (i.e. TRUE/FALSE),
@ there are less-than and greater-than comparison operations for some reason.
.macro get_used_combo_starter mon
.byte 0x4E
.byte \mon
.endm
.macro if_used_combo_starter_less_than mon, value, addr
.byte 0x4F
.byte \mon
.byte \value
.4byte \addr
.endm
.macro if_used_combo_starter_more_than mon, value, addr
.byte 0x50
.byte \mon
.byte \value
.4byte \addr
.endm
.macro if_used_combo_starter_eq mon, value, addr
.byte 0x51
.byte \mon
.byte \value
.4byte \addr
.endm
.macro if_used_combo_starter_not_eq mon, value, addr
.byte 0x52
.byte \mon
.byte \value
.4byte \addr
.endm
@ whether the mon can make an appeal
.macro check_can_participate mon
.byte 0x53
.byte \mon
.endm
.macro if_can_participate mon, addr
.byte 0x54
.byte \mon
.4byte \addr
.endm
.macro if_cannot_participate mon, addr
.byte 0x55
.byte \mon
.4byte \addr
.endm
@ 56
@ 57
.macro contest_58 param addr
.byte 0x58
.byte \param
.4byte \addr
.endm
@ 59
@ 5A
@ 5B
@ 5C
@ 5D
@ 5E
@ 5F
@ 60
@ 61
@ 62
@ 63
@ 64
@ 65
@ 66
@ 67
@ 68
@ 69
@ 6A
@ 6B
@ 6C
@ 6D
@ 6E
@ 6F
@ 70
@ 71
@ 72
@ 73
@ 74
@ 75
@ 76
@ 77
@ 78
@ 79
@ 7A
@ 7B
@ 7C
.macro if_random param addr
.byte 0x7D
.byte \param
.4byte \addr
.endm
@ 7E
.macro jump addr
.byte 0x7F
.4byte \addr
.endm
.macro call addr
.byte 0x80
.4byte \addr
.endm
.macro end
.byte 0x81
.endm
.macro check_user_has_exciting_move
.byte 0x82
.endm
.macro if_user_has_exciting_move addr
.byte 0x83
.4byte \addr
.endm
.macro if_user_doesnt_have_exciting_move addr
.byte 0x84
.4byte \addr
.endm
@ 85
@ 86
.macro if_effect_in_user_moveset param addr
.byte 0x87
.2byte \param
.4byte \addr
.endm
================================================
FILE: asm/macros/ec.inc
================================================
.macro ec_duplicates count
.2byte 0xff00 + \count
.endm
.macro ec_words_by_letter label
.2byte (gEasyChatWordsByLetter_\label - gEasyChatWordsAlphabetized) / 2
.endm
================================================
FILE: asm/macros/event.inc
================================================
@ Does nothing.
.macro nop
.byte 0x00
.endm
@ Does nothing.
.macro nop1
.byte 0x01
.endm
@ Terminates script execution.
.macro end
.byte 0x02
.endm
@ Jumps back to after the last-executed call statement, and continues script execution from there.
.macro return
.byte 0x03
.endm
@ Jumps to destination and continues script execution from there. The location of the calling script is remembered and can be returned to later.
.macro call destination:req
.byte 0x04
.4byte \destination
.endm
@ Jumps to destination and continues script execution from there.
.macro goto destination:req
.byte 0x05
.4byte \destination
.endm
@ If the result of the last comparison matches condition (see Comparison operators), jumps to destination and continues script execution from there.
.macro goto_if condition:req, destination:req
.byte 0x06
.byte \condition
.4byte \destination
.endm
@ If the result of the last comparison matches condition (see Comparison operators), calls destination.
.macro call_if condition:req, destination:req
.byte 0x07
.byte \condition
.4byte \destination
.endm
@ Jumps to the script in gStdScripts at index function.
.macro gotostd function:req
.byte 0x08
.byte \function
.endm
@ Callstd ids
STD_OBTAIN_ITEM = 0
STD_FIND_ITEM = 1
MSGBOX_NPC = 2
MSGBOX_SIGN = 3
MSGBOX_DEFAULT = 4
MSGBOX_YESNO = 5
MSGBOX_AUTOCLOSE = 6
STD_OBTAIN_DECORATION = 7
STD_PUT_ITEM_AWAY = 8
STD_RECEIVED_ITEM = 9
@ Calls the script in gStdScripts at index function.
.macro callstd function:req
.byte 0x09
.byte \function
.endm
@ If the result of the last comparison matches condition (see Comparison operators), jumps to the script in gStdScripts at index function.
.macro gotostd_if condition:req, function:req
.byte 0x0a
.byte \condition
.byte \function
.endm
@ If the result of the last comparison matches condition (see Comparison operators), calls the script in gStdScripts at index function.
.macro callstd_if condition:req, function:req
.byte 0x0b
.byte \condition
.byte \function
.endm
@ Equivalent to the 'return' command for a RAM script.
.macro returnram
.byte 0x0c
.endm
@ Equivalent to the 'end' command for a RAM script.
.macro endram
.byte 0x0d
.endm
@ Sets the Mystery Event script status (MEVENT_STATUS_*).
.macro setmysteryeventstatus value:req
.byte 0x0e
.byte \value
.endm
@ Sets the value at the specified script data index to a fixed 4-byte value.
.macro loadword destIndex:req, value:req
.byte 0x0f
.byte \destIndex
.4byte \value
.endm
@ Sets the value at the specified script data index to a fixed byte value.
.macro loadbyte destIndex:req, value:req
.byte 0x10
.byte \destIndex
.byte \value
.endm
@ Sets the value at the specified pointer.
.macro setptr value:req, ptr:req
.byte 0x11
.byte \value
.4byte \ptr
.endm
@ Sets the value at the specified script data index to the value at pointer 'source'.
.macro loadbytefromptr destIndex:req, source:req
.byte 0x12
.byte \destIndex
.4byte \source
.endm
@ Sets the value at pointer 'destination' to the contents of the script data at 'srcIndex'.
.macro setptrbyte srcIndex:req, destination:req
.byte 0x13
.byte \srcIndex
.4byte \destination
.endm
@ Copies the contents of the script data from one index to another.
.macro copylocal destIndex:req, srcIndex:req
.byte 0x14
.byte \destIndex
.byte \srcIndex
.endm
@ Copies the byte at source to destination, replacing whatever byte was previously there.
.macro copybyte destination:req, source:req
.byte 0x15
.4byte \destination
.4byte \source
.endm
@ Changes the value of destination to value.
.macro setvar destination:req, value:req
.byte 0x16
.2byte \destination
.2byte \value
.endm
@ Changes the value of destination by adding value to it. Overflow is not prevented (0xFFFF + 1 = 0x0000).
.macro addvar destination:req, value:req
.byte 0x17
.2byte \destination
.2byte \value
.endm
@ Changes the value of destination by subtracting value to it. Overflow is not prevented (0x0000 - 1 = 0xFFFF).
.macro subvar destination:req, value:req
.byte 0x18
.2byte \destination
.2byte \value
.endm
@ Copies the value of source into destination.
.macro copyvar destination:req, source:req
.byte 0x19
.2byte \destination
.2byte \source
.endm
@ If source is not a variable, then this function acts like setvar. Otherwise, it acts like copyvar.
.macro setorcopyvar destination:req, source:req
.byte 0x1a
.2byte \destination
.2byte \source
.endm
@ Compares the values of the script data at indexes 'local1' and 'local2'.
@ The result is stored in comparisonResult to be acted on by goto_if / call_if
.macro compare_local_to_local local1:req, local2:req
.byte 0x1b
.byte \local1
.byte \local2
.endm
@ Compares the value of the script data at index 'local' to a fixed value.
@ The result is stored in comparisonResult to be acted on by goto_if / call_if
.macro compare_local_to_value local:req, value:req
.byte 0x1c
.byte \local
.byte \value
.endm
@ Compares the value of the script data at index 'local' to the value at 'ptr'
@ The result is stored in comparisonResult to be acted on by goto_if / call_if
.macro compare_local_to_ptr local:req, ptr:req
.byte 0x1d
.byte \local
.4byte \ptr
.endm
@ Compares the value at 'ptr' to the value of the script data at index 'local'.
@ The result is stored in comparisonResult to be acted on by goto_if / call_if
.macro compare_ptr_to_local ptr:req, local:req
.byte 0x1e
.4byte \ptr
.byte \local
.endm
@ Compares the value at 'ptr' to a fixed value.
@ The result is stored in comparisonResult to be acted on by goto_if / call_if
.macro compare_ptr_to_value ptr:req, value:req
.byte 0x1f
.4byte \ptr
.byte \value
.endm
@ Compares the value at 'ptr1' to the value at 'ptr2'.
@ The result is stored in comparisonResult to be acted on by goto_if / call_if
.macro compare_ptr_to_ptr ptr1:req, ptr2:req
.byte 0x20
.4byte \ptr1
.4byte \ptr2
.endm
@ Compares the value of 'var' to a fixed value.
@ The result is stored in comparisonResult to be acted on by goto_if / call_if
.macro compare_var_to_value var:req, value:req
.byte 0x21
.2byte \var
.2byte \value
.endm
@ Compares the value of 'var1' to the value of 'var2'.
@ The result is stored in comparisonResult to be acted on by goto_if / call_if
.macro compare_var_to_var var1:req, var2:req
.byte 0x22
.2byte \var1
.2byte \var2
.endm
@ Generic compare macro which attempts to deduce argument types based on their values
@ Any values between VARS_START to VARS_END and SPECIAL_VARS_START to SPECIAL_VARS_END are considered event variable identifiers
.macro compare var:req, arg:req
.if ((\arg >= VARS_START && \arg <= VARS_END) || (\arg >= SPECIAL_VARS_START && \arg <= SPECIAL_VARS_END))
compare_var_to_var \var, \arg
.else
compare_var_to_value \var, \arg
.endif
.endm
@ Calls the native C function stored at func.
.macro callnative func:req
.byte 0x23
.4byte \func
.endm
@ Replaces the script with the function stored at func. Execution returns to the bytecode script when func returns TRUE.
.macro gotonative func:req
.byte 0x24
.4byte \func
.endm
@ Calls a function listed in the table in data/specials.inc.
.macro special function:req
.byte 0x25
.2byte SPECIAL_\function
.endm
@ Calls a function listed in the table in data/specials.inc.
@ That function's output (if any) will be written to the variable specified by 'output'.
.macro specialvar output:req, function:req
.byte 0x26
.2byte \output
.2byte SPECIAL_\function
.endm
@ Blocks script execution until a command or C code manually unblocks it. Generally used with specific
@ commands and specials. Calling ScriptContext_Enable for instance will allow execution to continue.
.macro waitstate
.byte 0x27
.endm
@ Blocks script execution for frames. (Pokemon Emerald runs at just shy of 60 frames per second.)
.macro delay frames:req
.byte 0x28
.2byte \frames
.endm
@ Sets flag to TRUE.
.macro setflag flag:req
.byte 0x29
.2byte \flag
.endm
@ Sets flag to FALSE.
.macro clearflag flag:req
.byte 0x2a
.2byte \flag
.endm
@ Compares flag to TRUE and stores the result in comparisonResult to be used by goto_if, etc
@ See additional _if_unset and _if_set macros
.macro checkflag flag:req
.byte 0x2b
.2byte \flag
.endm
@ In FRLG, this command is a nop. In RSE, initializes the RTC's local time offset to the given hour and minute.
.macro initclock hour:req, minute:req
.byte 0x2c
.2byte \hour
.2byte \minute
.endm
@ In FRLG, this command is a nop. In RSE, updates local time using the RTC and runs time based events.
.macro dotimebasedevents
.byte 0x2d
.endm
@ Sets the values of variables VAR_0x8000, VAR_0x8001, and VAR_0x8002 to 0. In RSE, they'd get the current hour, minute, and second respectively.
.macro gettime
.byte 0x2e
.endm
@ Plays the specified sound. Only one sound may play at a time, with newer ones interrupting older ones.
.macro playse song:req
.byte 0x2f
.2byte \song
.endm
@ Blocks script execution until the currently-playing sound (triggered by playse) finishes playing.
.macro waitse
.byte 0x30
.endm
@ Plays the fanfare specified by the song number. If the specified song is not a fanfare it will instead play the first song in sFanfares.
.macro playfanfare song:req
.byte 0x31
.2byte \song
.endm
@ Blocks script execution until all currently-playing fanfares finish.
.macro waitfanfare
.byte 0x32
.endm
@ Plays the specified song. If save_song is TRUE, the
@ specified song will be saved as if savebgm was called with it.
.macro playbgm song:req, save_song:req
.byte 0x33
.2byte \song
.byte \save_song
.endm
@ Saves the specified song to be played later. Saved music may be played when Overworld_PlaySpecialMapMusic is called. This occurs on
@ exiting most warps.
.macro savebgm song:req
.byte 0x34
.2byte \song
.endm
@ Crossfades the currently-playing song into the map's default song.
.macro fadedefaultbgm
.byte 0x35
.endm
@ Crossfades the currently-playing song into the specified song.
.macro fadenewbgm song:req
.byte 0x36
.2byte \song
.endm
@ Fades out the currently-playing song.
.macro fadeoutbgm speed:req
.byte 0x37
.byte \speed
.endm
@ Fades the previously-playing song back in.
.macro fadeinbgm speed:req
.byte 0x38
.byte \speed
.endm
@ Helper macro for warp commands that formats their arguments.
@ It allows warp macros to either provide 1. a valid id for which warp location to use,
@ or 2. a pair of x/y coordinates to use. Both may be provided but at least one will be
@ ignored by SetPlayerCoordsFromWarp. If none are provided it will use dummy arguments,
@ and the warp will send the player to the center of the map.
@ Examples of valid inputs for a warp command:
@ - warp MAP, x, y
@ - warp MAP, warpId
@ - warp MAP
@ - warp MAP, warpId, x, y
.macro formatwarp map:req, a, b, c
map \map
.ifb \a @ No arguments provided, use dummy warpId and coords.
.byte WARP_ID_NONE
.2byte -1 @ x
.2byte -1 @ y
.else
.ifb \b @ Only one argument provided, treat it as a warpId and use dummy coords.
.byte \a @ warpId
.2byte -1 @ x
.2byte -1 @ y
.else
.ifb \c @ Only two arguments provided, treat them as a coord pair and use dummy warpId.
.byte WARP_ID_NONE
.2byte \a @ x
.2byte \b @ y
.else @ All three arguments provided. Output them and let the warp sort out which to use.
.byte \a @ warpId
.2byte \b @ x
.2byte \c @ y
.endif
.endif
.endif
.endm
@ Warps the player to the specified map.
@ Warp commands can be given either the id of which warp location to go to on the destination map
@ or a pair of x/y coordinates to go to directly on the destination map.
.macro warp map:req, a, b, c
.byte 0x39
formatwarp \map, \a, \b, \c
.endm
@ Warps the player to the specified map without playing a sound effect.
@ Warp commands can be given either the id of which warp location to go to on the destination map
@ or a pair of x/y coordinates to go to directly on the destination map.
.macro warpsilent map:req, a, b, c
.byte 0x3a
formatwarp \map, \a, \b, \c
.endm
@ Warps the player to the specified map and plays a door opening animation before stepping upwards into it.
@ Warp commands can be given either the id of which warp location to go to on the destination map
@ or a pair of x/y coordinates to go to directly on the destination map.
.macro warpdoor map:req, a, b, c
.byte 0x3b
formatwarp \map, \a, \b, \c
.endm
@ Warps the player to another map using a hole animation. If the specified map is MAP_UNDEFINED it will instead
@ use the map set by setholewarp. In either case the target coordinates on the destination map will be the
@ player's current position.
.macro warphole map:req
.byte 0x3c
map \map
.endm
@ Warps the player to the specified map using a teleport effect. Effect is similar to warpspinenter but
@ this warp has a fade out first and doesn't maintain the original facing direction.
@ Warp commands can be given either the id of which warp location to go to on the destination map
@ or a pair of x/y coordinates to go to directly on the destination map.
.macro warpteleport map:req, a, b, c
.byte 0x3d
formatwarp \map, \a, \b, \c
.endm
@ Sets the warp destination to be used later.
@ Warp commands can be given either the id of which warp location to go to on the destination map
@ or a pair of x/y coordinates to go to directly on the destination map.
.macro setwarp map:req, a, b, c
.byte 0x3e
formatwarp \map, \a, \b, \c
.endm
@ Sets the dynamic warp destination. Warps with a destination map of MAP_DYNAMIC will target this destination.
@ Warp commands can be given either the id of which warp location to go to on the destination map
@ or a pair of x/y coordinates to go to directly on the destination map.
.macro setdynamicwarp map:req, a, b, c
.byte 0x3f
formatwarp \map, \a, \b, \c
.endm
@ Sets the destination that diving or emerging from a dive will take the player to. Note that this only
@ applies if the current map does not have a dive/emerge connection. If it does have a corresponding
@ map connection then that map and the player's current coordinates will be used as the destination instead.
@ Warp commands can be given either the id of which warp location to go to on the destination map
@ or a pair of x/y coordinates to go to directly on the destination map.
.macro setdivewarp map:req, a, b, c
.byte 0x40
formatwarp \map, \a, \b, \c
.endm
@ Sets the destination that falling into a hole will take the player to.
@ While it does accept and set the x/y coordinates and warpId, they are ultimately ignored.
@ This is only used to set the map the player should fall to. The exact location on the
@ map to fall to is determined by warphole.
@ Warp commands can be given either the id of which warp location to go to on the destination map
@ or a pair of x/y coordinates to go to directly on the destination map.
.macro setholewarp map:req, a=0, b=0, c
.byte 0x41
formatwarp \map, \a, \b, \c
.endm
@ Retrieves the player's zero-indexed x- and y-coordinates in the map, and stores them in the specified variables.
.macro getplayerxy x:req, y:req
.byte 0x42
.2byte \x
.2byte \y
.endm
@ Retrieves the number of Pokemon in the player's party, and stores that number in VAR_RESULT.
.macro getpartysize
.byte 0x43
.endm
@ Attempts to add quantity of the specified item to the player's Bag. If the player has enough room, the item will
@ be added and VAR_RESULT will be set to TRUE; otherwise, VAR_RESULT is set to FALSE.
.macro additem itemId:req, quantity=1
.byte 0x44
.2byte \itemId
.2byte \quantity
.endm
@ Removes quantity of the specified item from the player's Bag. If the player has fewer than 'quantity' in their bag
@ then none will be removed and VAR_RESULT will be set to FALSE. Otherwise it will be set to TRUE.
.macro removeitem itemId:req, quantity=1
.byte 0x45
.2byte \itemId
.2byte \quantity
.endm
@ Checks if the player has enough space in their Bag to hold quantity more of the specified item. Sets VAR_RESULT to
@ TRUE if there is room, or FALSE is there is no room.
.macro checkitemspace itemId:req, quantity=1
.byte 0x46
.2byte \itemId
.2byte \quantity
.endm
@ Checks if the player has quantity or more of the specified item in their Bag. Sets VAR_RESULT to TRUE if the player has
@ enough of the item, or FALSE if they have fewer than quantity of the item.
.macro checkitem itemId:req, quantity=1
.byte 0x47
.2byte \itemId
.2byte \quantity
.endm
@ Checks which Bag pocket the specified item belongs in, and writes the pocket value (POCKET_*) to VAR_RESULT.
@ This is used to show the name of the proper Bag pocket when the player receives an item via callstd.
.macro checkitemtype itemId:req
.byte 0x48
.2byte \itemId
.endm
@ Adds quantity of the specified item to the player's PC.
.macro addpcitem itemId:req, quantity=1
.byte 0x49
.2byte \itemId
.2byte \quantity
.endm
@ Checks for quantity of the specified item in the player's PC.
.macro checkpcitem itemId:req, quantity=1
.byte 0x4a
.2byte \itemId
.2byte \quantity
.endm
@ In FRLG, this command is a nop. In RSE, adds a decoration to the player's PC.
.macro adddecoration decoration:req
.byte 0x4b
.2byte \decoration
.endm
@ In FRLG, this command is a nop. In RSE, removes a decoration from the player's PC.
.macro removedecoration decoration:req
.byte 0x4c
.2byte \decoration
.endm
@ In FRLG, this command is a nop. In RSE, checks for decoration in the player's PC.
.macro checkdecor decoration:req
.byte 0x4d
.2byte \decoration
.endm
@ In FRLG, this command is a nop. In RSE, checks if the player has enough space in their PC to hold the decoration.
.macro checkdecorspace decoration:req
.byte 0x4e
.2byte \decoration
.endm
@ Applies the movement data at movements to the specified (localId) object. If no map is specified, then the current map is used.
.macro applymovement localId:req, movements:req, map
.ifb \map
.byte 0x4f
.2byte \localId
.4byte \movements
.else
@ Really only useful if the object has followed from one map to another (e.g. Wally during the catching event).
.byte 0x50
.2byte \localId
.4byte \movements
map \map
.endif
.endm
@ Blocks script execution until the movements being applied to the specified (localId) object finish.
@ If localId is 0, then the id of the last-moved object will be used instead. If the specified object
@ is not currently being manipulated with applymovement, then this command does nothing.
@ If no map is specified, then the current map is used.
.macro waitmovement localId:req, map
.ifb \map
.byte 0x51
.2byte \localId
.else
.byte 0x52
.2byte \localId
map \map
.endif
.endm
@ Attempts to despawn the specified (localId) object on the specified map.
@ It also sets the object's visibility flag if it has one.
@ If no map is specified, then the current map is used.
.macro removeobject localId:req, map
.ifb \map
.byte 0x53
.2byte \localId
.else
.byte 0x54
.2byte \localId
map \map
.endif
.endm
@ Attempts to spawn the specified (localId) object the specified map.
@ Note that unlike removeobject this does not modify the object's flag.
@ If no map is specified, then the current map is used.
.macro addobject localId:req, map
.ifb \map
.byte 0x55
.2byte \localId
.else
.byte 0x56
.2byte \localId
map \map
.endif
.endm
@ Sets the specified (localId) object's position on the current map.
.macro setobjectxy localId:req, x:req, y:req
.byte 0x57
.2byte \localId
.2byte \x
.2byte \y
.endm
@ Sets the specified object's invisibility to FALSE.
.macro showobjectat localId:req, map:req
.byte 0x58
.2byte \localId
map \map
.endm
@ Sets the specified object's invisibility to TRUE.
.macro hideobjectat localId:req, map:req
.byte 0x59
.2byte \localId
map \map
.endm
@ Turns the currently selected object (if there is one) to face the player.
.macro faceplayer
.byte 0x5a
.endm
@ Turns the specified object in the specified direction.
.macro turnobject localId:req, direction:req
.byte 0x5b
.2byte \localId
.byte \direction
.endm
@ Configures the arguments for a trainer battle, then jumps to the appropriate script in scripts/trainer_battle.inc
.macro trainerbattle type:req, trainer:req, local_id:req, pointer1:req, pointer2, pointer3, pointer4
.byte 0x5c
.byte \type
.2byte \trainer
.2byte \local_id
.if \type == TRAINER_BATTLE_SINGLE
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.elseif \type == TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.4byte \pointer3 @ event script
.elseif \type == TRAINER_BATTLE_CONTINUE_SCRIPT
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.4byte \pointer3 @ event script
.elseif \type == TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT
.4byte \pointer1 @ text
.elseif \type == TRAINER_BATTLE_DOUBLE
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.4byte \pointer3 @ text
.elseif \type == TRAINER_BATTLE_REMATCH
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.elseif \type == TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.4byte \pointer3 @ text
.4byte \pointer4 @ event script
.elseif \type == TRAINER_BATTLE_REMATCH_DOUBLE
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.4byte \pointer3 @ text
.elseif \type == TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.4byte \pointer3 @ text
.4byte \pointer4 @ event script
.elseif \type == TRAINER_BATTLE_EARLY_RIVAL
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.endif
.endm
NO_MUSIC = FALSE
@ Starts a single trainer battle. Takes a trainer, intro text, loss text, and an optional event script.
@ When used with an event script, you can also pass in an optional flag to disable music
.macro trainerbattle_single trainer:req, intro_text:req, lose_text:req, event_script=FALSE, music=TRUE
.if \event_script == FALSE
trainerbattle TRAINER_BATTLE_SINGLE, \trainer, 0, \intro_text, \lose_text
.elseif \music == TRUE
trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, \trainer, 0, \intro_text, \lose_text, \event_script
.else
trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC, \trainer, 0, \intro_text, \lose_text, \event_script
.endif
.endm
@ Starts a double trainer battle. Takes a trainer, intro text, loss text, text for when you have too few pokemon
@ and an optional event script. When used with an event script you can pass in an optional flag to disable music
.macro trainerbattle_double trainer:req, intro_text:req, lose_text:req, not_enough_pkmn_text:req, event_script=FALSE, music=TRUE
.if \event_script == FALSE
trainerbattle TRAINER_BATTLE_DOUBLE, \trainer, 0, \intro_text, \lose_text, \not_enough_pkmn_text
.elseif \music == TRUE
trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE, \trainer, 0, \intro_text, \lose_text, \not_enough_pkmn_text, \event_script
.else
trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC, \trainer, 0, \intro_text, \lose_text, \not_enough_pkmn_text, \event_script
.endif
.endm
@ Starts a rematch battle, takes a trainer, intro text and loss text
.macro trainerbattle_rematch trainer:req, intro_text:req, lose_text:req
trainerbattle TRAINER_BATTLE_REMATCH, \trainer, 0, \intro_text, \lose_text
.endm
@ Starts a rematch double battle. Takes a trainer, intro text, loss text, and text for when you have too few pokemon
.macro trainerbattle_rematch_double trainer:req, intro_text:req, lose_text:req, not_enough_pkmn_text:req
trainerbattle TRAINER_BATTLE_REMATCH_DOUBLE, \trainer, 0, \intro_text, \lose_text, \not_enough_pkmn_text
.endm
@ Starts a trainer battle, skipping intro text. Takes a trainer and loss text
.macro trainerbattle_no_intro trainer:req, lose_text:req
trainerbattle TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT, \trainer, 0, \lose_text
.endm
@ Starts a trainer battle with victory text if the player loses. If flags is nonzero, the player will be healed after battle (and its assumed to be the tutorial battle)
.macro trainerbattle_earlyrival trainer:req, flags:req, defeat_text:req, victory_text:req
trainerbattle TRAINER_BATTLE_EARLY_RIVAL, \trainer, \flags, \defeat_text, \victory_text
.endm
@ Starts a trainer battle using the battle information stored in RAM (usually by the scripts in trainer_battle.inc, which
@ are run by trainerbattle), and blocks script execution until the battle finishes.
.macro dotrainerbattle
.byte 0x5d
.endm
@ Goes to address after the trainerbattle command (called by the battle functions, see battle_setup.c)
.macro gotopostbattlescript
.byte 0x5e
.endm
@ Goes to address specified in the trainerbattle command (called by the battle functions, see battle_setup.c)
.macro gotobeatenscript
.byte 0x5f
.endm
@ Checks if the trainer has been defeated by the player (by comparing the flag 'trainer + TRAINER_FLAGS_START' to TRUE).
.macro checktrainerflag trainer:req
.byte 0x60
.2byte \trainer
.endm
@ Sets the trainer flag (trainer + TRAINER_FLAGS_START) to TRUE (defeated).
.macro settrainerflag trainer:req
.byte 0x61
.2byte \trainer
.endm
@ Sets the trainer flag (trainer + TRAINER_FLAGS_START) to FALSE (not defeated).
.macro cleartrainerflag trainer:req
.byte 0x62
.2byte \trainer
.endm
@ Sets the coordinates of an object's template, so that if the sprite goes off screen
@ it'll still be there when it comes back on screen.
.macro setobjectxyperm localId:req, x:req, y:req
.byte 0x63
.2byte \localId
.2byte \x
.2byte \y
.endm
@ Copies a live object event's xy position to its template, so that if the sprite goes off screen
@ it'll still be there when it comes back on screen.
.macro copyobjectxytoperm localId:req
.byte 0x64
.2byte \localId
.endm
@ Sets the movement type (MOVEMENT_TYPE_*) for an object's template.
.macro setobjectmovementtype localId:req, movementType:req
.byte 0x65
.2byte \localId
.byte \movementType
.endm
@ If a standard message box (or its text) is being drawn on-screen, this command blocks script execution until the
@ box and its text have been fully drawn.
.macro waitmessage
.byte 0x66
.endm
@ Starts displaying a standard message box containing the specified text. If text is a pointer, then the string at
@ that offset will be loaded and used. If text is NULL, then the value of script data 0 will be treated as
@ a pointer to the text. The 'loadword 0' in msgbox sets this value, for instance.
.macro message text:req
.byte 0x67
.4byte \text
.endm
@ Closes the current message box.
.macro closemessage
.byte 0x68
.endm
@ Freezes all objects immediately except the player. The player is frozen once their movement is finished.
.macro lockall
.byte 0x69
.endm
@ Freezes all objects immediately except the player and the selected object. The player and selected object are frozen once their movement is finished.
.macro lock
.byte 0x6a
.endm
@ Resumes normal movement for all objects on-screen, and closes any standard message boxes that are still open.
.macro releaseall
.byte 0x6b
.endm
@ Resumes normal movement for the selected object (if there is one) and the player. Also closes any standard message boxes that are still open.
.macro release
.byte 0x6c
.endm
@ Blocks script execution until the player presses the A or B button.
.macro waitbuttonpress
.byte 0x6d
.endm
@ Displays a YES/NO multichoice box at the specified coordinates, and blocks script execution until the user makes a selection.
@ Their selection is stored in VAR_RESULT as NO (0) or YES (1). Pressing B is equivalent to answering NO
.macro yesnobox x:req, y:req
.byte 0x6e
.byte \x
.byte \y
.endm
@ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made.
@ Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with multichoiceId.
@ If ignoreBPress is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
.macro multichoice x:req, y:req, multichoiceId:req, ignoreBPress:req
.byte 0x6f
.byte \x
.byte \y
.byte \multichoiceId
.byte \ignoreBPress
.endm
@ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made.
@ Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with multichoiceId.
@ The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0.
@ If ignoreBPress is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
.macro multichoicedefault x:req, y:req, multichoiceId:req, default:req, ignoreBPress:req
.byte 0x70
.byte \x
.byte \y
.byte \multichoiceId
.byte \default
.byte \ignoreBPress
.endm
@ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made.
@ Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with multichoiceId.
@ The per_row argument determines how many list items will be shown on a single row of the box.
@ If ignoreBPress is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
.macro multichoicegrid x:req, y:req, multichoiceId:req, per_row:req, ignoreBPress:req
.byte 0x71
.byte \x
.byte \y
.byte \multichoiceId
.byte \per_row
.byte \ignoreBPress
.endm
@ In FRLG, this command is a nop.
.macro drawbox
.byte 0x72
.endm
@ In FRLG, this command is a nop. Still consumes parameters.
.macro erasebox left:req, top:req, right:req, bottom:req
.byte 0x73
.byte \left
.byte \top
.byte \right
.byte \bottom
.endm
@ In FRLG, this command is a nop. Still consumes parameters.
.macro drawboxtext left:req, top:req, multichoiceId:req, ignoreBPress:req
.byte 0x74
.byte \left
.byte \top
.byte \multichoiceId
.byte \ignoreBPress
.endm
@ Displays a box containing the front sprite for the specified Pokemon species and plays its cry.
.macro showmonpic species:req, x:req, y:req
.byte 0x75
.2byte \species
.byte \x
.byte \y
.endm
@ Hides the box displayed by showmonpic.
.macro hidemonpic
.byte 0x76
.endm
@ In FRLG, this command is a nop. In RSE, draws an image of the winner of the contest. winnerId is any CONTEST_WINNER_* constant.
.macro showcontestpainting winnerId:req
.byte 0x77
.byte \winnerId
.endm
@ Displays the given string as braille text in a standard message box. The string should use the .braille directive
@ to convert text to braille, and be preceded by brailleformat. The brailleformat data is skipped over (in RS, these
@ bytes determined the box's size and position, but in Emerald these are calculated automatically).
.macro braillemessage text:req
.byte 0x78
.4byte \text
.endm
@ Formatting for the braille window, to be put at the start of a pointer used by braillemessage.
.macro brailleformat winLeft:req, winTop:req, winRight:req, winBottom:req, textLeft:req, textTop:req
.byte \winLeft
.byte \winTop
.byte \winRight
.byte \winBottom
.byte \textLeft
.byte \textTop
.endm
@ Gives the player a Pokémon of the specified species and level, holding the specified item. The trailing 0s are unused parameters.
@ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome.
.macro givemon species:req, level:req, item=ITEM_NONE
.byte 0x79
.2byte \species
.byte \level
.2byte \item
.4byte 0
.4byte 0
.byte 0
.endm
@ Gives the player an Egg of the specified species.
@ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome.
.macro giveegg species:req
.byte 0x7a
.2byte \species
.endm
@ Replaces the move at 'slot' of the Pokémon in the player's party at 'partyIndex' with the specified move.
@ If a value greater than PARTY_SIZE is given for partyIndex it will use the last Pokémon in the party instead.
@ Note that this means in vanilla a value equal to PARTY_SIZE for partyIndex will go out of bounds.
.macro setmonmove partyIndex:req, slot:req, move:req
.byte 0x7b
.byte \partyIndex
.byte \slot
.2byte \move
.endm
@ Checks if at least one Pokemon in the player's party knows the specified move. If so, VAR_RESULT is set to the
@ (zero-indexed) slot number of the first Pokemon that knows the move. If not, VAR_RESULT is set to PARTY_SIZE.
@ VAR_0x8004 is also set to this Pokemon's species.
.macro checkpartymove move:req
.byte 0x7c
.2byte \move
.endm
@ Converts STR_VAR_1, STR_VAR_2, or STR_VAR_3 to its corresponding index into sScriptStringVars (0, 1, or 2).
@ If given anything else it will output it directly.
@ Note: Because the STR_VAR_# arguments given to this macro are not part of a processed string they are not
@ replaced with their charmap values, they are just passed as the literal characters "STR_VAR_#".
.macro stringvar id:req
.if \id == STR_VAR_1
.byte 0
.elseif \id == STR_VAR_2
.byte 1
.elseif \id == STR_VAR_3
.byte 2
.else
.byte \id
.endif
.endm
@ Writes the name of the given Pokemon species to the specified buffer.
.macro bufferspeciesname stringVarId:req, species:req
.byte 0x7d
stringvar \stringVarId
.2byte \species
.endm
@ Writes the name of the species of the first Pokemon in the player's party to the specified buffer.
.macro bufferleadmonspeciesname stringVarId:req
.byte 0x7e
stringvar \stringVarId
.endm
@ Writes the nickname of the Pokemon in 'slot' (zero-indexed) of the player's party to the specified buffer.
@ If an empty or invalid slot is specified, ten spaces ("") are written to the buffer.
.macro bufferpartymonnick stringVarId:req, slot:req
.byte 0x7f
stringvar \stringVarId
.2byte \slot
.endm
@ Writes the name of the specified item to the specified buffer. If itemId is >= ITEMS_COUNT,
@ then the name of ITEM_NONE ("????????") is buffered instead.
.macro bufferitemname stringVarId:req, item:req
.byte 0x80
stringvar \stringVarId
.2byte \item
.endm
@ In FRLG, this command is a nop. In RSE, writes the name of the specified decoration to the specified buffer.
.macro bufferdecorationname stringVarId:req, decoration:req
.byte 0x81
stringvar \stringVarId
.2byte \decoration
.endm
@ Writes the name of the specified move to the specified buffer.
.macro buffermovename stringVarId:req, move:req
.byte 0x82
stringvar \stringVarId
.2byte \move
.endm
@ Converts the value of input to a decimal string, and writes that string to the specified buffer.
.macro buffernumberstring stringVarId:req, input:req
.byte 0x83
stringvar \stringVarId
.2byte \input
.endm
@ Writes the given standard string (STDSTRING_*) to the specified buffer. Invalid std string ids are not handled.
.macro bufferstdstring stringVarId:req, index:req
.byte 0x84
stringvar \stringVarId
.2byte \index
.endm
@ Copies the string at the given pointer to the specified buffer.
.macro bufferstring stringVarId:req, text:req
.byte 0x85
stringvar \stringVarId
.4byte \text
.endm
@ Opens the Pokemart system, offering the specified products for sale.
@ Products should be a list of .2byte item values preceded by an .align 2
.macro pokemart products:req
.byte 0x86
.4byte \products
.endm
@ Opens the Pokemart system and treats the list of items as decorations.
@ Products should be a list of .2byte decoration values preceded by an .align 2
.macro pokemartdecoration products:req
.byte 0x87
.4byte \products
.endm
@ Identical to pokemartdecoration, but with slight changes to the clerk dialogue. See uses of MART_TYPE_DECOR2.
.macro pokemartdecoration2 products:req
.byte 0x88
.4byte \products
.endm
@ Starts up the slot machine minigame. id is a SLOT_MACHINE_* value that influences probabilities of certain reel outcomes.
.macro playslotmachine id:req
.byte 0x89
.2byte \id
.endm
@ In FRLG, this command is a nop. In RSE, sets a berry tree's berry and growth stage.
.macro setberrytree treeId:req, berry:req, growthStage:req
.byte 0x8a
.byte \treeId
.byte \berry
.byte \growthStage
.endm
@ In FRLG, this command is a nop. In RSE, opens the party menu to select a Pokemon for a contest.
.macro choosecontestmon
.byte 0x8b
.endm
@ In FRLG, this command is a nop. In RSE, starts the appeals round of a contest.
.macro startcontest
.byte 0x8c
.endm
@ In FRLG, this command is a nop. In RSE, shows the results screen of a contest.
.macro showcontestresults
.byte 0x8d
.endm
@ In FRLG, this command is a nop. In RSE, starts communication to initialize a link contest.
.macro contestlinktransfer
.byte 0x8e
.endm
@ Stores a random integer between 0 and limit (exclusive of limit) in VAR_RESULT.
.macro random limit:req
.byte 0x8f
.2byte \limit
.endm
@ Adds value to the player's money. If adding 'value' money would exceed MAX_MONEY, the player's money is set to MAX_MONEY.
@ If 'disable' is set to anything but 0 then this command does nothing.
.macro addmoney value:req, disable=0
.byte 0x90
.4byte \value
.byte \disable
.endm
@ Subtracts value from the player's money. If the player has less than 'value' money, their money is set to 0.
@ If 'disable' is set to anything but 0 then this command does nothing.
.macro removemoney value:req, disable=0
.byte 0x91
.4byte \value
.byte \disable
.endm
@ Checks if the player has money >= value. VAR_RESULT is set to TRUE if the player has enough money, or FALSE if they do not.
@ If 'disable' is set to anything but 0 then this command does nothing.
.macro checkmoney value:req, disable=0
.byte 0x92
.4byte \value
.byte \disable
.endm
@ Creates a window showing how much money the player has.
@ If 'disable' is set to anything but 0 then this command does nothing.
.macro showmoneybox x:req, y:req, disable=0
.byte 0x93
.byte \x
.byte \y
.byte \disable
.endm
@ Destroys the window created by showmoneybox. Consumption of the x and y arguments was dummied out.
.macro hidemoneybox
.byte 0x94
.byte 0 @ \x
.byte 0 @ \y
.endm
@ Updates the window created by showmoneybox. Consumption of the x and y arguments was dummied out.
@ If 'disable' is set to anything but 0 then this command does nothing.
.macro updatemoneybox disable=0
.byte 0x95
.byte 0 @ \x
.byte 0 @ \y
.byte \disable
.endm
@ In FRLG, this command is a nop. In RSE, gets whether the effects of the specified PokeNews program are active.
.macro getpokenewsactive newsKind:req
.byte 0x96
.2byte \newsKind
.endm
@ Fades the screen to and from black and white. Modes are FADE_(TO/FROM)_(WHITE/BLACK)
.macro fadescreen mode:req
.byte 0x97
.byte \mode
.endm
@ Fades the screen to and from black and white. Modes are FADE_(TO/FROM)_(WHITE/BLACK)
.macro fadescreenspeed mode:req, speed:req
.byte 0x98
.byte \mode
.byte \speed
.endm
@ Sets the flash level. A level of 0 is fully bright, a level of 1 is the largest flash radius, a level
@ of 7 is the smallest flash radius, a level of 8 is fully black.
.macro setflashlevel level:req
.byte 0x99
.2byte \level
.endm
@ Animates the flash radius from its current size to the size it would be at the specified level.
@ Note that this does not actually change the current flash level. It's typically used just before a setflashlevel.
.macro animateflash level:req
.byte 0x9a
.byte \level
.endm
@ Automatically scrolls through the message without player input and at a fixed speed.
.macro messageautoscroll text:req
.byte 0x9b
.4byte \text
.endm
@ Executes the specified field effect animation (FLDEFF_*).
.macro dofieldeffect animation:req
.byte 0x9c
.2byte \animation
.endm
@ Sets the field effect argument at index 'argNum' to 'value.'
.macro setfieldeffectargument argNum:req, value:req
.byte 0x9d
.byte \argNum
.2byte \value
.endm
@ Blocks script execution until all playing field effect animations complete.
.macro waitfieldeffect animation:req
.byte 0x9e
.2byte \animation
.endm
@ Sets which healing place the player will return to if all of the Pokemon in their party faint.
.macro setrespawn heallocation:req
.byte 0x9f
.2byte \heallocation
.endm
@ Checks the player's gender. Stores the result (MALE (0) or FEMALE (1)) in VAR_RESULT.
.macro checkplayergender
.byte 0xa0
.endm
@ Plays the cry of the given species. Mode is any CRY_MODE_* constant.
@ You can use waitmoncry to block script execution until the cry finishes.
.macro playmoncry species:req, mode:req
.byte 0xa1
.2byte \species
.2byte \mode
.endm
@ Set the metatile at (x, y) on the current map to the given metatile and impassability.
.macro setmetatile x:req, y:req, metatileId:req, impassable:req
.byte 0xa2
.2byte \x
.2byte \y
.2byte \metatileId
.2byte \impassable
.endm
@ Queues a weather change to the default weather for the map.
.macro resetweather
.byte 0xa3
.endm
@ Queues a weather change to type weather.
.macro setweather type:req
.byte 0xa4
.2byte \type
.endm
@ Executes the weather change queued with resetweather or setweather. The current weather will smoothly fade into the queued weather.
.macro doweather
.byte 0xa5
.endm
@ Enables the overworld task specified by stepCbId (STEP_CB_*). Only 1 can be active at a time. See src/field_tasks.c for more.
.macro setstepcallback stepCbId:req
.byte 0xa6
.byte \stepCbId
.endm
@ Sets the current map layout to the one specified by index (LAYOUT_*).
@ This should be done before the layout is loaded, typically in the ON_TRANSITION map script.
.macro setmaplayoutindex index:req
.byte 0xa7
.2byte \index
.endm
@ Sets the specified object's sprite's subpriority, and sets fixedPriority to TRUE.
@ Only used to hide the player and Briney behind the boat.
.macro setobjectsubpriority localId:req, map:req, subpriority:req
.byte 0xa8
.2byte \localId
map \map
.byte \subpriority
.endm
@ Sets the specified object's fixedPriority to FALSE. Does not change the subpriority field.
.macro resetobjectsubpriority localId:req, map:req
.byte 0xa9
.2byte \localId
map \map
.endm
@ Creates a sprite with object graphics. Used when creating large groups of static NPCs that exceed the object event limit.
@ The specified id can be used to refer to the sprite again later with turnvobject.
.macro createvobject graphicsId:req, id:req, x:req, y:req, elevation=3, direction=DIR_SOUTH
.byte 0xaa
.byte \graphicsId
.byte \id
.2byte \x
.2byte \y
.byte \elevation
.byte \direction
.endm
@ Turns a sprite created with createvobject.
.macro turnvobject id:req, direction:req
.byte 0xab
.byte \id
.byte \direction
.endm
@ Opens the door metatile at (x, y) with an animation.
.macro opendoor x:req, y:req
.byte 0xac
.2byte \x
.2byte \y
.endm
@ Closes the door metatile at (x, y) with an animation.
.macro closedoor x:req, y:req
.byte 0xad
.2byte \x
.2byte \y
.endm
@ Waits for the door animation started with opendoor or closedoor to finish.
.macro waitdooranim
.byte 0xae
.endm
@ Sets the door metatile at (x, y) to be open without an animation.
.macro setdooropen x:req, y:req
.byte 0xaf
.2byte \x
.2byte \y
.endm
@ Sets the door metatile at (x, y) to be closed without an animation.
.macro setdoorclosed x:req, y:req
.byte 0xb0
.2byte \x
.2byte \y
.endm
@ In FRLG, this command is a nop. It is implemented but unused in Ruby/Sapphire.
.macro addelevmenuitem a:req, b:req, c:req, d:req
.byte 0xb1
.byte \a
.2byte \b
.2byte \c
.2byte \d
.endm
@ In FRLG, this command is a nop. It is implemented but unused in Ruby/Sapphire.
.macro showelevmenu
.byte 0xb2
.endm
@ Gets the number of coins the player has and stores it in the variable 'out'.
.macro checkcoins out:req
.byte 0xb3
.2byte \out
.endm
@ Gives 'count' coins to the player, up to a total of MAX_COINS.
@ If the player already has MAX_COINS then VAR_RESULT is set to TRUE, otherwise it is set to FALSE.
.macro addcoins count:req
.byte 0xb4
.2byte \count
.endm
@ Takes 'count' coins from the player.
@ If the player has fewer than 'count' coins then no coins are taken and VAR_RESULT is set to TRUE.
@ Otherwise VAR_RESULT is set to FALSE.
.macro removecoins count:req
.byte 0xb5
.2byte \count
.endm
@ Prepares to start a wild battle against a 'species' at 'level' holding 'item'. Running this command will not affect
@ normal wild battles. You start the prepared battle with dowildbattle.
.macro setwildbattle species:req, level:req, item=ITEM_NONE
.byte 0xb6
.2byte \species
.byte \level
.2byte \item
.endm
@ Starts a wild battle against the Pokemon generated by setwildbattle. Blocks script execution until the battle finishes.
.macro dowildbattle
.byte 0xb7
.endm
@ Sets a relative address to be used by the other vcommands as part of a Mystery Gift script.
.macro setvaddress pointer:req
.byte 0xb8
.4byte \pointer
.endm
@ Equivalent to goto using the relative address set by setvaddress.
.macro vgoto destination:req
.byte 0xb9
.4byte \destination
.endm
@ Equivalent to call using the relative address set by setvaddress.
.macro vcall destination:req
.byte 0xba
.4byte \destination
.endm
@ Equivalent to goto_if using the relative address set by setvaddress.
.macro vgoto_if condition:req, destination:req
.byte 0xbb
.byte \condition
.4byte \destination
.endm
@ Equivalent to call_if using the relative address set by setvaddress.
.macro vcall_if condition:req, destination:req
.byte 0xbc
.byte \condition
.4byte \destination
.endm
@ Equivalent to message using the relative address set by setvaddress.
.macro vmessage text:req
.byte 0xbd
.4byte \text
.endm
@ Expands the given text at the pointer (- the relative address set by setvaddress) into gStringVar4
.macro vbuffermessage text:req
.byte 0xbe
.4byte \text
.endm
@ Equivalent to bufferstring using the relative address set by setvaddress.
.macro vbufferstring stringVarIndex:req, text:req
.byte 0xbf
stringvar \stringVarIndex
.4byte \text
.endm
@ Create a window showing how many Coins the player has.
.macro showcoinsbox x:req, y:req
.byte 0xc0
.byte \x
.byte \y
.endm
@ Destroys the window created by showcoins. It consumes its arguments but doesn't use them.
.macro hidecoinsbox x:req, y:req
.byte 0xc1
.byte \x
.byte \y
.endm
@ Updates the window created by showcoins. It consumes its arguments but doesn't use them.
.macro updatecoinsbox x:req, y:req
.byte 0xc2
.byte \x
.byte \y
.endm
@ Increases the value of the specified game stat by 1. The maximum value of a stat is 0xFFFFFF. See include/constants/game_stat.h
.macro incrementgamestat stat:req
.byte 0xc3
.byte \stat
.endm
@ Sets the destination that using an Escape Rope or Dig will take the player to.
@ Warp commands can be given either the id of which warp location to go to on the destination map
@ or a pair of x/y coordinates to go to directly on the destination map.
.macro setescapewarp map:req, a, b, c
.byte 0xc4
formatwarp \map, \a, \b, \c
.endm
@ Blocks script execution until cry finishes.
.macro waitmoncry
.byte 0xc5
.endm
@ Writes the name of the specified PC box to the specified buffer.
.macro bufferboxname stringVarId:req, box:req
.byte 0xc6
stringvar \stringVarId
.2byte \box
.endm
@ Sets the color of the text in standard message boxes. color is any NPC_TEXT_COLOR_* constant.
@ The color will be reset to NPC_TEXT_COLOR_DEFAULT whenever ProcessPlayerFieldInput is called.
.macro textcolor color:req
.byte 0xc7
.byte \color
.endm
@ Displays the help menu with the given text.
.macro loadhelp msg:req
.byte 0xc8
.4byte \msg
.endm
@ Erases the help menu
.macro unloadhelp
.byte 0xc9
.endm
@ After using this command, all standard message boxes will use the signpost frame.
.macro signmsg
.byte 0xca
.endm
@ Ends the effects of signmsg, returning message box frames to normal.
.macro normalmsg
.byte 0xcb
.endm
@ Reads the value of the specified game stat and compares it to the specified value.
@ Sets the script comparisonResult to 0 if stat < value, 1 if stat == value, and 2 if stat > value.
.macro comparestat statId:req, value:req
.byte 0xcc
.byte \statId
.4byte \value
.endm
@ Sets the modernFatefulEncounter bit for the Pokemon in the specified slot of the player's party.
.macro setmonmodernfatefulencounter slot:req
.byte 0xcd
.2byte \slot
.endm
@ Checks if the modernFatefulEncounter bit is set for the Pokemon in the specified slot of the player's party. If it isn't set,
@ VAR_RESULT is TRUE. If the bit is set (or if the specified slot is empty or invalid), VAR_RESULT is FALSE.
.macro checkmonmodernfatefulencounter slot:req
.byte 0xce
.2byte \slot
.endm
@ Jumps to the ram script saved from a Wonder Card. If there is no valid saved Wonder Card or if the
@ ram script is invalid then this does nothing.
.macro trywondercardscript
.byte 0xcf
.endm
@ Sets worldmapflag to 1. This allows the player to Fly to the corresponding map, if that map has a flightspot.
.macro setworldmapflag worldmapflag:req
.byte 0xd0
.2byte \worldmapflag
.endm
@ Warps the player to the specified map using a teleport effect. Effect is similar to warpteleport, but
@ this warp has no fade out and maintains the original facing direction.
@ Warp commands can be given either the id of which warp location to go to on the destination map
@ or a pair of x/y coordinates to go to directly on the destination map.
.macro warpspinenter map:req, a, b, c
.byte 0xd1
formatwarp \map, \a, \b, \c
.endm
@ Changes the location where the player caught the Pokemon in the specified slot of their party.
.macro setmonmetlocation slot:req, location:req
.byte 0xd2
.2byte \slot
.byte \location
.endm
@ Gets the width of the specified message in the Braille font and sets the result to VAR_0x8004.
.macro getbraillestringwidth msg:req
.byte 0xd3
.4byte \msg
.endm
@ Writes the name of the specified item to the specified buffer. If 'item' is a Berry or ITEM_POKE_BALL
@ and if the quantity is 2 or more, the buffered string will be pluralized ("IES" or "S" appended).
@ If the specified item is >= ITEMS_COUNT then the name of ITEM_NONE ("????????") is buffered instead.
.macro bufferitemnameplural stringVarId:req, item:req, quantity:req
.byte 0xd4
stringvar \stringVarId
.2byte \item
.2byte \quantity
.endm
.macro fadescreenswapbuffers mode:req
.byte 0xd5
.byte \mode
.endm
.macro setobjectmovementtypeinstant localId:req, movementType:req
.byte 0xd6
.2byte \localId
.byte \movementType
.endm
.macro resetobjectmovementtype localId:req
.byte 0xd7
.2byte \localId
.endm
@ Supplementary
.macro goto_if_unset flag:req, dest:req
checkflag \flag
goto_if FALSE, \dest
.endm
.macro goto_if_set flag:req, dest:req
checkflag \flag
goto_if TRUE, \dest
.endm
@ Allows 'compare' followed by a conditional goto/call to be combined into a single statement.
@ The following are examples of the two acceptable formats this facilitates:
@ compare VAR_RESULT, TRUE
@ goto_if_eq MyScript
@ - or -
@ goto_if_eq VAR_RESULT, TRUE, MyScript
@
@ The first two arguments to this macro are the base command, e.g. 'goto_if 1' for goto_if_eq.
@ The remaining arguments 'a, b, c' depend on the format:
@ For a single statement, 'a' and 'b' are the values to compare and 'c' is the destination pointer.
@ For a statement preceded by a compare, 'a' is the destination pointer and 'b/c' are not provided.
.macro trycompare jump:req, condition:req, a:req, b, c
.ifnb \c
compare \a, \b
\jump \condition, \c
.else
\jump \condition, \a
.endif
.endm
.macro goto_if_lt a:req, b, c @ LESS THAN
trycompare goto_if, 0, \a, \b, \c
.endm
.macro goto_if_eq a:req, b, c @ EQUAL
trycompare goto_if, 1, \a, \b, \c
.endm
.macro goto_if_gt a:req, b, c @ GREATER THAN
trycompare goto_if, 2, \a, \b, \c
.endm
.macro goto_if_le a:req, b, c @ LESS THAN OR EQUAL
trycompare goto_if, 3, \a, \b, \c
.endm
.macro goto_if_ge a:req, b, c @ GREATER THAN OR EQUAL
trycompare goto_if, 4, \a, \b, \c
.endm
.macro goto_if_ne a:req, b, c @ NOT EQUAL
trycompare goto_if, 5, \a, \b, \c
.endm
.macro call_if_unset flag:req, dest:req
checkflag \flag
call_if FALSE, \dest
.endm
.macro call_if_set flag:req, dest:req
checkflag \flag
call_if TRUE, \dest
.endm
.macro call_if_lt a:req, b, c @ LESS THAN
trycompare call_if, 0, \a, \b, \c
.endm
.macro call_if_eq a:req, b, c @ EQUAL
trycompare call_if, 1, \a, \b, \c
.endm
.macro call_if_gt a:req, b, c @ GREATER THAN
trycompare call_if, 2, \a, \b, \c
.endm
.macro call_if_le a:req, b, c @ LESS THAN OR EQUAL
trycompare call_if, 3, \a, \b, \c
.endm
.macro call_if_ge a:req, b, c @ GREATER THAN OR EQUAL
trycompare call_if, 4, \a, \b, \c
.endm
.macro call_if_ne a:req, b, c @ NOT EQUAL
trycompare call_if, 5, \a, \b, \c
.endm
.macro vgoto_if_eq a:req, b, c
trycompare vgoto_if, TRUE, \a, \b, \c
.endm
.macro vgoto_if_ne a:req, b, c
trycompare vgoto_if, FALSE, \a, \b, \c
.endm
.macro vgoto_if_set flag:req, dest:req
checkflag \flag
vgoto_if TRUE, \dest
.endm
.macro vgoto_if_unset flag:req, dest:req
checkflag \flag
vgoto_if FALSE, \dest
.endm
.macro goto_if_defeated trainer:req, dest:req
checktrainerflag \trainer
goto_if TRUE, \dest
.endm
.macro goto_if_not_defeated trainer:req, dest:req
checktrainerflag \trainer
goto_if FALSE, \dest
.endm
.macro call_if_defeated trainer:req, dest:req
checktrainerflag \trainer
call_if TRUE, \dest
.endm
.macro call_if_not_defeated trainer:req, dest:req
checktrainerflag \trainer
call_if FALSE, \dest
.endm
.macro switch var:req
copyvar VAR_0x8000, \var
.endm
.macro case condition:req, dest:req
compare VAR_0x8000, \condition
goto_if_eq \dest
.endm
YES = 1
NO = 0
@ Buffers the given text and calls the relevant standard message script (see gStdScripts).
.macro msgbox text:req, type=MSGBOX_DEFAULT
loadword 0, \text
callstd \type
.endm
@ Gives 'amount' of the specified 'item' to the player and prints a message with fanfare.
@ If the player doesn't have space for all the items then as many are added as possible, the
@ message indicates there is no room, and VAR_RESULT is set to FALSE.
@ Otherwise VAR_RESULT is set to TRUE, and the message indicates they have received the item(s).
.macro giveitem item:req, amount=1
setorcopyvar VAR_0x8000, \item
setorcopyvar VAR_0x8001, \amount
callstd STD_OBTAIN_ITEM
.endm
@ For picking up items in the overworld. Similar to giveitem, but with different language and
@ sets the flag of the last-talked to object (the item the player picked up).
.macro finditem item:req, amount=1
setorcopyvar VAR_0x8000, \item
setorcopyvar VAR_0x8001, \amount
callstd STD_FIND_ITEM
.endm
@ Prints the message "{PLAYER} put the {ITEM} in the {POCKET}." The item name is pluralized, if applicable.
.macro putitemaway item:req, amount=1
setorcopyvar VAR_0x8000, \item
setorcopyvar VAR_0x8001, \amount
callstd STD_PUT_ITEM_AWAY
.endm
@ Prints the provided message after playing the fanfare music (can only be MUS_LEVEL_UP or MUS_OBTAIN_KEY_ITEM).
@ It then prints the message shown by using putitemaway.
.macro msgreceiveditem msg:req, item:req, amount=1, fanfare=MUS_LEVEL_UP
loadword 0, \msg
setorcopyvar VAR_0x8000, \item
setorcopyvar VAR_0x8001, \amount
setorcopyvar VAR_0x8002, \fanfare
callstd STD_RECEIVED_ITEM
.endm
@ Adds the specified item to the bag, then prints a message with fanfare. See description of msgreceiveditem.
.macro giveitem_msg msg:req, item:req, amount=1, fanfare=MUS_LEVEL_UP
additem \item, \amount
msgreceiveditem \msg, \item, \amount, \fanfare
.endm
@ Depends on the provided function. With the default argument, unlocks the specified entry in the Fame Checker.
.macro famechecker person:req, index:req, function=SetFlavorTextFlagFromSpecialVars
setvar VAR_0x8004, \person
setvar VAR_0x8005, \index
special \function
.endm
@ Sets the 'defeated' flag for all trainers in the specified gym.
.macro set_gym_trainers gym:req
setvar VAR_0x8008, \gym
call EventScript_SetGymTrainers
.endm
@ Jumps to dest if the Quest Log is currently showing playback scenes (dest is usually a release/end)
.macro goto_if_questlog dest:req
special GetQuestLogState
compare VAR_RESULT, 2
goto_if_eq \dest
.endm
@ Prints a braille message, then waits for users input.
.macro braillemessage_wait text:req
setvar VAR_0x8006, 0
braillemessage \text
getbraillestringwidth \text
call EventScript_BrailleCursorWaitButton
.endm
@ Creates a Pokémon with the modernFatefulEncounter bit set for an encounter
.macro seteventmon species:req, level:req, item=ITEM_NONE
setvar VAR_0x8004, \species
setvar VAR_0x8005, \level
setvar VAR_0x8006, \item
special CreateEnemyEventMon
.endm
================================================
FILE: asm/macros/field_effect_script.inc
================================================
.macro loadtiles address
.byte 0
.4byte \address
.endm
.macro loadfadedpal address
.byte 1
.4byte \address
.endm
.macro loadpal address
.byte 2
.4byte \address
.endm
.macro callnative address
.byte 3
.4byte \address
.endm
.macro end
.byte 4
.endm
.macro loadgfx_callnative tiles_address, palette_address, function_address
.byte 5
.4byte \tiles_address
.4byte \palette_address
.4byte \function_address
.endm
.macro loadtiles_callnative tiles_address, function_address
.byte 6
.4byte \tiles_address
.4byte \function_address
.endm
.macro loadfadedpal_callnative palette_address, function_address
.byte 7
.4byte \palette_address
.4byte \function_address
.endm
================================================
FILE: asm/macros/function.inc
================================================
.macro arm_func_start name
.align 2, 0
.global \name
.arm
.type \name, function
.endm
.macro arm_func_end name
.size \name, .-\name
.endm
.macro thumb_func_start name
.align 2, 0
.global \name
.thumb
.thumb_func
.type \name, function
.endm
.macro non_word_aligned_thumb_func_start name
.global \name
.thumb
.thumb_func
.type \name, function
.endm
.macro thumb_func_end name
.size \name, .-\name
.endm
================================================
FILE: asm/macros/m4a.inc
================================================
.macro song label, music_player, unknown
.4byte \label
.2byte \music_player
.2byte \unknown
.endm
.macro music_player info_struct, track_struct, unknown_1, unknown_2
.4byte \info_struct
.4byte \track_struct
.byte \unknown_1
.space 1
.2byte \unknown_2
.endm
================================================
FILE: asm/macros/map.inc
================================================
@ Most of the macros in this file are for arranging map event data, and are output by mapjson using data from each map's JSON file.
@ Takes a MAP constant and outputs the map group and map number as separate bytes
.macro map map_id:req
.byte \map_id >> 8 @ map group
.byte \map_id & 0xFF @ map num
.endm
@ Defines a map script. 'type' is any MAP_SCRIPT_* constant (see include/constants/map_scripts.h)
.macro map_script type:req, script:req
.byte \type
.4byte \script
.endm
@ Defines an entry in a map script table (for either ON_WARP_INTO_MAP_TABLE or ON_FRAME_TABLE)
.macro map_script_2 var:req, compare:req, script:req
.2byte \var
.2byte \compare
.4byte \script
.endm
@ Defines an object event template for map data, to be used by a normal object. Mirrors the struct layout of ObjectEventTemplate in include/global.fieldmap.h
.macro object_event index:req, gfx:req, x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req
.byte \index
.byte \gfx
.byte OBJ_KIND_NORMAL
.space 1 @ Padding
.2byte \x, \y
.byte \elevation
.byte \movement_type
.byte ((\y_radius << 4) | \x_radius)
.space 1 @ Padding
.2byte \trainer_type
.2byte \sight_radius_tree_etc
.4byte \script
.2byte \event_flag
.space 2 @ Padding
inc _num_npcs
.endm
@ Defines an object event template for map data, to be used by a clone object. Mirrors the struct layout of ObjectEventTemplate in include/global.fieldmap.h
.macro clone_event index:req, gfx:req, x:req, y:req, target_local_id:req, target_map_id:req
.byte \index
.byte \gfx
.byte OBJ_KIND_CLONE
.space 1 @ Padding
.2byte \x, \y
.byte \target_local_id
.space 3 @ Padding
.2byte \target_map_id & 0xFF @ map num
.2byte \target_map_id >> 8 @ map group
.space 8 @ Padding
inc _num_npcs
.endm
@ Defines a warp event for map data. Mirrors the struct layout of WarpEvent in include/global.fieldmap.h
.macro warp_def x:req, y:req, elevation:req, warpId:req, map_id:req
.2byte \x, \y
.byte \elevation
.byte \warpId
.byte \map_id & 0xFF @ map num
.byte \map_id >> 8 @ map group
inc _num_warps
.endm
@ Defines a coord event for map data. Mirrors the struct layout of CoordEvent in include/global.fieldmap.h
.macro coord_event x:req, y:req, elevation:req, var:req, varValue:req, script:req
.2byte \x, \y
.byte \elevation
.space 1 @ Padding
.2byte \var
.2byte \varValue
.space 2 @ Padding
.4byte \script
inc _num_traps
.endm
@ Defines a weather coord event for map data. Any coord event is treated as a weather coord event if its script is NULL.
@ NOTE: In FRLG, the weather handling functions are dummied out. See src/coord_event_weather.c
.macro coord_weather_event x:req, y:req, elevation:req, weather:req
coord_event \x, \y, \elevation, \weather, 0, NULL
.endm
@ Defines a generic background event for map data. Mirrors the struct layout of BgEvent in include/global.fieldmap.h
@ 'kind' is any BG_EVENT_* constant (see include/constants/event_bg.h).
@ 'arg6' is used differently depending on the bg event type. 'arg7' and 'arg8' are only used by bg_hidden_item_event.
@ See macros below.
.macro bg_event x:req, y, elevation:req, kind:req, arg6:req, arg7, arg8
.2byte \x, \y
.byte \elevation
.byte \kind
.space 2 @ Padding
.if \kind != BG_EVENT_HIDDEN_ITEM
.4byte \arg6
.else
.2byte \arg6
.byte \arg7
.byte \arg8
.endif
inc _num_signs
.endm
@ Defines a background sign event for map data. 'facing_dir' is any of the BG_EVENT_PLAYER_FACING_* constants (see include/constants/event_bg.h)
.macro bg_sign_event x:req, y:req, elevation:req, facing_dir:req, script:req
bg_event \x, \y, \elevation, \facing_dir, \script
.endm
@ Defines a background hidden item event for map data
.macro bg_hidden_item_event x:req, y:req, elevation:req, item:req, flag:req, quantity:req, underfoot:req
bg_event \x, \y, \elevation, BG_EVENT_HIDDEN_ITEM, \item, ((\flag) - FLAG_HIDDEN_ITEMS_START), \quantity | (\underfoot << 7)
.endm
@ Defines a background secret base event for map data.
@ Unused by FRLG
.macro bg_secret_base_event x:req, y:req, elevation:req, secret_base_id:req
bg_event \x, \y, \elevation, BG_EVENT_SECRET_BASE, \secret_base_id
.endm
@ Defines the table of event data for a map. Mirrors the struct layout of MapEvents in include/global.fieldmap.h
.macro map_events npcs:req, warps:req, traps:req, signs:req
.byte _num_npcs, _num_warps, _num_traps, _num_signs
.4byte \npcs, \warps, \traps, \signs
reset_map_events
.endm
@ Resets the event counters used to track how many events a map has. Run when the events table is created by map_events
.macro reset_map_events
.set _num_npcs, 0
.set _num_warps, 0
.set _num_traps, 0
.set _num_signs, 0
.endm
@ Initialize the event counters for the first map
reset_map_events
@ Directions for connecting maps
@ The map.json files will only have e.g. "down" as direction data, and this will be appended to "connection_" by the connection macro
.equiv connection_down, CONNECTION_SOUTH
.equiv connection_up, CONNECTION_NORTH
.equiv connection_left, CONNECTION_WEST
.equiv connection_right, CONNECTION_EAST
.equiv connection_dive, CONNECTION_DIVE
.equiv connection_emerge, CONNECTION_EMERGE
@ Defines a map connection. Mirrors the struct layout of MapConnection in include/global.fieldmap.h
.macro connection direction:req, offset:req, map:req
.byte connection_\direction
.space 3 @ Padding
.4byte \offset
map \map
.space 2 @ Padding
.endm
@ Defines the flags for a map header. Mirrors the layout of the bitfield in struct MapHeader in include/global.fieldmap.h
.macro map_header_flags allow_cycling:req, allow_escaping:req, allow_running:req, show_map_name:req
.byte \allow_cycling
.byte ((\show_map_name & 1) << 2) | ((\allow_running & 1) << 1) | ((\allow_escaping & 1) << 0)
.endm
================================================
FILE: asm/macros/movement.inc
================================================
.macro create_movement_action name:req, value:req
.macro \name
.byte \value
.endm
.endm
create_movement_action face_down, MOVEMENT_ACTION_FACE_DOWN
create_movement_action face_up, MOVEMENT_ACTION_FACE_UP
create_movement_action face_left, MOVEMENT_ACTION_FACE_LEFT
create_movement_action face_right, MOVEMENT_ACTION_FACE_RIGHT
create_movement_action face_down_fast, MOVEMENT_ACTION_FACE_DOWN_FAST
create_movement_action face_up_fast, MOVEMENT_ACTION_FACE_UP_FAST
create_movement_action face_left_fast, MOVEMENT_ACTION_FACE_LEFT_FAST
create_movement_action face_right_fast, MOVEMENT_ACTION_FACE_RIGHT_FAST
create_movement_action walk_slower_down, MOVEMENT_ACTION_WALK_SLOWER_DOWN
create_movement_action walk_slower_up, MOVEMENT_ACTION_WALK_SLOWER_UP
create_movement_action walk_slower_left, MOVEMENT_ACTION_WALK_SLOWER_LEFT
create_movement_action walk_slower_right, MOVEMENT_ACTION_WALK_SLOWER_RIGHT
create_movement_action walk_slow_down, MOVEMENT_ACTION_
Showing preview only (286K chars total). Download the full file or copy to clipboard to get everything.
gitextract_41kfd4nd/ ├── .gitattributes ├── .github/ │ ├── calcrom/ │ │ ├── calcrom.pl │ │ └── webhook.sh │ └── workflows/ │ └── build.yml ├── .gitignore ├── FAQ.md ├── FEATURES.md ├── INSTALL.md ├── Makefile ├── README.md ├── asm/ │ ├── macros/ │ │ ├── asm.inc │ │ ├── battle_ai_script.inc │ │ ├── battle_anim.inc │ │ ├── battle_anim_script.inc │ │ ├── battle_script.inc │ │ ├── contest_ai_script.inc │ │ ├── ec.inc │ │ ├── event.inc │ │ ├── field_effect_script.inc │ │ ├── function.inc │ │ ├── m4a.inc │ │ ├── map.inc │ │ ├── movement.inc │ │ ├── music_voice.inc │ │ └── trainer_tower.inc │ └── macros.inc ├── asmdiff.sh ├── build_tools.sh ├── charmap.txt ├── common_syms/ │ ├── AgbRfu_LinkManager.txt │ ├── agb_flash.txt │ ├── battle_anim_special.txt │ ├── battle_controller_pokedude.txt │ ├── battle_main.txt │ ├── berry_fix_program.txt │ ├── bg.txt │ ├── cable_club.txt │ ├── ereader_screen.txt │ ├── event_data.txt │ ├── evolution_scene.txt │ ├── fame_checker.txt │ ├── field_camera.txt │ ├── field_control_avatar.txt │ ├── field_specials.txt │ ├── fieldmap.txt │ ├── help_system.txt │ ├── help_system_util.txt │ ├── image_processing_effects.txt │ ├── librfu_rfu.txt │ ├── librfu_sio32id.txt │ ├── librfu_stwi.txt │ ├── link.txt │ ├── link_rfu_2.txt │ ├── list_menu.txt │ ├── load_save.txt │ ├── m4a.txt │ ├── main.txt │ ├── overworld.txt │ ├── party_menu.txt │ ├── quest_log.txt │ ├── random.txt │ ├── save.txt │ ├── save_failed_screen.txt │ ├── scrcmd.txt │ ├── sound.txt │ ├── sprite.txt │ ├── task.txt │ ├── text.txt │ ├── text_printer.txt │ └── window.txt ├── compare.sh ├── config.mk ├── constants/ │ ├── constants.inc │ ├── gba_constants.inc │ ├── m4a_constants.inc │ └── misc_constants.inc ├── data/ │ ├── battle_ai_scripts.s │ ├── battle_anim_scripts.s │ ├── battle_scripts_1.s │ ├── battle_scripts_2.s │ ├── event_scripts.s │ ├── field_effect_scripts.s │ ├── layouts/ │ │ ├── .gitignore │ │ └── layouts.json │ ├── map_events.s │ ├── maps/ │ │ ├── .gitignore │ │ ├── ArtisanCave_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ArtisanCave_B1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BattleColosseum_2P/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── BattleColosseum_4P/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── BattleFrontier_ExchangeServiceCorner/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BattleFrontier_Lounge1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BattleFrontier_Lounge2/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BattleFrontier_Lounge3/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BattleFrontier_Lounge4/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BattleFrontier_Lounge5/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BattleFrontier_Lounge6/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BattleFrontier_Lounge7/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BattleFrontier_Lounge8/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BattleFrontier_Mart/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BattleFrontier_OutsideEast/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BattleFrontier_OutsideWest/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BattleFrontier_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BattleFrontier_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BattleFrontier_RankingHall/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BattleFrontier_ReceptionGate/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BattleFrontier_ScottsHouse/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── BirthIsland_Exterior/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── BirthIsland_Harbor/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── CeladonCity/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_Condominiums_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_Condominiums_2F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_Condominiums_3F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_Condominiums_Roof/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_Condominiums_RoofRoom/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_DepartmentStore_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_DepartmentStore_2F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_DepartmentStore_3F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_DepartmentStore_4F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_DepartmentStore_5F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_DepartmentStore_Elevator/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── CeladonCity_DepartmentStore_Roof/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_GameCorner/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_GameCorner_PrizeRoom/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_Gym/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_Hotel/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_House1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeladonCity_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── CeladonCity_Restaurant/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCave_1F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── CeruleanCave_1F_Blue/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCave_1F_Yellow/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCave_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── CeruleanCave_2F_Blue/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCave_2F_Yellow/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCave_B1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCave_B1F_Blue/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCave_B1F_Yellow/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCity/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCity_BikeShop/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCity_Gym/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCity_House1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCity_House2/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCity_House3/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCity_House4/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCity_House5/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCity_Mart/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCity_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CeruleanCity_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── CinnabarIsland/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CinnabarIsland_Gym/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CinnabarIsland_Mart/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CinnabarIsland_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CinnabarIsland_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── CinnabarIsland_PokemonLab_Entrance/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CinnabarIsland_PokemonLab_ExperimentRoom/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CinnabarIsland_PokemonLab_Lounge/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── CinnabarIsland_PokemonLab_ResearchRoom/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── DiglettsCave_B1F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── DiglettsCave_NorthEntrance/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── DiglettsCave_SouthEntrance/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FarawayIsland_Exterior/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FarawayIsland_Interior/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FiveIsland/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FiveIsland_Harbor/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FiveIsland_House1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FiveIsland_House2/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FiveIsland_LostCave_Entrance/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FiveIsland_LostCave_Room1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FiveIsland_LostCave_Room10/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FiveIsland_LostCave_Room11/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FiveIsland_LostCave_Room12/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FiveIsland_LostCave_Room13/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FiveIsland_LostCave_Room14/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FiveIsland_LostCave_Room2/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FiveIsland_LostCave_Room3/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FiveIsland_LostCave_Room4/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FiveIsland_LostCave_Room5/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FiveIsland_LostCave_Room6/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FiveIsland_LostCave_Room7/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FiveIsland_LostCave_Room8/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FiveIsland_LostCave_Room9/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FiveIsland_Meadow/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FiveIsland_MemorialPillar/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FiveIsland_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FiveIsland_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FiveIsland_ResortGorgeous/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FiveIsland_ResortGorgeous_House/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FiveIsland_RocketWarehouse/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FiveIsland_WaterLabyrinth/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FourIsland/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FourIsland_Base/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FourIsland_Base_CableCarStation/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FourIsland_CableCarStation/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FourIsland_Harbor/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FourIsland_House1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FourIsland_House2/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FourIsland_IcefallCave_1F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FourIsland_IcefallCave_B1F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FourIsland_IcefallCave_Back/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FourIsland_IcefallCave_Entrance/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FourIsland_LoreleisHouse/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FourIsland_Mart/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FourIsland_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FourIsland_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FourIsland_PokemonDayCare/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FuchsiaCity/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FuchsiaCity_Gym/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FuchsiaCity_House1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FuchsiaCity_House2/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FuchsiaCity_House3/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FuchsiaCity_Mart/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FuchsiaCity_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FuchsiaCity_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── FuchsiaCity_SafariZone_Entrance/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FuchsiaCity_SafariZone_Office/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── FuchsiaCity_WardensHouse/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── IndigoPlateau_Exterior/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── IndigoPlateau_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── IndigoPlateau_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── LavenderTown/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── LavenderTown_House1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── LavenderTown_House2/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── LavenderTown_Mart/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── LavenderTown_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── LavenderTown_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── LavenderTown_VolunteerPokemonHouse/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── MtEmber_Exterior/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── MtEmber_RubyPath_1F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── MtEmber_RubyPath_B1F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── MtEmber_RubyPath_B1F_Stairs/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── MtEmber_RubyPath_B2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── MtEmber_RubyPath_B2F_Stairs/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── MtEmber_RubyPath_B3F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── MtEmber_RubyPath_B4F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── MtEmber_RubyPath_B5F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── MtEmber_Summit/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── MtEmber_SummitPath_1F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── MtEmber_SummitPath_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── MtEmber_SummitPath_3F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── MtMoon_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── MtMoon_B1F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── MtMoon_B2F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── NavelRock_1F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_B1F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_Base/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_BasePath_B10F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_BasePath_B11F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_BasePath_B1F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_BasePath_B2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_BasePath_B3F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_BasePath_B4F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_BasePath_B5F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_BasePath_B6F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_BasePath_B7F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_BasePath_B8F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_BasePath_B9F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_Exterior/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_Fork/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_Harbor/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_Summit/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_SummitPath_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_SummitPath_3F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_SummitPath_4F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── NavelRock_SummitPath_5F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── OneIsland/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── OneIsland_Harbor/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── OneIsland_House1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── OneIsland_House2/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── OneIsland_KindleRoad/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── OneIsland_KindleRoad_EmberSpa/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── OneIsland_KindleRoad_GlassWorkshop/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── OneIsland_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── OneIsland_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── OneIsland_TreasureBeach/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PalletTown/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PalletTown_PlayersHouse_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PalletTown_PlayersHouse_2F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PalletTown_ProfessorOaksLab/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PalletTown_RivalsHouse/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PewterCity/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PewterCity_Gym/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PewterCity_House1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PewterCity_House2/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PewterCity_Mart/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PewterCity_Museum_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PewterCity_Museum_2F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PewterCity_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PewterCity_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── PokemonLeague_AgathasRoom/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PokemonLeague_BrunosRoom/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PokemonLeague_ChampionsRoom/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PokemonLeague_HallOfFame/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PokemonLeague_LancesRoom/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PokemonLeague_LoreleisRoom/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PokemonMansion_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PokemonMansion_2F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PokemonMansion_3F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PokemonMansion_B1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PokemonTower_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PokemonTower_2F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PokemonTower_3F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PokemonTower_4F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PokemonTower_5F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PokemonTower_6F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PokemonTower_7F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── PowerPlant/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── Prototype_SeviiIsle_6/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── Prototype_SeviiIsle_7/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── Prototype_SeviiIsle_8/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── Prototype_SeviiIsle_9/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── RS_BattleTower/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── RS_BattleTower_BattleRoom/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── RS_BattleTower_Corridor/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── RS_BattleTower_Elevator/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── RS_BattleTower_Lobby/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── RecordCorner/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── RockTunnel_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── RockTunnel_B1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── RocketHideout_B1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── RocketHideout_B2F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── RocketHideout_B3F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── RocketHideout_B4F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── RocketHideout_Elevator/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route10/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route10_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route10_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── Route11/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route11_EastEntrance_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route11_EastEntrance_2F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route12/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route12_FishingHouse/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route12_NorthEntrance_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route12_NorthEntrance_2F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route13/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route14/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route15/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route15_WestEntrance_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route15_WestEntrance_2F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route16/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route16_House/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route16_NorthEntrance_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route16_NorthEntrance_2F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route17/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route18/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route18_EastEntrance_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route18_EastEntrance_2F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route19/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route19_UnusedHouse/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── Route2/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route20/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route20_Underwater/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route21_North/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route21_South/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route22/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route22_NorthEntrance/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── Route23/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route23_UnusedHouse/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── Route24/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route25/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route25_SeaCottage/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route2_EastBuilding/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route2_House/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route2_ViridianForest_NorthEntrance/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route2_ViridianForest_SouthEntrance/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route3/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route4/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route4_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route4_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── Route5/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route5_PokemonDayCare/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route5_SouthEntrance/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route6/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route6_NorthEntrance/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route6_UnusedHouse/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── Route7/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route7_EastEntrance/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route8/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route8_WestEntrance/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── Route9/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_1F_Corridor/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_1F_Room1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_1F_Room2/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_1F_Room3/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_1F_Room4/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_1F_Room5/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_1F_Room6/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_1F_Room7/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_2F_Corridor/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_2F_Room1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_2F_Room2/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_2F_Room3/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_2F_Room4/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_2F_Room5/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_2F_Room6/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_3F_Corridor/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_B1F_Corridor/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SSAnne_B1F_Room1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_B1F_Room2/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_B1F_Room3/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_B1F_Room4/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_B1F_Room5/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_CaptainsOffice/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_Deck/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SSAnne_Exterior/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SSAnne_Kitchen/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SafariZone_Center/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SafariZone_Center_RestHouse/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SafariZone_East/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SafariZone_East_RestHouse/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SafariZone_North/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SafariZone_NorthEast/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SafariZone_NorthWest/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SafariZone_NorthWest_RestHouse/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SafariZone_North_RestHouse/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SafariZone_SecretHouse/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SafariZone_West/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SafariZone_West_RestHouse/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SaffronCity/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SaffronCity_Connection/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SaffronCity_CopycatsHouse_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SaffronCity_CopycatsHouse_2F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SaffronCity_Dojo/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SaffronCity_Gym/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SaffronCity_House/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SaffronCity_Mart/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SaffronCity_MrPsychicsHouse/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SaffronCity_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SaffronCity_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SaffronCity_PokemonTrainerFanClub/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SeafoamIslands_1F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SeafoamIslands_B1F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SeafoamIslands_B2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SeafoamIslands_B3F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SeafoamIslands_B4F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SevenIsland/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SevenIsland_Harbor/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SevenIsland_House_Room1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SevenIsland_House_Room2/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SevenIsland_Mart/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SevenIsland_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SevenIsland_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SevenIsland_SevaultCanyon/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SevenIsland_SevaultCanyon_Entrance/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SevenIsland_SevaultCanyon_House/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SevenIsland_SevaultCanyon_TanobyKey/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SevenIsland_TanobyRuins/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SevenIsland_TanobyRuins_DilfordChamber/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SevenIsland_TanobyRuins_LiptooChamber/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SevenIsland_TanobyRuins_MoneanChamber/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SevenIsland_TanobyRuins_RixyChamber/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SevenIsland_TanobyRuins_ScufibChamber/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SevenIsland_TanobyRuins_ViapoisChamber/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SevenIsland_TanobyRuins_WeepthChamber/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SevenIsland_TrainerTower/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SevenIsland_UnusedHouse/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SilphCo_10F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SilphCo_11F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SilphCo_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SilphCo_2F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SilphCo_3F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SilphCo_4F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SilphCo_5F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SilphCo_6F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SilphCo_7F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SilphCo_8F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SilphCo_9F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SilphCo_Elevator/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SixIsland/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SixIsland_AlteringCave/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SixIsland_DottedHole_1F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SixIsland_DottedHole_B1F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SixIsland_DottedHole_B2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SixIsland_DottedHole_B3F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SixIsland_DottedHole_B4F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SixIsland_DottedHole_SapphireRoom/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SixIsland_GreenPath/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SixIsland_Harbor/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SixIsland_House/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SixIsland_Mart/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SixIsland_OutcastIsland/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SixIsland_PatternBush/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SixIsland_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SixIsland_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── SixIsland_RuinValley/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SixIsland_WaterPath/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SixIsland_WaterPath_House1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SixIsland_WaterPath_House2/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SouthernIsland_Exterior/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── SouthernIsland_Interior/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ThreeIsland/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ThreeIsland_BerryForest/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ThreeIsland_BondBridge/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ThreeIsland_BondBridge_Underwater/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ThreeIsland_DunsparceTunnel/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ThreeIsland_Harbor/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── ThreeIsland_House1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ThreeIsland_House2/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ThreeIsland_House3/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ThreeIsland_House4/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ThreeIsland_House5/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ThreeIsland_Mart/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ThreeIsland_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ThreeIsland_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── ThreeIsland_Port/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── TradeCenter/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── TrainerTower_1F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── TrainerTower_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── TrainerTower_3F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── TrainerTower_4F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── TrainerTower_5F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── TrainerTower_6F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── TrainerTower_7F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── TrainerTower_8F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── TrainerTower_Elevator/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── TrainerTower_Lobby/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── TrainerTower_Roof/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── TwoIsland/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── TwoIsland_CapeBrink/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── TwoIsland_CapeBrink_House/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── TwoIsland_Harbor/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── TwoIsland_House/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── TwoIsland_JoyfulGameCorner/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── TwoIsland_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── TwoIsland_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── UndergroundPath_EastEntrance/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── UndergroundPath_EastWestTunnel/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── UndergroundPath_NorthEntrance/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── UndergroundPath_NorthSouthTunnel/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── UndergroundPath_SouthEntrance/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── UndergroundPath_WestEntrance/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── UnionRoom/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── VermilionCity/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── VermilionCity_Gym/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── VermilionCity_House1/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── VermilionCity_House2/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── VermilionCity_House3/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── VermilionCity_Mart/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── VermilionCity_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── VermilionCity_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── VermilionCity_PokemonFanClub/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── VictoryRoad_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── VictoryRoad_2F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── VictoryRoad_3F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ViridianCity/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ViridianCity_Gym/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ViridianCity_House/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ViridianCity_Mart/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ViridianCity_PokemonCenter_1F/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ViridianCity_PokemonCenter_2F/ │ │ │ ├── map.json │ │ │ └── scripts.inc │ │ ├── ViridianCity_School/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ ├── ViridianForest/ │ │ │ ├── map.json │ │ │ ├── scripts.inc │ │ │ └── text.inc │ │ └── map_groups.json │ ├── maps.s │ ├── mb_berry_fix.gba │ ├── mb_colosseum.gba │ ├── mb_ereader.gba │ ├── multiboot_berry_glitch_fix.s │ ├── multiboot_ereader.s │ ├── multiboot_pokemon_colosseum.s │ ├── mystery_event_msg.s │ ├── mystery_event_script_cmd_table.s │ ├── script_cmd_table.inc │ ├── scripts/ │ │ ├── aide.inc │ │ ├── bag_full.inc │ │ ├── cable_club.inc │ │ ├── cave_of_origin.inc │ │ ├── day_care.inc │ │ ├── fame_checker.inc │ │ ├── field_moves.inc │ │ ├── flash.inc │ │ ├── flavor_text.inc │ │ ├── fuji_event.inc │ │ ├── fuji_event.pory │ │ ├── hall_of_fame.inc │ │ ├── hole.inc │ │ ├── item_ball_scripts.inc │ │ ├── itemfinder.inc │ │ ├── master_trainers.inc │ │ ├── move_tutors.inc │ │ ├── movement.inc │ │ ├── mystery_event_club.inc │ │ ├── national_dex_aide.inc │ │ ├── national_dex_aide.pory │ │ ├── obtain_item.inc │ │ ├── pc.inc │ │ ├── pc_transfer.inc │ │ ├── pkmn_center_nurse.inc │ │ ├── pokedex_rating.inc │ │ ├── pokemon_league.inc │ │ ├── pokemon_mansion.inc │ │ ├── questionnaire.inc │ │ ├── repel.inc │ │ ├── route23.inc │ │ ├── safari_zone.inc │ │ ├── seagallop.inc │ │ ├── set_gym_trainers.inc │ │ ├── silphco_doors.inc │ │ ├── static_pokemon.inc │ │ ├── std_msgbox.inc │ │ ├── surf.inc │ │ ├── trainer_battle.inc │ │ ├── trainer_card.inc │ │ ├── trainer_tower.inc │ │ ├── trainers.inc │ │ └── white_out.inc │ ├── sound_data.s │ ├── specials.inc │ ├── text/ │ │ ├── aide.inc │ │ ├── braille.inc │ │ ├── day_care.inc │ │ ├── fame_checker.inc │ │ ├── flavor_text.inc │ │ ├── help_system.inc │ │ ├── ingame_trade.inc │ │ ├── itemfinder.inc │ │ ├── new_game_intro.inc │ │ ├── obtain_item.inc │ │ ├── pc.inc │ │ ├── pc_transfer.inc │ │ ├── poke_mart.inc │ │ ├── pokedex_rating.inc │ │ ├── pokedude.inc │ │ ├── route23.inc │ │ ├── safari_zone.inc │ │ ├── save.inc │ │ ├── seagallop.inc │ │ ├── sign_lady.inc │ │ ├── surf.inc │ │ ├── trainer_card.inc │ │ ├── trainers.inc │ │ └── white_out.inc │ └── tilesets/ │ ├── primary/ │ │ ├── building/ │ │ │ └── palettes/ │ │ │ ├── 00.pal │ │ │ ├── 01.pal │ │ │ ├── 02.pal │ │ │ ├── 03.pal │ │ │ ├── 04.pal │ │ │ ├── 05.pal │ │ │ ├── 06.pal │ │ │ ├── 07.pal │ │ │ ├── 08.pal │ │ │ ├── 09.pal │ │ │ ├── 10.pal │ │ │ ├── 11.pal │ │ │ ├── 12.pal │ │ │ ├── 13.pal │ │ │ ├── 14.pal │ │ │ └── 15.pal │ │ └── general/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ └── secondary/ │ ├── battlefrontier/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ └── 12.pal │ ├── battlefrontieroutsideeast/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ └── 12.pal │ ├── battlefrontieroutsidewest/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ └── 12.pal │ ├── battlefrontierrankinghall/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ └── 12.pal │ ├── berry_forest/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── bike_shop/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── burgled_house/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── cable_club/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── cave/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── celadon_city/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── celadon_gym/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── cerulean_cave/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── cerulean_city/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── cerulean_gym/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── cinnabar_gym/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── cinnabar_island/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── condominiums/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── department_store/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── digletts_cave/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── dummy_1/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── dummy_2/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── dummy_3/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── dummy_4/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── fan_club_daycare/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── fuchsia_city/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── fuchsia_gym/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── game_corner/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── generic_building_1/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── generic_building_2/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── hall_of_fame/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── hoenn_building/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── indigo_plateau/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── island_harbor/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── lab/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── lavender_town/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── mart/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── mt_ember/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── museum/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── navel_rock/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── pallet_town/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── pewter_city/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── pewter_gym/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── pokemon_center/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── pokemon_league/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── pokemon_mansion/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── pokemon_tower/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── power_plant/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── restaurant_hotel/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── rock_tunnel/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── safari_zone_building/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── saffron_city/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── saffron_gym/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── school/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── sea_cottage/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── seafoam_islands/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── sevii_islands_123/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── sevii_islands_45/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── sevii_islands_67/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── seviiislands5/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── seviiislands6/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── ss_anne/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── tanoby_ruins/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── trainer_tower/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── underground_path/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── underwater/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── unused_gatehouse_1/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── unused_gatehouse_2/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── vermilion_city/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── vermilion_gym/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── viridian_city/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ ├── viridian_forest/ │ │ └── palettes/ │ │ ├── 00.pal │ │ ├── 01.pal │ │ ├── 02.pal │ │ ├── 03.pal │ │ ├── 04.pal │ │ ├── 05.pal │ │ ├── 06.pal │ │ ├── 07.pal │ │ ├── 08.pal │ │ ├── 09.pal │ │ ├── 10.pal │ │ ├── 11.pal │ │ ├── 12.pal │ │ ├── 13.pal │ │ ├── 14.pal │ │ └── 15.pal │ └── viridian_gym/ │ └── palettes/ │ ├── 00.pal │ ├── 01.pal │ ├── 02.pal │ ├── 03.pal │ ├── 04.pal │ ├── 05.pal │ ├── 06.pal │ ├── 07.pal │ ├── 08.pal │ ├── 09.pal │ ├── 10.pal │ ├── 11.pal │ ├── 12.pal │ ├── 13.pal │ ├── 14.pal │ └── 15.pal ├── docs/ │ ├── bugs_and_glitches.md │ └── legacy_WSL1_INSTALL.md ├── firered.sha1 ├── firered_rev1.sha1 ├── graphics/ │ ├── battle_anims/ │ │ ├── backgrounds/ │ │ │ ├── bug.pal │ │ │ ├── sky.pal │ │ │ ├── solarbeam.pal │ │ │ └── water_muddy.pal │ │ ├── masks/ │ │ │ ├── stat1.pal │ │ │ ├── stat2.pal │ │ │ ├── stat3.pal │ │ │ ├── stat4.pal │ │ │ ├── stat5.pal │ │ │ ├── stat6.pal │ │ │ ├── stat7.pal │ │ │ └── stat8.pal │ │ ├── sprites/ │ │ │ ├── black_ball.pal │ │ │ ├── blue_light_wall.pal │ │ │ ├── blue_orb.pal │ │ │ ├── blue_ring.pal │ │ │ ├── blue_ring_2.pal │ │ │ ├── brown_orb.pal │ │ │ ├── flower.pal │ │ │ ├── glowy_blue_orb.pal │ │ │ ├── glowy_green_orb.pal │ │ │ ├── gray_light_wall.pal │ │ │ ├── hit_2.pal │ │ │ ├── ice_crystals.pal │ │ │ ├── ice_cube.pal │ │ │ ├── mud_sand.pal │ │ │ ├── music_notes_2.pal │ │ │ ├── orange_light_wall.pal │ │ │ ├── pink_heart.pal │ │ │ ├── purple_gas_cloud.pal │ │ │ ├── purple_ring.pal │ │ │ ├── red_heart.pal │ │ │ ├── red_light_wall.pal │ │ │ ├── red_orb_2.pal │ │ │ ├── sap_drip_2.pal │ │ │ ├── slash_2.pal │ │ │ ├── sleep_powder.pal │ │ │ ├── spark.pal │ │ │ ├── sparkle_2.pal │ │ │ ├── stun_spore.pal │ │ │ ├── whip_hit.pal │ │ │ └── white_circle_of_light.pal │ │ └── unused/ │ │ ├── flying.pal │ │ ├── line_sketch_2.pal │ │ ├── spinning_ball_2.pal │ │ └── unknown.pal │ ├── battle_interface/ │ │ ├── healthbar.pal │ │ ├── healthbox.pal │ │ ├── textbox1.pal │ │ └── textbox2.pal │ ├── battle_terrain/ │ │ ├── building/ │ │ │ └── terrain.pal │ │ ├── cave/ │ │ │ └── terrain.pal │ │ ├── grass/ │ │ │ └── terrain.pal │ │ ├── indoor/ │ │ │ ├── 1.pal │ │ │ ├── 2.pal │ │ │ ├── agatha.pal │ │ │ ├── bruno.pal │ │ │ ├── champion.pal │ │ │ ├── gym.pal │ │ │ ├── lance.pal │ │ │ ├── leader.pal │ │ │ ├── link.pal │ │ │ ├── lorelei.pal │ │ │ └── plain.pal │ │ ├── longgrass/ │ │ │ └── terrain.pal │ │ ├── mountain/ │ │ │ └── terrain.pal │ │ ├── pond/ │ │ │ └── terrain.pal │ │ ├── sand/ │ │ │ └── terrain.pal │ │ ├── underwater/ │ │ │ └── terrain.pal │ │ ├── unused/ │ │ │ ├── building/ │ │ │ │ ├── palette.pal │ │ │ │ ├── palette2.pal │ │ │ │ └── palette3.pal │ │ │ ├── groudon.pal │ │ │ ├── kyogre.pal │ │ │ ├── plain.pal │ │ │ └── stadium/ │ │ │ ├── battle_frontier.pal │ │ │ ├── palette1.pal │ │ │ ├── palette2.pal │ │ │ ├── palette3.pal │ │ │ ├── palette4.pal │ │ │ ├── palette5.pal │ │ │ ├── palette6.pal │ │ │ └── palette7.pal │ │ └── water/ │ │ └── terrain.pal │ ├── battle_transitions/ │ │ ├── agatha_bg.pal │ │ ├── blue_bg.pal │ │ ├── bruno_bg.pal │ │ ├── green_bg.pal │ │ ├── lance_bg.pal │ │ ├── lorelei_bg.pal │ │ ├── red_bg.pal │ │ ├── sliding_pokeball.pal │ │ └── unused_trainer.pal │ ├── berry_pouch/ │ │ └── background_female.pal │ ├── cable_car/ │ │ └── bg.pal │ ├── cave_transition/ │ │ ├── black.pal │ │ ├── enter.pal │ │ ├── exit.pal │ │ └── white.pal │ ├── contest/ │ │ ├── interface.pal │ │ ├── japanese/ │ │ │ └── palette.pal │ │ └── results.pal │ ├── credits/ │ │ ├── pokeball_blastoise.pal │ │ ├── pokeball_charizard.pal │ │ ├── pokeball_pikachu.pal │ │ ├── pokeball_venusaur.pal │ │ └── white_circle.pal │ ├── dodrio_berry_picking/ │ │ ├── bg.pal │ │ ├── shiny.pal │ │ └── tree_border.pal │ ├── easy_chat/ │ │ ├── text.pal │ │ ├── text_input_frame_green.pal │ │ ├── text_input_frame_orange.pal │ │ └── title_text.pal │ ├── evolution_scene/ │ │ ├── gray_transition_intro.pal │ │ ├── transition.pal │ │ └── unused.pal │ ├── fame_checker/ │ │ ├── silhouette.pal │ │ └── unk.pal │ ├── field_effects/ │ │ └── palettes/ │ │ ├── ash.pal │ │ ├── general_0.pal │ │ ├── general_1.pal │ │ └── small_sparkle.pal │ ├── field_specials/ │ │ ├── champion_room_lighting_0.pal │ │ ├── champion_room_lighting_1.pal │ │ ├── champion_room_lighting_2.pal │ │ ├── champion_room_lighting_3.pal │ │ ├── champion_room_lighting_4.pal │ │ ├── champion_room_lighting_5.pal │ │ ├── champion_room_lighting_6.pal │ │ ├── champion_room_lighting_7.pal │ │ ├── champion_room_lighting_8.pal │ │ ├── deoxys_rock_0.pal │ │ ├── deoxys_rock_1.pal │ │ ├── deoxys_rock_10.pal │ │ ├── deoxys_rock_2.pal │ │ ├── deoxys_rock_3.pal │ │ ├── deoxys_rock_4.pal │ │ ├── deoxys_rock_5.pal │ │ ├── deoxys_rock_6.pal │ │ ├── deoxys_rock_7.pal │ │ ├── deoxys_rock_8.pal │ │ ├── deoxys_rock_9.pal │ │ ├── elite_four_lighting_0.pal │ │ ├── elite_four_lighting_1.pal │ │ ├── elite_four_lighting_10.pal │ │ ├── elite_four_lighting_11.pal │ │ ├── elite_four_lighting_2.pal │ │ ├── elite_four_lighting_3.pal │ │ ├── elite_four_lighting_4.pal │ │ ├── elite_four_lighting_5.pal │ │ ├── elite_four_lighting_6.pal │ │ ├── elite_four_lighting_7.pal │ │ ├── elite_four_lighting_8.pal │ │ └── elite_four_lighting_9.pal │ ├── interface/ │ │ ├── bag.pal │ │ ├── blank.pal │ │ ├── dex_caught_pokeball.pal │ │ ├── pokemon_types.pal │ │ ├── red_arrow.pal │ │ ├── save_failed_screen.pal │ │ ├── std_menu.pal │ │ └── text_pp.pal │ ├── intro/ │ │ ├── copyright.pal │ │ ├── game_freak/ │ │ │ ├── bg.pal │ │ │ └── sparkles.pal │ │ ├── gengar.pal │ │ ├── nidorino.pal │ │ ├── scene_2/ │ │ │ ├── bg.pal │ │ │ └── nidorino_close.pal │ │ └── scene_3/ │ │ └── bg.pal │ ├── item_menu/ │ │ ├── bag_window_pal.pal │ │ └── bg_female.pal │ ├── items/ │ │ └── icon_palettes/ │ │ ├── acro_bike.pal │ │ ├── aguav_berry.pal │ │ ├── amulet_coin.pal │ │ ├── antidote.pal │ │ ├── apicot_berry.pal │ │ ├── aspear_berry.pal │ │ ├── aurora_ticket.pal │ │ ├── awakening.pal │ │ ├── bead_mail.pal │ │ ├── belue_berry.pal │ │ ├── berry_juice.pal │ │ ├── berry_pouch.pal │ │ ├── bicycle.pal │ │ ├── bike_voucher.pal │ │ ├── black_flute.pal │ │ ├── black_type_enhancing_item.pal │ │ ├── blue_flute.pal │ │ ├── blue_orb.pal │ │ ├── blue_scarf.pal │ │ ├── blue_shard.pal │ │ ├── bluk_berry.pal │ │ ├── bright_powder.pal │ │ ├── burn_heal.pal │ │ ├── calcium.pal │ │ ├── carbos.pal │ │ ├── card_key.pal │ │ ├── charcoal.pal │ │ ├── cheri_berry.pal │ │ ├── chesto_berry.pal │ │ ├── choice_band.pal │ │ ├── cleanse_tag.pal │ │ ├── coin_case.pal │ │ ├── contest_pass.pal │ │ ├── cornn_berry.pal │ │ ├── dark_tm_hm.pal │ │ ├── deep_sea_scale.pal │ │ ├── deep_sea_tooth.pal │ │ ├── devon_goods.pal │ │ ├── devon_scope.pal │ │ ├── dire_hit.pal │ │ ├── dive_ball.pal │ │ ├── dragon_fang.pal │ │ ├── dragon_scale.pal │ │ ├── dragon_tm_hm.pal │ │ ├── dream_mail.pal │ │ ├── durin_berry.pal │ │ ├── electric_tm_hm.pal │ │ ├── elixir.pal │ │ ├── energy_powder.pal │ │ ├── energy_root.pal │ │ ├── enigma_berry.pal │ │ ├── eon_ticket.pal │ │ ├── escape_rope.pal │ │ ├── ether.pal │ │ ├── everstone.pal │ │ ├── exp_share.pal │ │ ├── fab_mail.pal │ │ ├── fame_checker.pal │ │ ├── fighting_tm_hm.pal │ │ ├── figy_berry.pal │ │ ├── fire_stone.pal │ │ ├── fire_tm_hm.pal │ │ ├── fluffy_tail.pal │ │ ├── flying_tm_hm.pal │ │ ├── focus_band.pal │ │ ├── fresh_water.pal │ │ ├── full_heal.pal │ │ ├── full_restore.pal │ │ ├── ganlon_berry.pal │ │ ├── ghost_tm_hm.pal │ │ ├── glitter_mail.pal │ │ ├── go_goggles.pal │ │ ├── gold_teeth.pal │ │ ├── good_rod.pal │ │ ├── grass_tm_hm.pal │ │ ├── great_ball.pal │ │ ├── green_scarf.pal │ │ ├── green_shard.pal │ │ ├── grepa_berry.pal │ │ ├── ground_tm_hm.pal │ │ ├── guard_spec.pal │ │ ├── harbor_mail.pal │ │ ├── hard_stone.pal │ │ ├── heal_powder.pal │ │ ├── heart_scale.pal │ │ ├── hoenn_fossil.pal │ │ ├── hondew_berry.pal │ │ ├── hp_up.pal │ │ ├── hyper_potion.pal │ │ ├── iapapa_berry.pal │ │ ├── ice_heal.pal │ │ ├── ice_tm_hm.pal │ │ ├── iron.pal │ │ ├── itemfinder.pal │ │ ├── kanto_fossil.pal │ │ ├── kelpsy_berry.pal │ │ ├── key.pal │ │ ├── kings_rock.pal │ │ ├── lansat_berry.pal │ │ ├── lava_cookie_and_letter.pal │ │ ├── lax_incense.pal │ │ ├── leaf_stone.pal │ │ ├── leftovers.pal │ │ ├── lemonade.pal │ │ ├── leppa_berry.pal │ │ ├── liechi_berry.pal │ │ ├── light_ball.pal │ │ ├── link_bracelet.pal │ │ ├── lucky_egg.pal │ │ ├── lucky_punch.pal │ │ ├── lum_berry.pal │ │ ├── luxury_ball.pal │ │ ├── mach_bike.pal │ │ ├── macho_brace.pal │ │ ├── magma_emblem.pal │ │ ├── magnet.pal │ │ ├── mago_berry.pal │ │ ├── magost_berry.pal │ │ ├── master_ball.pal │ │ ├── max_elixir.pal │ │ ├── max_ether.pal │ │ ├── max_potion.pal │ │ ├── max_repel.pal │ │ ├── mech_mail.pal │ │ ├── mental_herb.pal │ │ ├── metal_coat.pal │ │ ├── metal_powder.pal │ │ ├── meteorite.pal │ │ ├── miracle_seed.pal │ │ ├── moomoo_milk.pal │ │ ├── moon_stone.pal │ │ ├── mushroom.pal │ │ ├── mystic_ticket.pal │ │ ├── mystic_water.pal │ │ ├── nanab_berry.pal │ │ ├── nest_ball.pal │ │ ├── net_ball.pal │ │ ├── never_melt_ice.pal │ │ ├── nomel_berry.pal │ │ ├── normal_tm_hm.pal │ │ ├── nugget.pal │ │ ├── oaks_parcel.pal │ │ ├── old_amber.pal │ │ ├── old_key.pal │ │ ├── old_rod.pal │ │ ├── old_sea_map.pal │ │ ├── oran_berry.pal │ │ ├── orange_mail.pal │ │ ├── pamtre_berry.pal │ │ ├── paralyze_heal.pal │ │ ├── pearl.pal │ │ ├── pecha_berry.pal │ │ ├── persim_berry.pal │ │ ├── petaya_berry.pal │ │ ├── pinap_berry.pal │ │ ├── pink_scarf.pal │ │ ├── poison_barb.pal │ │ ├── poison_tm_hm.pal │ │ ├── poke_ball.pal │ │ ├── poke_doll.pal │ │ ├── poke_flute.pal │ │ ├── pokeblock_case.pal │ │ ├── pomeg_berry.pal │ │ ├── potion.pal │ │ ├── powder_jar.pal │ │ ├── pp_max.pal │ │ ├── pp_up.pal │ │ ├── protein.pal │ │ ├── psychic_tm_hm.pal │ │ ├── qualot_berry.pal │ │ ├── question_mark.pal │ │ ├── quick_claw.pal │ │ ├── rabuta_berry.pal │ │ ├── rainbow_pass.pal │ │ ├── rare_candy.pal │ │ ├── rawst_berry.pal │ │ ├── razz_berry.pal │ │ ├── red_flute.pal │ │ ├── red_orb.pal │ │ ├── red_scarf.pal │ │ ├── red_shard.pal │ │ ├── repeat_ball.pal │ │ ├── repel.pal │ │ ├── retro_mail.pal │ │ ├── return_to_field_arrow.pal │ │ ├── revival_herb.pal │ │ ├── revive.pal │ │ ├── rock_tm_hm.pal │ │ ├── ruby.pal │ │ ├── sacred_ash.pal │ │ ├── safari_ball.pal │ │ ├── salac_berry.pal │ │ ├── sapphire.pal │ │ ├── scanner.pal │ │ ├── scope_lens.pal │ │ ├── sea_incense.pal │ │ ├── secret_key.pal │ │ ├── shadow_mail.pal │ │ ├── sharp_beak.pal │ │ ├── shell.pal │ │ ├── shoal_salt.pal │ │ ├── silk_scarf.pal │ │ ├── silph_scope.pal │ │ ├── silver_powder.pal │ │ ├── sitrus_berry.pal │ │ ├── smoke_ball.pal │ │ ├── soda_pop.pal │ │ ├── soft_sand.pal │ │ ├── soot_sack.pal │ │ ├── soothe_bell.pal │ │ ├── soul_dew.pal │ │ ├── spell_tag.pal │ │ ├── spelon_berry.pal │ │ ├── ss_ticket.pal │ │ ├── star.pal │ │ ├── starf_berry.pal │ │ ├── steel_tm_hm.pal │ │ ├── stick.pal │ │ ├── sun_stone.pal │ │ ├── super_potion.pal │ │ ├── super_repel.pal │ │ ├── super_rod.pal │ │ ├── tamato_berry.pal │ │ ├── tea.pal │ │ ├── teachy_tv.pal │ │ ├── thick_club.pal │ │ ├── thunder_stone.pal │ │ ├── tm_case.pal │ │ ├── town_map.pal │ │ ├── tri_pass.pal │ │ ├── tropic_mail.pal │ │ ├── twisted_spoon.pal │ │ ├── ultra_ball.pal │ │ ├── up_grade.pal │ │ ├── vs_seeker.pal │ │ ├── wailmer_pail.pal │ │ ├── water_stone.pal │ │ ├── water_tm_hm.pal │ │ ├── watmel_berry.pal │ │ ├── wave_mail.pal │ │ ├── wepear_berry.pal │ │ ├── white_flute.pal │ │ ├── white_herb.pal │ │ ├── wiki_berry.pal │ │ ├── wood_mail.pal │ │ ├── x_accuracy.pal │ │ ├── x_attack.pal │ │ ├── x_defend.pal │ │ ├── x_special.pal │ │ ├── x_speed.pal │ │ ├── yellow_flute.pal │ │ ├── yellow_scarf.pal │ │ ├── yellow_shard.pal │ │ └── zinc.pal │ ├── mail/ │ │ ├── bead/ │ │ │ └── palette.pal │ │ ├── dream/ │ │ │ └── palette.pal │ │ ├── fab/ │ │ │ └── palette.pal │ │ ├── glitter/ │ │ │ └── palette.pal │ │ ├── harbor/ │ │ │ └── palette.pal │ │ ├── mech/ │ │ │ └── palette.pal │ │ ├── orange/ │ │ │ └── palette.pal │ │ ├── retro/ │ │ │ └── palette.pal │ │ ├── shadow/ │ │ │ └── palette.pal │ │ ├── tropic/ │ │ │ └── palette.pal │ │ ├── wave/ │ │ │ └── palette.pal │ │ └── wood/ │ │ └── palette.pal │ ├── main_menu/ │ │ ├── bg.pal │ │ └── textbox.pal │ ├── misc/ │ │ └── option_menu.pal │ ├── naming_screen/ │ │ ├── buttons.pal │ │ ├── cursor.pal │ │ ├── keyboard.pal │ │ ├── menu.pal │ │ ├── page_swap_lower.pal │ │ ├── page_swap_others.pal │ │ ├── page_swap_upper.pal │ │ └── rival.pal │ ├── oak_speech/ │ │ ├── leaf/ │ │ │ └── pal.pal │ │ ├── oak/ │ │ │ └── pal.pal │ │ ├── pikachu_intro/ │ │ │ └── pikachu.pal │ │ ├── platform.pal │ │ ├── red/ │ │ │ └── pal.pal │ │ └── rival/ │ │ └── pal.pal │ ├── object_events/ │ │ └── palettes/ │ │ ├── 22.pal │ │ ├── 23.pal │ │ ├── 839C588.pal │ │ ├── 839D3A8.pal │ │ ├── black_sand_footprints.pal │ │ ├── bridge_reflection.pal │ │ ├── cable_car.pal │ │ ├── lady.pal │ │ ├── meteorite.pal │ │ ├── npc_blue.pal │ │ ├── npc_blue_reflection.pal │ │ ├── npc_green.pal │ │ ├── npc_green_reflection.pal │ │ ├── npc_pink.pal │ │ ├── npc_pink_reflection.pal │ │ ├── npc_white.pal │ │ ├── npc_white_reflection.pal │ │ ├── player.pal │ │ ├── player_reflection.pal │ │ ├── player_unused.pal │ │ ├── rs_quinty_plump.pal │ │ ├── rs_quinty_plump_reflection.pal │ │ ├── seagallop.pal │ │ ├── snow_footprints.pal │ │ ├── ss_anne.pal │ │ ├── three_island_grass.pal │ │ └── underwater_sprites.pal │ ├── pokedex/ │ │ ├── area_markers/ │ │ │ └── marker.pal │ │ ├── kanto_dex_bgpals.pal │ │ ├── national_dex_bgpals.pal │ │ └── silhouette_sprite_pal.pal │ ├── pokemon/ │ │ ├── abra/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── absol/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── aerodactyl/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── aggron/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── aipom/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── alakazam/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── altaria/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── ampharos/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── anorith/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── arbok/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── arcanine/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── ariados/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── armaldo/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── aron/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── articuno/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── azumarill/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── azurill/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── bagon/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── baltoy/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── banette/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── barboach/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── bayleef/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── beautifly/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── beedrill/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── beldum/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── bellossom/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── bellsprout/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── blastoise/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── blaziken/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── blissey/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── breloom/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── bulbasaur/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── butterfree/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── cacnea/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── cacturne/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── camerupt/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── carvanha/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── cascoon/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── castform/ │ │ │ ├── normal/ │ │ │ │ ├── normal.pal │ │ │ │ └── shiny.pal │ │ │ ├── rainy/ │ │ │ │ ├── normal.pal │ │ │ │ └── shiny.pal │ │ │ ├── snowy/ │ │ │ │ ├── normal.pal │ │ │ │ └── shiny.pal │ │ │ └── sunny/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── caterpie/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── celebi/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── chansey/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── charizard/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── charmander/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── charmeleon/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── chikorita/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── chimecho/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── chinchou/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── clamperl/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── claydol/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── clefable/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── clefairy/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── cleffa/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── cloyster/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── combusken/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── corphish/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── corsola/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── cradily/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── crawdaunt/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── crobat/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── croconaw/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── cubone/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── cyndaquil/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── delcatty/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── delibird/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── deoxys/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── dewgong/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── diglett/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── ditto/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── dodrio/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── doduo/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── donphan/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── dragonair/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── dragonite/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── dratini/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── drowzee/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── dugtrio/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── dunsparce/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── dusclops/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── duskull/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── dustox/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── eevee/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── egg/ │ │ │ └── normal.pal │ │ ├── ekans/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── electabuzz/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── electrike/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── electrode/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── elekid/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── entei/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── espeon/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── exeggcute/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── exeggutor/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── exploud/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── farfetchd/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── fearow/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── feebas/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── feraligatr/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── flaaffy/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── flareon/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── flygon/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── forretress/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── furret/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── gardevoir/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── gastly/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── gengar/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── geodude/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── girafarig/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── glalie/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── gligar/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── gloom/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── golbat/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── goldeen/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── golduck/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── golem/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── gorebyss/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── granbull/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── graveler/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── grimer/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── groudon/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── grovyle/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── growlithe/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── grumpig/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── gulpin/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── gyarados/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── hariyama/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── haunter/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── heracross/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── hitmonchan/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── hitmonlee/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── hitmontop/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── ho_oh/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── hoothoot/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── hoppip/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── horsea/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── houndoom/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── houndour/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── huntail/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── hypno/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── icon_palettes/ │ │ │ ├── icon_palette_0.pal │ │ │ ├── icon_palette_1.pal │ │ │ └── icon_palette_2.pal │ │ ├── igglybuff/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── illumise/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── ivysaur/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── jigglypuff/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── jirachi/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── jolteon/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── jumpluff/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── jynx/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── kabuto/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── kabutops/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── kadabra/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── kakuna/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── kangaskhan/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── kecleon/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── kingdra/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── kingler/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── kirlia/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── koffing/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── krabby/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── kyogre/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── lairon/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── lanturn/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── lapras/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── larvitar/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── latias/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── latios/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── ledian/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── ledyba/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── lickitung/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── lileep/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── linoone/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── lombre/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── lotad/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── loudred/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── ludicolo/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── lugia/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── lunatone/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── luvdisc/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── machamp/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── machoke/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── machop/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── magby/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── magcargo/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── magikarp/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── magmar/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── magnemite/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── magneton/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── makuhita/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── manectric/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── mankey/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── mantine/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── mareep/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── marill/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── marowak/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── marshtomp/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── masquerain/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── mawile/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── medicham/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── meditite/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── meganium/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── meowth/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── metagross/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── metang/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── metapod/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── mew/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── mewtwo/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── mightyena/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── milotic/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── miltank/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── minun/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── misdreavus/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── moltres/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── mr_mime/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── mudkip/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── muk/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── murkrow/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── natu/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── nidoking/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── nidoqueen/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── nidoran_f/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── nidoran_m/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── nidorina/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── nidorino/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── nincada/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── ninetales/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── ninjask/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── noctowl/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── nosepass/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── numel/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── nuzleaf/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── octillery/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── oddish/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── omanyte/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── omastar/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── onix/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── paras/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── parasect/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── pelipper/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── persian/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── phanpy/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── pichu/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── pidgeot/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── pidgeotto/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── pidgey/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── pikachu/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── piloswine/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── pineco/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── pinsir/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── plusle/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── politoed/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── poliwag/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── poliwhirl/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── poliwrath/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── ponyta/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── poochyena/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── porygon/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── porygon2/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── primeape/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── psyduck/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── pupitar/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── quagsire/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── question_mark/ │ │ │ ├── circled/ │ │ │ │ ├── normal.pal │ │ │ │ └── shiny.pal │ │ │ └── double/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── quilava/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── qwilfish/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── raichu/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── raikou/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── ralts/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── rapidash/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── raticate/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── rattata/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── rayquaza/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── regice/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── regirock/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── registeel/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── relicanth/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── remoraid/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── rhydon/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── rhyhorn/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── roselia/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── sableye/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── salamence/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── sandshrew/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── sandslash/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── sceptile/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── scizor/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── scyther/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── seadra/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── seaking/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── sealeo/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── seedot/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── seel/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── sentret/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── seviper/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── sharpedo/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── shedinja/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── shelgon/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── shellder/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── shiftry/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── shroomish/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── shuckle/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── shuppet/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── silcoon/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── skarmory/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── skiploom/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── skitty/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── slaking/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── slakoth/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── slowbro/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── slowking/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── slowpoke/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── slugma/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── smeargle/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── smoochum/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── sneasel/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── snorlax/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── snorunt/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── snubbull/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── solrock/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── spearow/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── spheal/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── spinarak/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── spinda/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── spoink/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── squirtle/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── stantler/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── starmie/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── staryu/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── steelix/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── sudowoodo/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── suicune/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── sunflora/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── sunkern/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── surskit/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── swablu/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── swalot/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── swampert/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── swellow/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── swinub/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── taillow/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── tangela/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── tauros/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── teddiursa/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── tentacool/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── tentacruel/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── togepi/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── togetic/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── torchic/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── torkoal/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── totodile/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── trapinch/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── treecko/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── tropius/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── typhlosion/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── tyranitar/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── tyrogue/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── umbreon/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── unown/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── ursaring/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── vaporeon/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── venomoth/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── venonat/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── venusaur/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── vibrava/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── victreebel/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── vigoroth/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── vileplume/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── volbeat/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── voltorb/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── vulpix/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── wailmer/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── wailord/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── walrein/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── wartortle/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── weedle/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── weepinbell/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── weezing/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── whiscash/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── whismur/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── wigglytuff/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── wingull/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── wobbuffet/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── wooper/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── wurmple/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── wynaut/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── xatu/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── yanma/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── zangoose/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── zapdos/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ ├── zigzagoon/ │ │ │ ├── normal.pal │ │ │ └── shiny.pal │ │ └── zubat/ │ │ ├── normal.pal │ │ └── shiny.pal │ ├── pokemon_jump/ │ │ ├── bg.pal │ │ ├── bonuses.pal │ │ ├── interface.pal │ │ ├── pal1.pal │ │ ├── pal2.pal │ │ └── venusaur.pal │ ├── pokemon_special_anim/ │ │ ├── bg.pal │ │ └── bg_tm_hm.pal │ ├── pokemon_storage/ │ │ ├── interface.pal │ │ ├── interface_no_display_mon.pal │ │ ├── menu.pal │ │ ├── misc1.pal │ │ ├── misc2.pal │ │ ├── party_menu.pal │ │ ├── scrolling_bg_move_items.pal │ │ ├── unused.pal │ │ └── unused_choose_box_menu.pal │ ├── region_map/ │ │ ├── cursor.pal │ │ ├── misc_icon.pal │ │ ├── player_icon_leaf.pal │ │ ├── player_icon_red.pal │ │ ├── region_map.pal │ │ ├── region_map_hoenn.pal │ │ ├── switch_map_cursor.pal │ │ └── top_bar.pal │ ├── seagallop/ │ │ └── ferry_and_wake.pal │ ├── slot_machine/ │ │ ├── firered/ │ │ │ ├── match_lines.pal │ │ │ └── payout_lights.pal │ │ └── leafgreen/ │ │ ├── match_lines.pal │ │ └── payout_lights.pal │ ├── summary_screen/ │ │ ├── hp_bar_red.pal │ │ ├── hp_bar_yellow.pal │ │ ├── marking.pal │ │ ├── move_selection_cursor.pal │ │ ├── text_header.pal │ │ └── text_moves.pal │ ├── teachy_tv/ │ │ └── palettes.pal │ ├── text_window/ │ │ ├── stdpal_0.pal │ │ ├── stdpal_1.pal │ │ ├── stdpal_2.pal │ │ ├── stdpal_3.pal │ │ └── stdpal_4.pal │ ├── title_screen/ │ │ ├── firered/ │ │ │ ├── background.pal │ │ │ ├── box_art_mon.pal │ │ │ ├── game_title_logo.pal │ │ │ └── slash.pal │ │ └── leafgreen/ │ │ ├── background.pal │ │ ├── box_art_mon.pal │ │ ├── game_title_logo.pal │ │ └── slash.pal │ ├── tm_case/ │ │ ├── disc_types_1.pal │ │ ├── disc_types_2.pal │ │ ├── menu_female.pal │ │ └── menu_male.pal │ ├── trade/ │ │ ├── black.pal │ │ ├── cursor.pal │ │ ├── gba.pal │ │ ├── gba_pal2.pal │ │ ├── link_mon.pal │ │ ├── menu.pal │ │ ├── shadow.pal │ │ ├── text.pal │ │ ├── unused1.pal │ │ ├── wireless_signal_receive.pal │ │ └── wireless_signal_send.pal │ ├── trainer_card/ │ │ ├── blue.pal │ │ ├── bronze.pal │ │ ├── female_bg.pal │ │ ├── gold.pal │ │ ├── green.pal │ │ ├── rse/ │ │ │ ├── bronze.pal │ │ │ ├── copper.pal │ │ │ ├── female_bg.pal │ │ │ ├── gold.pal │ │ │ ├── green.pal │ │ │ └── silver.pal │ │ ├── silver.pal │ │ ├── star.pal │ │ ├── stickers1.pal │ │ ├── stickers2.pal │ │ ├── stickers3.pal │ │ ├── stickers4.pal │ │ └── unused.pal │ ├── trainers/ │ │ └── palettes/ │ │ ├── aqua_admin_f.pal │ │ ├── aqua_admin_m.pal │ │ ├── aqua_grunt_f.pal │ │ ├── aqua_grunt_m.pal │ │ ├── aqua_leader_archie.pal │ │ ├── aroma_lady.pal │ │ ├── battle_girl.pal │ │ ├── beauty.pal │ │ ├── biker.pal │ │ ├── bird_keeper.pal │ │ ├── black_belt.pal │ │ ├── bug_catcher.pal │ │ ├── bug_maniac.pal │ │ ├── burglar.pal │ │ ├── camper.pal │ │ ├── champion_rival.pal │ │ ├── champion_steven.pal │ │ ├── channeler.pal │ │ ├── collector.pal │ │ ├── cool_couple.pal │ │ ├── cool_trainer_f.pal │ │ ├── cool_trainer_m.pal │ │ ├── crush_girl.pal │ │ ├── crush_kin.pal │ │ ├── cue_ball.pal │ │ ├── cycling_triathlete_f.pal │ │ ├── cycling_triathlete_m.pal │ │ ├── dragon_tamer.pal │ │ ├── elite_four_agatha.pal │ │ ├── elite_four_bruno.pal │ │ ├── elite_four_drake.pal │ │ ├── elite_four_glacia.pal │ │ ├── elite_four_lance.pal │ │ ├── elite_four_lorelei.pal │ │ ├── elite_four_phoebe.pal │ │ ├── elite_four_sidney.pal │ │ ├── emerald_brendan.pal │ │ ├── emerald_may.pal │ │ ├── engineer.pal │ │ ├── expert_f.pal │ │ ├── expert_m.pal │ │ ├── fisherman.pal │ │ ├── gamer.pal │ │ ├── gentleman.pal │ │ ├── guitarist.pal │ │ ├── hex_maniac.pal │ │ ├── hiker.pal │ │ ├── interviewer.pal │ │ ├── juggler.pal │ │ ├── kindler.pal │ │ ├── lady.pal │ │ ├── lass.pal │ │ ├── leader_blaine.pal │ │ ├── leader_brawly.pal │ │ ├── leader_brock.pal │ │ ├── leader_erika.pal │ │ ├── leader_flannery.pal │ │ ├── leader_giovanni.pal │ │ ├── leader_koga.pal │ │ ├── leader_lt_surge.pal │ │ ├── leader_misty.pal │ │ ├── leader_norman.pal │ │ ├── leader_roxanne.pal │ │ ├── leader_sabrina.pal │ │ ├── leader_tate_and_liza.pal │ │ ├── leader_wallace.pal │ │ ├── leader_wattson.pal │ │ ├── leader_winona.pal │ │ ├── leaf.pal │ │ ├── leaf_back_pic.pal │ │ ├── magma_admin_f.pal │ │ ├── magma_admin_m.pal │ │ ├── magma_grunt_f.pal │ │ ├── magma_grunt_m.pal │ │ ├── magma_leader_maxie.pal │ │ ├── master_beauty.pal │ │ ├── master_bird_keeper.pal │ │ ├── master_black_belt.pal │ │ ├── master_bug_catcher.pal │ │ ├── master_cool_trainer_m.pal │ │ ├── master_hiker.pal │ │ ├── master_lass.pal │ │ ├── master_psychic_m.pal │ │ ├── master_scientist.pal │ │ ├── master_swimmer.pal │ │ ├── master_youngster.pal │ │ ├── ninja_boy.pal │ │ ├── old_couple.pal │ │ ├── old_man_back_pic.pal │ │ ├── painter.pal │ │ ├── parasol_lady.pal │ │ ├── picnicker.pal │ │ ├── pokedude_back_pic.pal │ │ ├── pokefan_f.pal │ │ ├── pokefan_m.pal │ │ ├── pokemaniac.pal │ │ ├── pokemon_breeder.pal │ │ ├── pokemon_ranger_f.pal │ │ ├── pokemon_ranger_m.pal │ │ ├── professor_oak.pal │ │ ├── psychic_f.pal │ │ ├── psychic_m.pal │ │ ├── red.pal │ │ ├── red_back_pic.pal │ │ ├── rich_boy.pal │ │ ├── rival_early.pal │ │ ├── rival_late.pal │ │ ├── rocker.pal │ │ ├── rocket_grunt_f.pal │ │ ├── rocket_grunt_m.pal │ │ ├── rs_aroma_lady.pal │ │ ├── rs_beauty.pal │ │ ├── rs_bird_keeper.pal │ │ ├── rs_black_belt.pal │ │ ├── rs_bug_catcher.pal │ │ ├── rs_camper.pal │ │ ├── rs_cool_trainer_f.pal │ │ ├── rs_cool_trainer_m.pal │ │ ├── rs_fisherman.pal │ │ ├── rs_gentleman.pal │ │ ├── rs_hiker.pal │ │ ├── rs_lady.pal │ │ ├── rs_lass.pal │ │ ├── rs_picnicker.pal │ │ ├── rs_pokemaniac.pal │ │ ├── rs_pokemon_breeder_f.pal │ │ ├── rs_pokemon_breeder_m.pal │ │ ├── rs_pokemon_ranger_f.pal │ │ ├── rs_pokemon_ranger_m.pal │ │ ├── rs_psychic_f.pal │ │ ├── rs_psychic_m.pal │ │ ├── rs_ruin_maniac.pal │ │ ├── rs_sailor.pal │ │ ├── rs_sis_and_bro.pal │ │ ├── rs_swimmer_f.pal │ │ ├── rs_swimmer_m.pal │ │ ├── rs_tuber_f.pal │ │ ├── rs_twins.pal │ │ ├── rs_young_couple.pal │ │ ├── rs_youngster.pal │ │ ├── ruby_sapphire_brendan.pal │ │ ├── ruby_sapphire_may.pal │ │ ├── ruin_maniac.pal │ │ ├── running_triathlete_f.pal │ │ ├── running_triathlete_m.pal │ │ ├── sailor.pal │ │ ├── school_kid_f.pal │ │ ├── school_kid_m.pal │ │ ├── scientist.pal │ │ ├── sis_and_bro.pal │ │ ├── sr_and_jr.pal │ │ ├── super_nerd.pal │ │ ├── swimmer_f.pal │ │ ├── swimmer_m.pal │ │ ├── swimming_triathlete_f.pal │ │ ├── swimming_triathlete_m.pal │ │ ├── tamer.pal │ │ ├── tuber_f.pal │ │ ├── tuber_m.pal │ │ ├── twins.pal │ │ ├── wally.pal │ │ ├── young_couple.pal │ │ └── youngster.pal │ ├── union_room_chat/ │ │ ├── messages.pal │ │ ├── objects.pal │ │ ├── text_entry.pal │ │ └── unused.pal │ ├── unused/ │ │ ├── battle_anim_023.pal │ │ ├── gray_palette.pal │ │ ├── old_pal1.pal │ │ ├── old_pal2.pal │ │ ├── old_pal3.pal │ │ ├── old_pal4.pal │ │ ├── old_pal5.pal │ │ ├── old_pal6.pal │ │ ├── old_pal7.pal │ │ └── red_palette.pal │ ├── weather/ │ │ └── default.pal │ ├── wireless_status_screen/ │ │ ├── anim_00.pal │ │ ├── anim_01.pal │ │ ├── anim_02.pal │ │ ├── anim_03.pal │ │ ├── anim_04.pal │ │ ├── anim_05.pal │ │ ├── anim_06.pal │ │ ├── anim_07.pal │ │ ├── anim_08.pal │ │ ├── anim_09.pal │ │ ├── anim_10.pal │ │ ├── anim_11.pal │ │ ├── anim_12.pal │ │ ├── anim_13.pal │ │ └── default.pal │ ├── wonder_card/ │ │ ├── bg0.pal │ │ ├── bg1.pal │ │ ├── bg2.pal │ │ ├── bg3.pal │ │ ├── bg4.pal │ │ ├── bg5.pal │ │ ├── bg6.pal │ │ ├── bg7.pal │ │ ├── stamp_shadow_0.pal │ │ ├── stamp_shadow_1.pal │ │ ├── stamp_shadow_2.pal │ │ ├── stamp_shadow_3.pal │ │ ├── stamp_shadow_4.pal │ │ ├── stamp_shadow_5.pal │ │ ├── stamp_shadow_6.pal │ │ └── stamp_shadow_7.pal │ └── wonder_news/ │ ├── bg0.pal │ ├── bg6.pal │ └── bg7.pal ├── graphics_file_rules.mk ├── include/ │ ├── AgbRfu_LinkManager.h │ ├── bag.h │ ├── battle.h │ ├── battle_ai_script_commands.h │ ├── battle_ai_switch_items.h │ ├── battle_anim.h │ ├── battle_bg.h │ ├── battle_controllers.h │ ├── battle_gfx_sfx_util.h │ ├── battle_interface.h │ ├── battle_main.h │ ├── battle_message.h │ ├── battle_records.h │ ├── battle_script_commands.h │ ├── battle_scripts.h │ ├── battle_setup.h │ ├── battle_tower.h │ ├── battle_transition.h │ ├── battle_util.h │ ├── battle_util2.h │ ├── berry.h │ ├── berry_crush.h │ ├── berry_fix_program.h │ ├── berry_pouch.h │ ├── berry_powder.h │ ├── bg.h │ ├── bg_regs.h │ ├── bike.h │ ├── blend_palette.h │ ├── blit.h │ ├── cable_club.h │ ├── calculate_base_damage.h │ ├── cereader_tool.h │ ├── characters.h │ ├── clear_save_data_screen.h │ ├── coins.h │ ├── config.h │ ├── constants/ │ │ ├── abilities.h │ │ ├── battle.h │ │ ├── battle_ai.h │ │ ├── battle_anim.h │ │ ├── battle_move_effects.h │ │ ├── battle_script_commands.h │ │ ├── battle_setup.h │ │ ├── battle_string_ids.h │ │ ├── battle_tower.h │ │ ├── cable_club.h │ │ ├── coins.h │ │ ├── daycare.h │ │ ├── decorations.h │ │ ├── easy_chat.h │ │ ├── event_bg.h │ │ ├── event_object_movement.h │ │ ├── event_objects.h │ │ ├── fame_checker.h │ │ ├── field_effects.h │ │ ├── field_tasks.h │ │ ├── field_weather.h │ │ ├── flags.h │ │ ├── game_stat.h │ │ ├── global.h │ │ ├── heal_locations.h │ │ ├── help_system.h │ │ ├── hoenn_cries.h │ │ ├── hold_effects.h │ │ ├── item_effects.h │ │ ├── item_menu.h │ │ ├── items.h │ │ ├── layouts.h │ │ ├── map_groups.h │ │ ├── map_scripts.h │ │ ├── map_types.h │ │ ├── maps.h │ │ ├── master_opponents.h │ │ ├── menu.h │ │ ├── metatile_behaviors.h │ │ ├── metatile_labels.h │ │ ├── moves.h │ │ ├── mystery_gift.h │ │ ├── opponents.h │ │ ├── party_menu.h │ │ ├── pokedex.h │ │ ├── pokemon.h │ │ ├── quest_log.h │ │ ├── region_map_sections.h │ │ ├── rgb.h │ │ ├── seagallop.h │ │ ├── songs.h │ │ ├── sound.h │ │ ├── species.h │ │ ├── trade.h │ │ ├── trainer_card.h │ │ ├── trainer_fan_club.h │ │ ├── trainer_tower.h │ │ ├── trainer_types.h │ │ ├── trainers.h │ │ ├── union_room.h │ │ ├── vars.h │ │ └── weather.h │ ├── coord_event_weather.h │ ├── credits.h │ ├── data.h │ ├── daycare.h │ ├── decompress.h │ ├── decoration.h │ ├── digit_obj_util.h │ ├── diploma.h │ ├── dma3.h │ ├── dodrio_berry_picking.h │ ├── dynamic_placeholder_text_util.h │ ├── easy_chat.h │ ├── egg_hatch.h │ ├── ereader_helpers.h │ ├── event_data.h │ ├── event_object_lock.h │ ├── event_object_movement.h │ ├── event_scripts.h │ ├── evolution_graphics.h │ ├── evolution_scene.h │ ├── fame_checker.h │ ├── faraway_island.h │ ├── field_camera.h │ ├── field_control_avatar.h │ ├── field_door.h │ ├── field_effect.h │ ├── field_effect_helpers.h │ ├── field_effect_scripts.h │ ├── field_fadetransition.h │ ├── field_message_box.h │ ├── field_player_avatar.h │ ├── field_poison.h │ ├── field_screen.h │ ├── field_screen_effect.h │ ├── field_specials.h │ ├── field_tasks.h │ ├── field_weather.h │ ├── field_weather_effects.h │ ├── field_weather_util.h │ ├── fieldmap.h │ ├── fldeff.h │ ├── gba/ │ │ ├── defines.h │ │ ├── flash_internal.h │ │ ├── gba.h │ │ ├── io_reg.h │ │ ├── isagbprint.h │ │ ├── m4a_internal.h │ │ ├── macro.h │ │ ├── multiboot.h │ │ ├── syscall.h │ │ └── types.h │ ├── gflib.h │ ├── global.berry.h │ ├── global.fieldmap.h │ ├── global.h │ ├── gpu_regs.h │ ├── graphics.h │ ├── hall_of_fame.h │ ├── heal_location.h │ ├── help_message.h │ ├── help_system.h │ ├── image_processing_effects.h │ ├── intro.h │ ├── item.h │ ├── item_menu.h │ ├── item_menu_icons.h │ ├── item_pc.h │ ├── item_use.h │ ├── itemfinder.h │ ├── keyboard_text.h │ ├── libgcnmultiboot.h │ ├── librfu.h │ ├── link.h │ ├── link_rfu.h │ ├── list_menu.h │ ├── load_save.h │ ├── m4a.h │ ├── mail.h │ ├── mail_data.h │ ├── mailbox_pc.h │ ├── main.h │ ├── main_menu.h │ ├── malloc.h │ ├── map_name_popup.h │ ├── map_preview_screen.h │ ├── math_util.h │ ├── menu.h │ ├── menu_helpers.h │ ├── menu_indicators.h │ ├── metatile_behavior.h │ ├── mini_printf.h │ ├── minigame_countdown.h │ ├── mon_markings.h │ ├── money.h │ ├── multiboot.h │ ├── mystery_event_msg.h │ ├── mystery_event_script.h │ ├── mystery_gift.h │ ├── mystery_gift_client.h │ ├── mystery_gift_link.h │ ├── mystery_gift_menu.h │ ├── mystery_gift_server.h │ ├── naming_screen.h │ ├── new_game.h │ ├── new_menu_helpers.h │ ├── oak_speech.h │ ├── option_menu.h │ ├── orre_met_location_strings.h │ ├── overworld.h │ ├── palette.h │ ├── palette_util.h │ ├── party_menu.h │ ├── pc_screen_effect.h │ ├── play_time.h │ ├── player_pc.h │ ├── pokeball.h │ ├── pokedex.h │ ├── pokedex_area_markers.h │ ├── pokedex_screen.h │ ├── pokemon.h │ ├── pokemon_icon.h │ ├── pokemon_item_effects.h │ ├── pokemon_jump.h │ ├── pokemon_size_record.h │ ├── pokemon_special_anim.h │ ├── pokemon_special_anim_internal.h │ ├── pokemon_storage_system.h │ ├── pokemon_storage_system_internal.h │ ├── pokemon_summary_screen.h │ ├── quest_log.h │ ├── quest_log_battle.h │ ├── quest_log_objects.h │ ├── quest_log_player.h │ ├── random.h │ ├── region_map.h │ ├── renewable_hidden_items.h │ ├── reset_save_heap.h │ ├── reshow_battle_screen.h │ ├── roamer.h │ ├── safari_zone.h │ ├── save.h │ ├── save_failed_screen.h │ ├── save_location.h │ ├── save_menu_util.h │ ├── scanline_effect.h │ ├── script.h │ ├── script_menu.h │ ├── script_movement.h │ ├── script_pokemon_util.h │ ├── shop.h │ ├── slot_machine.h │ ├── sound.h │ ├── special_field_anim.h │ ├── sprite.h │ ├── start_menu.h │ ├── string_util.h │ ├── strings.h │ ├── task.h │ ├── teachy_tv.h │ ├── text.h │ ├── text_window.h │ ├── text_window_graphics.h │ ├── tilemap_util.h │ ├── tileset_anims.h │ ├── tilesets.h │ ├── title_screen.h │ ├── tm_case.h │ ├── trade.h │ ├── trade_scene.h │ ├── trainer_card.h │ ├── trainer_front_sprites.h │ ├── trainer_ids.h │ ├── trainer_pokemon_sprites.h │ ├── trainer_see.h │ ├── trainer_tower.h │ ├── trig.h │ ├── union_room.h │ ├── union_room_battle.h │ ├── union_room_chat.h │ ├── union_room_chat_display.h │ ├── union_room_chat_objects.h │ ├── union_room_message.h │ ├── union_room_player_avatar.h │ ├── util.h │ ├── vs_seeker.h │ ├── wild_encounter.h │ ├── wild_pokemon_area.h │ ├── window.h │ └── wonder_news.h ├── json_data_rules.mk ├── ld_script.ld ├── ld_script_modern.ld ├── leafgreen.sha1 ├── leafgreen_rev1.sha1 ├── map_data_rules.mk ├── patch/ │ └── frlgPlus.bps ├── replace.sh ├── songs.mk ├── sound/ │ ├── MPlayDef.s │ ├── cry_tables.inc │ ├── direct_sound_data.inc │ ├── direct_sound_samples/ │ │ ├── bicycle_bell.aif │ │ ├── classical_choir_voice_ahhs.aif │ │ ├── cries/ │ │ │ ├── abra.aif │ │ │ ├── absol.aif │ │ │ ├── aerodactyl.aif │ │ │ ├── aggron.aif │ │ │ ├── aipom.aif │ │ │ ├── alakazam.aif │ │ │ ├── altaria.aif │ │ │ ├── ampharos.aif │ │ │ ├── anorith.aif │ │ │ ├── arbok.aif │ │ │ ├── arcanine.aif │ │ │ ├── ariados.aif │ │ │ ├── armaldo.aif │ │ │ ├── aron.aif │ │ │ ├── articuno.aif │ │ │ ├── azumarill.aif │ │ │ ├── azurill.aif │ │ │ ├── bagon.aif │ │ │ ├── baltoy.aif │ │ │ ├── banette.aif │ │ │ ├── barboach.aif │ │ │ ├── bayleef.aif │ │ │ ├── beautifly.aif │ │ │ ├── beedrill.aif │ │ │ ├── beldum.aif │ │ │ ├── bellossom.aif │ │ │ ├── bellsprout.aif │ │ │ ├── blastoise.aif │ │ │ ├── blaziken.aif │ │ │ ├── blissey.aif │ │ │ ├── breloom.aif │ │ │ ├── bulbasaur.aif │ │ │ ├── butterfree.aif │ │ │ ├── cacnea.aif │ │ │ ├── cacturne.aif │ │ │ ├── camerupt.aif │ │ │ ├── carvanha.aif │ │ │ ├── cascoon.aif │ │ │ ├── castform.aif │ │ │ ├── caterpie.aif │ │ │ ├── celebi.aif │ │ │ ├── chansey.aif │ │ │ ├── charizard.aif │ │ │ ├── charmander.aif │ │ │ ├── charmeleon.aif │ │ │ ├── chikorita.aif │ │ │ ├── chimecho.aif │ │ │ ├── chinchou.aif │ │ │ ├── clamperl.aif │ │ │ ├── claydol.aif │ │ │ ├── clefable.aif │ │ │ ├── clefairy.aif │ │ │ ├── cleffa.aif │ │ │ ├── cloyster.aif │ │ │ ├── combusken.aif │ │ │ ├── corphish.aif │ │ │ ├── corsola.aif │ │ │ ├── cradily.aif │ │ │ ├── crawdaunt.aif │ │ │ ├── crobat.aif │ │ │ ├── croconaw.aif │ │ │ ├── cubone.aif │ │ │ ├── cyndaquil.aif │ │ │ ├── delcatty.aif │ │ │ ├── delibird.aif │ │ │ ├── deoxys.aif │ │ │ ├── dewgong.aif │ │ │ ├── diglett.aif │ │ │ ├── ditto.aif │ │ │ ├── dodrio.aif │ │ │ ├── doduo.aif │ │ │ ├── donphan.aif │ │ │ ├── dragonair.aif │ │ │ ├── dragonite.aif │ │ │ ├── dratini.aif │ │ │ ├── drowzee.aif │ │ │ ├── dugtrio.aif │ │ │ ├── dunsparce.aif │ │ │ ├── dusclops.aif │ │ │ ├── duskull.aif │ │ │ ├── dustox.aif │ │ │ ├── eevee.aif │ │ │ ├── ekans.aif │ │ │ ├── electabuzz.aif │ │ │ ├── electrike.aif │ │ │ ├── electrode.aif │ │ │ ├── elekid.aif │ │ │ ├── entei.aif │ │ │ ├── espeon.aif │ │ │ ├── exeggcute.aif │ │ │ ├── exeggutor.aif │ │ │ ├── exploud.aif │ │ │ ├── farfetchd.aif │ │ │ ├── fearow.aif │ │ │ ├── feebas.aif │ │ │ ├── feraligatr.aif │ │ │ ├── flaaffy.aif │ │ │ ├── flareon.aif │ │ │ ├── flygon.aif │ │ │ ├── forretress.aif │ │ │ ├── furret.aif │ │ │ ├── gardevoir.aif │ │ │ ├── gastly.aif │ │ │ ├── gengar.aif │ │ │ ├── geodude.aif │ │ │ ├── girafarig.aif │ │ │ ├── glalie.aif │ │ │ ├── gligar.aif │ │ │ ├── gloom.aif │ │ │ ├── golbat.aif │ │ │ ├── goldeen.aif │ │ │ ├── golduck.aif │ │ │ ├── golem.aif │ │ │ ├── gorebyss.aif │ │ │ ├── granbull.aif │ │ │ ├── graveler.aif │ │ │ ├── grimer.aif │ │ │ ├── groudon.aif │ │ │ ├── grovyle.aif │ │ │ ├── growlithe.aif │ │ │ ├── grumpig.aif │ │ │ ├── gulpin.aif │ │ │ ├── gyarados.aif │ │ │ ├── hariyama.aif │ │ │ ├── haunter.aif │ │ │ ├── heracross.aif │ │ │ ├── hitmonchan.aif │ │ │ ├── hitmonlee.aif │ │ │ ├── hitmontop.aif │ │ │ ├── ho_oh.aif │ │ │ ├── hoothoot.aif │ │ │ ├── hoppip.aif │ │ │ ├── horsea.aif │ │ │ ├── houndoom.aif │ │ │ ├── houndour.aif │ │ │ ├── huntail.aif │ │ │ ├── hypno.aif │ │ │ ├── igglybuff.aif │ │ │ ├── illumise.aif │ │ │ ├── ivysaur.aif │ │ │ ├── jigglypuff.aif │ │ │ ├── jirachi.aif │ │ │ ├── jolteon.aif │ │ │ ├── jumpluff.aif │ │ │ ├── jynx.aif │ │ │ ├── kabuto.aif │ │ │ ├── kabutops.aif │ │ │ ├── kadabra.aif │ │ │ ├── kakuna.aif │ │ │ ├── kangaskhan.aif │ │ │ ├── kecleon.aif │ │ │ ├── kingdra.aif │ │ │ ├── kingler.aif │ │ │ ├── kirlia.aif │ │ │ ├── koffing.aif │ │ │ ├── krabby.aif │ │ │ ├── kyogre.aif │ │ │ ├── lairon.aif │ │ │ ├── lanturn.aif │ │ │ ├── lapras.aif │ │ │ ├── larvitar.aif │ │ │ ├── latias.aif │ │ │ ├── latios.aif │ │ │ ├── ledian.aif │ │ │ ├── ledyba.aif │ │ │ ├── lickitung.aif │ │ │ ├── lileep.aif │ │ │ ├── linoone.aif │ │ │ ├── lombre.aif │ │ │ ├── lotad.aif │ │ │ ├── loudred.aif │ │ │ ├── ludicolo.aif │ │ │ ├── lugia.aif │ │ │ ├── lunatone.aif │ │ │ ├── luvdisc.aif │ │ │ ├── machamp.aif │ │ │ ├── machoke.aif │ │ │ ├── machop.aif │ │ │ ├── magby.aif │ │ │ ├── magcargo.aif │ │ │ ├── magikarp.aif │ │ │ ├── magmar.aif │ │ │ ├── magnemite.aif │ │ │ ├── magneton.aif │ │ │ ├── makuhita.aif │ │ │ ├── manectric.aif │ │ │ ├── mankey.aif │ │ │ ├── mantine.aif │ │ │ ├── mareep.aif │ │ │ ├── marill.aif │ │ │ ├── marowak.aif │ │ │ ├── marshtomp.aif │ │ │ ├── masquerain.aif │ │ │ ├── mawile.aif │ │ │ ├── medicham.aif │ │ │ ├── meditite.aif │ │ │ ├── meganium.aif │ │ │ ├── meowth.aif │ │ │ ├── metagross.aif │ │ │ ├── metang.aif │ │ │ ├── metapod.aif │ │ │ ├── mew.aif │ │ │ ├── mewtwo.aif │ │ │ ├── mightyena.aif │ │ │ ├── milotic.aif │ │ │ ├── miltank.aif │ │ │ ├── minun.aif │ │ │ ├── misdreavus.aif │ │ │ ├── moltres.aif │ │ │ ├── mr_mime.aif │ │ │ ├── mudkip.aif │ │ │ ├── muk.aif │ │ │ ├── murkrow.aif │ │ │ ├── natu.aif │ │ │ ├── nidoking.aif │ │ │ ├── nidoqueen.aif │ │ │ ├── nidoran_f.aif │ │ │ ├── nidoran_m.aif │ │ │ ├── nidorina.aif │ │ │ ├── nidorino.aif │ │ │ ├── nincada.aif │ │ │ ├── ninetales.aif │ │ │ ├── ninjask.aif │ │ │ ├── noctowl.aif │ │ │ ├── nosepass.aif │ │ │ ├── numel.aif │ │ │ ├── nuzleaf.aif │ │ │ ├── octillery.aif │ │ │ ├── oddish.aif │ │ │ ├── omanyte.aif │ │ │ ├── omastar.aif │ │ │ ├── onix.aif │ │ │ ├── paras.aif │ │ │ ├── parasect.aif │ │ │ ├── pelipper.aif │ │ │ ├── persian.aif │ │ │ ├── phanpy.aif │ │ │ ├── pichu.aif │ │ │ ├── pidgeot.aif │ │ │ ├── pidgeotto.aif │ │ │ ├── pidgey.aif │ │ │ ├── pikachu.aif │ │ │ ├── piloswine.aif │ │ │ ├── pineco.aif │ │ │ ├── pinsir.aif │ │ │ ├── plusle.aif │ │ │ ├── politoed.aif │ │ │ ├── poliwag.aif │ │ │ ├── poliwhirl.aif │ │ │ ├── poliwrath.aif │ │ │ ├── ponyta.aif │ │ │ ├── poochyena.aif │ │ │ ├── porygon.aif │ │ │ ├── porygon2.aif │ │ │ ├── primeape.aif │ │ │ ├── psyduck.aif │ │ │ ├── pupitar.aif │ │ │ ├── quagsire.aif │ │ │ ├── quilava.aif │ │ │ ├── qwilfish.aif │ │ │ ├── raichu.aif │ │ │ ├── raikou.aif │ │ │ ├── ralts.aif │ │ │ ├── rapidash.aif │ │ │ ├── raticate.aif │ │ │ ├── rattata.aif │ │ │ ├── rayquaza.aif │ │ │ ├── regice.aif │ │ │ ├── regirock.aif │ │ │ ├── registeel.aif │ │ │ ├── relicanth.aif │ │ │ ├── remoraid.aif │ │ │ ├── rhydon.aif │ │ │ ├── rhyhorn.aif │ │ │ ├── roselia.aif │ │ │ ├── sableye.aif │ │ │ ├── salamence.aif │ │ │ ├── sandshrew.aif │ │ │ ├── sandslash.aif │ │ │ ├── sceptile.aif │ │ │ ├── scizor.aif │ │ │ ├── scyther.aif │ │ │ ├── seadra.aif │ │ │ ├── seaking.aif │ │ │ ├── sealeo.aif │ │ │ ├── seedot.aif │ │ │ ├── seel.aif │ │ │ ├── sentret.aif │ │ │ ├── seviper.aif │ │ │ ├── sharpedo.aif │ │ │ ├── shedinja.aif │ │ │ ├── shelgon.aif │ │ │ ├── shellder.aif │ │ │ ├── shiftry.aif │ │ │ ├── shroomish.aif │ │ │ ├── shuckle.aif │ │ │ ├── shuppet.aif │ │ │ ├── silcoon.aif │ │ │ ├── skarmory.aif │ │ │ ├── skiploom.aif │ │ │ ├── skitty.aif │ │ │ ├── slaking.aif │ │ │ ├── slakoth.aif │ │ │ ├── slowbro.aif │ │ │ ├── slowking.aif │ │ │ ├── slowpoke.aif │ │ │ ├── slugma.aif │ │ │ ├── smeargle.aif │ │ │ ├── smoochum.aif │ │ │ ├── sneasel.aif │ │ │ ├── snorlax.aif │ │ │ ├── snorunt.aif │ │ │ ├── snubbull.aif │ │ │ ├── solrock.aif │ │ │ ├── spearow.aif │ │ │ ├── spheal.aif │ │ │ ├── spinarak.aif │ │ │ ├── spinda.aif │ │ │ ├── spoink.aif │ │ │ ├── squirtle.aif │ │ │ ├── stantler.aif │ │ │ ├── starmie.aif │ │ │ ├── staryu.aif │ │ │ ├── steelix.aif │ │ │ ├── sudowoodo.aif │ │ │ ├── suicune.aif │ │ │ ├── sunflora.aif │ │ │ ├── sunkern.aif │ │ │ ├── surskit.aif │ │ │ ├── swablu.aif │ │ │ ├── swalot.aif │ │ │ ├── swampert.aif │ │ │ ├── swellow.aif │ │ │ ├── swinub.aif │ │ │ ├── taillow.aif │ │ │ ├── tangela.aif │ │ │ ├── tauros.aif │ │ │ ├── teddiursa.aif │ │ │ ├── tentacool.aif │ │ │ ├── tentacruel.aif │ │ │ ├── togepi.aif │ │ │ ├── togetic.aif │ │ │ ├── torchic.aif │ │ │ ├── torkoal.aif │ │ │ ├── totodile.aif │ │ │ ├── trapinch.aif │ │ │ ├── treecko.aif │ │ │ ├── tropius.aif │ │ │ ├── typhlosion.aif │ │ │ ├── tyranitar.aif │ │ │ ├── tyrogue.aif │ │ │ ├── umbreon.aif │ │ │ ├── unown.aif │ │ │ ├── unused_265.aif │ │ │ ├── unused_268.aif │ │ │ ├── ursaring.aif │ │ │ ├── vaporeon.aif │ │ │ ├── venomoth.aif │ │ │ ├── venonat.aif │ │ │ ├── venusaur.aif │ │ │ ├── vibrava.aif │ │ │ ├── victreebel.aif │ │ │ ├── vigoroth.aif │ │ │ ├── vileplume.aif │ │ │ ├── volbeat.aif │ │ │ ├── voltorb.aif │ │ │ ├── vulpix.aif │ │ │ ├── wailmer.aif │ │ │ ├── wailord.aif │ │ │ ├── walrein.aif │ │ │ ├── wartortle.aif │ │ │ ├── weedle.aif │ │ │ ├── weepinbell.aif │ │ │ ├── weezing.aif │ │ │ ├── whiscash.aif │ │ │ ├── whismur.aif │ │ │ ├── wigglytuff.aif │ │ │ ├── wingull.aif │ │ │ ├── wobbuffet.aif │ │ │ ├── wooper.aif │ │ │ ├── wurmple.aif │ │ │ ├── wynaut.aif │ │ │ ├── xatu.aif │ │ │ ├── yanma.aif │ │ │ ├── zangoose.aif │ │ │ ├── zapdos.aif │ │ │ ├── zigzagoon.aif │ │ │ └── zubat.aif │ │ ├── dance_drums_ride_bell.aif │ │ ├── drum_and_percussion_kick.aif │ │ ├── ethnic_flavours_atarigane.aif │ │ ├── ethnic_flavours_hyoushigi.aif │ │ ├── ethnic_flavours_kotsuzumi.aif │ │ ├── ethnic_flavours_ohtsuzumi.aif │ │ ├── heart_of_asia_gamelan.aif │ │ ├── phonemes/ │ │ │ ├── 01.aif │ │ │ ├── 02.aif │ │ │ ├── 03.aif │ │ │ ├── 04.aif │ │ │ ├── 05.aif │ │ │ ├── 06.aif │ │ │ ├── 07.aif │ │ │ ├── 08.aif │ │ │ ├── 09.aif │ │ │ ├── 10.aif │ │ │ ├── 11.aif │ │ │ ├── 12.aif │ │ │ ├── 13.aif │ │ │ ├── 14.aif │ │ │ ├── 15.aif │ │ │ ├── 16.aif │ │ │ ├── 17.aif │ │ │ ├── 18.aif │ │ │ ├── 19.aif │ │ │ ├── 20.aif │ │ │ ├── 21.aif │ │ │ ├── 22.aif │ │ │ ├── 23.aif │ │ │ ├── 24.aif │ │ │ ├── 25.aif │ │ │ ├── 26.aif │ │ │ ├── 27.aif │ │ │ ├── 28.aif │ │ │ ├── 29.aif │ │ │ ├── 30.aif │ │ │ ├── 31.aif │ │ │ ├── 32.aif │ │ │ ├── 33.aif │ │ │ ├── 34.aif │ │ │ ├── 35.aif │ │ │ ├── 36.aif │ │ │ ├── 37.aif │ │ │ ├── 38.aif │ │ │ ├── 39.aif │ │ │ ├── 40.aif │ │ │ ├── 41.aif │ │ │ ├── 42.aif │ │ │ ├── 43.aif │ │ │ ├── 44.aif │ │ │ ├── 45.aif │ │ │ ├── 46.aif │ │ │ ├── 47.aif │ │ │ ├── 48.aif │ │ │ ├── 49.aif │ │ │ ├── 50.aif │ │ │ └── 51.aif │ │ ├── register_noise.aif │ │ ├── sc88pro_accordion.aif │ │ ├── sc88pro_accordion_duplicate.aif │ │ ├── sc88pro_bubbles.aif │ │ ├── sc88pro_church_organ3_high.aif │ │ ├── sc88pro_church_organ3_low.aif │ │ ├── sc88pro_fingered_bass.aif │ │ ├── sc88pro_flute.aif │ │ ├── sc88pro_french_horn_60.aif │ │ ├── sc88pro_french_horn_72.aif │ │ ├── sc88pro_fretless_bass.aif │ │ ├── sc88pro_glockenspiel.aif │ │ ├── sc88pro_harp.aif │ │ ├── sc88pro_jingle_bell.aif │ │ ├── sc88pro_mute_high_conga.aif │ │ ├── sc88pro_nylon_str_guitar.aif │ │ ├── sc88pro_open_low_conga.aif │ │ ├── sc88pro_orchestra_cymbal_crash.aif │ │ ├── sc88pro_orchestra_snare.aif │ │ ├── sc88pro_organ2.aif │ │ ├── sc88pro_piano1_48.aif │ │ ├── sc88pro_piano1_60.aif │ │ ├── sc88pro_piano1_72.aif │ │ ├── sc88pro_piano1_84.aif │ │ ├── sc88pro_pizzicato_strings.aif │ │ ├── sc88pro_rnd_kick.aif │ │ ├── sc88pro_rnd_snare.aif │ │ ├── sc88pro_slap_bass.aif │ │ ├── sc88pro_square_wave.aif │ │ ├── sc88pro_string_ensemble_60.aif │ │ ├── sc88pro_string_ensemble_72.aif │ │ ├── sc88pro_string_ensemble_84.aif │ │ ├── sc88pro_synth_bass.aif │ │ ├── sc88pro_taiko.aif │ │ ├── sc88pro_tambourine.aif │ │ ├── sc88pro_timpani.aif │ │ ├── sc88pro_timpani_with_snare.aif │ │ ├── sc88pro_tr909_hand_clap.aif │ │ ├── sc88pro_trumpet_60.aif │ │ ├── sc88pro_trumpet_72.aif │ │ ├── sc88pro_trumpet_84.aif │ │ ├── sc88pro_tuba_39.aif │ │ ├── sc88pro_tuba_51.aif │ │ ├── sc88pro_tubular_bell.aif │ │ ├── sc88pro_wind.aif │ │ ├── sc88pro_xylophone.aif │ │ ├── sd90_ambient_tom.aif │ │ ├── sd90_classical_detuned_ep1_high.aif │ │ ├── sd90_classical_detuned_ep1_low.aif │ │ ├── sd90_classical_distortion_guitar_high.aif │ │ ├── sd90_classical_distortion_guitar_low.aif │ │ ├── sd90_classical_oboe.aif │ │ ├── sd90_classical_overdrive_guitar.aif │ │ ├── sd90_classical_shakuhachi.aif │ │ ├── sd90_classical_whistle.aif │ │ ├── sd90_cowbell.aif │ │ ├── sd90_enhanced_delay_shaku.aif │ │ ├── sd90_open_triangle.aif │ │ ├── sd90_solo_snare.aif │ │ ├── sd90_special_scream_drive.aif │ │ ├── steinway_b_piano.aif │ │ ├── trinity_30303_mega_bass.aif │ │ ├── trinity_big_boned.aif │ │ ├── trinity_cymbal_crash.aif │ │ ├── unknown_01.aif │ │ ├── unknown_02.aif │ │ ├── unknown_03.aif │ │ ├── unknown_04.aif │ │ ├── unknown_05.aif │ │ ├── unknown_06.aif │ │ ├── unknown_07.aif │ │ ├── unknown_08.aif │ │ ├── unknown_09.aif │ │ ├── unknown_10.aif │ │ ├── unknown_11.aif │ │ ├── unknown_12.aif │ │ ├── unknown_13.aif │ │ ├── unknown_14.aif │ │ ├── unknown_15.aif │ │ ├── unknown_16.aif │ │ ├── unknown_17.aif │ │ ├── unknown_18.aif │ │ ├── unknown_bell.aif │ │ ├── unknown_close_hihat.aif │ │ ├── unknown_female_voice.aif │ │ ├── unknown_koto_high.aif │ │ ├── unknown_koto_low.aif │ │ ├── unknown_open_hihat.aif │ │ ├── unknown_snare.aif │ │ ├── unknown_synth_snare.aif │ │ ├── unused_guitar_separates_power_chord.aif │ │ ├── unused_heart_of_asia_indian_drum.aif │ │ ├── unused_sc55_tom.aif │ │ ├── unused_sc88pro_unison_slap.aif │ │ ├── unused_sd90_oboe.aif │ │ ├── unused_unknown_male_voice.aif │ │ ├── wave_54.aif │ │ └── wave_77.aif │ ├── keysplit_tables.inc │ ├── music_player_table.inc │ ├── programmable_wave_data.inc │ ├── programmable_wave_samples/ │ │ ├── 01.pcm │ │ ├── 02.pcm │ │ ├── 03.pcm │ │ ├── 04.pcm │ │ ├── 05.pcm │ │ ├── 06.pcm │ │ ├── 07.pcm │ │ ├── 08.pcm │ │ ├── 09.pcm │ │ ├── 10.pcm │ │ ├── 11.pcm │ │ ├── 12.pcm │ │ ├── 13.pcm │ │ ├── 14.pcm │ │ ├── 15.pcm │ │ ├── 16.pcm │ │ ├── 17.pcm │ │ ├── 18.pcm │ │ ├── 19.pcm │ │ ├── 20.pcm │ │ ├── 21.pcm │ │ ├── 22.pcm │ │ ├── 23.pcm │ │ ├── 24.pcm │ │ └── 25.pcm │ ├── song_table.inc │ ├── songs/ │ │ ├── midi/ │ │ │ ├── mus_abandoned_ship.mid │ │ │ ├── mus_abnormal_weather.mid │ │ │ ├── mus_aqua_magma_hideout.mid │ │ │ ├── mus_awaken_legend.mid │ │ │ ├── mus_b_arena.mid │ │ │ ├── mus_b_dome.mid │ │ │ ├── mus_b_dome_lobby.mid │ │ │ ├── mus_b_factory.mid │ │ │ ├── mus_b_frontier.mid │ │ │ ├── mus_b_palace.mid │ │ │ ├── mus_b_pike.mid │ │ │ ├── mus_b_pyramid.mid │ │ │ ├── mus_b_pyramid_top.mid │ │ │ ├── mus_b_tower.mid │ │ │ ├── mus_b_tower_rs.mid │ │ │ ├── mus_birch_lab.mid │ │ │ ├── mus_c_comm_center.mid │ │ │ ├── mus_c_vs_legend_beast.mid │ │ │ ├── mus_cable_car.mid │ │ │ ├── mus_caught.mid │ │ │ ├── mus_cave_of_origin.mid │ │ │ ├── mus_contest.mid │ │ │ ├── mus_contest_lobby.mid │ │ │ ├── mus_contest_results.mid │ │ │ ├── mus_contest_winner.mid │ │ │ ├── mus_credits.mid │ │ │ ├── mus_cycling.mid │ │ │ ├── mus_dewford.mid │ │ │ ├── mus_dummy.mid │ │ │ ├── mus_encounter_aqua.mid │ │ │ ├── mus_encounter_brendan.mid │ │ │ ├── mus_encounter_champion.mid │ │ │ ├── mus_encounter_cool.mid │ │ │ ├── mus_encounter_elite_four.mid │ │ │ ├── mus_encounter_female.mid │ │ │ ├── mus_encounter_girl.mid │ │ │ ├── mus_encounter_hiker.mid │ │ │ ├── mus_encounter_intense.mid │ │ │ ├── mus_encounter_interviewer.mid │ │ │ ├── mus_encounter_magma.mid │ │ │ ├── mus_encounter_male.mid │ │ │ ├── mus_encounter_may.mid │ │ │ ├── mus_encounter_rich.mid │ │ │ ├── mus_encounter_suspicious.mid │ │ │ ├── mus_encounter_swimmer.mid │ │ │ ├── mus_encounter_twins.mid │ │ │ ├── mus_end.mid │ │ │ ├── mus_ever_grande.mid │ │ │ ├── mus_evolution.mid │ │ │ ├── mus_evolution_intro.mid │ │ │ ├── mus_evolved.mid │ │ │ ├── mus_fallarbor.mid │ │ │ ├── mus_follow_me.mid │ │ │ ├── mus_fortree.mid │ │ │ ├── mus_game_corner.mid │ │ │ ├── mus_gsc_pewter.mid │ │ │ ├── mus_gsc_route38.mid │ │ │ ├── mus_gym.mid │ │ │ ├── mus_hall_of_fame.mid │ │ │ ├── mus_hall_of_fame_room.mid │ │ │ ├── mus_heal.mid │ │ │ ├── mus_help.mid │ │ │ ├── mus_intro.mid │ │ │ ├── mus_intro_battle.mid │ │ │ ├── mus_level_up.mid │ │ │ ├── mus_lilycove.mid │ │ │ ├── mus_lilycove_museum.mid │ │ │ ├── mus_link_contest_p1.mid │ │ │ ├── mus_link_contest_p2.mid │ │ │ ├── mus_link_contest_p3.mid │ │ │ ├── mus_link_contest_p4.mid │ │ │ ├── mus_littleroot.mid │ │ │ ├── mus_littleroot_test.mid │ │ │ ├── mus_move_deleted.mid │ │ │ ├── mus_mt_chimney.mid │ │ │ ├── mus_mt_pyre.mid │ │ │ ├── mus_mt_pyre_exterior.mid │ │ │ ├── mus_obtain_b_points.mid │ │ │ ├── mus_obtain_badge.mid │ │ │ ├── mus_obtain_berry.mid │ │ │ ├── mus_obtain_item.mid │ │ │ ├── mus_obtain_symbol.mid │ │ │ ├── mus_obtain_tmhm.mid │ │ │ ├── mus_oceanic_museum.mid │ │ │ ├── mus_oldale.mid │ │ │ ├── mus_petalburg.mid │ │ │ ├── mus_petalburg_woods.mid │ │ │ ├── mus_poke_center.mid │ │ │ ├── mus_poke_mart.mid │ │ │ ├── mus_rayquaza_appears.mid │ │ │ ├── mus_register_match_call.mid │ │ │ ├── mus_rg_berry_pick.mid │ │ │ ├── mus_rg_caught.mid │ │ │ ├── mus_rg_caught_intro.mid │ │ │ ├── mus_rg_celadon.mid │ │ │ ├── mus_rg_cinnabar.mid │ │ │ ├── mus_rg_credits.mid │ │ │ ├── mus_rg_cycling.mid │ │ │ ├── mus_rg_dex_rating.mid │ │ │ ├── mus_rg_encounter_boy.mid │ │ │ ├── mus_rg_encounter_deoxys.mid │ │ │ ├── mus_rg_encounter_girl.mid │ │ │ ├── mus_rg_encounter_gym_leader.mid │ │ │ ├── mus_rg_encounter_rival.mid │ │ │ ├── mus_rg_encounter_rocket.mid │ │ │ ├── mus_rg_follow_me.mid │ │ │ ├── mus_rg_fuchsia.mid │ │ │ ├── mus_rg_game_corner.mid │ │ │ ├── mus_rg_game_freak.mid │ │ │ ├── mus_rg_gym.mid │ │ │ ├── mus_rg_hall_of_fame.mid │ │ │ ├── mus_rg_heal.mid │ │ │ ├── mus_rg_intro_fight.mid │ │ │ ├── mus_rg_jigglypuff.mid │ │ │ ├── mus_rg_lavender.mid │ │ │ ├── mus_rg_mt_moon.mid │ │ │ ├── mus_rg_mystery_gift.mid │ │ │ ├── mus_rg_net_center.mid │ │ │ ├── mus_rg_new_game_exit.mid │ │ │ ├── mus_rg_new_game_instruct.mid │ │ │ ├── mus_rg_new_game_intro.mid │ │ │ ├── mus_rg_oak.mid │ │ │ ├── mus_rg_oak_lab.mid │ │ │ ├── mus_rg_obtain_key_item.mid │ │ │ ├── mus_rg_pallet.mid │ │ │ ├── mus_rg_pewter.mid │ │ │ ├── mus_rg_photo.mid │ │ │ ├── mus_rg_poke_center.mid │ │ │ ├── mus_rg_poke_flute.mid │ │ │ ├── mus_rg_poke_jump.mid │ │ │ ├── mus_rg_poke_mansion.mid │ │ │ ├── mus_rg_poke_tower.mid │ │ │ ├── mus_rg_rival_exit.mid │ │ │ ├── mus_rg_rocket_hideout.mid │ │ │ ├── mus_rg_route1.mid │ │ │ ├── mus_rg_route11.mid │ │ │ ├── mus_rg_route24.mid │ │ │ ├── mus_rg_route3.mid │ │ │ ├── mus_rg_sevii_123.mid │ │ │ ├── mus_rg_sevii_45.mid │ │ │ ├── mus_rg_sevii_67.mid │ │ │ ├── mus_rg_sevii_cave.mid │ │ │ ├── mus_rg_sevii_dungeon.mid │ │ │ ├── mus_rg_sevii_route.mid │ │ │ ├── mus_rg_silph.mid │ │ │ ├── mus_rg_slow_pallet.mid │ │ │ ├── mus_rg_ss_anne.mid │ │ │ ├── mus_rg_surf.mid │ │ │ ├── mus_rg_teachy_tv_menu.mid │ │ │ ├── mus_rg_teachy_tv_show.mid │ │ │ ├── mus_rg_title.mid │ │ │ ├── mus_rg_trainer_tower.mid │ │ │ ├── mus_rg_union_room.mid │ │ │ ├── mus_rg_vermillion.mid │ │ │ ├── mus_rg_victory_gym_leader.mid │ │ │ ├── mus_rg_victory_road.mid │ │ │ ├── mus_rg_victory_trainer.mid │ │ │ ├── mus_rg_victory_wild.mid │ │ │ ├── mus_rg_viridian_forest.mid │ │ │ ├── mus_rg_vs_champion.mid │ │ │ ├── mus_rg_vs_deoxys.mid │ │ │ ├── mus_rg_vs_gym_leader.mid │ │ │ ├── mus_rg_vs_legend.mid │ │ │ ├── mus_rg_vs_mewtwo.mid │ │ │ ├── mus_rg_vs_trainer.mid │ │ │ ├── mus_rg_vs_wild.mid │ │ │ ├── mus_roulette.mid │ │ │ ├── mus_route101.mid │ │ │ ├── mus_route104.mid │ │ │ ├── mus_route110.mid │ │ │ ├── mus_route111.mid │ │ │ ├── mus_route113.mid │ │ │ ├── mus_route119.mid │ │ │ ├── mus_route120.mid │ │ │ ├── mus_route122.mid │ │ │ ├── mus_rustboro.mid │ │ │ ├── mus_safari_zone.mid │ │ │ ├── mus_sailing.mid │ │ │ ├── mus_school.mid │ │ │ ├── mus_sealed_chamber.mid │ │ │ ├── mus_slateport.mid │ │ │ ├── mus_slots_jackpot.mid │ │ │ ├── mus_slots_win.mid │ │ │ ├── mus_sootopolis.mid │ │ │ ├── mus_surf.mid │ │ │ ├── mus_title.mid │ │ │ ├── mus_too_bad.mid │ │ │ ├── mus_trick_house.mid │ │ │ ├── mus_underwater.mid │ │ │ ├── mus_verdanturf.mid │ │ │ ├── mus_victory_aqua_magma.mid │ │ │ ├── mus_victory_gym_leader.mid │ │ │ ├── mus_victory_league.mid │ │ │ ├── mus_victory_road.mid │ │ │ ├── mus_victory_trainer.mid │ │ │ ├── mus_victory_wild.mid │ │ │ ├── mus_vs_aqua_magma.mid │ │ │ ├── mus_vs_aqua_magma_leader.mid │ │ │ ├── mus_vs_champion.mid │ │ │ ├── mus_vs_elite_four.mid │ │ │ ├── mus_vs_frontier_brain.mid │ │ │ ├── mus_vs_gym_leader.mid │ │ │ ├── mus_vs_kyogre_groudon.mid │ │ │ ├── mus_vs_mew.mid │ │ │ ├── mus_vs_rayquaza.mid │ │ │ ├── mus_vs_regi.mid │ │ │ ├── mus_vs_rival.mid │ │ │ ├── mus_vs_trainer.mid │ │ │ ├── mus_vs_wild.mid │ │ │ ├── mus_weather_groudon.mid │ │ │ ├── ph_choice_blend.mid │ │ │ ├── ph_choice_held.mid │ │ │ ├── ph_choice_solo.mid │ │ │ ├── ph_cloth_blend.mid │ │ │ ├── ph_cloth_held.mid │ │ │ ├── ph_cloth_solo.mid │ │ │ ├── ph_cure_blend.mid │ │ │ ├── ph_cure_held.mid │ │ │ ├── ph_cure_solo.mid │ │ │ ├── ph_dress_blend.mid │ │ │ ├── ph_dress_held.mid │ │ │ ├── ph_dress_solo.mid │ │ │ ├── ph_face_blend.mid │ │ │ ├── ph_face_held.mid │ │ │ ├── ph_face_solo.mid │ │ │ ├── ph_fleece_blend.mid │ │ │ ├── ph_fleece_held.mid │ │ │ ├── ph_fleece_solo.mid │ │ │ ├── ph_foot_blend.mid │ │ │ ├── ph_foot_held.mid │ │ │ ├── ph_foot_solo.mid │ │ │ ├── ph_goat_blend.mid │ │ │ ├── ph_goat_held.mid │ │ │ ├── ph_goat_solo.mid │ │ │ ├── ph_goose_blend.mid │ │ │ ├── ph_goose_held.mid │ │ │ ├── ph_goose_solo.mid │ │ │ ├── ph_kit_blend.mid │ │ │ ├── ph_kit_held.mid │ │ │ ├── ph_kit_solo.mid │ │ │ ├── ph_lot_blend.mid │ │ │ ├── ph_lot_held.mid │ │ │ ├── ph_lot_solo.mid │ │ │ ├── ph_mouth_blend.mid │ │ │ ├── ph_mouth_held.mid │ │ │ ├── ph_mouth_solo.mid │ │ │ ├── ph_nurse_blend.mid │ │ │ ├── ph_nurse_held.mid │ │ │ ├── ph_nurse_solo.mid │ │ │ ├── ph_price_blend.mid │ │ │ ├── ph_price_held.mid │ │ │ ├── ph_price_solo.mid │ │ │ ├── ph_strut_blend.mid │ │ │ ├── ph_strut_held.mid │ │ │ ├── ph_strut_solo.mid │ │ │ ├── ph_thought_blend.mid │ │ │ ├── ph_thought_held.mid │ │ │ ├── ph_thought_solo.mid │ │ │ ├── ph_trap_blend.mid │ │ │ ├── ph_trap_held.mid │ │ │ ├── ph_trap_solo.mid │ │ │ ├── se_a.mid │ │ │ ├── se_applause.mid │ │ │ ├── se_arena_timeup1.mid │ │ │ ├── se_arena_timeup2.mid │ │ │ ├── se_ball.mid │ │ │ ├── se_ball_bounce_1.mid │ │ │ ├── se_ball_bounce_2.mid │ │ │ ├── se_ball_bounce_3.mid │ │ │ ├── se_ball_bounce_4.mid │ │ │ ├── se_ball_open.mid │ │ │ ├── se_ball_throw.mid │ │ │ ├── se_ball_trade.mid │ │ │ ├── se_ball_tray_ball.mid │ │ │ ├── se_ball_tray_enter.mid │ │ │ ├── se_ball_tray_exit.mid │ │ │ ├── se_balloon_blue.mid │ │ │ ├── se_balloon_red.mid │ │ │ ├── se_balloon_yellow.mid │ │ │ ├── se_bang.mid │ │ │ ├── se_berry_blender.mid │ │ │ ├── se_bike_bell.mid │ │ │ ├── se_bike_hop.mid │ │ │ ├── se_boo.mid │ │ │ ├── se_breakable_door.mid │ │ │ ├── se_bridge_walk.mid │ │ │ ├── se_card.mid │ │ │ ├── se_click.mid │ │ │ ├── se_contest_condition_lose.mid │ │ │ ├── se_contest_curtain_fall.mid │ │ │ ├── se_contest_curtain_rise.mid │ │ │ ├── se_contest_heart.mid │ │ │ ├── se_contest_icon_change.mid │ │ │ ├── se_contest_icon_clear.mid │ │ │ ├── se_contest_mons_turn.mid │ │ │ ├── se_contest_place.mid │ │ │ ├── se_dex_search.mid │ │ │ ├── se_ding_dong.mid │ │ │ ├── se_door.mid │ │ │ ├── se_downpour.mid │ │ │ ├── se_downpour_stop.mid │ │ │ ├── se_e.mid │ │ │ ├── se_effective.mid │ │ │ ├── se_egg_hatch.mid │ │ │ ├── se_elevator.mid │ │ │ ├── se_escalator.mid │ │ │ ├── se_exit.mid │ │ │ ├── se_exp.mid │ │ │ ├── se_exp_max.mid │ │ │ ├── se_failure.mid │ │ │ ├── se_faint.mid │ │ │ ├── se_fall.mid │ │ │ ├── se_field_poison.mid │ │ │ ├── se_flee.mid │ │ │ ├── se_fu_zaku.mid │ │ │ ├── se_glass_flute.mid │ │ │ ├── se_i.mid │ │ │ ├── se_ice_break.mid │ │ │ ├── se_ice_crack.mid │ │ │ ├── se_ice_stairs.mid │ │ │ ├── se_intro_blast.mid │ │ │ ├── se_itemfinder.mid │ │ │ ├── se_lavaridge_fall_warp.mid │ │ │ ├── se_ledge.mid │ │ │ ├── se_low_health.mid │ │ │ ├── se_m_bind.mid │ │ │ ├── se_m_comet_punch.mid │ │ │ ├── se_m_cut.mid │ │ │ ├── se_m_double_slap.mid │ │ │ ├── se_m_fire_punch.mid │ │ │ ├── se_m_fly.mid │ │ │ ├── se_m_gust.mid │ │ │ ├── se_m_gust2.mid │ │ │ ├── se_m_headbutt.mid │ │ │ ├── se_m_horn_attack.mid │ │ │ ├── se_m_jump_kick.mid │ │ │ ├── se_m_leer.mid │ │ │ ├── se_m_mega_kick.mid │ │ │ ├── se_m_mega_kick2.mid │ │ │ ├── se_m_pay_day.mid │ │ │ ├── se_m_razor_wind.mid │ │ │ ├── se_m_razor_wind2.mid │ │ │ ├── se_m_sand_attack.mid │ │ │ ├── se_m_scratch.mid │ │ │ ├── se_m_swords_dance.mid │ │ │ ├── se_m_tail_whip.mid │ │ │ ├── se_m_take_down.mid │ │ │ ├── se_m_vicegrip.mid │ │ │ ├── se_m_wing_attack.mid │ │ │ ├── se_mud_ball.mid │ │ │ ├── se_mugshot.mid │ │ │ ├── se_n.mid │ │ │ ├── se_not_effective.mid │ │ │ ├── se_note_a.mid │ │ │ ├── se_note_b.mid │ │ │ ├── se_note_c.mid │ │ │ ├── se_note_c_high.mid │ │ │ ├── se_note_d.mid │ │ │ ├── se_note_e.mid │ │ │ ├── se_note_f.mid │ │ │ ├── se_note_g.mid │ │ │ ├── se_o.mid │ │ │ ├── se_orb.mid │ │ │ ├── se_pc_login.mid │ │ │ ├── se_pc_off.mid │ │ │ ├── se_pc_on.mid │ │ │ ├── se_pike_curtain_close.mid │ │ │ ├── se_pike_curtain_open.mid │ │ │ ├── se_pin.mid │ │ │ ├── se_pokenav_call.mid │ │ │ ├── se_pokenav_hang_up.mid │ │ │ ├── se_pokenav_off.mid │ │ │ ├── se_pokenav_on.mid │ │ │ ├── se_puddle.mid │ │ │ ├── se_rain.mid │ │ │ ├── se_rain_stop.mid │ │ │ ├── se_repel.mid │ │ │ ├── se_rg_bag_cursor.mid │ │ │ ├── se_rg_ball_click.mid │ │ │ ├── se_rg_card_flip.mid │ │ │ ├── se_rg_card_flipping.mid │ │ │ ├── se_rg_card_open.mid │ │ │ ├── se_rg_deoxys_move.mid │ │ │ ├── se_rg_door.mid │ │ │ ├── se_rg_help_close.mid │ │ │ ├── se_rg_help_error.mid │ │ │ ├── se_rg_help_open.mid │ │ │ ├── se_rg_poke_jump_failure.mid │ │ │ ├── se_rg_poke_jump_success.mid │ │ │ ├── se_rg_shop.mid │ │ │ ├── se_rg_ss_anne_horn.mid │ │ │ ├── se_rotating_gate.mid │ │ │ ├── se_roulette_ball.mid │ │ │ ├── se_roulette_ball2.mid │ │ │ ├── se_save.mid │ │ │ ├── se_select.mid │ │ │ ├── se_shiny.mid │ │ │ ├── se_ship.mid │ │ │ ├── se_shop.mid │ │ │ ├── se_sliding_door.mid │ │ │ ├── se_success.mid │ │ │ ├── se_sudowoodo_shake.mid │ │ │ ├── se_super_effective.mid │ │ │ ├── se_switch.mid │ │ │ ├── se_taillow_wing_flap.mid │ │ │ ├── se_thunder.mid │ │ │ ├── se_thunder2.mid │ │ │ ├── se_thunderstorm.mid │ │ │ ├── se_thunderstorm_stop.mid │ │ │ ├── se_truck_door.mid │ │ │ ├── se_truck_move.mid │ │ │ ├── se_truck_stop.mid │ │ │ ├── se_truck_unload.mid │ │ │ ├── se_u.mid │ │ │ ├── se_unlock.mid │ │ │ ├── se_use_item.mid │ │ │ ├── se_vend.mid │ │ │ ├── se_warp_in.mid │ │ │ └── se_warp_out.mid │ │ ├── se_dex_page.s │ │ ├── se_dex_scroll.s │ │ ├── se_m_absorb.s │ │ ├── se_m_absorb_2.s │ │ ├── se_m_acid_armor.s │ │ ├── se_m_attract.s │ │ ├── se_m_attract2.s │ │ ├── se_m_barrier.s │ │ ├── se_m_baton_pass.s │ │ ├── se_m_belly_drum.s │ │ ├── se_m_bite.s │ │ ├── se_m_blizzard.s │ │ ├── se_m_blizzard2.s │ │ ├── se_m_bonemerang.s │ │ ├── se_m_brick_break.s │ │ ├── se_m_bubble.s │ │ ├── se_m_bubble2.s │ │ ├── se_m_bubble3.s │ │ ├── se_m_bubble_beam.s │ │ ├── se_m_bubble_beam2.s │ │ ├── se_m_charge.s │ │ ├── se_m_charm.s │ │ ├── se_m_confuse_ray.s │ │ ├── se_m_cosmic_power.s │ │ ├── se_m_crabhammer.s │ │ ├── se_m_detect.s │ │ ├── se_m_dig.s │ │ ├── se_m_dive.s │ │ ├── se_m_dizzy_punch.s │ │ ├── se_m_double_team.s │ │ ├── se_m_dragon_rage.s │ │ ├── se_m_earthquake.s │ │ ├── se_m_ember.s │ │ ├── se_m_encore.s │ │ ├── se_m_encore2.s │ │ ├── se_m_explosion.s │ │ ├── se_m_faint_attack.s │ │ ├── se_m_flame_wheel.s │ │ ├── se_m_flame_wheel2.s │ │ ├── se_m_flamethrower.s │ │ ├── se_m_flatter.s │ │ ├── se_m_giga_drain.s │ │ ├── se_m_grasswhistle.s │ │ ├── se_m_hail.s │ │ ├── se_m_harden.s │ │ ├── se_m_haze.s │ │ ├── se_m_heal_bell.s │ │ ├── se_m_heat_wave.s │ │ ├── se_m_hydro_pump.s │ │ ├── se_m_hyper_beam.s │ │ ├── se_m_hyper_beam2.s │ │ ├── se_m_icy_wind.s │ │ ├── se_m_lick.s │ │ ├── se_m_lock_on.s │ │ ├── se_m_metronome.s │ │ ├── se_m_milk_drink.s │ │ ├── se_m_minimize.s │ │ ├── se_m_mist.s │ │ ├── se_m_moonlight.s │ │ ├── se_m_morning_sun.s │ │ ├── se_m_nightmare.s │ │ ├── se_m_perish_song.s │ │ ├── se_m_petal_dance.s │ │ ├── se_m_poison_powder.s │ │ ├── se_m_psybeam.s │ │ ├── se_m_psybeam2.s │ │ ├── se_m_rain_dance.s │ │ ├── se_m_reflect.s │ │ ├── se_m_reversal.s │ │ ├── se_m_rock_throw.s │ │ ├── se_m_sacred_fire.s │ │ ├── se_m_sacred_fire2.s │ │ ├── se_m_sand_tomb.s │ │ ├── se_m_sandstorm.s │ │ ├── se_m_screech.s │ │ ├── se_m_self_destruct.s │ │ ├── se_m_sing.s │ │ ├── se_m_sketch.s │ │ ├── se_m_sky_uppercut.s │ │ ├── se_m_snore.s │ │ ├── se_m_solar_beam.s │ │ ├── se_m_spit_up.s │ │ ├── se_m_stat_decrease.s │ │ ├── se_m_stat_increase.s │ │ ├── se_m_strength.s │ │ ├── se_m_string_shot.s │ │ ├── se_m_string_shot2.s │ │ ├── se_m_supersonic.s │ │ ├── se_m_surf.s │ │ ├── se_m_swagger.s │ │ ├── se_m_swagger2.s │ │ ├── se_m_sweet_scent.s │ │ ├── se_m_swift.s │ │ ├── se_m_teeter_dance.s │ │ ├── se_m_teleport.s │ │ ├── se_m_thunder_wave.s │ │ ├── se_m_thunderbolt.s │ │ ├── se_m_thunderbolt2.s │ │ ├── se_m_toxic.s │ │ ├── se_m_tri_attack.s │ │ ├── se_m_tri_attack2.s │ │ ├── se_m_twister.s │ │ ├── se_m_uproar.s │ │ ├── se_m_vital_throw.s │ │ ├── se_m_vital_throw2.s │ │ ├── se_m_waterfall.s │ │ ├── se_m_whirlpool.s │ │ ├── se_m_yawn.s │ │ ├── se_rg_bag_pocket.s │ │ ├── se_wall_hit.s │ │ └── se_win_open.s │ ├── voice_groups.inc │ └── voicegroups/ │ ├── voicegroup000.inc │ ├── voicegroup001.inc │ ├── voicegroup002.inc │ ├── voicegroup003.inc │ ├── voicegroup004.inc │ ├── voicegroup005.inc │ ├── voicegroup006.inc │ ├── voicegroup007.inc │ ├── voicegroup008.inc │ ├── voicegroup009.inc │ ├── voicegroup010.inc │ ├── voicegroup011.inc │ ├── voicegroup012.inc │ ├── voicegroup013.inc │ ├── voicegroup014.inc │ ├── voicegroup015.inc │ ├── voicegroup016.inc │ ├── voicegroup017.inc │ ├── voicegroup018.inc │ ├── voicegroup019.inc │ ├── voicegroup020.inc │ ├── voicegroup021.inc │ ├── voicegroup022.inc │ ├── voicegroup023.inc │ ├── voicegroup024.inc │ ├── voicegroup025.inc │ ├── voicegroup026.inc │ ├── voicegroup027.inc │ ├── voicegroup028.inc │ ├── voicegroup029.inc │ ├── voicegroup030.inc │ ├── voicegroup031.inc │ ├── voicegroup032.inc │ ├── voicegroup033.inc │ ├── voicegroup034.inc │ ├── voicegroup035.inc │ ├── voicegroup036.inc │ ├── voicegroup037.inc │ ├── voicegroup038.inc │ ├── voicegroup039.inc │ ├── voicegroup040.inc │ ├── voicegroup041.inc │ ├── voicegroup042.inc │ ├── voicegroup043.inc │ ├── voicegroup044.inc │ ├── voicegroup045.inc │ ├── voicegroup046.inc │ ├── voicegroup047.inc │ ├── voicegroup048.inc │ ├── voicegroup049.inc │ ├── voicegroup050.inc │ ├── voicegroup051.inc │ ├── voicegroup052.inc │ ├── voicegroup053.inc │ ├── voicegroup054.inc │ ├── voicegroup055.inc │ ├── voicegroup056.inc │ ├── voicegroup057.inc │ ├── voicegroup058.inc │ ├── voicegroup059.inc │ ├── voicegroup060.inc │ ├── voicegroup061.inc │ ├── voicegroup062.inc │ ├── voicegroup063.inc │ ├── voicegroup064.inc │ ├── voicegroup065.inc │ ├── voicegroup066.inc │ ├── voicegroup067.inc │ ├── voicegroup068.inc │ ├── voicegroup069.inc │ ├── voicegroup070.inc │ ├── voicegroup071.inc │ ├── voicegroup072.inc │ ├── voicegroup073.inc │ ├── voicegroup074.inc │ ├── voicegroup075.inc │ ├── voicegroup076.inc │ ├── voicegroup077.inc │ ├── voicegroup078.inc │ ├── voicegroup079.inc │ ├── voicegroup080.inc │ ├── voicegroup081.inc │ ├── voicegroup082.inc │ ├── voicegroup083.inc │ ├── voicegroup084.inc │ ├── voicegroup085.inc │ ├── voicegroup086.inc │ ├── voicegroup087.inc │ ├── voicegroup088.inc │ ├── voicegroup089.inc │ ├── voicegroup090.inc │ ├── voicegroup091.inc │ ├── voicegroup092.inc │ ├── voicegroup093.inc │ ├── voicegroup094.inc │ ├── voicegroup095.inc │ ├── voicegroup096.inc │ ├── voicegroup097.inc │ ├── voicegroup098.inc │ ├── voicegroup099.inc │ ├── voicegroup100.inc │ ├── voicegroup101.inc │ ├── voicegroup102.inc │ ├── voicegroup103.inc │ ├── voicegroup104.inc │ ├── voicegroup105.inc │ ├── voicegroup106.inc │ ├── voicegroup107.inc │ ├── voicegroup108.inc │ ├── voicegroup109.inc │ ├── voicegroup110.inc │ ├── voicegroup111.inc │ ├── voicegroup112.inc │ ├── voicegroup113.inc │ ├── voicegroup114.inc │ ├── voicegroup115.inc │ ├── voicegroup116.inc │ ├── voicegroup117.inc │ ├── voicegroup118.inc │ ├── voicegroup119.inc │ ├── voicegroup120.inc │ ├── voicegroup121.inc │ ├── voicegroup122.inc │ ├── voicegroup123.inc │ ├── voicegroup124.inc │ ├── voicegroup125.inc │ ├── voicegroup126.inc │ ├── voicegroup127.inc │ ├── voicegroup128.inc │ ├── voicegroup129.inc │ ├── voicegroup130.inc │ ├── voicegroup131.inc │ ├── voicegroup132.inc │ ├── voicegroup133.inc │ ├── voicegroup134.inc │ ├── voicegroup135.inc │ ├── voicegroup136.inc │ ├── voicegroup137.inc │ ├── voicegroup138.inc │ ├── voicegroup139.inc │ ├── voicegroup140.inc │ ├── voicegroup141.inc │ ├── voicegroup142.inc │ ├── voicegroup143.inc │ ├── voicegroup144.inc │ ├── voicegroup145.inc │ ├── voicegroup146.inc │ ├── voicegroup147.inc │ ├── voicegroup148.inc │ ├── voicegroup149.inc │ ├── voicegroup150.inc │ ├── voicegroup151.inc │ ├── voicegroup152.inc │ ├── voicegroup153.inc │ ├── voicegroup154.inc │ ├── voicegroup155.inc │ ├── voicegroup156.inc │ ├── voicegroup157.inc │ ├── voicegroup158.inc │ ├── voicegroup159.inc │ ├── voicegroup160.inc │ ├── voicegroup161.inc │ ├── voicegroup162.inc │ ├── voicegroup163.inc │ ├── voicegroup164.inc │ ├── voicegroup165.inc │ ├── voicegroup166.inc │ ├── voicegroup167.inc │ ├── voicegroup168.inc │ ├── voicegroup169.inc │ ├── voicegroup170.inc │ ├── voicegroup171.inc │ ├── voicegroup172.inc │ ├── voicegroup173.inc │ ├── voicegroup174.inc │ ├── voicegroup175.inc │ ├── voicegroup176.inc │ ├── voicegroup177.inc │ ├── voicegroup178.inc │ ├── voicegroup179.inc │ ├── voicegroup180.inc │ ├── voicegroup181.inc │ ├── voicegroup182.inc │ ├── voicegroup183.inc │ ├── voicegroup184.inc │ ├── voicegroup185.inc │ ├── voicegroup186.inc │ ├── voicegroup187.inc │ ├── voicegroup188.inc │ ├── voicegroup189.inc │ ├── voicegroup190.inc │ └── voicegroup191.inc ├── spritesheet_rules.mk ├── src/ │ ├── AgbRfu_LinkManager.c │ ├── agb_flash.c │ ├── agb_flash_1m.c │ ├── agb_flash_le.c │ ├── agb_flash_mx.c │ ├── bag.c │ ├── battle_ai_script_commands.c │ ├── battle_ai_switch_items.c │ ├── battle_anim.c │ ├── battle_anim_bug.c │ ├── battle_anim_dark.c │ ├── battle_anim_dragon.c │ ├── battle_anim_effects_1.c │ ├── battle_anim_effects_2.c │ ├── battle_anim_effects_3.c │ ├── battle_anim_electric.c │ ├── battle_anim_fight.c │ ├── battle_anim_fire.c │ ├── battle_anim_flying.c │ ├── battle_anim_ghost.c │ ├── battle_anim_ground.c │ ├── battle_anim_ice.c │ ├── battle_anim_mon_movement.c │ ├── battle_anim_mons.c │ ├── battle_anim_normal.c │ ├── battle_anim_poison.c │ ├── battle_anim_psychic.c │ ├── battle_anim_rock.c │ ├── battle_anim_smokescreen.c │ ├── battle_anim_sound_tasks.c │ ├── battle_anim_special.c │ ├── battle_anim_status_effects.c │ ├── battle_anim_utility_funcs.c │ ├── battle_anim_water.c │ ├── battle_bg.c │ ├── battle_controller_link_opponent.c │ ├── battle_controller_link_partner.c │ ├── battle_controller_oak_old_man.c │ ├── battle_controller_opponent.c │ ├── battle_controller_player.c │ ├── battle_controller_pokedude.c │ ├── battle_controller_safari.c │ ├── battle_controllers.c │ ├── battle_gfx_sfx_util.c │ ├── battle_interface.c │ ├── battle_intro.c │ ├── battle_main.c │ ├── battle_message.c │ ├── battle_records.c │ ├── battle_script_commands.c │ ├── battle_setup.c │ ├── battle_tower.c │ ├── battle_transition.c │ ├── battle_util.c │ ├── battle_util2.c │ ├── berry.c │ ├── berry_crush.c │ ├── berry_fix_program.c │ ├── berry_pouch.c │ ├── berry_powder.c │ ├── bg.c │ ├── bg_regs.c │ ├── bike.c │ ├── blend_palette.c │ ├── blit.c │ ├── braille_text.c │ ├── buy_menu_helpers.c │ ├── cable_car.c │ ├── cable_car_util.c │ ├── cable_club.c │ ├── cereader_tool.c │ ├── clear_save_data_screen.c │ ├── coins.c │ ├── coord_event_weather.c │ ├── credits.c │ ├── crt0.s │ ├── data/ │ │ ├── battle_anim.h │ │ ├── battle_moves.h │ │ ├── battle_tower/ │ │ │ ├── level_100_mons.h │ │ │ ├── level_50_mons.h │ │ │ └── trainers.h │ │ ├── decoration/ │ │ │ ├── description.h │ │ │ ├── header.h │ │ │ └── tiles.h │ │ ├── easy_chat/ │ │ │ ├── easy_chat_group_actions.h │ │ │ ├── easy_chat_group_adjectives.h │ │ │ ├── easy_chat_group_battle.h │ │ │ ├── easy_chat_group_conditions.h │ │ │ ├── easy_chat_group_endi
Showing preview only (1,692K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (21879 symbols across 451 files)
FILE: include/AgbRfu_LinkManager.h
type INIT_PARAM (line 114) | typedef struct InitializeParametersTag {
type VBL_TIMER (line 139) | typedef struct VblankTimerTag {
type LINK_MANAGER (line 145) | typedef struct linkManagerTag
type linkManagerTag (line 178) | struct linkManagerTag
FILE: include/bag.h
type YesNoFuncTable (line 15) | struct YesNoFuncTable
type YesNoFuncTable (line 16) | struct YesNoFuncTable
FILE: include/battle.h
type TrainerMonNoItemDefaultMoves (line 71) | struct TrainerMonNoItemDefaultMoves
type TrainerMonItemDefaultMoves (line 78) | struct TrainerMonItemDefaultMoves
type TrainerMonNoItemCustomMoves (line 86) | struct TrainerMonNoItemCustomMoves
type TrainerMonItemCustomMoves (line 94) | struct TrainerMonItemCustomMoves
type TrainerMonItemCustomMovesEVs (line 104) | struct TrainerMonItemCustomMovesEVs
type TrainerMonNoItemDefaultMoves (line 124) | struct TrainerMonNoItemDefaultMoves
type TrainerMonNoItemCustomMoves (line 125) | struct TrainerMonNoItemCustomMoves
type TrainerMonItemDefaultMoves (line 126) | struct TrainerMonItemDefaultMoves
type TrainerMonItemCustomMoves (line 127) | struct TrainerMonItemCustomMoves
type TrainerMonItemCustomMovesEVs (line 128) | struct TrainerMonItemCustomMovesEVs
type Trainer (line 131) | struct Trainer
type Trainer (line 145) | struct Trainer
type Trainer (line 146) | struct Trainer
type ResourceFlags (line 148) | struct ResourceFlags
type DisableStruct (line 155) | struct DisableStruct
type DisableStruct (line 190) | struct DisableStruct
type ProtectStruct (line 192) | struct ProtectStruct
type ProtectStruct (line 229) | struct ProtectStruct
type SpecialStatus (line 231) | struct SpecialStatus
type SpecialStatus (line 251) | struct SpecialStatus
type SideTimer (line 253) | struct SideTimer
type SideTimer (line 269) | struct SideTimer
type WishFutureKnock (line 271) | struct WishFutureKnock
type WishFutureKnock (line 283) | struct WishFutureKnock
type AI_ThinkingStruct (line 285) | struct AI_ThinkingStruct
type BattlePokemon (line 303) | struct BattlePokemon
type UsedMoves (line 305) | struct UsedMoves
type BattleHistory (line 311) | struct BattleHistory
type BattleScriptsStack (line 320) | struct BattleScriptsStack
type BattleCallbacksStack (line 326) | struct BattleCallbacksStack
type StatsArray (line 332) | struct StatsArray
type BattleResources (line 337) | struct BattleResources
type BattleResources (line 349) | struct BattleResources
type BattleResults (line 351) | struct BattleResults
type BattleResults (line 378) | struct BattleResults
type LinkBattlerHeader (line 380) | struct LinkBattlerHeader
type BattleStruct (line 389) | struct BattleStruct
type BattleStruct (line 477) | struct BattleStruct
type BattleScripting (line 514) | struct BattleScripting
type BattleSpriteInfo (line 542) | struct BattleSpriteInfo
type BattleAnimationInfo (line 552) | struct BattleAnimationInfo
type BattleHealthboxInfo (line 575) | struct BattleHealthboxInfo
type BattleBarInfo (line 597) | struct BattleBarInfo
type BattleSpriteData (line 606) | struct BattleSpriteData
type BattleSpriteData (line 614) | struct BattleSpriteData
type MonSpritesGfx (line 625) | struct MonSpritesGfx
type PokedudeBattlerState (line 637) | struct PokedudeBattlerState
type BattleSpritesGfx (line 658) | struct BattleSpritesGfx
type MonSpritesGfx (line 662) | struct MonSpritesGfx
type BattleEnigmaBerry (line 666) | struct BattleEnigmaBerry
type PokedudeBattlerState (line 691) | struct PokedudeBattlerState
type BattleScripting (line 701) | struct BattleScripting
type MultiBattlePokemonTx (line 739) | struct MultiBattlePokemonTx
FILE: include/battle_anim.h
type BattleAnimBgData (line 50) | struct BattleAnimBgData
type BattleAnimBackground (line 60) | struct BattleAnimBackground
type DisableStruct (line 82) | struct DisableStruct
type OamData (line 95) | struct OamData
type OamData (line 96) | struct OamData
type OamData (line 97) | struct OamData
type OamData (line 98) | struct OamData
type OamData (line 99) | struct OamData
type OamData (line 100) | struct OamData
type OamData (line 101) | struct OamData
type OamData (line 102) | struct OamData
type OamData (line 103) | struct OamData
type OamData (line 104) | struct OamData
type OamData (line 105) | struct OamData
type OamData (line 106) | struct OamData
type OamData (line 107) | struct OamData
type OamData (line 108) | struct OamData
type OamData (line 109) | struct OamData
type OamData (line 110) | struct OamData
type OamData (line 111) | struct OamData
type OamData (line 112) | struct OamData
type OamData (line 113) | struct OamData
type OamData (line 114) | struct OamData
type OamData (line 115) | struct OamData
type OamData (line 116) | struct OamData
type OamData (line 117) | struct OamData
type OamData (line 118) | struct OamData
type OamData (line 119) | struct OamData
type OamData (line 120) | struct OamData
type OamData (line 121) | struct OamData
type OamData (line 122) | struct OamData
type OamData (line 123) | struct OamData
type OamData (line 124) | struct OamData
type OamData (line 125) | struct OamData
type OamData (line 126) | struct OamData
type OamData (line 127) | struct OamData
type OamData (line 128) | struct OamData
type OamData (line 129) | struct OamData
type OamData (line 130) | struct OamData
type OamData (line 131) | struct OamData
type OamData (line 132) | struct OamData
type OamData (line 133) | struct OamData
type OamData (line 134) | struct OamData
type OamData (line 135) | struct OamData
type OamData (line 136) | struct OamData
type OamData (line 137) | struct OamData
type OamData (line 138) | struct OamData
type OamData (line 139) | struct OamData
type OamData (line 140) | struct OamData
type OamData (line 141) | struct OamData
type OamData (line 142) | struct OamData
type OamData (line 143) | struct OamData
type OamData (line 144) | struct OamData
type OamData (line 145) | struct OamData
type OamData (line 146) | struct OamData
type OamData (line 147) | struct OamData
type OamData (line 148) | struct OamData
type OamData (line 149) | struct OamData
type OamData (line 150) | struct OamData
type OamData (line 151) | struct OamData
type OamData (line 152) | struct OamData
type OamData (line 153) | struct OamData
type OamData (line 154) | struct OamData
type OamData (line 155) | struct OamData
type OamData (line 156) | struct OamData
type OamData (line 157) | struct OamData
type OamData (line 158) | struct OamData
type OamData (line 159) | struct OamData
type OamData (line 160) | struct OamData
type OamData (line 161) | struct OamData
type OamData (line 162) | struct OamData
type OamData (line 163) | struct OamData
type OamData (line 164) | struct OamData
type OamData (line 165) | struct OamData
type OamData (line 166) | struct OamData
type MonCoords (line 167) | struct MonCoords
type CompressedSpriteSheet (line 168) | struct CompressedSpriteSheet
type CompressedSpritePalette (line 169) | struct CompressedSpritePalette
type SpriteTemplate (line 170) | struct SpriteTemplate
type SpriteTemplate (line 171) | struct SpriteTemplate
type SpriteTemplate (line 172) | struct SpriteTemplate
type SpriteTemplate (line 173) | struct SpriteTemplate
type SpriteTemplate (line 174) | struct SpriteTemplate
type SpriteTemplate (line 175) | struct SpriteTemplate
type Sprite (line 193) | struct Sprite
type Sprite (line 208) | struct Sprite
type Pokemon (line 209) | struct Pokemon
type Sprite (line 223) | struct Sprite
type Sprite (line 224) | struct Sprite
type Sprite (line 225) | struct Sprite
type Sprite (line 226) | struct Sprite
type Sprite (line 227) | struct Sprite
type Sprite (line 228) | struct Sprite
type Sprite (line 229) | struct Sprite
type Sprite (line 230) | struct Sprite
type Sprite (line 231) | struct Sprite
type Sprite (line 232) | struct Sprite
type Sprite (line 233) | struct Sprite
type Sprite (line 234) | struct Sprite
type Sprite (line 235) | struct Sprite
type Sprite (line 236) | struct Sprite
type Sprite (line 237) | struct Sprite
type Sprite (line 239) | struct Sprite
type Sprite (line 240) | struct Sprite
type Sprite (line 241) | struct Sprite
type Sprite (line 242) | struct Sprite
type Sprite (line 243) | struct Sprite
type Sprite (line 244) | struct Sprite
type Sprite (line 245) | struct Sprite
type Sprite (line 246) | struct Sprite
type BattleAnimBgData (line 252) | struct BattleAnimBgData
type BattleAnimBgData (line 253) | struct BattleAnimBgData
type BattleAnimBgData (line 254) | struct BattleAnimBgData
type Sprite (line 261) | struct Sprite
type Sprite (line 262) | struct Sprite
type Sprite (line 263) | struct Sprite
type Sprite (line 264) | struct Sprite
type Sprite (line 265) | struct Sprite
type Sprite (line 266) | struct Sprite
type Sprite (line 267) | struct Sprite
type Sprite (line 268) | struct Sprite
type Sprite (line 269) | struct Sprite
type Sprite (line 270) | struct Sprite
type Sprite (line 271) | struct Sprite
type Sprite (line 272) | struct Sprite
type Sprite (line 273) | struct Sprite
type Sprite (line 278) | struct Sprite
type Sprite (line 279) | struct Sprite
type Sprite (line 285) | struct Sprite
type Sprite (line 286) | struct Sprite
type Sprite (line 287) | struct Sprite
type Sprite (line 288) | struct Sprite
type Sprite (line 290) | struct Sprite
type Task (line 291) | struct Task
type Task (line 292) | struct Task
type Task (line 297) | struct Task
type Task (line 298) | struct Task
type Sprite (line 304) | struct Sprite
type Sprite (line 308) | struct Sprite
type Sprite (line 309) | struct Sprite
type Sprite (line 310) | struct Sprite
type Sprite (line 311) | struct Sprite
type Sprite (line 312) | struct Sprite
type Sprite (line 313) | struct Sprite
type Sprite (line 314) | struct Sprite
type Sprite (line 317) | struct Sprite
type Sprite (line 318) | struct Sprite
FILE: include/battle_bg.h
type BgTemplate (line 6) | struct BgTemplate
FILE: include/battle_controllers.h
type UnusedControllerStruct (line 109) | struct UnusedControllerStruct
type HpAndStatus (line 115) | struct HpAndStatus
type MovePpInfo (line 121) | struct MovePpInfo
type ChooseMoveStruct (line 128) | struct ChooseMoveStruct
type UnusedControllerStruct (line 201) | struct UnusedControllerStruct
type DisableStruct (line 221) | struct DisableStruct
type ChooseMoveStruct (line 225) | struct ChooseMoveStruct
type HpAndStatus (line 244) | struct HpAndStatus
type Sprite (line 257) | struct Sprite
FILE: include/battle_gfx_sfx_util.h
type Sprite (line 6) | struct Sprite
type Sprite (line 7) | struct Sprite
type Pokemon (line 13) | struct Pokemon
type Pokemon (line 14) | struct Pokemon
type Pokemon (line 15) | struct Pokemon
type Pokemon (line 31) | struct Pokemon
type Sprite (line 36) | struct Sprite
type Pokemon (line 43) | struct Pokemon
FILE: include/battle_interface.h
type HpAndStatus (line 82) | struct HpAndStatus
type Pokemon (line 83) | struct Pokemon
type Pokemon (line 86) | struct Pokemon
FILE: include/battle_main.h
type TrainerMoney (line 6) | struct TrainerMoney
type MultiBattlePokemonTx (line 12) | struct MultiBattlePokemonTx
type SpriteTemplate (line 48) | struct SpriteTemplate
type OamData (line 49) | struct OamData
type OamData (line 50) | struct OamData
type TrainerMoney (line 61) | struct TrainerMoney
type Sprite (line 69) | struct Sprite
type Sprite (line 70) | struct Sprite
type Sprite (line 73) | struct Sprite
type Sprite (line 74) | struct Sprite
type Sprite (line 75) | struct Sprite
type Sprite (line 76) | struct Sprite
type Sprite (line 77) | struct Sprite
type Sprite (line 78) | struct Sprite
type Sprite (line 79) | struct Sprite
type Sprite (line 80) | struct Sprite
type Sprite (line 83) | struct Sprite
type Sprite (line 84) | struct Sprite
FILE: include/battle_message.h
type BattleMsgData (line 196) | struct BattleMsgData
type BattleMsgData (line 220) | struct BattleMsgData
FILE: include/battle_tower.h
type BattleTowerTrainer (line 10) | struct BattleTowerTrainer
type BattleTowerPokemonTemplate (line 18) | struct BattleTowerPokemonTemplate
type BattleTowerEReaderTrainer (line 30) | struct BattleTowerEReaderTrainer
FILE: include/battle_transition.h
type SpritePalette (line 40) | struct SpritePalette
FILE: include/berry.h
type Berry (line 31) | struct Berry
type Berry (line 35) | struct Berry
type BerryCrushStats (line 37) | struct BerryCrushStats {
type BerryCrushStats (line 42) | struct BerryCrushStats
FILE: include/berry_pouch.h
type BerryPouchType (line 6) | enum BerryPouchType
FILE: include/bg.h
type BGCntrlBitfield (line 6) | struct BGCntrlBitfield // for the I/O registers
type AdjustBgMosaicMode (line 49) | enum AdjustBgMosaicMode
type BgTileAllocMode (line 60) | enum BgTileAllocMode
type BgTemplate (line 67) | struct BgTemplate
type BgTemplate (line 89) | struct BgTemplate
type BgTemplate (line 90) | struct BgTemplate
FILE: include/blit.h
type Bitmap (line 4) | struct Bitmap
type Bitmap (line 11) | struct Bitmap
type Bitmap (line 11) | struct Bitmap
type Bitmap (line 12) | struct Bitmap
type Bitmap (line 12) | struct Bitmap
type Bitmap (line 13) | struct Bitmap
type Bitmap (line 14) | struct Bitmap
type Bitmap (line 14) | struct Bitmap
type Bitmap (line 15) | struct Bitmap
FILE: include/calculate_base_damage.h
type BattlePokemon (line 6) | struct BattlePokemon
type BattlePokemon (line 6) | struct BattlePokemon
FILE: include/cereader_tool.h
type TrainerTowerTrainer (line 7) | struct TrainerTowerTrainer
type TrainerTowerFloor (line 19) | struct TrainerTowerFloor
type EReaderTrainerTowerSetSubstruct (line 29) | struct EReaderTrainerTowerSetSubstruct
type EReaderTrainerTowerSet (line 37) | struct EReaderTrainerTowerSet
type EReaderTrainerTowerSet (line 46) | struct EReaderTrainerTowerSet
type EReaderTrainerTowerSet (line 47) | struct EReaderTrainerTowerSet
type EReaderTrainerTowerSet (line 48) | struct EReaderTrainerTowerSet
FILE: include/data.h
type MonCoords (line 9) | struct MonCoords
type MonCoords (line 26) | struct MonCoords
type CompressedSpriteSheet (line 27) | struct CompressedSpriteSheet
type MonCoords (line 28) | struct MonCoords
type CompressedSpriteSheet (line 29) | struct CompressedSpriteSheet
type CompressedSpritePalette (line 30) | struct CompressedSpritePalette
type CompressedSpritePalette (line 31) | struct CompressedSpritePalette
type MonCoords (line 33) | struct MonCoords
type CompressedSpriteSheet (line 34) | struct CompressedSpriteSheet
type CompressedSpriteSheet (line 35) | struct CompressedSpriteSheet
type CompressedSpritePalette (line 36) | struct CompressedSpritePalette
type MonCoords (line 38) | struct MonCoords
type CompressedSpritePalette (line 39) | struct CompressedSpritePalette
type CompressedSpriteSheet (line 41) | struct CompressedSpriteSheet
type SpriteTemplate (line 42) | struct SpriteTemplate
type SpriteFrameImage (line 52) | struct SpriteFrameImage
type SpriteFrameImage (line 53) | struct SpriteFrameImage
type SpriteFrameImage (line 54) | struct SpriteFrameImage
type SpriteFrameImage (line 55) | struct SpriteFrameImage
type SpriteFrameImage (line 56) | struct SpriteFrameImage
type SpriteFrameImage (line 57) | struct SpriteFrameImage
type SpriteFrameImage (line 58) | struct SpriteFrameImage
type SpriteFrameImage (line 59) | struct SpriteFrameImage
type SpriteFrameImage (line 60) | struct SpriteFrameImage
type SpriteFrameImage (line 61) | struct SpriteFrameImage
type SpriteFrameImage (line 62) | struct SpriteFrameImage
type SpriteFrameImage (line 63) | struct SpriteFrameImage
FILE: include/daycare.h
type Pokemon (line 6) | struct Pokemon
type BoxPokemon (line 7) | struct BoxPokemon
type DayCare (line 8) | struct DayCare
type DayCare (line 9) | struct DayCare
type RecordMixingDayCareMail (line 9) | struct RecordMixingDayCareMail
type Pokemon (line 16) | struct Pokemon
FILE: include/decompress.h
type CompressedSpriteSheet (line 13) | struct CompressedSpriteSheet
type CompressedSpriteSheet (line 14) | struct CompressedSpriteSheet
type CompressedSpriteSheet (line 15) | struct CompressedSpriteSheet
type CompressedSpritePalette (line 17) | struct CompressedSpritePalette
type CompressedSpritePalette (line 18) | struct CompressedSpritePalette
type CompressedSpritePalette (line 19) | struct CompressedSpritePalette
type CompressedSpriteSheet (line 21) | struct CompressedSpriteSheet
type CompressedSpriteSheet (line 22) | struct CompressedSpriteSheet
type CompressedSpriteSheet (line 23) | struct CompressedSpriteSheet
type CompressedSpriteSheet (line 25) | struct CompressedSpriteSheet
type CompressedSpriteSheet (line 26) | struct CompressedSpriteSheet
type CompressedSpriteSheet (line 28) | struct CompressedSpriteSheet
type CompressedSpriteSheet (line 29) | struct CompressedSpriteSheet
type CompressedSpriteSheet (line 30) | struct CompressedSpriteSheet
FILE: include/decoration.h
type DecorationPermission (line 4) | enum DecorationPermission
type DecorationShape (line 16) | enum DecorationShape
type DecorationCategory (line 30) | enum DecorationCategory
type Decoration (line 43) | struct Decoration
type Decoration (line 55) | struct Decoration
FILE: include/digit_obj_util.h
type DigitObjUtilTemplate (line 4) | struct DigitObjUtilTemplate
type DigitObjUtilTemplate (line 27) | struct DigitObjUtilTemplate
FILE: include/dodrio_berry_picking.h
type DodrioGame_Berries (line 10) | struct DodrioGame_Berries
type DodrioGame_PlayerCommData (line 16) | struct DodrioGame_PlayerCommData
type DodrioGame_Player (line 23) | struct DodrioGame_Player
type DodrioGame_Player (line 40) | struct DodrioGame_Player
type DodrioGame_PlayerCommData (line 41) | struct DodrioGame_PlayerCommData
type DodrioGame_PlayerCommData (line 42) | struct DodrioGame_PlayerCommData
type DodrioGame_PlayerCommData (line 43) | struct DodrioGame_PlayerCommData
type DodrioGame_PlayerCommData (line 44) | struct DodrioGame_PlayerCommData
type DodrioGame_PlayerCommData (line 45) | struct DodrioGame_PlayerCommData
type DodrioGame_Player (line 50) | struct DodrioGame_Player
type DodrioGame_PlayerCommData (line 51) | struct DodrioGame_PlayerCommData
type DodrioGame_PlayerCommData (line 52) | struct DodrioGame_PlayerCommData
type DodrioGame_PlayerCommData (line 53) | struct DodrioGame_PlayerCommData
type DodrioGame_PlayerCommData (line 54) | struct DodrioGame_PlayerCommData
type DodrioGame_PlayerCommData (line 55) | struct DodrioGame_PlayerCommData
FILE: include/easy_chat.h
type EasyChatWordInfo (line 10) | struct EasyChatWordInfo
type EasyChatGroupWordData (line 17) | typedef union
type EasyChatGroup (line 23) | struct EasyChatGroup
type EasyChatWordsByLetter (line 30) | struct EasyChatWordsByLetter
FILE: include/event_object_movement.h
type SpinnerRunnerFollowPatterns (line 26) | enum SpinnerRunnerFollowPatterns
type StepAnimTable (line 41) | struct StepAnimTable
type PairedPalettes (line 70) | struct PairedPalettes
type ObjectEvent (line 83) | struct ObjectEvent
type ObjectEvent (line 94) | struct ObjectEvent
type ObjectEvent (line 95) | struct ObjectEvent
type ObjectEventTemplate (line 100) | struct ObjectEventTemplate
type ObjectEvent (line 103) | struct ObjectEvent
type ObjectEvent (line 104) | struct ObjectEvent
type ObjectEvent (line 106) | struct ObjectEvent
type ObjectEventGraphicsInfo (line 107) | struct ObjectEventGraphicsInfo
type ObjectEvent (line 113) | struct ObjectEvent
type ObjectEvent (line 114) | struct ObjectEvent
type ObjectEvent (line 116) | struct ObjectEvent
type Sprite (line 116) | struct Sprite
type ObjectEvent (line 116) | struct ObjectEvent
type Sprite (line 116) | struct Sprite
type ObjectEvent (line 117) | struct ObjectEvent
type ObjectEvent (line 124) | struct ObjectEvent
type ObjectEvent (line 126) | struct ObjectEvent
type ObjectEvent (line 127) | struct ObjectEvent
type ObjectEvent (line 129) | struct ObjectEvent
type Sprite (line 129) | struct Sprite
type ObjectEvent (line 130) | struct ObjectEvent
type ObjectEvent (line 131) | struct ObjectEvent
type ObjectEvent (line 132) | struct ObjectEvent
type ObjectEvent (line 133) | struct ObjectEvent
type ObjectEvent (line 136) | struct ObjectEvent
type ObjectEvent (line 139) | struct ObjectEvent
type ObjectEvent (line 140) | struct ObjectEvent
type Sprite (line 154) | struct Sprite
type Sprite (line 155) | struct Sprite
type Sprite (line 156) | struct Sprite
type Sprite (line 157) | struct Sprite
type ObjectEvent (line 161) | struct ObjectEvent
type ObjectEvent (line 162) | struct ObjectEvent
type ObjectEvent (line 165) | struct ObjectEvent
type ObjectEvent (line 166) | struct ObjectEvent
type ObjectEvent (line 175) | struct ObjectEvent
type Sprite (line 176) | struct Sprite
type Sprite (line 179) | struct Sprite
type ObjectEvent (line 181) | struct ObjectEvent
type Sprite (line 182) | struct Sprite
type Sprite (line 183) | struct Sprite
type SpriteTemplate (line 183) | struct SpriteTemplate
type SubspriteTable (line 183) | struct SubspriteTable
type Sprite (line 186) | struct Sprite
type Sprite (line 187) | struct Sprite
type Sprite (line 188) | struct Sprite
type Sprite (line 189) | struct Sprite
type Sprite (line 190) | struct Sprite
type Sprite (line 191) | struct Sprite
type Sprite (line 192) | struct Sprite
type Sprite (line 193) | struct Sprite
type Sprite (line 194) | struct Sprite
type Sprite (line 195) | struct Sprite
type ObjectEvent (line 196) | struct ObjectEvent
type Sprite (line 197) | struct Sprite
type Sprite (line 198) | struct Sprite
type Sprite (line 199) | struct Sprite
type Sprite (line 200) | struct Sprite
type ObjectEvent (line 201) | struct ObjectEvent
type ObjectEvent (line 203) | struct ObjectEvent
type SpriteTemplate (line 209) | struct SpriteTemplate
type SpritePalette (line 210) | struct SpritePalette
type SpriteTemplate (line 211) | struct SpriteTemplate
type OamData (line 212) | struct OamData
FILE: include/evolution_scene.h
type Pokemon (line 8) | struct Pokemon
type Pokemon (line 9) | struct Pokemon
type Pokemon (line 10) | struct Pokemon
FILE: include/fame_checker.h
type ListMenuTemplate (line 14) | struct ListMenuTemplate
FILE: include/faraway_island.h
type ObjectEvent (line 5) | struct ObjectEvent
type ObjectEvent (line 7) | struct ObjectEvent
FILE: include/field_camera.h
type CameraObject (line 8) | struct CameraObject
type CameraObject (line 20) | struct CameraObject
FILE: include/field_control_avatar.h
type FieldInput (line 6) | struct FieldInput
type FieldInput (line 24) | struct FieldInput
type ObjectEvent (line 29) | struct ObjectEvent
type MapPosition (line 30) | struct MapPosition
type MapPosition (line 32) | struct MapPosition
type MapPosition (line 33) | struct MapPosition
type FieldInput (line 34) | struct FieldInput
type FieldInput (line 35) | struct FieldInput
type FieldInput (line 36) | struct FieldInput
type FieldInput (line 37) | struct FieldInput
FILE: include/field_effect.h
type Sprite (line 16) | struct Sprite
type Sprite (line 23) | struct Sprite
type Sprite (line 27) | struct Sprite
type Sprite (line 28) | struct Sprite
FILE: include/field_effect_helpers.h
type ObjectEvent (line 20) | struct ObjectEvent
type ObjectEvent (line 21) | struct ObjectEvent
type ObjectEvent (line 22) | struct ObjectEvent
type Sprite (line 22) | struct Sprite
type ObjectEvent (line 23) | struct ObjectEvent
type Sprite (line 28) | struct Sprite
type Sprite (line 29) | struct Sprite
type Sprite (line 30) | struct Sprite
type Sprite (line 31) | struct Sprite
type Sprite (line 32) | struct Sprite
type Sprite (line 33) | struct Sprite
type Sprite (line 34) | struct Sprite
type Sprite (line 35) | struct Sprite
type Sprite (line 36) | struct Sprite
type Sprite (line 37) | struct Sprite
type Sprite (line 38) | struct Sprite
type Sprite (line 39) | struct Sprite
type Sprite (line 40) | struct Sprite
type Sprite (line 41) | struct Sprite
type Sprite (line 42) | struct Sprite
FILE: include/field_player_avatar.h
type Sprite (line 16) | struct Sprite
type Sprite (line 22) | struct Sprite
type ObjectEvent (line 43) | struct ObjectEvent
FILE: include/field_weather.h
type Weather (line 21) | struct Weather
type Weather (line 124) | struct Weather
FILE: include/fieldmap.h
type BackupMapLayout (line 23) | struct BackupMapLayout
type MapLayout (line 24) | struct MapLayout
type MapHeader (line 36) | struct MapHeader
type MapConnection (line 36) | struct MapConnection
type MapConnection (line 37) | struct MapConnection
type MapLayout (line 44) | struct MapLayout
type MapLayout (line 45) | struct MapLayout
type MapLayout (line 47) | struct MapLayout
type MapLayout (line 48) | struct MapLayout
type MapLayout (line 50) | struct MapLayout
type MapLayout (line 51) | struct MapLayout
FILE: include/fldeff.h
type MapPosition (line 10) | struct MapPosition
FILE: include/gba/flash_internal.h
type FlashSector (line 12) | struct FlashSector
type FlashType (line 20) | struct FlashType {
type FlashSetupInfo (line 35) | struct FlashSetupInfo
type FlashType (line 54) | struct FlashType
type FlashSetupInfo (line 59) | struct FlashSetupInfo
type FlashSetupInfo (line 60) | struct FlashSetupInfo
type FlashSetupInfo (line 61) | struct FlashSetupInfo
FILE: include/gba/m4a_internal.h
type WaveData (line 39) | struct WaveData
type ToneData (line 57) | struct ToneData
type CgbChannel (line 87) | struct CgbChannel
type MusicPlayerTrack (line 128) | struct MusicPlayerTrack
type SoundChannel (line 130) | struct SoundChannel
type MusicPlayerInfo (line 171) | struct MusicPlayerInfo
type MusicPlayerInfo (line 174) | struct MusicPlayerInfo
type MusicPlayerTrack (line 174) | struct MusicPlayerTrack
type u32 (line 177) | typedef u32 (*MidiKeyToCgbFreqFunc)(u8, u8, u8);
type MusicPlayerInfo (line 179) | struct MusicPlayerInfo
type SoundInfo (line 181) | struct SoundInfo
type SongHeader (line 219) | struct SongHeader
type PokemonCrySong (line 229) | struct PokemonCrySong
type MusicPlayerTrack (line 268) | struct MusicPlayerTrack
type MusicPlayerInfo (line 323) | struct MusicPlayerInfo
type MusicPlayer (line 348) | struct MusicPlayer
type Song (line 356) | struct Song
type MusicPlayer (line 363) | struct MusicPlayer
type Song (line 364) | struct Song
type PokemonCrySong (line 375) | struct PokemonCrySong
type PokemonCrySong (line 376) | struct PokemonCrySong
type MusicPlayerInfo (line 378) | struct MusicPlayerInfo
type MusicPlayerTrack (line 379) | struct MusicPlayerTrack
type MusicPlayerInfo (line 385) | struct MusicPlayerInfo
type MusicPlayerTrack (line 385) | struct MusicPlayerTrack
type CgbChannel (line 388) | struct CgbChannel
type PokemonCrySong (line 398) | struct PokemonCrySong
type ToneData (line 400) | struct ToneData
type MusicPlayerInfo (line 411) | struct MusicPlayerInfo
type MusicPlayerTrack (line 411) | struct MusicPlayerTrack
type MusicPlayerInfo (line 412) | struct MusicPlayerInfo
type MusicPlayerInfo (line 415) | struct MusicPlayerInfo
type MusicPlayerInfo (line 416) | struct MusicPlayerInfo
type SongHeader (line 416) | struct SongHeader
type MusicPlayerInfo (line 417) | struct MusicPlayerInfo
type MusicPlayerInfo (line 418) | struct MusicPlayerInfo
type MusicPlayerInfo (line 419) | struct MusicPlayerInfo
type MusicPlayerTrack (line 419) | struct MusicPlayerTrack
type MusicPlayerInfo (line 420) | struct MusicPlayerInfo
type SoundInfo (line 423) | struct SoundInfo
type CgbChannel (line 424) | struct CgbChannel
type MusicPlayerInfo (line 426) | struct MusicPlayerInfo
type MusicPlayerTrack (line 426) | struct MusicPlayerTrack
type CgbChannel (line 429) | struct CgbChannel
type MusicPlayerInfo (line 437) | struct MusicPlayerInfo
type MusicPlayerInfo (line 438) | struct MusicPlayerInfo
type MusicPlayerInfo (line 439) | struct MusicPlayerInfo
type MusicPlayerInfo (line 440) | struct MusicPlayerInfo
type MusicPlayerTrack (line 441) | struct MusicPlayerTrack
type MusicPlayerInfo (line 442) | struct MusicPlayerInfo
type MusicPlayerInfo (line 443) | struct MusicPlayerInfo
type MusicPlayerInfo (line 445) | struct MusicPlayerInfo
type ToneData (line 445) | struct ToneData
type MusicPlayerInfo (line 452) | struct MusicPlayerInfo
type MusicPlayerInfo (line 458) | struct MusicPlayerInfo
type MusicPlayerTrack (line 458) | struct MusicPlayerTrack
type MusicPlayerInfo (line 459) | struct MusicPlayerInfo
type MusicPlayerTrack (line 459) | struct MusicPlayerTrack
type MusicPlayerInfo (line 460) | struct MusicPlayerInfo
type MusicPlayerTrack (line 460) | struct MusicPlayerTrack
type MusicPlayerInfo (line 461) | struct MusicPlayerInfo
type MusicPlayerTrack (line 461) | struct MusicPlayerTrack
type MusicPlayerInfo (line 462) | struct MusicPlayerInfo
type MusicPlayerTrack (line 462) | struct MusicPlayerTrack
type MusicPlayerInfo (line 463) | struct MusicPlayerInfo
type MusicPlayerTrack (line 463) | struct MusicPlayerTrack
type MusicPlayerInfo (line 464) | struct MusicPlayerInfo
type MusicPlayerTrack (line 464) | struct MusicPlayerTrack
type MusicPlayerInfo (line 465) | struct MusicPlayerInfo
type MusicPlayerTrack (line 465) | struct MusicPlayerTrack
type MusicPlayerInfo (line 466) | struct MusicPlayerInfo
type MusicPlayerTrack (line 466) | struct MusicPlayerTrack
type MusicPlayerInfo (line 467) | struct MusicPlayerInfo
type MusicPlayerTrack (line 467) | struct MusicPlayerTrack
type MusicPlayerInfo (line 468) | struct MusicPlayerInfo
type MusicPlayerTrack (line 468) | struct MusicPlayerTrack
type MusicPlayerInfo (line 469) | struct MusicPlayerInfo
type MusicPlayerTrack (line 469) | struct MusicPlayerTrack
type MusicPlayerInfo (line 470) | struct MusicPlayerInfo
type MusicPlayerTrack (line 470) | struct MusicPlayerTrack
type MusicPlayerInfo (line 471) | struct MusicPlayerInfo
type MusicPlayerTrack (line 471) | struct MusicPlayerTrack
type MusicPlayerInfo (line 472) | struct MusicPlayerInfo
type MusicPlayerTrack (line 472) | struct MusicPlayerTrack
type MusicPlayerInfo (line 473) | struct MusicPlayerInfo
type MusicPlayerTrack (line 473) | struct MusicPlayerTrack
type MusicPlayerInfo (line 474) | struct MusicPlayerInfo
type MusicPlayerTrack (line 474) | struct MusicPlayerTrack
type MusicPlayerInfo (line 475) | struct MusicPlayerInfo
type MusicPlayerTrack (line 475) | struct MusicPlayerTrack
type MusicPlayerInfo (line 476) | struct MusicPlayerInfo
type MusicPlayerTrack (line 476) | struct MusicPlayerTrack
type MusicPlayerInfo (line 477) | struct MusicPlayerInfo
type MusicPlayerTrack (line 477) | struct MusicPlayerTrack
type MusicPlayerInfo (line 478) | struct MusicPlayerInfo
type MusicPlayerTrack (line 478) | struct MusicPlayerTrack
type MusicPlayerInfo (line 479) | struct MusicPlayerInfo
type MusicPlayerTrack (line 479) | struct MusicPlayerTrack
type MusicPlayerInfo (line 480) | struct MusicPlayerInfo
type MusicPlayerTrack (line 480) | struct MusicPlayerTrack
type MusicPlayerInfo (line 483) | struct MusicPlayerInfo
type MusicPlayerTrack (line 483) | struct MusicPlayerTrack
type MusicPlayerInfo (line 484) | struct MusicPlayerInfo
type MusicPlayerTrack (line 484) | struct MusicPlayerTrack
type MusicPlayerInfo (line 485) | struct MusicPlayerInfo
type MusicPlayerTrack (line 485) | struct MusicPlayerTrack
type MusicPlayerInfo (line 486) | struct MusicPlayerInfo
type MusicPlayerTrack (line 486) | struct MusicPlayerTrack
type MusicPlayerInfo (line 487) | struct MusicPlayerInfo
type MusicPlayerTrack (line 487) | struct MusicPlayerTrack
type MusicPlayerInfo (line 488) | struct MusicPlayerInfo
type MusicPlayerTrack (line 488) | struct MusicPlayerTrack
type MusicPlayerInfo (line 489) | struct MusicPlayerInfo
type MusicPlayerTrack (line 489) | struct MusicPlayerTrack
type MusicPlayerInfo (line 490) | struct MusicPlayerInfo
type MusicPlayerTrack (line 490) | struct MusicPlayerTrack
type MusicPlayerInfo (line 491) | struct MusicPlayerInfo
type MusicPlayerTrack (line 491) | struct MusicPlayerTrack
type MusicPlayerInfo (line 492) | struct MusicPlayerInfo
type MusicPlayerTrack (line 492) | struct MusicPlayerTrack
type MusicPlayerInfo (line 493) | struct MusicPlayerInfo
type MusicPlayerTrack (line 493) | struct MusicPlayerTrack
type MusicPlayerInfo (line 494) | struct MusicPlayerInfo
type MusicPlayerTrack (line 494) | struct MusicPlayerTrack
type MusicPlayerInfo (line 495) | struct MusicPlayerInfo
type MusicPlayerTrack (line 495) | struct MusicPlayerTrack
FILE: include/gba/multiboot.h
type MultiBootParam (line 9) | struct MultiBootParam
FILE: include/gba/syscall.h
type BgAffineSrcData (line 34) | struct BgAffineSrcData
type BgAffineDstData (line 34) | struct BgAffineDstData
type ObjAffineSrcData (line 36) | struct ObjAffineSrcData
type MultiBootParam (line 46) | struct MultiBootParam
FILE: include/gba/types.h
type u8 (line 6) | typedef uint8_t u8;
type u16 (line 7) | typedef uint16_t u16;
type u32 (line 8) | typedef uint32_t u32;
type u64 (line 9) | typedef uint64_t u64;
type s8 (line 10) | typedef int8_t s8;
type s16 (line 11) | typedef int16_t s16;
type s32 (line 12) | typedef int32_t s32;
type s64 (line 13) | typedef int64_t s64;
type u8 (line 15) | typedef volatile u8 vu8;
type u16 (line 16) | typedef volatile u16 vu16;
type u32 (line 17) | typedef volatile u32 vu32;
type u64 (line 18) | typedef volatile u64 vu64;
type s8 (line 19) | typedef volatile s8 vs8;
type s16 (line 20) | typedef volatile s16 vs16;
type s32 (line 21) | typedef volatile s32 vs32;
type s64 (line 22) | typedef volatile s64 vs64;
type f32 (line 24) | typedef float f32;
type f64 (line 25) | typedef double f64;
type u8 (line 27) | typedef u8 bool8;
type u16 (line 28) | typedef u16 bool16;
type u32 (line 29) | typedef u32 bool32;
type vu8 (line 30) | typedef vu8 vbool8;
type vu16 (line 31) | typedef vu16 vbool16;
type vu32 (line 32) | typedef vu32 vbool32;
type BgCnt (line 34) | struct BgCnt
type vBgCnt (line 45) | typedef volatile struct BgCnt vBgCnt;
type PlttData (line 47) | struct PlttData
type OamData (line 55) | struct OamData
type BgAffineSrcData (line 120) | struct BgAffineSrcData
type BgAffineDstData (line 131) | struct BgAffineDstData
type ObjAffineSrcData (line 141) | struct ObjAffineSrcData
type SioMultiCnt (line 149) | struct SioMultiCnt
FILE: include/global.berry.h
type Berry (line 8) | struct Berry
type Berry2 (line 28) | struct Berry2
type EnigmaBerry (line 46) | struct EnigmaBerry
type BattleEnigmaBerry (line 55) | struct BattleEnigmaBerry
type BerryTree (line 63) | struct BerryTree
FILE: include/global.fieldmap.h
type Tileset (line 80) | struct Tileset
type MapLayout (line 91) | struct MapLayout
type BackupMapLayout (line 103) | struct BackupMapLayout
type ObjectEventTemplate (line 110) | struct ObjectEventTemplate
type WarpEvent (line 136) | struct WarpEvent
type CoordEvent (line 145) | struct CoordEvent
type BgEvent (line 154) | struct BgEvent
type MapEvents (line 165) | struct MapEvents
type MapConnection (line 177) | struct MapConnection
type MapConnections (line 185) | struct MapConnections
type MapHeader (line 191) | struct MapHeader
type ObjectEvent (line 213) | struct ObjectEvent
type ObjectEventGraphicsInfo (line 271) | struct ObjectEventGraphicsInfo
type PlayerAvatar (line 369) | struct PlayerAvatar
type Camera (line 391) | struct Camera
type ObjectEvent (line 398) | struct ObjectEvent
type MapHeader (line 400) | struct MapHeader
type PlayerAvatar (line 401) | struct PlayerAvatar
type Camera (line 402) | struct Camera
FILE: include/global.h
type Coords8 (line 146) | struct Coords8
type UCoords8 (line 152) | struct UCoords8
type Coords16 (line 158) | struct Coords16
type UCoords16 (line 164) | struct UCoords16
type Coords32 (line 170) | struct Coords32
type UCoords32 (line 176) | struct UCoords32
type Time (line 182) | struct Time
type Pokedex (line 190) | struct Pokedex
type PokemonJumpRecords (line 203) | struct PokemonJumpRecords
type BerryPickingResults (line 213) | struct BerryPickingResults // possibly used in the game itself? Size may...
type BerryCrush (line 228) | struct BerryCrush
type LinkBattleRecord (line 237) | struct LinkBattleRecord
type LinkBattleRecords (line 246) | struct LinkBattleRecords
type RecordMixingGiftData (line 252) | struct RecordMixingGiftData
type RecordMixingGift (line 260) | struct RecordMixingGift
type BattleTowerRecord (line 271) | struct BattleTowerRecord // record mixing
type BattleTowerEReaderTrainer (line 283) | struct BattleTowerEReaderTrainer
type BattleTowerData (line 297) | struct BattleTowerData // Leftover from R/S
type SaveBlock2 (line 324) | struct SaveBlock2
type SaveBlock2 (line 362) | struct SaveBlock2
type SecretBaseParty (line 364) | struct SecretBaseParty
type SecretBaseRecord (line 375) | struct SecretBaseRecord
type WarpData (line 393) | struct WarpData
type ItemSlot (line 401) | struct ItemSlot
type Pokeblock (line 407) | struct Pokeblock
type Roamer (line 418) | struct Roamer
type RamScriptData (line 435) | struct RamScriptData
type RamScript (line 444) | struct RamScript
type DewfordTrend (line 451) | struct DewfordTrend
type MauvilleManCommon (line 460) | struct MauvilleManCommon
type MauvilleManBard (line 465) | struct MauvilleManBard
type MauvilleManStoryteller (line 477) | struct MauvilleManStoryteller
type MauvilleManGiddy (line 488) | struct MauvilleManGiddy
type MauvilleManHipster (line 498) | struct MauvilleManHipster
type MauvilleOldManTrader (line 505) | struct MauvilleOldManTrader
type OldMan (line 514) | typedef union OldMan
type Mail (line 525) | struct Mail
type DayCareMail (line 534) | struct DayCareMail
type DaycareMon (line 543) | struct DaycareMon
type DayCare (line 550) | struct DayCare
type RecordMixingDayCareMail (line 558) | struct RecordMixingDayCareMail
type QuestLogObjectEventTemplate (line 565) | struct QuestLogObjectEventTemplate
type QuestLogObjectEvent (line 575) | struct QuestLogObjectEvent
type QuestLogScene (line 614) | struct QuestLogScene
type FameCheckerSaveData (line 632) | struct FameCheckerSaveData
type WonderNewsMetadata (line 639) | struct WonderNewsMetadata
type WonderNews (line 647) | struct WonderNews
type WonderCard (line 656) | struct WonderCard
type WonderCardMetadata (line 672) | struct WonderCardMetadata
type MysteryGiftSave (line 681) | struct MysteryGiftSave
type TrainerTower (line 694) | struct TrainerTower
type TrainerNameRecord (line 708) | struct TrainerNameRecord
type KeySystemFlags (line 714) | struct KeySystemFlags
type ExternalEventData (line 731) | struct ExternalEventData
type ExternalEventFlags (line 747) | struct ExternalEventFlags
type SaveBlock1 (line 775) | struct SaveBlock1
type MapPosition (line 849) | struct MapPosition
type SaveBlock1 (line 856) | struct SaveBlock1
FILE: include/heal_location.h
type HealLocation (line 6) | struct HealLocation
type HealLocation (line 14) | struct HealLocation
type WarpData (line 15) | struct WarpData
FILE: include/help_system.h
type HelpSystemListMenu_sub (line 9) | struct HelpSystemListMenu_sub
type HelpSystemListMenu (line 18) | struct HelpSystemListMenu
type HelpSystemListMenu (line 27) | struct HelpSystemListMenu
type ListMenuItem (line 28) | struct ListMenuItem
type HelpSystemListMenu (line 41) | struct HelpSystemListMenu
type ListMenuItem (line 41) | struct ListMenuItem
type HelpSystemListMenu (line 42) | struct HelpSystemListMenu
type ListMenuItem (line 42) | struct ListMenuItem
type HelpSystemListMenu (line 43) | struct HelpSystemListMenu
type ListMenuItem (line 43) | struct ListMenuItem
type HelpSystemListMenu (line 44) | struct HelpSystemListMenu
type ListMenuItem (line 44) | struct ListMenuItem
type HelpSystemListMenu (line 45) | struct HelpSystemListMenu
type ListMenuItem (line 45) | struct ListMenuItem
type HelpSystemListMenu (line 46) | struct HelpSystemListMenu
type ListMenuItem (line 46) | struct ListMenuItem
type HelpSystemListMenu (line 47) | struct HelpSystemListMenu
type ListMenuItem (line 47) | struct ListMenuItem
type HelpSystemListMenu (line 48) | struct HelpSystemListMenu
type ListMenuItem (line 48) | struct ListMenuItem
type HelpSystemListMenu (line 50) | struct HelpSystemListMenu
type ListMenuItem (line 50) | struct ListMenuItem
type HelpSystemListMenu (line 51) | struct HelpSystemListMenu
type ListMenuItem (line 51) | struct ListMenuItem
type HelpSystemListMenu (line 52) | struct HelpSystemListMenu
type ListMenuItem (line 52) | struct ListMenuItem
type HelpSystemListMenu (line 83) | struct HelpSystemListMenu
type Bitmap (line 88) | struct Bitmap
type Bitmap (line 88) | struct Bitmap
FILE: include/image_processing_effects.h
type ImageProcessingContext (line 30) | struct ImageProcessingContext
type ImageProcessingContext (line 49) | struct ImageProcessingContext
type ImageProcessingContext (line 50) | struct ImageProcessingContext
type ImageProcessingContext (line 51) | struct ImageProcessingContext
FILE: include/item.h
type Item (line 8) | struct Item
type BagPocket (line 26) | struct BagPocket
type Item (line 41) | struct Item
type BagPocket (line 42) | struct BagPocket
type ItemSlot (line 43) | struct ItemSlot
type ItemSlot (line 44) | struct ItemSlot
type ItemSlot (line 55) | struct ItemSlot
type BagPocket (line 81) | struct BagPocket
type ItemSlot (line 86) | struct ItemSlot
type BagPocket (line 92) | struct BagPocket
FILE: include/item_menu.h
type BagStruct (line 12) | struct BagStruct
type BagStruct (line 22) | struct BagStruct
type ItemSlot (line 31) | struct ItemSlot
FILE: include/item_menu_icons.h
type CompressedSpriteSheet (line 12) | struct CompressedSpriteSheet
type CompressedSpriteSheet (line 13) | struct CompressedSpriteSheet
type CompressedSpritePalette (line 14) | struct CompressedSpritePalette
type CompressedSpriteSheet (line 16) | struct CompressedSpriteSheet
type CompressedSpritePalette (line 17) | struct CompressedSpritePalette
type SpriteTemplate (line 25) | struct SpriteTemplate
FILE: include/item_use.h
type Pokemon (line 7) | struct Pokemon
FILE: include/libgcnmultiboot.h
type GcmbStruct (line 4) | struct GcmbStruct
type GcmbStruct (line 11) | struct GcmbStruct
type GcmbStruct (line 12) | struct GcmbStruct
type GcmbStruct (line 13) | struct GcmbStruct
type GcmbStruct (line 14) | struct GcmbStruct
FILE: include/librfu.h
type RfuPacket8 (line 279) | struct RfuPacket8
type RfuPacket32 (line 284) | struct RfuPacket32
type RfuPacket32 (line 292) | struct RfuPacket32
type RfuPacket8 (line 293) | struct RfuPacket8
type STWIStatus (line 296) | struct STWIStatus
type RfuIntrStruct (line 328) | struct RfuIntrStruct
type UNISend (line 337) | struct UNISend
type UNIRecv (line 348) | struct UNIRecv
type RfuSlotStatusUNI (line 359) | struct RfuSlotStatusUNI
type NIComm (line 369) | struct NIComm
type RfuSlotStatusNI (line 392) | struct RfuSlotStatusNI
type RfuTgtData (line 401) | struct RfuTgtData
type RfuLinkStatus (line 412) | struct RfuLinkStatus
type RfuFixed (line 436) | struct RfuFixed
type RfuStatic (line 446) | struct RfuStatic
type STWIStatus (line 468) | struct STWIStatus
type RfuLinkStatus (line 469) | struct RfuLinkStatus
type RfuStatic (line 470) | struct RfuStatic
type RfuFixed (line 471) | struct RfuFixed
type RfuSlotStatusNI (line 472) | struct RfuSlotStatusNI
type RfuSlotStatusUNI (line 473) | struct RfuSlotStatusUNI
type RfuIntrStruct (line 595) | struct RfuIntrStruct
FILE: include/link.h
type LinkPlayer (line 158) | struct LinkPlayer
type LinkPlayerBlock (line 173) | struct LinkPlayerBlock
type SendQueue (line 182) | struct SendQueue
type RecvQueue (line 189) | struct RecvQueue
type Link (line 196) | struct Link
type BlockRequest (line 223) | struct BlockRequest
type BlockRequest (line 229) | struct BlockRequest
type Link (line 231) | struct Link
type LinkPlayer (line 239) | struct LinkPlayer
type LinkPlayer (line 244) | struct LinkPlayer
type LinkPlayer (line 301) | struct LinkPlayer
FILE: include/link_rfu.h
type RfuGameCompatibilityData (line 81) | struct RfuGameCompatibilityData
type RfuGameData (line 103) | struct __attribute__((packed, aligned(2))) RfuGameData
type RfuBlockSend (line 127) | struct RfuBlockSend
type RfuRecvQueue (line 139) | struct RfuRecvQueue
type RfuSendQueue (line 148) | struct RfuSendQueue
type RfuBackupQueue (line 157) | struct RfuBackupQueue
type RfuManager (line 165) | struct RfuManager
type RfuGameData (line 232) | struct RfuGameData
type RfuManager (line 234) | struct RfuManager
type RfuGameData (line 269) | struct RfuGameData
type RfuRecvQueue (line 274) | struct RfuRecvQueue
type RfuSendQueue (line 275) | struct RfuSendQueue
type RfuRecvQueue (line 279) | struct RfuRecvQueue
type RfuSendQueue (line 280) | struct RfuSendQueue
type RfuBackupQueue (line 281) | struct RfuBackupQueue
type RfuBackupQueue (line 282) | struct RfuBackupQueue
type RfuRecvQueue (line 283) | struct RfuRecvQueue
type RfuSendQueue (line 284) | struct RfuSendQueue
type RfuGameData (line 285) | struct RfuGameData
type RfuGameData (line 300) | struct RfuGameData
type RfuGameData (line 315) | struct RfuGameData
type RfuGameData (line 317) | struct RfuGameData
type RfuGameData (line 318) | struct RfuGameData
type MysteryGiftServerCmd (line 326) | struct MysteryGiftServerCmd
FILE: include/list_menu.h
type ListMenuItem (line 23) | struct ListMenuItem
type ListMenu (line 29) | struct ListMenu
type ListMenuFields (line 32) | enum ListMenuFields
type ListMenuTemplate (line 53) | struct ListMenuTemplate
type ListMenu (line 75) | struct ListMenu
type ListMenuWindowRect (line 86) | struct ListMenuWindowRect
type ListMenuTemplate (line 95) | struct ListMenuTemplate
type WindowTemplate (line 97) | struct WindowTemplate
type ListMenuTemplate (line 97) | struct ListMenuTemplate
type ListMenuTemplate (line 98) | struct ListMenuTemplate
type ListMenuTemplate (line 99) | struct ListMenuTemplate
type ListMenuWindowRect (line 99) | struct ListMenuWindowRect
type ListMenu (line 106) | struct ListMenu
FILE: include/load_save.h
type SaveBlock1 (line 7) | struct SaveBlock1
type SaveBlock2 (line 8) | struct SaveBlock2
type PokemonStorage (line 9) | struct PokemonStorage
FILE: include/m4a.h
type MusicPlayerInfo (line 15) | struct MusicPlayerInfo
type MusicPlayerInfo (line 16) | struct MusicPlayerInfo
type MusicPlayerInfo (line 17) | struct MusicPlayerInfo
type MusicPlayerInfo (line 18) | struct MusicPlayerInfo
type MusicPlayerInfo (line 19) | struct MusicPlayerInfo
type MusicPlayerInfo (line 21) | struct MusicPlayerInfo
type MusicPlayerInfo (line 22) | struct MusicPlayerInfo
type MusicPlayerInfo (line 23) | struct MusicPlayerInfo
type MusicPlayerInfo (line 24) | struct MusicPlayerInfo
type SoundInfo (line 25) | struct SoundInfo
type SongHeader (line 27) | struct SongHeader
FILE: include/mail.h
type Mail (line 25) | struct Mail
FILE: include/mail_data.h
type Mail (line 7) | struct Mail
type Pokemon (line 8) | struct Pokemon
type Pokemon (line 9) | struct Pokemon
type Pokemon (line 12) | struct Pokemon
type Mail (line 12) | struct Mail
type Pokemon (line 13) | struct Pokemon
type Pokemon (line 15) | struct Pokemon
FILE: include/mailbox_pc.h
type PlayerPCItemPageStruct (line 10) | struct PlayerPCItemPageStruct
type PlayerPCItemPageStruct (line 11) | struct PlayerPCItemPageStruct
FILE: include/main.h
type Main (line 12) | struct Main
type Main (line 47) | struct Main
FILE: include/map_preview_screen.h
type MapPreviewScreenId (line 4) | enum MapPreviewScreenId
type MapPreviewScreen (line 41) | struct MapPreviewScreen
type MapPreviewScreen (line 56) | struct MapPreviewScreen
FILE: include/menu.h
type MenuAction (line 18) | struct MenuAction
type TextPrinterTemplate (line 30) | struct TextPrinterTemplate
type MenuAction (line 46) | struct MenuAction
type WindowTemplate (line 49) | struct WindowTemplate
type MenuAction (line 50) | struct MenuAction
type MenuAction (line 51) | struct MenuAction
type MenuAction (line 52) | struct MenuAction
type MenuAction (line 53) | struct MenuAction
type WindowTemplate (line 72) | struct WindowTemplate
FILE: include/menu_helpers.h
type YesNoFuncTable (line 11) | struct YesNoFuncTable
type WindowTemplate (line 26) | struct WindowTemplate
type YesNoFuncTable (line 26) | struct YesNoFuncTable
FILE: include/menu_indicators.h
type ScrollArrowsTemplate (line 6) | struct ScrollArrowsTemplate
type CursorStruct (line 21) | struct CursorStruct
type ScrollArrowsTemplate (line 33) | struct ScrollArrowsTemplate
type CursorStruct (line 35) | struct CursorStruct
type CursorStruct (line 36) | struct CursorStruct
FILE: include/mon_markings.h
type MonMarkingsMenu (line 6) | struct MonMarkingsMenu
type MonMarkingsMenu (line 26) | struct MonMarkingsMenu
type Sprite (line 31) | struct Sprite
type Sprite (line 32) | struct Sprite
FILE: include/multiboot.h
type MultiBootParam (line 17) | struct MultiBootParam
type MultiBootParam (line 18) | struct MultiBootParam
type MultiBootParam (line 19) | struct MultiBootParam
type MultiBootParam (line 20) | struct MultiBootParam
type MultiBootParam (line 21) | struct MultiBootParam
FILE: include/mystery_gift.h
type MysteryGiftLinkGameData (line 22) | struct MysteryGiftLinkGameData
type WonderGraphics (line 40) | struct WonderGraphics
type WonderNews (line 57) | struct WonderNews
type WonderCard (line 58) | struct WonderCard
type WonderCardMetadata (line 59) | struct WonderCardMetadata
type WonderNewsMetadata (line 60) | struct WonderNewsMetadata
type WonderNews (line 61) | struct WonderNews
type WonderCard (line 65) | struct WonderCard
type WonderCard (line 66) | struct WonderCard
type MysteryGiftLinkGameData (line 68) | struct MysteryGiftLinkGameData
type MysteryGiftLinkGameData (line 69) | struct MysteryGiftLinkGameData
type MysteryGiftLinkGameData (line 70) | struct MysteryGiftLinkGameData
type MysteryGiftLinkGameData (line 71) | struct MysteryGiftLinkGameData
type MysteryGiftLinkGameData (line 72) | struct MysteryGiftLinkGameData
type MysteryGiftLinkGameData (line 73) | struct MysteryGiftLinkGameData
type WonderCard (line 74) | struct WonderCard
type WonderCardMetadata (line 74) | struct WonderCardMetadata
type WonderNews (line 75) | struct WonderNews
FILE: include/mystery_gift_client.h
type MysteryGiftClientCmd (line 65) | struct MysteryGiftClientCmd
type MysteryGiftClient (line 71) | struct MysteryGiftClient
FILE: include/mystery_gift_link.h
type MysteryGiftLink (line 24) | struct MysteryGiftLink
type MysteryGiftLink (line 43) | struct MysteryGiftLink
type MysteryGiftLink (line 44) | struct MysteryGiftLink
type MysteryGiftLink (line 45) | struct MysteryGiftLink
type MysteryGiftLink (line 46) | struct MysteryGiftLink
type MysteryGiftLink (line 47) | struct MysteryGiftLink
FILE: include/mystery_gift_server.h
type MysteryGiftServerCmd (line 74) | struct MysteryGiftServerCmd
type MysteryGiftServer (line 81) | struct MysteryGiftServer
FILE: include/new_menu_helpers.h
type TextPrinterTemplate (line 27) | struct TextPrinterTemplate
FILE: include/overworld.h
type LinkPlayerObjectEvent (line 30) | struct LinkPlayerObjectEvent
type CreditsOverworldCmd (line 38) | struct CreditsOverworldCmd
type Coords32 (line 50) | struct Coords32
type LinkPlayerObjectEvent (line 52) | struct LinkPlayerObjectEvent
type WarpData (line 55) | struct WarpData
type MapHeader (line 91) | struct MapHeader
type ObjectEvent (line 92) | struct ObjectEvent
type WarpData (line 104) | struct WarpData
type MapHeader (line 143) | struct MapHeader
type CreditsOverworldCmd (line 149) | struct CreditsOverworldCmd
FILE: include/palette.h
type PaletteFadeControl (line 37) | struct PaletteFadeControl
type PaletteFadeControl (line 58) | struct PaletteFadeControl
function SetBackdropFromColor (line 90) | static inline void SetBackdropFromColor(u16 color)
function SetBackdropFromPalette (line 95) | static inline void SetBackdropFromPalette(const u16 *palette)
FILE: include/palette_util.h
type PulseBlendSettings (line 4) | struct PulseBlendSettings
type PulseBlendPalette (line 17) | struct PulseBlendPalette
type PulseBlend (line 30) | struct PulseBlend
type RouletteFlashSettings (line 38) | struct RouletteFlashSettings
type RouletteFlashPalette (line 50) | struct RouletteFlashPalette
type RouletteFlashUtil (line 60) | struct RouletteFlashUtil
type RouletteFlashUtil (line 68) | struct RouletteFlashUtil
type RouletteFlashUtil (line 69) | struct RouletteFlashUtil
type RouletteFlashSettings (line 69) | struct RouletteFlashSettings
type RouletteFlashUtil (line 70) | struct RouletteFlashUtil
type RouletteFlashUtil (line 71) | struct RouletteFlashUtil
type RouletteFlashUtil (line 72) | struct RouletteFlashUtil
type PulseBlend (line 73) | struct PulseBlend
type PulseBlend (line 74) | struct PulseBlend
type PulseBlendSettings (line 74) | struct PulseBlendSettings
type PulseBlendPalette (line 75) | struct PulseBlendPalette
type PulseBlend (line 76) | struct PulseBlend
type PulseBlend (line 77) | struct PulseBlend
type PulseBlend (line 78) | struct PulseBlend
type PulseBlend (line 79) | struct PulseBlend
FILE: include/party_menu.h
type PartyMenu (line 8) | struct PartyMenu
type PartyMenu (line 25) | struct PartyMenu
type Pokemon (line 40) | struct Pokemon
type Pokemon (line 45) | struct Pokemon
type Pokemon (line 62) | struct Pokemon
FILE: include/player_pc.h
type PlayerPCItemPageStruct (line 9) | struct PlayerPCItemPageStruct
type PlayerPCItemPageStruct (line 22) | struct PlayerPCItemPageStruct
FILE: include/pokeball.h
type CompressedSpriteSheet (line 31) | struct CompressedSpriteSheet
type CompressedSpritePalette (line 32) | struct CompressedSpritePalette
type SpriteTemplate (line 33) | struct SpriteTemplate
type Sprite (line 45) | struct Sprite
FILE: include/pokedex.h
type PokedexEntry (line 102) | struct PokedexEntry
FILE: include/pokedex_area_markers.h
type Subsprite (line 4) | struct Subsprite
FILE: include/pokedex_screen.h
type PokedexEntry (line 26) | struct PokedexEntry
FILE: include/pokemon.h
type PokemonSubstruct0 (line 9) | struct PokemonSubstruct0
type PokemonSubstruct1 (line 21) | struct PokemonSubstruct1
type PokemonSubstruct2 (line 27) | struct PokemonSubstruct2
type PokemonSubstruct3 (line 43) | struct PokemonSubstruct3
type PokemonSubstruct0 (line 101) | struct PokemonSubstruct0
type PokemonSubstruct1 (line 102) | struct PokemonSubstruct1
type PokemonSubstruct2 (line 103) | struct PokemonSubstruct2
type PokemonSubstruct3 (line 104) | struct PokemonSubstruct3
type BoxPokemon (line 108) | struct BoxPokemon
type Pokemon (line 131) | struct Pokemon
type BattleTowerPokemon (line 146) | struct BattleTowerPokemon
type BattlePokemon (line 173) | struct BattlePokemon
type SpeciesInfo (line 211) | struct SpeciesInfo
type BattleMove (line 241) | struct BattleMove
type SpindaSpot (line 257) | struct SpindaSpot
type LevelUpMove (line 263) | struct __attribute__((packed)) LevelUpMove
type Evolution (line 269) | struct Evolution
type BattleMove (line 288) | struct BattleMove
type Pokemon (line 290) | struct Pokemon
type Pokemon (line 292) | struct Pokemon
type SpeciesInfo (line 293) | struct SpeciesInfo
type SpriteTemplate (line 296) | struct SpriteTemplate
type PokemonStorage (line 297) | struct PokemonStorage
type SpriteTemplate (line 302) | struct SpriteTemplate
type BoxPokemon (line 306) | struct BoxPokemon
type Pokemon (line 307) | struct Pokemon
type Pokemon (line 310) | struct Pokemon
type BoxPokemon (line 311) | struct BoxPokemon
type Pokemon (line 312) | struct Pokemon
type Pokemon (line 313) | struct Pokemon
type Pokemon (line 314) | struct Pokemon
type Pokemon (line 315) | struct Pokemon
type Pokemon (line 316) | struct Pokemon
type Pokemon (line 317) | struct Pokemon
type BattleTowerPokemon (line 317) | struct BattleTowerPokemon
type Pokemon (line 318) | struct Pokemon
type BattleTowerPokemon (line 318) | struct BattleTowerPokemon
type Pokemon (line 319) | struct Pokemon
type BoxPokemon (line 320) | struct BoxPokemon
type Pokemon (line 320) | struct Pokemon
type BoxPokemon (line 321) | struct BoxPokemon
type Pokemon (line 322) | struct Pokemon
type BattlePokemon (line 323) | struct BattlePokemon
type Pokemon (line 324) | struct Pokemon
type BattlePokemon (line 325) | struct BattlePokemon
type Pokemon (line 326) | struct Pokemon
type Pokemon (line 327) | struct Pokemon
type BattlePokemon (line 328) | struct BattlePokemon
type BattlePokemon (line 328) | struct BattlePokemon
type Pokemon (line 337) | struct Pokemon
type BoxPokemon (line 338) | struct BoxPokemon
type Pokemon (line 349) | struct Pokemon
type BoxPokemon (line 350) | struct BoxPokemon
type Pokemon (line 356) | struct Pokemon
type BoxPokemon (line 357) | struct BoxPokemon
type Pokemon (line 359) | struct Pokemon
type Pokemon (line 360) | struct Pokemon
type Pokemon (line 365) | struct Pokemon
type Pokemon (line 371) | struct Pokemon
type BattlePokemon (line 372) | struct BattlePokemon
type Pokemon (line 373) | struct Pokemon
type Pokemon (line 374) | struct Pokemon
type Pokemon (line 375) | struct Pokemon
type Pokemon (line 378) | struct Pokemon
type Pokemon (line 379) | struct Pokemon
type Pokemon (line 385) | struct Pokemon
type Pokemon (line 390) | struct Pokemon
type Pokemon (line 391) | struct Pokemon
type Pokemon (line 392) | struct Pokemon
type Pokemon (line 393) | struct Pokemon
type Pokemon (line 394) | struct Pokemon
type Pokemon (line 395) | struct Pokemon
type Pokemon (line 396) | struct Pokemon
type Pokemon (line 397) | struct Pokemon
type Pokemon (line 398) | struct Pokemon
type Pokemon (line 399) | struct Pokemon
type Pokemon (line 401) | struct Pokemon
type Pokemon (line 406) | struct Pokemon
type CompressedSpritePalette (line 408) | struct CompressedSpritePalette
type Pokemon (line 408) | struct Pokemon
type CompressedSpritePalette (line 409) | struct CompressedSpritePalette
type Pokemon (line 413) | struct Pokemon
type Pokemon (line 415) | struct Pokemon
type BoxPokemon (line 416) | struct BoxPokemon
type Pokemon (line 419) | struct Pokemon
type Pokemon (line 429) | struct Pokemon
type MonSpritesGfxManager (line 430) | struct MonSpritesGfxManager
type Pokemon (line 434) | struct Pokemon
type Pokemon (line 435) | struct Pokemon
FILE: include/pokemon_icon.h
type SpritePalette (line 7) | struct SpritePalette
type Sprite (line 18) | struct Sprite
type Sprite (line 20) | struct Sprite
type Sprite (line 22) | struct Sprite
type Sprite (line 25) | struct Sprite
FILE: include/pokemon_special_anim.h
type Pokemon (line 8) | struct Pokemon
FILE: include/pokemon_special_anim_internal.h
type PokemonSpecialAnimScene (line 20) | struct PokemonSpecialAnimScene
type PokemonSpecialAnim (line 37) | struct PokemonSpecialAnim
type PokemonSpecialAnim (line 58) | struct PokemonSpecialAnim
type Pokemon (line 59) | struct Pokemon
type PokemonSpecialAnimScene (line 60) | struct PokemonSpecialAnimScene
type PokemonSpecialAnimScene (line 70) | struct PokemonSpecialAnimScene
FILE: include/pokemon_storage_system.h
type PokemonStorage (line 44) | struct PokemonStorage
type BoxPokemon (line 53) | struct BoxPokemon
type Pokemon (line 62) | struct Pokemon
type Pokemon (line 63) | struct Pokemon
FILE: include/pokemon_storage_system_internal.h
type Wallpaper (line 215) | struct Wallpaper
type StorageMessage (line 222) | struct StorageMessage
type ChooseBoxMenu (line 228) | struct ChooseBoxMenu
type StorageMenu (line 244) | struct StorageMenu
type UnkUtilData (line 250) | struct UnkUtilData
type UnkUtil (line 260) | struct UnkUtil
type PokeStorageItemIcon (line 267) | struct PokeStorageItemIcon
type PokemonStorageSystemData (line 277) | struct PokemonStorageSystemData
type PokemonStorageSystemData (line 437) | struct PokemonStorageSystemData
type Sprite (line 441) | struct Sprite
type Pokemon (line 444) | struct Pokemon
type BoxPokemon (line 445) | struct BoxPokemon
type ChooseBoxMenu (line 452) | struct ChooseBoxMenu
type UnkUtil (line 493) | struct UnkUtil
type UnkUtilData (line 493) | struct UnkUtilData
type Sprite (line 530) | struct Sprite
FILE: include/pokemon_summary_screen.h
type Pokemon (line 9) | struct Pokemon
type Pokemon (line 14) | struct Pokemon
type Pokemon (line 16) | struct Pokemon
type PokemonSummaryScreenMode (line 21) | enum PokemonSummaryScreenMode
type PokemonSummaryScreenPage (line 31) | enum PokemonSummaryScreenPage
type PokemonSummaryScreenState3270 (line 41) | enum PokemonSummaryScreenState3270
type PokemonSummaryScreenStat (line 52) | enum PokemonSummaryScreenStat
FILE: include/quest_log.h
type QuestLogAction (line 19) | struct QuestLogAction
type QuestLogRepeatEventTracker (line 41) | struct QuestLogRepeatEventTracker
type QuestLogEvent_SwitchedPartyOrder (line 51) | struct QuestLogEvent_SwitchedPartyOrder
type QuestLogEvent_Item (line 64) | struct QuestLogEvent_Item
type QuestLogEvent_SwappedHeldItem (line 74) | struct QuestLogEvent_SwappedHeldItem
type QuestLogEvent_Traded (line 83) | struct QuestLogEvent_Traded
type QuestLogEvent_LinkBattle (line 94) | struct QuestLogEvent_LinkBattle
type QuestLogEvent_MovedBoxMon (line 108) | struct QuestLogEvent_MovedBoxMon
type QuestLogEvent_TrainerBattle (line 120) | struct QuestLogEvent_TrainerBattle
type QuestLogEvent_WildBattle (line 130) | struct QuestLogEvent_WildBattle
type QuestLogEvent_Departed (line 138) | struct QuestLogEvent_Departed
type QuestLogEvent_FieldMove (line 145) | struct QuestLogEvent_FieldMove
type QuestLogEvent_Shop (line 154) | struct QuestLogEvent_Shop
type QuestLogEvent_StoryItem (line 165) | struct QuestLogEvent_StoryItem
type FieldInput (line 173) | struct FieldInput
type QuestLogRepeatEventTracker (line 174) | struct QuestLogRepeatEventTracker
type Sprite (line 199) | struct Sprite
type FieldInput (line 211) | struct FieldInput
type QuestLogAction (line 231) | struct QuestLogAction
type QuestLogAction (line 232) | struct QuestLogAction
type QuestLogAction (line 233) | struct QuestLogAction
type QuestLogAction (line 234) | struct QuestLogAction
type QuestLogAction (line 235) | struct QuestLogAction
type QuestLogAction (line 239) | struct QuestLogAction
FILE: include/quest_log_objects.h
type QuestLogScene (line 6) | struct QuestLogScene
type QuestLogScene (line 7) | struct QuestLogScene
type ObjectEventTemplate (line 7) | struct ObjectEventTemplate
FILE: include/roamer.h
type Pokemon (line 16) | struct Pokemon
FILE: include/save.h
type SaveSectorLocation (line 57) | struct SaveSectorLocation
type SaveSector (line 63) | struct SaveSector
type SaveSector (line 85) | struct SaveSector
type SaveSector (line 90) | struct SaveSector
FILE: include/save_menu_util.h
type SaveStat (line 4) | enum SaveStat
FILE: include/scanline_effect.h
type ScanlineEffectParams (line 17) | struct ScanlineEffectParams
type ScanlineEffect (line 25) | struct ScanlineEffect
type ScanlineEffect (line 38) | struct ScanlineEffect
type ScanlineEffectParams (line 44) | struct ScanlineEffectParams
FILE: include/script.h
type ScriptContext (line 6) | struct ScriptContext
type bool8 (line 8) | typedef bool8 (*ScrCmdFunc)(struct ScriptContext *);
type u8 (line 9) | typedef u8 Script[];
type ScriptContext (line 11) | struct ScriptContext
type ScriptContext (line 26) | struct ScriptContext
type ScriptContext (line 27) | struct ScriptContext
type ScriptContext (line 28) | struct ScriptContext
type ScriptContext (line 29) | struct ScriptContext
type ScriptContext (line 30) | struct ScriptContext
type ScriptContext (line 31) | struct ScriptContext
type ScriptContext (line 32) | struct ScriptContext
type ScriptContext (line 33) | struct ScriptContext
type ScriptContext (line 34) | struct ScriptContext
type ScriptContext (line 35) | struct ScriptContext
FILE: include/shop.h
type YesNoFuncTable (line 22) | struct YesNoFuncTable
FILE: include/sprite.h
type SpriteSheet (line 13) | struct SpriteSheet
type CompressedSpriteSheet (line 20) | struct CompressedSpriteSheet
type SpriteFrameImage (line 27) | struct SpriteFrameImage
type SpritePalette (line 36) | struct SpritePalette
type CompressedSpritePalette (line 42) | struct CompressedSpritePalette
type AnimFrameCmd (line 48) | struct AnimFrameCmd
type AnimLoopCmd (line 59) | struct AnimLoopCmd
type AnimJumpCmd (line 65) | struct AnimJumpCmd
type AnimFrameCmd (line 77) | struct AnimFrameCmd
type AnimLoopCmd (line 78) | struct AnimLoopCmd
type AnimJumpCmd (line 79) | struct AnimJumpCmd
type AffineAnimFrameCmd (line 91) | struct AffineAnimFrameCmd
type AffineAnimLoopCmd (line 99) | struct AffineAnimLoopCmd
type AffineAnimJumpCmd (line 105) | struct AffineAnimJumpCmd
type AffineAnimEndCmdAlt (line 111) | struct AffineAnimEndCmdAlt
type AffineAnimFrameCmd (line 120) | struct AffineAnimFrameCmd
type AffineAnimLoopCmd (line 121) | struct AffineAnimLoopCmd
type AffineAnimJumpCmd (line 122) | struct AffineAnimJumpCmd
type AffineAnimEndCmdAlt (line 123) | struct AffineAnimEndCmdAlt
type AffineAnimState (line 145) | struct AffineAnimState
type Subsprite (line 163) | struct Subsprite
type SubspriteTable (line 173) | struct SubspriteTable
type Sprite (line 179) | struct Sprite
type Sprite (line 181) | struct Sprite
type SpriteTemplate (line 183) | struct SpriteTemplate
type Sprite (line 194) | struct Sprite
type OamMatrix (line 244) | struct OamMatrix
type OamData (line 252) | struct OamData
type SpriteTemplate (line 257) | struct SpriteTemplate
type Sprite (line 258) | struct Sprite
type OamMatrix (line 259) | struct OamMatrix
type SpriteTemplate (line 266) | struct SpriteTemplate
type SpriteTemplate (line 267) | struct SpriteTemplate
type Sprite (line 268) | struct Sprite
type SpriteTemplate (line 269) | struct SpriteTemplate
type Sprite (line 270) | struct Sprite
type Sprite (line 274) | struct Sprite
type Sprite (line 275) | struct Sprite
type Sprite (line 278) | struct Sprite
type Sprite (line 279) | struct Sprite
type Sprite (line 280) | struct Sprite
type Sprite (line 281) | struct Sprite
type Sprite (line 282) | struct Sprite
type Sprite (line 283) | struct Sprite
type Sprite (line 284) | struct Sprite
type Sprite (line 285) | struct Sprite
type Sprite (line 286) | struct Sprite
type Sprite (line 287) | struct Sprite
type Sprite (line 288) | struct Sprite
type Sprite (line 289) | struct Sprite
type Sprite (line 290) | struct Sprite
type Sprite (line 293) | struct Sprite
type SpriteSheet (line 295) | struct SpriteSheet
type SpriteSheet (line 296) | struct SpriteSheet
type SpriteSheet (line 297) | struct SpriteSheet
type SpriteSheet (line 298) | struct SpriteSheet
type SpriteSheet (line 303) | struct SpriteSheet
type SpriteSheet (line 304) | struct SpriteSheet
type SpritePalette (line 306) | struct SpritePalette
type SpritePalette (line 307) | struct SpritePalette
type Sprite (line 312) | struct Sprite
type SubspriteTable (line 312) | struct SubspriteTable
type Sprite (line 313) | struct Sprite
type Sprite (line 314) | struct Sprite
type OamData (line 314) | struct OamData
type Sprite (line 320) | struct Sprite
type Sprite (line 322) | struct Sprite
FILE: include/string_util.h
type StringConvertMode (line 6) | enum StringConvertMode
type StringConvertMode (line 24) | enum StringConvertMode
type StringConvertMode (line 25) | enum StringConvertMode
type StringConvertMode (line 26) | enum StringConvertMode
FILE: include/task.h
type Task (line 15) | struct Task
type Task (line 25) | struct Task
FILE: include/teachy_tv.h
type TeachyTvScript (line 4) | enum TeachyTvScript
FILE: include/text.h
type GlyphInfo (line 57) | struct GlyphInfo
type GlyphInfo (line 64) | struct GlyphInfo
type TextPrinterSubStruct (line 66) | struct TextPrinterSubStruct
type TextPrinterTemplate (line 77) | struct TextPrinterTemplate // TODO: Better name
type TextPrinter (line 94) | struct TextPrinter
type FontInfo (line 111) | struct FontInfo
type FontInfo (line 124) | struct FontInfo
type GlyphWidthFunc (line 126) | struct GlyphWidthFunc
type TextFlags (line 132) | typedef struct {
type FontInfo (line 148) | struct FontInfo
type TextPrinterTemplate (line 150) | struct TextPrinterTemplate
type TextPrinterTemplate (line 151) | struct TextPrinterTemplate
type TextPrinterTemplate (line 151) | struct TextPrinterTemplate
type TextPrinter (line 154) | struct TextPrinter
type TextPrinter (line 160) | struct TextPrinter
type TextPrinter (line 161) | struct TextPrinter
type TextPrinter (line 163) | struct TextPrinter
type TextPrinter (line 164) | struct TextPrinter
type TextPrinter (line 165) | struct TextPrinter
type TextPrinter (line 166) | struct TextPrinter
type TextPrinter (line 167) | struct TextPrinter
type TextPrinter (line 168) | struct TextPrinter
type TextPrinter (line 169) | struct TextPrinter
type TextPrinter (line 171) | struct TextPrinter
type TextPrinter (line 172) | struct TextPrinter
type TextPrinter (line 173) | struct TextPrinter
type TextPrinter (line 174) | struct TextPrinter
type TextPrinter (line 175) | struct TextPrinter
type TextPrinter (line 176) | struct TextPrinter
type TextPrinter (line 178) | struct TextPrinter
FILE: include/text_window.h
type TilesPal (line 6) | struct TilesPal
FILE: include/text_window_graphics.h
type TextWindowGraphics (line 4) | struct TextWindowGraphics
type TextWindowGraphics (line 15) | struct TextWindowGraphics
type TextWindowGraphics (line 17) | struct TextWindowGraphics
FILE: include/trade.h
type Mail (line 8) | struct Mail
type RfuGameCompatibilityData (line 18) | struct RfuGameCompatibilityData
type RfuGameCompatibilityData (line 19) | struct RfuGameCompatibilityData
type RfuGameCompatibilityData (line 19) | struct RfuGameCompatibilityData
FILE: include/trade_scene.h
type WindowTemplate (line 15) | struct WindowTemplate
FILE: include/trainer_card.h
type TrainerCardRSE (line 6) | struct TrainerCardRSE
type TrainerCard (line 32) | struct TrainerCard
type TrainerCard (line 49) | struct TrainerCard
type TrainerCard (line 54) | struct TrainerCard
FILE: include/trainer_see.h
type ObjectEvent (line 7) | struct ObjectEvent
FILE: include/union_room.h
type RfuPlayerData (line 23) | struct RfuPlayerData
type RfuPlayer (line 29) | struct RfuPlayer
type RfuPlayerList (line 39) | struct RfuPlayerList
type RfuIncomingPlayer (line 44) | struct RfuIncomingPlayer
type RfuIncomingPlayerList (line 50) | struct RfuIncomingPlayerList
type WirelessLink_Leader (line 55) | struct WirelessLink_Leader
type WirelessLink_Group (line 76) | struct WirelessLink_Group
type UnionRoomObject (line 96) | struct UnionRoomObject
type WirelessLink_URoom (line 104) | struct WirelessLink_URoom
type UnionRoomTrade (line 136) | struct UnionRoomTrade
type RfuGameCompatibilityData (line 149) | struct RfuGameCompatibilityData
FILE: include/union_room_player_avatar.h
type UnionRoomObject (line 6) | struct UnionRoomObject
type WirelessLink_URoom (line 11) | struct WirelessLink_URoom
type WirelessLink_URoom (line 12) | struct WirelessLink_URoom
type RfuPlayerList (line 13) | struct RfuPlayerList
type RfuPlayerList (line 14) | struct RfuPlayerList
FILE: include/util.h
type Sprite (line 11) | struct Sprite
type BgAffineDstData (line 19) | struct BgAffineDstData
FILE: include/wild_encounter.h
type WildPokemon (line 13) | struct WildPokemon
type WildPokemonInfo (line 20) | struct WildPokemonInfo
type WildPokemonHeader (line 26) | struct WildPokemonHeader
type WildPokemonHeader (line 40) | struct WildPokemonHeader
FILE: include/wild_pokemon_area.h
type Subsprite (line 4) | struct Subsprite
FILE: include/window.h
type WindowTemplate (line 28) | struct WindowTemplate
type Window (line 54) | struct Window
type WindowTemplate (line 62) | struct WindowTemplate
type WindowTemplate (line 63) | struct WindowTemplate
type WindowTemplate (line 64) | struct WindowTemplate
type WindowTemplate (line 84) | struct WindowTemplate
type Window (line 90) | struct Window
FILE: src/AgbRfu_LinkManager.c
function u32 (line 34) | u32 rfu_LMAN_REQBN_softReset_and_checkID(void)
function rfu_LMAN_REQ_sendData (line 52) | void rfu_LMAN_REQ_sendData(u8 clockChangeFlag)
function u8 (line 66) | u8 rfu_LMAN_initializeManager(void (*LMAN_callback_p)(u8, u8), void (*MS...
function rfu_LMAN_endManager (line 81) | static void rfu_LMAN_endManager(void)
function rfu_LMAN_initializeRFU (line 87) | void rfu_LMAN_initializeRFU(INIT_PARAM *init_parameters)
function rfu_LMAN_clearVariables (line 102) | static void rfu_LMAN_clearVariables(void)
function rfu_LMAN_powerDownRFU (line 120) | void rfu_LMAN_powerDownRFU(void)
function u8 (line 125) | u8 rfu_LMAN_establishConnection(u8 parent_child, u16 connect_period, u16...
function u8 (line 184) | u8 rfu_LMAN_CHILD_connectParent(u16 parentId, u16 connect_period)
function rfu_LMAN_PARENT_stopWaitLinkRecoveryAndDisconnect (line 232) | static void rfu_LMAN_PARENT_stopWaitLinkRecoveryAndDisconnect(u8 bm_targ...
function rfu_LMAN_stopManager (line 255) | void rfu_LMAN_stopManager(u8 forced_stop_and_RFU_reset_flag)
function bool8 (line 330) | static bool8 rfu_LMAN_linkWatcher(u16 REQ_commandID)
function rfu_LMAN_syncVBlank (line 421) | void rfu_LMAN_syncVBlank(void)
function rfu_LMAN_manager_entity (line 430) | void rfu_LMAN_manager_entity(u32 rand)
function rfu_LMAN_settingPCSWITCH (line 556) | static void rfu_LMAN_settingPCSWITCH(u32 rand)
function rfu_LMAN_REQ_callback (line 596) | static void rfu_LMAN_REQ_callback(u16 reqCommandId, u16 reqResult)
function rfu_LMAN_MSC_callback (line 960) | static void rfu_LMAN_MSC_callback(u16 reqCommandId)
function rfu_LMAN_PARENT_checkRecvChildName (line 999) | static void rfu_LMAN_PARENT_checkRecvChildName(void)
function rfu_LMAN_CHILD_checkSendChildName (line 1120) | static void rfu_LMAN_CHILD_checkSendChildName(void)
function rfu_LMAN_CHILD_checkSendChildName2 (line 1152) | static void rfu_LMAN_CHILD_checkSendChildName2(void)
function rfu_LMAN_CHILD_linkRecoveryProcess (line 1164) | static void rfu_LMAN_CHILD_linkRecoveryProcess(void)
function u8 (line 1176) | static u8 rfu_LMAN_CHILD_checkEnableParentCandidate(void)
function rfu_LMAN_occureCallback (line 1195) | static void rfu_LMAN_occureCallback(u8 msg, u8 param_count)
function rfu_LMAN_disconnect (line 1204) | static void rfu_LMAN_disconnect(u8 bm_disconnectedSlot)
function rfu_LMAN_reflectCommunicationStatus (line 1213) | static void rfu_LMAN_reflectCommunicationStatus(u8 bm_disconnectedSlot)
function rfu_LMAN_checkNICommunicateStatus (line 1250) | static void rfu_LMAN_checkNICommunicateStatus(void)
function rfu_LMAN_setMSCCallback (line 1292) | void rfu_LMAN_setMSCCallback(void (*MSC_callback_p)(u16))
function rfu_LMAN_setLMANCallback (line 1298) | static void rfu_LMAN_setLMANCallback(void (*func)(u8, u8))
function u8 (line 1303) | u8 rfu_LMAN_setLinkRecovery(u8 enable_flag, u16 recovery_period)
function u8 (line 1318) | static u8 rfu_LMAN_setNIFailCounterLimit(u16 NI_failCounter_limit)
function u8 (line 1330) | static u8 rfu_LMAN_setFastSearchParent(u8 enable_flag)
function rfu_LMAN_managerChangeAgbClockMaster (line 1349) | static void rfu_LMAN_managerChangeAgbClockMaster(void)
function rfu_LMAN_requestChangeAgbClockMaster (line 1358) | void rfu_LMAN_requestChangeAgbClockMaster(void)
function rfu_LMAN_forceChangeSP (line 1370) | void rfu_LMAN_forceChangeSP(void)
FILE: src/agb_flash.c
type FlashType (line 13) | struct FlashType
function SwitchFlashBank (line 22) | void SwitchFlashBank(u8 bankNum)
function u16 (line 37) | u16 ReadFlashId(void)
function FlashTimerIntr (line 65) | void FlashTimerIntr(void)
function u16 (line 71) | u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void))
function StartFlashTimer (line 82) | void StartFlashTimer(u8 phase)
function StopFlashTimer (line 97) | void StopFlashTimer(void)
function u8 (line 106) | u8 ReadFlash1(u8 *addr)
function SetReadFlash1 (line 111) | void SetReadFlash1(u16 *dest)
function ReadFlash_Core (line 132) | void ReadFlash_Core(vu8 *src, u8 *dest, u32 size)
function ReadFlash (line 140) | void ReadFlash(u16 sectorNum, u32 offset, void *dest, u32 size)
function u32 (line 176) | u32 VerifyFlashSector_Core(u8 *src, u8 *tgt, u32 size)
function u32 (line 187) | u32 VerifyFlashSector(u16 sectorNum, u8 *src)
function u32 (line 225) | u32 VerifyFlashSectorNBytes(u16 sectorNum, u8 *src, u32 n)
function u32 (line 261) | u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src)
function u32 (line 280) | u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, void *dataSrc, u32 n)
FILE: src/agb_flash_1m.c
type FlashSetupInfo (line 6) | struct FlashSetupInfo
function u16 (line 13) | u16 IdentifyFlash(void)
function u16 (line 51) | u16 WaitForFlashWrite_Common(u8 phase, u8 *addr, u8 lastData)
FILE: src/agb_flash_le.c
type FlashSetupInfo (line 12) | struct FlashSetupInfo
FILE: src/agb_flash_mx.c
type FlashSetupInfo (line 12) | struct FlashSetupInfo
type FlashSetupInfo (line 37) | struct FlashSetupInfo
function u16 (line 58) | u16 EraseFlashChip_MX(void)
function u16 (line 81) | u16 EraseFlashSector_MX(u16 sectorNum)
function u16 (line 125) | u16 ProgramFlashByte_MX(u16 sectorNum, u32 offset, u8 data)
function u16 (line 150) | static u16 ProgramByte(u8 *src, u8 *dest)
function u16 (line 160) | u16 ProgramFlashSector_MX(u16 sectorNum, void *src)
FILE: src/bag.c
type WindowTemplate (line 20) | struct WindowTemplate
type WindowTemplate (line 48) | struct WindowTemplate
type WindowTemplate (line 76) | struct WindowTemplate
function InitBagWindows (line 196) | void InitBagWindows(void)
function BagPrintTextOnWindow (line 221) | void BagPrintTextOnWindow(u8 windowId, u8 fontId, const u8 * str, u8 x, ...
function BagPrintTextOnWin1CenteredColor0 (line 226) | void BagPrintTextOnWin1CenteredColor0(const u8 * str, u8 unused)
function BagDrawDepositItemTextBox (line 232) | void BagDrawDepositItemTextBox(void)
function u8 (line 240) | u8 ShowBagWindow(u8 whichWindow, u8 nItems)
function HideBagWindow (line 258) | void HideBagWindow(u8 whichWindow)
function u8 (line 267) | u8 OpenBagWindow(u8 whichWindow)
function CloseBagWindow (line 276) | void CloseBagWindow(u8 whichWindow)
function u8 (line 289) | u8 GetBagWindow(u8 whichWindow)
function BagCreateYesNoMenuBottomRight (line 294) | void BagCreateYesNoMenuBottomRight(u8 taskId, const struct YesNoFuncTabl...
function BagCreateYesNoMenuTopRight (line 299) | void BagCreateYesNoMenuTopRight(u8 taskId, const struct YesNoFuncTable *...
function BagPrintMoneyAmount (line 304) | void BagPrintMoneyAmount(void)
function BagDrawTextBoxOnWindow (line 309) | void BagDrawTextBoxOnWindow(u8 windowId)
FILE: src/battle_ai_script_commands.c
function BattleAI_HandleItemUseBeforeAISetup (line 263) | void BattleAI_HandleItemUseBeforeAISetup(void)
function BattleAI_SetupAIData (line 296) | void BattleAI_SetupAIData(void)
function u8 (line 376) | u8 BattleAI_ChooseMoveOrAction(void)
function BattleAI_DoAIProcessing (line 424) | static void BattleAI_DoAIProcessing(void)
function RecordLastUsedMoveByTarget (line 471) | static void RecordLastUsedMoveByTarget(void)
function ClearBattlerMoveHistory (line 486) | static void ClearBattlerMoveHistory(u8 battlerId)
function RecordAbilityBattle (line 494) | void RecordAbilityBattle(u8 battlerId, u8 abilityId)
function RecordItemEffectBattle (line 500) | void RecordItemEffectBattle(u8 battlerId, u8 itemEffect)
function Cmd_if_random_less_than (line 506) | static void Cmd_if_random_less_than(void)
function Cmd_if_random_greater_than (line 514) | static void Cmd_if_random_greater_than(void)
function Cmd_if_random_equal (line 522) | static void Cmd_if_random_equal(void)
function Cmd_if_random_not_equal (line 530) | static void Cmd_if_random_not_equal(void)
function Cmd_score (line 538) | static void Cmd_score(void)
function Cmd_if_hp_less_than (line 548) | static void Cmd_if_hp_less_than(void)
function Cmd_if_hp_more_than (line 563) | static void Cmd_if_hp_more_than(void)
function Cmd_if_hp_equal (line 578) | static void Cmd_if_hp_equal(void)
function Cmd_if_hp_not_equal (line 593) | static void Cmd_if_hp_not_equal(void)
function Cmd_if_status (line 608) | static void Cmd_if_status(void)
function Cmd_if_not_status (line 626) | static void Cmd_if_not_status(void)
function Cmd_if_status2 (line 644) | static void Cmd_if_status2(void)
function Cmd_if_not_status2 (line 662) | static void Cmd_if_not_status2(void)
function Cmd_if_status3 (line 680) | static void Cmd_if_status3(void)
function Cmd_if_not_status3 (line 698) | static void Cmd_if_not_status3(void)
function Cmd_if_side_affecting (line 716) | static void Cmd_if_side_affecting(void)
function Cmd_if_not_side_affecting (line 735) | static void Cmd_if_not_side_affecting(void)
function Cmd_if_less_than (line 754) | static void Cmd_if_less_than(void)
function Cmd_if_more_than (line 762) | static void Cmd_if_more_than(void)
function Cmd_if_equal (line 770) | static void Cmd_if_equal(void)
function Cmd_if_not_equal (line 778) | static void Cmd_if_not_equal(void)
function Cmd_if_less_than_ptr (line 786) | static void Cmd_if_less_than_ptr(void)
function Cmd_if_more_than_ptr (line 796) | static void Cmd_if_more_than_ptr(void)
function Cmd_if_equal_ptr (line 806) | static void Cmd_if_equal_ptr(void)
function Cmd_if_not_equal_ptr (line 816) | static void Cmd_if_not_equal_ptr(void)
function Cmd_if_move (line 826) | static void Cmd_if_move(void)
function Cmd_if_not_move (line 836) | static void Cmd_if_not_move(void)
function Cmd_if_in_bytes (line 846) | static void Cmd_if_in_bytes(void)
function Cmd_if_not_in_bytes (line 862) | static void Cmd_if_not_in_bytes(void)
function Cmd_if_in_hwords (line 878) | static void Cmd_if_in_hwords(void)
function Cmd_if_not_in_hwords (line 894) | static void Cmd_if_not_in_hwords(void)
function Cmd_if_user_has_attacking_move (line 910) | static void Cmd_if_user_has_attacking_move(void)
function Cmd_if_user_has_no_attacking_moves (line 927) | static void Cmd_if_user_has_no_attacking_moves(void)
function Cmd_get_turn_count (line 944) | static void Cmd_get_turn_count(void)
function Cmd_get_type (line 950) | static void Cmd_get_type(void)
function Cmd_get_considered_move_power (line 989) | static void Cmd_get_considered_move_power(void)
function Cmd_get_how_powerful_move_is (line 1007) | static void Cmd_get_how_powerful_move_is(void)
function Cmd_get_last_used_battler_move (line 1082) | static void Cmd_get_last_used_battler_move(void)
function Cmd_if_equal_ (line 1092) | static void Cmd_if_equal_(void) // Same as if_equal.
function Cmd_if_not_equal_ (line 1100) | static void Cmd_if_not_equal_(void) // Same as if_not_equal.
function Cmd_if_would_go_first (line 1108) | static void Cmd_if_would_go_first(void)
function Cmd_if_would_not_go_first (line 1116) | static void Cmd_if_would_not_go_first(void)
function Cmd_nullsub_2A (line 1124) | static void Cmd_nullsub_2A(void)
function Cmd_nullsub_2B (line 1128) | static void Cmd_nullsub_2B(void)
function Cmd_count_alive_pokemon (line 1132) | static void Cmd_count_alive_pokemon(void)
function Cmd_get_considered_move (line 1178) | static void Cmd_get_considered_move(void)
function Cmd_get_considered_move_effect (line 1184) | static void Cmd_get_considered_move_effect(void)
function Cmd_get_ability (line 1190) | static void Cmd_get_ability(void)
function Cmd_get_highest_type_effectiveness (line 1250) | static void Cmd_get_highest_type_effectiveness(void)
function Cmd_if_type_effectiveness (line 1292) | static void Cmd_if_type_effectiveness(void)
function Cmd_nullsub_32 (line 1328) | static void Cmd_nullsub_32(void)
function Cmd_nullsub_33 (line 1332) | static void Cmd_nullsub_33(void)
function Cmd_if_status_in_party (line 1336) | static void Cmd_if_status_in_party(void)
function Cmd_if_status_not_in_party (line 1389) | static void Cmd_if_status_not_in_party(void)
function Cmd_get_weather (line 1437) | static void Cmd_get_weather(void)
function Cmd_if_effect (line 1451) | static void Cmd_if_effect(void)
function Cmd_if_not_effect (line 1459) | static void Cmd_if_not_effect(void)
function Cmd_if_stat_level_less_than (line 1467) | static void Cmd_if_stat_level_less_than(void)
function Cmd_if_stat_level_more_than (line 1482) | static void Cmd_if_stat_level_more_than(void)
function Cmd_if_stat_level_equal (line 1497) | static void Cmd_if_stat_level_equal(void)
function Cmd_if_stat_level_not_equal (line 1512) | static void Cmd_if_stat_level_not_equal(void)
function Cmd_if_can_faint (line 1527) | static void Cmd_if_can_faint(void)
function Cmd_if_cant_faint (line 1556) | static void Cmd_if_cant_faint(void)
function Cmd_if_has_move (line 1583) | static void Cmd_if_has_move(void)
function Cmd_if_doesnt_have_move (line 1617) | static void Cmd_if_doesnt_have_move(void)
function Cmd_if_has_move_with_effect (line 1651) | static void Cmd_if_has_move_with_effect(void)
function Cmd_if_doesnt_have_move_with_effect (line 1680) | static void Cmd_if_doesnt_have_move_with_effect(void)
function Cmd_if_any_move_disabled_or_encored (line 1709) | static void Cmd_if_any_move_disabled_or_encored(void)
function Cmd_if_curr_move_disabled_or_encored (line 1738) | static void Cmd_if_curr_move_disabled_or_encored(void)
function Cmd_flee (line 1760) | static void Cmd_flee(void)
function Cmd_if_random_safari_flee (line 1765) | static void Cmd_if_random_safari_flee(void)
function Cmd_watch (line 1790) | static void Cmd_watch(void)
function Cmd_get_hold_effect (line 1795) | static void Cmd_get_hold_effect(void)
function Cmd_get_gender (line 1816) | static void Cmd_get_gender(void)
function Cmd_is_first_turn_for (line 1830) | static void Cmd_is_first_turn_for(void)
function Cmd_get_stockpile_count (line 1844) | static void Cmd_get_stockpile_count(void)
function Cmd_is_double_battle (line 1858) | static void Cmd_is_double_battle(void)
function Cmd_get_used_held_item (line 1865) | static void Cmd_get_used_held_item(void)
function Cmd_get_move_type_from_result (line 1878) | static void Cmd_get_move_type_from_result(void)
function Cmd_get_move_power_from_result (line 1901) | static void Cmd_get_move_power_from_result(void)
function Cmd_get_move_effect_from_result (line 1920) | static void Cmd_get_move_effect_from_result(void)
function Cmd_get_protect_count (line 1927) | static void Cmd_get_protect_count(void)
function Cmd_nullsub_52 (line 1941) | static void Cmd_nullsub_52(void)
function Cmd_nullsub_53 (line 1945) | static void Cmd_nullsub_53(void)
function Cmd_nullsub_54 (line 1949) | static void Cmd_nullsub_54(void)
function Cmd_nullsub_55 (line 1953) | static void Cmd_nullsub_55(void)
function Cmd_nullsub_56 (line 1957) | static void Cmd_nullsub_56(void)
function Cmd_nullsub_57 (line 1961) | static void Cmd_nullsub_57(void)
function Cmd_call (line 1965) | static void Cmd_call(void)
function Cmd_goto (line 1971) | static void Cmd_goto(void)
function Cmd_end (line 1976) | static void Cmd_end(void)
function Cmd_if_level_compare (line 1982) | static void Cmd_if_level_compare(void)
function Cmd_if_target_taunted (line 2013) | static void Cmd_if_target_taunted(void)
function Cmd_if_target_not_taunted (line 2021) | static void Cmd_if_target_not_taunted(void)
function AIStackPushVar (line 2029) | static void AIStackPushVar(const u8 *var)
function AIStackPushVar_cursor (line 2035) | static void AIStackPushVar_cursor(void)
function bool8 (line 2040) | static bool8 AIStackPop(void)
FILE: src/battle_ai_switch_items.c
function bool8 (line 17) | static bool8 ShouldSwitchIfPerishSong(void)
function bool8 (line 32) | static bool8 ShouldSwitchIfWonderGuard(void)
function bool8 (line 82) | static bool8 FindMonThatAbsorbsOpponentsMove(void)
function bool8 (line 146) | static bool8 ShouldSwitchIfNaturalCure(void)
function bool8 (line 176) | static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng)
function bool8 (line 223) | static bool8 AreStatsRaised(void)
function bool8 (line 236) | static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent)
function bool8 (line 302) | static bool8 ShouldSwitch(void)
function AI_TrySwitchOrUseItem (line 358) | void AI_TrySwitchOrUseItem(void)
function ModulateByTypeEffectiveness (line 404) | static void ModulateByTypeEffectiveness(u8 atkType, u8 defType1, u8 defT...
function u8 (line 428) | u8 GetMostSuitableMonToSwitchInto(void)
function u8 (line 546) | static u8 GetAI_ItemType(u8 itemId, const u8 *itemEffect) // NOTE: shoul...
function bool8 (line 562) | static bool8 ShouldUseItem(void)
FILE: src/battle_anim.c
function ClearBattleAnimationVars (line 162) | void ClearBattleAnimationVars(void)
function DoMoveAnim (line 193) | void DoMoveAnim(u16 move)
function LaunchBattleAnimation (line 200) | void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bo...
function DestroyAnimSprite (line 250) | void DestroyAnimSprite(struct Sprite *sprite)
function DestroyAnimVisualTask (line 257) | void DestroyAnimVisualTask(u8 taskId)
function DestroyAnimSoundTask (line 263) | void DestroyAnimSoundTask(u8 taskId)
function AddSpriteIndex (line 269) | static void AddSpriteIndex(u16 index)
function ClearSpriteIndex (line 283) | static void ClearSpriteIndex(u16 index)
function WaitAnimFrameCount (line 297) | static void WaitAnimFrameCount(void)
function RunAnimScriptCommand (line 310) | static void RunAnimScriptCommand(void)
function Cmd_loadspritegfx (line 318) | static void Cmd_loadspritegfx(void)
function Cmd_unloadspritegfx (line 332) | static void Cmd_unloadspritegfx(void)
function Cmd_createsprite (line 349) | static void Cmd_createsprite(void)
function Cmd_createvisualtask (line 403) | static void Cmd_createvisualtask(void)
function Cmd_delay (line 433) | static void Cmd_delay(void)
function Cmd_waitforvisualfinish (line 443) | static void Cmd_waitforvisualfinish(void)
function Cmd_nop (line 456) | static void Cmd_nop(void)
function Cmd_nop2 (line 460) | static void Cmd_nop2(void)
function Cmd_end (line 464) | static void Cmd_end(void)
function Cmd_playse (line 515) | static void Cmd_playse(void)
function Cmd_monbg (line 531) | static void Cmd_monbg(void)
function bool8 (line 617) | bool8 IsBattlerSpriteVisible(u8 battlerId)
function MoveBattlerSpriteToBG (line 630) | void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2)
function RelocateBattleBgPal (line 690) | void RelocateBattleBgPal(u16 paletteNum, u16 *dest, s32 offset, u8 large...
function ResetBattleAnimBg (line 709) | void ResetBattleAnimBg(bool8 to_BG2)
function Task_InitUpdateMonBg (line 728) | static void Task_InitUpdateMonBg(u8 taskId)
function Cmd_clearmonbg (line 754) | static void Cmd_clearmonbg(void)
function Task_ClearMonBg (line 786) | static void Task_ClearMonBg(u8 taskId)
function Cmd_monbg_static (line 817) | static void Cmd_monbg_static(void)
function Cmd_clearmonbg_static (line 864) | static void Cmd_clearmonbg_static(void)
function Task_ClearMonBgStatic (line 897) | static void Task_ClearMonBgStatic(u8 taskId)
function Cmd_setalpha (line 933) | static void Cmd_setalpha(void)
function Cmd_setbldcnt (line 944) | static void Cmd_setbldcnt(void)
function Cmd_blendoff (line 954) | static void Cmd_blendoff(void)
function Cmd_call (line 961) | static void Cmd_call(void)
function Cmd_return (line 968) | static void Cmd_return(void)
function Cmd_setarg (line 973) | static void Cmd_setarg(void)
function Cmd_choosetwoturnanim (line 987) | static void Cmd_choosetwoturnanim(void)
function Cmd_jumpifmoveturn (line 995) | static void Cmd_jumpifmoveturn(void)
function Cmd_goto (line 1009) | static void Cmd_goto(void)
function bool8 (line 1015) | bool8 IsContest(void)
function bool8 (line 1021) | static bool8 IsSpeciesNotUnown(u16 species)
function Cmd_fadetobg (line 1032) | static void Cmd_fadetobg(void)
function Cmd_fadetobgfromset (line 1045) | static void Cmd_fadetobgfromset(void)
function Task_FadeToBg (line 1065) | static void Task_FadeToBg(u8 taskId)
function LoadMoveBg (line 1102) | static void LoadMoveBg(u16 bgId)
function LoadDefaultBg (line 1109) | static void LoadDefaultBg(void)
function Cmd_restorebg (line 1114) | static void Cmd_restorebg(void)
function Cmd_waitbgfadeout (line 1127) | static void Cmd_waitbgfadeout(void)
function Cmd_waitbgfadein (line 1140) | static void Cmd_waitbgfadein(void)
function Cmd_changebg (line 1153) | static void Cmd_changebg(void)
function s8 (line 1160) | s8 BattleAnimAdjustPanning(s8 pan)
function s8 (line 1197) | s8 BattleAnimAdjustPanning2(s8 pan)
function s16 (line 1214) | s16 KeepPanInRange(s16 panArg, s32 oldPan)
function s16 (line 1226) | s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan)
function Cmd_playsewithpan (line 1240) | static void Cmd_playsewithpan(void)
function Cmd_setpan (line 1252) | static void Cmd_setpan(void)
function Cmd_panse (line 1269) | static void Cmd_panse(void)
function Task_PanFromInitialToTarget (line 1299) | static void Task_PanFromInitialToTarget(u8 taskId)
function Cmd_panse_adjustnone (line 1341) | static void Cmd_panse_adjustnone(void)
function Cmd_panse_adjustall (line 1368) | static void Cmd_panse_adjustall(void)
function Cmd_loopsewithpan (line 1412) | static void Cmd_loopsewithpan(void)
function Task_LoopAndPlaySE (line 1438) | static void Task_LoopAndPlaySE(u8 taskId)
function Cmd_waitplaysewithpan (line 1469) | static void Cmd_waitplaysewithpan(void)
function Task_WaitAndPlaySE (line 1491) | static void Task_WaitAndPlaySE(u8 taskId)
function Cmd_createsoundtask (line 1505) | static void Cmd_createsoundtask(void)
function Cmd_waitsound (line 1526) | static void Cmd_waitsound(void)
function Cmd_jumpargeq (line 1554) | static void Cmd_jumpargeq(void)
function Cmd_jumpifcontest (line 1569) | static void Cmd_jumpifcontest(void)
function Cmd_splitbgprio (line 1574) | static void Cmd_splitbgprio(void)
function Cmd_splitbgprio_all (line 1597) | static void Cmd_splitbgprio_all(void)
function Cmd_splitbgprio_foes (line 1604) | static void Cmd_splitbgprio_foes(void)
function Cmd_invisible (line 1631) | static void Cmd_invisible(void)
function Cmd_visible (line 1642) | static void Cmd_visible(void)
function Cmd_teamattack_moveback (line 1654) | static void Cmd_teamattack_moveback(void)
function Cmd_teamattack_movefwd (line 1691) | static void Cmd_teamattack_movefwd(void)
function Cmd_stopsound (line 1720) | static void Cmd_stopsound(void)
FILE: src/battle_anim_bug.c
type Sprite (line 6) | struct Sprite
type Sprite (line 7) | struct Sprite
type Sprite (line 8) | struct Sprite
type Sprite (line 9) | struct Sprite
type Sprite (line 10) | struct Sprite
type Sprite (line 11) | struct Sprite
type Sprite (line 12) | struct Sprite
type Sprite (line 13) | struct Sprite
type Sprite (line 14) | struct Sprite
type Sprite (line 15) | struct Sprite
type Sprite (line 16) | struct Sprite
type Sprite (line 17) | struct Sprite
type Sprite (line 18) | struct Sprite
type SpriteTemplate (line 45) | struct SpriteTemplate
type SpriteTemplate (line 81) | struct SpriteTemplate
type SpriteTemplate (line 92) | struct SpriteTemplate
type SpriteTemplate (line 103) | struct SpriteTemplate
type SpriteTemplate (line 126) | struct SpriteTemplate
type SpriteTemplate (line 137) | struct SpriteTemplate
type SpriteTemplate (line 148) | struct SpriteTemplate
type SpriteTemplate (line 159) | struct SpriteTemplate
type SpriteTemplate (line 186) | struct SpriteTemplate
function AnimMegahornHorn (line 197) | static void AnimMegahornHorn(struct Sprite *sprite)
function AnimLeechLifeNeedle (line 222) | static void AnimLeechLifeNeedle(struct Sprite *sprite)
function AnimTranslateWebThread (line 250) | static void AnimTranslateWebThread(struct Sprite *sprite)
function AnimTranslateWebThread_Step (line 272) | static void AnimTranslateWebThread_Step(struct Sprite *sprite)
function AnimStringWrap (line 283) | static void AnimStringWrap(struct Sprite *sprite)
function AnimStringWrap_Step (line 296) | static void AnimStringWrap_Step(struct Sprite *sprite)
function AnimSpiderWeb (line 309) | static void AnimSpiderWeb(struct Sprite *sprite)
function AnimSpiderWeb_Step (line 317) | static void AnimSpiderWeb_Step(struct Sprite *sprite)
function AnimSpiderWeb_End (line 336) | static void AnimSpiderWeb_End(struct Sprite *sprite)
function AnimTranslateStinger (line 350) | static void AnimTranslateStinger(struct Sprite *sprite)
function AnimMissileArc (line 399) | static void AnimMissileArc(struct Sprite *sprite)
function AnimMissileArc_Step (line 413) | static void AnimMissileArc_Step(struct Sprite *sprite)
function AnimTailGlowOrb (line 448) | static void AnimTailGlowOrb(struct Sprite *sprite)
FILE: src/battle_anim_dark.c
type Sprite (line 9) | struct Sprite
type Sprite (line 10) | struct Sprite
type Sprite (line 11) | struct Sprite
type Sprite (line 12) | struct Sprite
type Sprite (line 13) | struct Sprite
type Sprite (line 16) | struct Sprite
type Sprite (line 17) | struct Sprite
type Sprite (line 18) | struct Sprite
type Task (line 21) | struct Task
type SpriteTemplate (line 26) | struct SpriteTemplate
type SpriteTemplate (line 97) | struct SpriteTemplate
type SpriteTemplate (line 108) | struct SpriteTemplate
type SpriteTemplate (line 139) | struct SpriteTemplate
type SpriteTemplate (line 176) | struct SpriteTemplate
function AnimTask_AttackerFadeToInvisible (line 187) | void AnimTask_AttackerFadeToInvisible(u8 taskId)
function AnimTask_AttackerFadeToInvisible_Step (line 202) | static void AnimTask_AttackerFadeToInvisible_Step(u8 taskId)
function AnimTask_AttackerFadeFromInvisible (line 226) | void AnimTask_AttackerFadeFromInvisible(u8 taskId)
function AnimTask_AttackerFadeFromInvisible_Step (line 234) | static void AnimTask_AttackerFadeFromInvisible_Step(u8 taskId)
function AnimTask_InitAttackerFadeFromInvisible (line 259) | void AnimTask_InitAttackerFadeFromInvisible(u8 taskId)
function AnimUnusedBagSteal (line 269) | static void AnimUnusedBagSteal(struct Sprite *sprite)
function AnimUnusedBagSteal_Step (line 284) | static void AnimUnusedBagSteal_Step(struct Sprite *sprite)
function AnimBite (line 311) | static void AnimBite(struct Sprite *sprite)
function AnimBite_Step1 (line 322) | static void AnimBite_Step1(struct Sprite *sprite)
function AnimBite_Step2 (line 332) | static void AnimBite_Step2(struct Sprite *sprite)
function AnimTearDrop (line 343) | static void AnimTearDrop(struct Sprite *sprite)
function AnimTearDrop_Step (line 385) | static void AnimTearDrop_Step(struct Sprite *sprite)
function AnimTask_MoveAttackerMementoShadow (line 391) | void AnimTask_MoveAttackerMementoShadow(u8 taskId)
function AnimTask_MoveAttackerMementoShadow_Step (line 457) | static void AnimTask_MoveAttackerMementoShadow_Step(u8 taskId)
function AnimTask_MoveTargetMementoShadow (line 508) | void AnimTask_MoveTargetMementoShadow(u8 taskId)
function AnimTask_MoveTargetMementoShadow_Step (line 608) | static void AnimTask_MoveTargetMementoShadow_Step(u8 taskId)
function DoMementoShadowEffect (line 678) | static void DoMementoShadowEffect(struct Task *task)
function SetAllBattlersSpritePriority (line 717) | static void SetAllBattlersSpritePriority(u8 priority)
function AnimTask_InitMementoShadow (line 729) | void AnimTask_InitMementoShadow(u8 taskId)
function AnimTask_MementoHandleBg (line 743) | void AnimTask_MementoHandleBg(u8 taskId)
function AnimClawSlash (line 754) | static void AnimClawSlash(struct Sprite *sprite)
function AnimTask_MetallicShine (line 769) | void AnimTask_MetallicShine(u8 taskId)
function AnimTask_MetallicShine_Step (line 825) | static void AnimTask_MetallicShine_Step(u8 taskId)
function AnimTask_SetGrayscaleOrOriginalPal (line 869) | void AnimTask_SetGrayscaleOrOriginalPal(u8 taskId)
function GetIsDoomDesireHitTurn (line 916) | void GetIsDoomDesireHitTurn(u8 taskId)
FILE: src/battle_anim_dragon.c
type Sprite (line 7) | struct Sprite
type Sprite (line 8) | struct Sprite
type Sprite (line 9) | struct Sprite
type Sprite (line 10) | struct Sprite
type Sprite (line 11) | struct Sprite
type Sprite (line 12) | struct Sprite
type Task (line 14) | struct Task
type Sprite (line 15) | struct Sprite
type SpriteTemplate (line 34) | struct SpriteTemplate
type SpriteTemplate (line 87) | struct SpriteTemplate
type SpriteTemplate (line 113) | struct SpriteTemplate
type SpriteTemplate (line 156) | struct SpriteTemplate
type SpriteTemplate (line 167) | struct SpriteTemplate
type SpriteTemplate (line 178) | struct SpriteTemplate
function AnimOutrageFlame (line 189) | static void AnimOutrageFlame(struct Sprite *sprite)
function StartDragonFireTranslation (line 213) | static void StartDragonFireTranslation(struct Sprite *sprite)
function AnimDragonRageFirePlume (line 238) | static void AnimDragonRageFirePlume(struct Sprite *sprite)
function AnimDragonFireToTarget (line 257) | static void AnimDragonFireToTarget(struct Sprite *sprite)
function AnimDragonDanceOrb (line 264) | static void AnimDragonDanceOrb(struct Sprite *sprite)
function AnimDragonDanceOrb_Step (line 285) | static void AnimDragonDanceOrb_Step(struct Sprite *sprite)
function AnimTask_DragonDanceWaver (line 325) | void AnimTask_DragonDanceWaver(u8 taskId)
function AnimTask_DragonDanceWaver_Step (line 359) | static void AnimTask_DragonDanceWaver_Step(u8 taskId)
function UpdateDragonDanceScanlineEffect (line 398) | static void UpdateDragonDanceScanlineEffect(struct Task *task)
function AnimOverheatFlame (line 410) | static void AnimOverheatFlame(struct Sprite *sprite)
function AnimOverheatFlame_Step (line 426) | static void AnimOverheatFlame_Step(struct Sprite *sprite)
FILE: src/battle_anim_effects_1.c
type Sprite (line 17) | struct Sprite
type Sprite (line 18) | struct Sprite
type Sprite (line 19) | struct Sprite
type Sprite (line 20) | struct Sprite
type Sprite (line 21) | struct Sprite
type Sprite (line 22) | struct Sprite
type Sprite (line 23) | struct Sprite
type Sprite (line 24) | struct Sprite
type Sprite (line 25) | struct Sprite
type Sprite (line 26) | struct Sprite
type Sprite (line 27) | struct Sprite
type Sprite (line 28) | struct Sprite
type Sprite (line 29) | struct Sprite
type Sprite (line 30) | struct Sprite
type Sprite (line 31) | struct Sprite
type Sprite (line 32) | struct Sprite
type Sprite (line 33) | struct Sprite
type Sprite (line 34) | struct Sprite
type Sprite (line 35) | struct Sprite
type Sprite (line 36) | struct Sprite
type Sprite (line 37) | struct Sprite
type Sprite (line 38) | struct Sprite
type Sprite (line 39) | struct Sprite
type Sprite (line 40) | struct Sprite
type Sprite (line 41) | struct Sprite
type Sprite (line 42) | struct Sprite
type Sprite (line 43) | struct Sprite
type Sprite (line 44) | struct Sprite
type Sprite (line 45) | struct Sprite
type Sprite (line 46) | struct Sprite
type Sprite (line 47) | struct Sprite
type Sprite (line 48) | struct Sprite
type Sprite (line 51) | struct Sprite
type Sprite (line 52) | struct Sprite
type Sprite (line 53) | struct Sprite
type Sprite (line 54) | struct Sprite
type Sprite (line 55) | struct Sprite
type Sprite (line 56) | struct Sprite
type Sprite (line 57) | struct Sprite
type Sprite (line 58) | struct Sprite
type Sprite (line 59) | struct Sprite
type Sprite (line 60) | struct Sprite
type Sprite (line 62) | struct Sprite
type Task (line 63) | struct Task
type Sprite (line 64) | struct Sprite
type Sprite (line 65) | struct Sprite
type Sprite (line 66) | struct Sprite
type Sprite (line 67) | struct Sprite
type Sprite (line 68) | struct Sprite
type Sprite (line 69) | struct Sprite
type Sprite (line 70) | struct Sprite
type Sprite (line 71) | struct Sprite
type Sprite (line 72) | struct Sprite
type Sprite (line 73) | struct Sprite
type Sprite (line 74) | struct Sprite
type Sprite (line 75) | struct Sprite
type Sprite (line 76) | struct Sprite
type Sprite (line 77) | struct Sprite
type Sprite (line 78) | struct Sprite
type Sprite (line 79) | struct Sprite
type Sprite (line 80) | struct Sprite
type Sprite (line 81) | struct Sprite
type Sprite (line 82) | struct Sprite
type Sprite (line 83) | struct Sprite
type Sprite (line 84) | struct Sprite
type Sprite (line 85) | struct Sprite
type Sprite (line 86) | struct Sprite
type Sprite (line 87) | struct Sprite
type Sprite (line 88) | struct Sprite
type Sprite (line 89) | struct Sprite
type Sprite (line 90) | struct Sprite
type Sprite (line 91) | struct Sprite
type Sprite (line 92) | struct Sprite
type Sprite (line 93) | struct Sprite
type Sprite (line 94) | struct Sprite
type Sprite (line 95) | struct Sprite
type Sprite (line 96) | struct Sprite
type Sprite (line 97) | struct Sprite
type Sprite (line 100) | struct Sprite
type Sprite (line 101) | struct Sprite
type Sprite (line 102) | struct Sprite
type Sprite (line 103) | struct Sprite
type Sprite (line 104) | struct Sprite
type Sprite (line 105) | struct Sprite
type Sprite (line 106) | struct Sprite
type Sprite (line 107) | struct Sprite
type Sprite (line 108) | struct Sprite
type Sprite (line 109) | struct Sprite
type Sprite (line 110) | struct Sprite
type Sprite (line 111) | struct Sprite
type Sprite (line 112) | struct Sprite
type Sprite (line 113) | struct Sprite
type Sprite (line 114) | struct Sprite
type Sprite (line 115) | struct Sprite
type Sprite (line 116) | struct Sprite
type Sprite (line 117) | struct Sprite
type Sprite (line 118) | struct Sprite
type Sprite (line 120) | struct Sprite
type Sprite (line 121) | struct Sprite
type Sprite (line 123) | struct Sprite
type Sprite (line 124) | struct Sprite
type Sprite (line 125) | struct Sprite
type Sprite (line 126) | struct Sprite
type Sprite (line 127) | struct Sprite
type Sprite (line 128) | struct Sprite
type Sprite (line 129) | struct Sprite
type Sprite (line 130) | struct Sprite
type Sprite (line 131) | struct Sprite
type Sprite (line 132) | struct Sprite
type Sprite (line 133) | struct Sprite
type Sprite (line 134) | struct Sprite
type Sprite (line 135) | struct Sprite
type Sprite (line 136) | struct Sprite
type Sprite (line 137) | struct Sprite
type Sprite (line 138) | struct Sprite
type Sprite (line 139) | struct Sprite
type Sprite (line 140) | struct Sprite
type Sprite (line 141) | struct Sprite
type Sprite (line 142) | struct Sprite
type Sprite (line 143) | struct Sprite
type Sprite (line 144) | struct Sprite
type Sprite (line 145) | struct Sprite
type Sprite (line 146) | struct Sprite
type SpriteTemplate (line 168) | struct SpriteTemplate
type SpriteTemplate (line 179) | struct SpriteTemplate
type SpriteTemplate (line 190) | struct SpriteTemplate
type SpriteTemplate (line 287) | struct SpriteTemplate
type SpriteTemplate (line 298) | struct SpriteTemplate
type SpriteTemplate (line 309) | struct SpriteTemplate
type SpriteTemplate (line 332) | struct SpriteTemplate
type SpriteTemplate (line 354) | struct SpriteTemplate
type SpriteTemplate (line 365) | struct SpriteTemplate
type SpriteTemplate (line 395) | struct SpriteTemplate
type SpriteTemplate (line 424) | struct SpriteTemplate
type SpriteTemplate (line 457) | struct SpriteTemplate
type SpriteTemplate (line 468) | struct SpriteTemplate
type SpriteTemplate (line 508) | struct SpriteTemplate
type SpriteTemplate (line 519) | struct SpriteTemplate
type SpriteTemplate (line 544) | struct SpriteTemplate
type SpriteTemplate (line 566) | struct SpriteTemplate
type SpriteTemplate (line 623) | struct SpriteTemplate
type SpriteTemplate (line 653) | struct SpriteTemplate
type SpriteTemplate (line 706) | struct SpriteTemplate
type SpriteTemplate (line 717) | struct SpriteTemplate
type SpriteTemplate (line 740) | struct SpriteTemplate
type SpriteTemplate (line 787) | struct SpriteTemplate
type SpriteTemplate (line 798) | struct SpriteTemplate
type SpriteTemplate (line 823) | struct SpriteTemplate
type SpriteTemplate (line 834) | struct SpriteTemplate
type SpriteTemplate (line 871) | struct SpriteTemplate
type SpriteTemplate (line 950) | struct SpriteTemplate
type SpriteTemplate (line 973) | struct SpriteTemplate
type SpriteTemplate (line 984) | struct SpriteTemplate
type SpriteTemplate (line 1031) | struct SpriteTemplate
type SpriteTemplate (line 1042) | struct SpriteTemplate
type SpriteTemplate (line 1053) | struct SpriteTemplate
type SpriteTemplate (line 1075) | struct SpriteTemplate
type SpriteTemplate (line 1110) | struct SpriteTemplate
type SpriteTemplate (line 1121) | struct SpriteTemplate
type SpriteTemplate (line 1148) | struct SpriteTemplate
type SpriteTemplate (line 1160) | struct SpriteTemplate
type SpriteTemplate (line 1232) | struct SpriteTemplate
type SpriteTemplate (line 1257) | struct SpriteTemplate
type SpriteTemplate (line 1268) | struct SpriteTemplate
type SpriteTemplate (line 1354) | struct SpriteTemplate
type SpriteTemplate (line 1365) | struct SpriteTemplate
type SpriteTemplate (line 1398) | struct SpriteTemplate
type SpriteTemplate (line 1427) | struct SpriteTemplate
type SpriteTemplate (line 1438) | struct SpriteTemplate
type SpriteTemplate (line 1482) | struct SpriteTemplate
type SpriteTemplate (line 1538) | struct SpriteTemplate
type SpriteTemplate (line 1549) | struct SpriteTemplate
type SpriteTemplate (line 1560) | struct SpriteTemplate
type SpriteTemplate (line 1579) | struct SpriteTemplate
type SpriteTemplate (line 1592) | struct SpriteTemplate
type SpriteTemplate (line 1624) | struct SpriteTemplate
type SpriteTemplate (line 1635) | struct SpriteTemplate
type SpriteTemplate (line 1646) | struct SpriteTemplate
type SpriteTemplate (line 1671) | struct SpriteTemplate
type SpriteTemplate (line 1706) | struct SpriteTemplate
type SpriteTemplate (line 1717) | struct SpriteTemplate
type SpriteTemplate (line 1743) | struct SpriteTemplate
type SpriteTemplate (line 1779) | struct SpriteTemplate
type SpriteTemplate (line 1804) | struct SpriteTemplate
type SpriteTemplate (line 1815) | struct SpriteTemplate
type SpriteTemplate (line 1840) | struct SpriteTemplate
type SpriteTemplate (line 1869) | struct SpriteTemplate
type SpriteTemplate (line 1880) | struct SpriteTemplate
type SpriteTemplate (line 1905) | struct SpriteTemplate
type SpriteTemplate (line 1988) | struct SpriteTemplate
type SpriteTemplate (line 2007) | struct SpriteTemplate
type SpriteTemplate (line 2018) | struct SpriteTemplate
type SpriteTemplate (line 2041) | struct SpriteTemplate
type SpriteTemplate (line 2096) | struct SpriteTemplate
type SpriteTemplate (line 2142) | struct SpriteTemplate
type SpriteTemplate (line 2153) | struct SpriteTemplate
type SpriteTemplate (line 2208) | struct SpriteTemplate
function AnimMovePowderParticle (line 2227) | static void AnimMovePowderParticle(struct Sprite* sprite)
function AnimMovePowderParticle_Step (line 2247) | static void AnimMovePowderParticle_Step(struct Sprite* sprite)
function AnimPowerAbsorptionOrb (line 2267) | static void AnimPowerAbsorptionOrb(struct Sprite* sprite)
function AnimSolarBeamBigOrb (line 2282) | static void AnimSolarBeamBigOrb(struct Sprite* sprite)
function AnimSolarBeamSmallOrb (line 2299) | static void AnimSolarBeamSmallOrb(struct Sprite* sprite)
function AnimSolarBeamSmallOrb_Step (line 2313) | static void AnimSolarBeamSmallOrb_Step(struct Sprite* sprite)
function AnimTask_CreateSmallSolarBeamOrbs (line 2335) | void AnimTask_CreateSmallSolarBeamOrbs(u8 taskId)
function AnimAbsorptionOrb (line 2357) | static void AnimAbsorptionOrb(struct Sprite* sprite)
function AnimAbsorptionOrb_Step (line 2368) | static void AnimAbsorptionOrb_Step(struct Sprite* sprite)
function AnimHyperBeamOrb (line 2376) | static void AnimHyperBeamOrb(struct Sprite* sprite)
function AnimHyperBeamOrb_Step (line 2402) | static void AnimHyperBeamOrb_Step(struct Sprite* sprite)
function AnimLeechSeed (line 2429) | static void AnimLeechSeed(struct Sprite* sprite)
function AnimLeechSeed_Step (line 2443) | static void AnimLeechSeed_Step(struct Sprite* sprite)
function AnimLeechSeedSprouts (line 2454) | static void AnimLeechSeedSprouts(struct Sprite* sprite)
function AnimSporeParticle (line 2471) | static void AnimSporeParticle(struct Sprite* sprite)
function AnimSporeParticle_Step (line 2484) | static void AnimSporeParticle_Step(struct Sprite* sprite)
function AnimTask_SporeDoubleBattle (line 2510) | void AnimTask_SporeDoubleBattle(u8 taskId)
function AnimPetalDanceBigFlower (line 2533) | static void AnimPetalDanceBigFlower(struct Sprite* sprite)
function AnimPetalDanceBigFlower_Step (line 2547) | static void AnimPetalDanceBigFlower_Step(struct Sprite* sprite)
function AnimPetalDanceSmallFlower (line 2571) | static void AnimPetalDanceSmallFlower(struct Sprite* sprite)
function AnimPetalDanceSmallFlower_Step (line 2585) | static void AnimPetalDanceSmallFlower_Step(struct Sprite* sprite)
function AnimRazorLeafParticle (line 2606) | static void AnimRazorLeafParticle(struct Sprite* sprite)
function AnimRazorLeafParticle_Step1 (line 2616) | static void AnimRazorLeafParticle_Step1(struct Sprite* sprite)
function AnimRazorLeafParticle_Step2 (line 2642) | static void AnimRazorLeafParticle_Step2(struct Sprite* sprite)
function AnimTranslateLinearSingleSineWave (line 2669) | static void AnimTranslateLinearSingleSineWave(struct Sprite* sprite)
function AnimTranslateLinearSingleSineWave_Step (line 2698) | static void AnimTranslateLinearSingleSineWave_Step(struct Sprite* sprite)
function AnimMoveTwisterParticle (line 2736) | void AnimMoveTwisterParticle(struct Sprite* sprite)
function AnimMoveTwisterParticle_Step (line 2750) | static void AnimMoveTwisterParticle_Step(struct Sprite* sprite)
function AnimConstrictBinding (line 2783) | static void AnimConstrictBinding(struct Sprite* sprite)
function AnimConstrictBinding_Step1 (line 2793) | static void AnimConstrictBinding_Step1(struct Sprite* sprite)
function AnimConstrictBinding_Step2 (line 2806) | static void AnimConstrictBinding_Step2(struct Sprite* sprite)
function AnimTask_ShrinkTargetCopy (line 2830) | void AnimTask_ShrinkTargetCopy(u8 taskId)
function AnimTask_DuplicateAndShrinkToPos_Step1 (line 2848) | static void AnimTask_DuplicateAndShrinkToPos_Step1(u8 taskId)
function AnimTask_DuplicateAndShrinkToPos_Step2 (line 2867) | static void AnimTask_DuplicateAndShrinkToPos_Step2(u8 taskId)
function AnimMimicOrb (line 2894) | static void AnimMimicOrb(struct Sprite* sprite)
function AnimIngrainRoot (line 2928) | static void AnimIngrainRoot(struct Sprite* sprite)
function AnimFrenzyPlantRoot (line 2953) | static void AnimFrenzyPlantRoot(struct Sprite *sprite)
function AnimRootFlickerOut (line 2976) | static void AnimRootFlickerOut(struct Sprite* sprite)
function AnimIngrainOrb (line 2991) | static void AnimIngrainOrb(struct Sprite* sprite)
function InitItemBagData (line 3009) | static void InitItemBagData(struct Sprite* sprite, s16 c)
function bool8 (line 3019) | bool8 MoveAlongLinearPath(struct Sprite* sprite)
function AnimItemSteal_Step2 (line 3050) | static void AnimItemSteal_Step2(struct Sprite* sprite)
function AnimItemSteal_Step1 (line 3060) | static void AnimItemSteal_Step1(struct Sprite* sprite)
function AnimPresent (line 3078) | static void AnimPresent(struct Sprite* sprite)
function AnimKnockOffOpponentsItem (line 3105) | static void AnimKnockOffOpponentsItem(struct Sprite* sprite)
function AnimKnockOffItem (line 3126) | static void AnimKnockOffItem(struct Sprite* sprite)
function AnimPresentHealParticle (line 3158) | static void AnimPresentHealParticle(struct Sprite* sprite)
function AnimItemSteal (line 3172) | static void AnimItemSteal(struct Sprite* sprite)
function AnimItemSteal_Step3 (line 3199) | static void AnimItemSteal_Step3(struct Sprite* sprite)
function AnimTrickBag (line 3227) | static void AnimTrickBag(struct Sprite* sprite)
function AnimTrickBag_Step1 (line 3264) | static void AnimTrickBag_Step1(struct Sprite* sprite)
function AnimTrickBag_Step2 (line 3294) | static void AnimTrickBag_Step2(struct Sprite* sprite)
function AnimTrickBag_Step3 (line 3324) | static void AnimTrickBag_Step3(struct Sprite* sprite)
function AnimTask_LeafBlade (line 3333) | void AnimTask_LeafBlade(u8 taskId)
function AnimTask_LeafBlade_Step (line 3359) | static void AnimTask_LeafBlade_Step(u8 taskId)
function s16 (line 3545) | static s16 LeafBladeGetPosFactor(struct Sprite* sprite)
function AnimTask_LeafBlade_Step2 (line 3555) | static void AnimTask_LeafBlade_Step2(struct Task* task, u8 taskId)
function AnimTask_LeafBlade_Step2_Callback (line 3581) | static void AnimTask_LeafBlade_Step2_Callback(struct Sprite* sprite)
function AnimFlyingParticle (line 3597) | static void AnimFlyingParticle(struct Sprite* sprite)
function AnimFlyingParticle_Step (line 3646) | static void AnimFlyingParticle_Step(struct Sprite* sprite)
function AnimTask_CycleMagicalLeafPal (line 3668) | void AnimTask_CycleMagicalLeafPal(u8 taskId)
function AnimNeedleArmSpike (line 3699) | static void AnimNeedleArmSpike(struct Sprite* sprite)
function AnimNeedleArmSpike_Step (line 3755) | static void AnimNeedleArmSpike_Step(struct Sprite* sprite)
function AnimWhipHit_WaitEnd (line 3771) | static void AnimWhipHit_WaitEnd(struct Sprite* sprite)
function AnimSlidingHit (line 3777) | static void AnimSlidingHit(struct Sprite* sprite)
function AnimWhipHit (line 3794) | static void AnimWhipHit(struct Sprite* sprite)
function AnimFlickeringPunch (line 3804) | static void AnimFlickeringPunch(struct Sprite* sprite)
function AnimCuttingSlice (line 3822) | static void AnimCuttingSlice(struct Sprite* sprite)
function AnimAirCutterSlice (line 3848) | static void AnimAirCutterSlice(struct Sprite* sprite)
function AnimSlice_Step (line 3899) | static void AnimSlice_Step(struct Sprite* sprite)
function UnusedFlickerAnim (line 3920) | static void UnusedFlickerAnim(struct Sprite* sprite)
function AnimCirclingMusicNote (line 3953) | static void AnimCirclingMusicNote(struct Sprite* sprite)
function AnimCirclingMusicNote_Step (line 3969) | static void AnimCirclingMusicNote_Step(struct Sprite* sprite)
function AnimProtect (line 3986) | static void AnimProtect(struct Sprite* sprite)
function AnimProtect_Step (line 4006) | static void AnimProtect_Step(struct Sprite *sprite)
function AnimMilkBottle (line 4049) | static void AnimMilkBottle(struct Sprite* sprite)
function AnimMilkBottle_Step1 (line 4065) | static void AnimMilkBottle_Step1(struct Sprite* sprite)
function AnimMilkBottle_Step2 (line 4138) | static void AnimMilkBottle_Step2(struct Sprite* sprite, int unk1, int unk2)
function AnimGrantingStars (line 4159) | static void AnimGrantingStars(struct Sprite* sprite)
function AnimSparklingStars (line 4173) | static void AnimSparklingStars(struct Sprite* sprite)
function AnimBubbleBurst (line 4211) | static void AnimBubbleBurst(struct Sprite* sprite)
function AnimBubbleBurst_Step (line 4229) | static void AnimBubbleBurst_Step(struct Sprite* sprite)
function AnimSleepLetterZ (line 4242) | static void AnimSleepLetterZ(struct Sprite* sprite)
function AnimSleepLetterZ_Step (line 4262) | static void AnimSleepLetterZ_Step(struct Sprite* sprite)
function AnimLockOnTarget (line 4272) | static void AnimLockOnTarget(struct Sprite* sprite)
function AnimLockOnTarget_Step1 (line 4281) | static void AnimLockOnTarget_Step1(struct Sprite* sprite)
function AnimLockOnTarget_Step2 (line 4308) | static void AnimLockOnTarget_Step2(struct Sprite* sprite)
function AnimLockOnTarget_Step3 (line 4322) | static void AnimLockOnTarget_Step3(struct Sprite* sprite)
function AnimLockOnTarget_Step4 (line 4369) | static void AnimLockOnTarget_Step4(struct Sprite* sprite)
function AnimLockOnTarget_Step5 (line 4396) | static void AnimLockOnTarget_Step5(struct Sprite* sprite)
function AnimLockOnTarget_Step6 (line 4406) | static void AnimLockOnTarget_Step6(struct Sprite* sprite)
function AnimLockOnMoveTarget (line 4419) | static void AnimLockOnMoveTarget(struct Sprite* sprite)
function AnimBowMon (line 4451) | static void AnimBowMon(struct Sprite* sprite)
function AnimBowMon_Step1 (line 4472) | static void AnimBowMon_Step1(struct Sprite* sprite)
function AnimBowMon_Step1_Callback (line 4482) | static void AnimBowMon_Step1_Callback(struct Sprite* sprite)
function AnimBowMon_Step2 (line 4502) | static void AnimBowMon_Step2(struct Sprite* sprite)
function AnimBowMon_Step3 (line 4512) | static void AnimBowMon_Step3(struct Sprite* sprite)
function AnimBowMon_Step3_Callback (line 4521) | static void AnimBowMon_Step3_Callback(struct Sprite* sprite)
function AnimBowMon_Step4 (line 4549) | static void AnimBowMon_Step4(struct Sprite* sprite)
function AnimTipMon (line 4554) | static void AnimTipMon(struct Sprite *sprite)
function AnimTipMon_Step (line 4560) | static void AnimTipMon_Step(struct Sprite *sprite)
function AnimTask_SkullBashPosition (line 4597) | void AnimTask_SkullBashPosition(u8 taskId)
function AnimTask_SkullBashPositionSet (line 4635) | static void AnimTask_SkullBashPositionSet(u8 taskId)
function AnimTask_SkullBashPositionReset (line 4727) | static void AnimTask_SkullBashPositionReset(u8 taskId)
function AnimSlashSlice (line 4745) | static void AnimSlashSlice(struct Sprite* sprite)
function AnimFalseSwipeSlice (line 4764) | static void AnimFalseSwipeSlice(struct Sprite* sprite)
function AnimFalseSwipePositionedSlice (line 4772) | static void AnimFalseSwipePositionedSlice(struct Sprite* sprite)
function AnimFalseSwipeSlice_Step1 (line 4782) | static void AnimFalseSwipeSlice_Step1(struct Sprite* sprite)
function AnimFalseSwipeSlice_Step2 (line 4794) | static void AnimFalseSwipeSlice_Step2(struct Sprite* sprite)
function AnimFalseSwipeSlice_Step3 (line 4801) | static void AnimFalseSwipeSlice_Step3(struct Sprite* sprite)
function AnimEndureEnergy (line 4812) | static void AnimEndureEnergy(struct Sprite* sprite)
function AnimEndureEnergy_Step (line 4830) | static void AnimEndureEnergy_Step(struct Sprite* sprite)
function AnimSharpenSphere (line 4843) | static void AnimSharpenSphere(struct Sprite* sprite)
function AnimSharpenSphere_Step (line 4856) | static void AnimSharpenSphere_Step(struct Sprite* sprite)
function AnimConversion (line 4880) | static void AnimConversion(struct Sprite* sprite)
function AnimTask_ConversionAlphaBlend (line 4896) | void AnimTask_ConversionAlphaBlend(u8 taskId)
function AnimConversion2 (line 4920) | static void AnimConversion2(struct Sprite* sprite)
function AnimConversion2_Step (line 4928) | static void AnimConversion2_Step(struct Sprite* sprite)
function AnimTask_Conversion2AlphaBlend (line 4945) | void AnimTask_Conversion2AlphaBlend(u8 taskId)
function AnimTask_HideBattlersHealthbox (line 4958) | static void AnimTask_HideBattlersHealthbox(u8 taskId)
function AnimTask_ShowBattlersHealthbox (line 4975) | static void AnimTask_ShowBattlersHealthbox(u8 taskId)
function AnimMoon (line 4984) | static void AnimMoon(struct Sprite* sprite)
function AnimMoon_Step (line 5003) | static void AnimMoon_Step(struct Sprite* sprite)
function AnimMoonlightSparkle (line 5009) | static void AnimMoonlightSparkle(struct Sprite* sprite)
function AnimMoonlightSparkle_Step (line 5021) | static void AnimMoonlightSparkle_Step(struct Sprite* sprite)
function AnimTask_MoonlightEndFade (line 5040) | void AnimTask_MoonlightEndFade(u8 taskId)
function AnimTask_MoonlightEndFade_Step (line 5067) | void AnimTask_MoonlightEndFade_Step(u8 taskId)
function AnimHornHit (line 5146) | static void AnimHornHit(struct Sprite* sprite)
function AnimHornHit_Step (line 5193) | static void AnimHornHit_Step(struct Sprite* sprite)
function AnimTask_DoubleTeam (line 5209) | void AnimTask_DoubleTeam(u8 taskId)
function AnimTask_DoubleTeam_Step (line 5245) | static void AnimTask_DoubleTeam_Step(u8 taskId)
function AnimDoubleTeam (line 5261) | static void AnimDoubleTeam(struct Sprite* sprite)
function AnimSuperFang (line 5283) | static void AnimSuperFang(struct Sprite* sprite)
function AnimTask_MusicNotesRainbowBlend (line 5289) | void AnimTask_MusicNotesRainbowBlend(u8 taskId)
function AnimTask_MusicNotesClearRainbowBlend (line 5317) | void AnimTask_MusicNotesClearRainbowBlend(u8 taskId)
function AnimWavyMusicNotes (line 5336) | static void AnimWavyMusicNotes(struct Sprite* sprite)
function AnimWavyMusicNotes_CalcVelocity (line 5365) | static void AnimWavyMusicNotes_CalcVelocity(s16 x, s16 y, s16 *velocX, s...
function AnimWavyMusicNotes_Step (line 5381) | static void AnimWavyMusicNotes_Step(struct Sprite* sprite)
function AnimFlyingMusicNotes (line 5414) | static void AnimFlyingMusicNotes(struct Sprite* sprite)
function AnimFlyingMusicNotes_Step (line 5431) | static void AnimFlyingMusicNotes_Step(struct Sprite* sprite)
function AnimBellyDrumHand (line 5450) | static void AnimBellyDrumHand(struct Sprite* sprite)
function AnimSlowFlyingMusicNotes (line 5471) | static void AnimSlowFlyingMusicNotes(struct Sprite* sprite)
function AnimSlowFlyingMusicNotes_Step (line 5494) | static void AnimSlowFlyingMusicNotes_Step(struct Sprite* sprite)
function SetSpriteNextToMonHead (line 5514) | void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite)
function AnimThoughtBubble (line 5524) | static void AnimThoughtBubble(struct Sprite* sprite)
function AnimThoughtBubble_Step (line 5543) | static void AnimThoughtBubble_Step(struct Sprite* sprite)
function AnimMetronomeFinger (line 5553) | static void AnimMetronomeFinger(struct Sprite* sprite)
function AnimMetronomeFinger_Step (line 5568) | static void AnimMetronomeFinger_Step(struct Sprite* sprite)
function AnimFollowMeFinger (line 5578) | static void AnimFollowMeFinger(struct Sprite* sprite)
function AnimFollowMeFinger_Step1 (line 5601) | static void AnimFollowMeFinger_Step1(struct Sprite* sprite)
function AnimFollowMeFinger_Step2 (line 5607) | static void AnimFollowMeFinger_Step2(struct Sprite* sprite)
function AnimTauntFinger (line 5637) | static void AnimTauntFinger(struct Sprite* sprite)
function AnimTauntFinger_Step1 (line 5661) | static void AnimTauntFinger_Step1(struct Sprite* sprite)
function AnimTauntFinger_Step2 (line 5672) | static void AnimTauntFinger_Step2(struct Sprite* sprite)
FILE: src/battle_anim_effects_2.c
type Sprite (line 14) | struct Sprite
type Sprite (line 15) | struct Sprite
type Sprite (line 16) | struct Sprite
type Sprite (line 17) | struct Sprite
type Sprite (line 18) | struct Sprite
type Sprite (line 20) | struct Sprite
type Sprite (line 21) | struct Sprite
type Sprite (line 22) | struct Sprite
type Sprite (line 23) | struct Sprite
type Sprite (line 24) | struct Sprite
type Sprite (line 25) | struct Sprite
type Sprite (line 26) | struct Sprite
type Sprite (line 27) | struct Sprite
type Sprite (line 28) | struct Sprite
type Sprite (line 29) | struct Sprite
type Sprite (line 30) | struct Sprite
type Sprite (line 31) | struct Sprite
type Sprite (line 32) | struct Sprite
type Sprite (line 33) | struct Sprite
type Sprite (line 34) | struct Sprite
type Task (line 37) | struct Task
type Sprite (line 38) | struct Sprite
type Sprite (line 44) | struct Sprite
type Sprite (line 45) | struct Sprite
type Sprite (line 46) | struct Sprite
type Sprite (line 47) | struct Sprite
type Sprite (line 48) | struct Sprite
type Sprite (line 49) | struct Sprite
type Sprite (line 50) | struct Sprite
type Sprite (line 51) | struct Sprite
type Sprite (line 52) | struct Sprite
type Sprite (line 53) | struct Sprite
type Sprite (line 60) | struct Sprite
type Sprite (line 61) | struct Sprite
type Sprite (line 62) | struct Sprite
type Sprite (line 63) | struct Sprite
type Sprite (line 66) | struct Sprite
type Sprite (line 67) | struct Sprite
type Sprite (line 68) | struct Sprite
type Sprite (line 69) | struct Sprite
type Sprite (line 70) | struct Sprite
type Sprite (line 71) | struct Sprite
type Sprite (line 73) | struct Sprite
type Sprite (line 74) | struct Sprite
type Sprite (line 75) | struct Sprite
type Sprite (line 76) | struct Sprite
type Sprite (line 77) | struct Sprite
type Sprite (line 78) | struct Sprite
type Sprite (line 79) | struct Sprite
type Sprite (line 80) | struct Sprite
type Sprite (line 81) | struct Sprite
type Sprite (line 82) | struct Sprite
type Sprite (line 83) | struct Sprite
type Sprite (line 84) | struct Sprite
type Sprite (line 85) | struct Sprite
type Sprite (line 86) | struct Sprite
type Sprite (line 87) | struct Sprite
type Sprite (line 88) | struct Sprite
type Sprite (line 89) | struct Sprite
type Sprite (line 90) | struct Sprite
type Sprite (line 91) | struct Sprite
type Sprite (line 92) | struct Sprite
type Sprite (line 93) | struct Sprite
type Sprite (line 94) | struct Sprite
type Sprite (line 95) | struct Sprite
type Sprite (line 96) | struct Sprite
type Sprite (line 97) | struct Sprite
type Sprite (line 98) | struct Sprite
type Sprite (line 99) | struct Sprite
type Sprite (line 100) | struct Sprite
type SpriteTemplate (line 103) | struct SpriteTemplate
type SpriteTemplate (line 127) | struct SpriteTemplate
type SpriteTemplate (line 139) | struct SpriteTemplate
type SpriteTemplate (line 151) | struct SpriteTemplate
type SpriteTemplate (line 189) | struct SpriteTemplate
type SpriteTemplate (line 218) | struct SpriteTemplate
type SpriteTemplate (line 242) | struct SpriteTemplate
type SpriteTemplate (line 253) | struct SpriteTemplate
type SpriteTemplate (line 264) | struct SpriteTemplate
type SpriteTemplate (line 304) | struct SpriteTemplate
type SpriteTemplate (line 315) | struct SpriteTemplate
type SpriteTemplate (line 326) | struct SpriteTemplate
type SpriteTemplate (line 337) | struct SpriteTemplate
type SpriteTemplate (line 348) | struct SpriteTemplate
type SpriteTemplate (line 359) | struct SpriteTemplate
type SpriteTemplate (line 392) | struct SpriteTemplate
type SpriteTemplate (line 403) | struct SpriteTemplate
type SpriteTemplate (line 425) | struct SpriteTemplate
type SpriteTemplate (line 448) | struct SpriteTemplate
type SpriteTemplate (line 481) | struct SpriteTemplate
type SpriteTemplate (line 514) | struct SpriteTemplate
type SpriteTemplate (line 565) | struct SpriteTemplate
type SpriteTemplate (line 588) | struct SpriteTemplate
type SpriteTemplate (line 609) | struct SpriteTemplate
type SpriteTemplate (line 620) | struct SpriteTemplate
type SpriteTemplate (line 645) | struct SpriteTemplate
type SpriteTemplate (line 689) | struct SpriteTemplate
type SpriteTemplate (line 732) | struct SpriteTemplate
type SpriteTemplate (line 755) | struct SpriteTemplate
type SpriteTemplate (line 766) | struct SpriteTemplate
type SpriteTemplate (line 777) | struct SpriteTemplate
type SpriteTemplate (line 788) | struct SpriteTemplate
type SpriteTemplate (line 820) | struct SpriteTemplate
type SpriteTemplate (line 862) | struct SpriteTemplate
type SpriteTemplate (line 882) | struct SpriteTemplate
type SpriteTemplate (line 893) | struct SpriteTemplate
type SpriteTemplate (line 911) | struct SpriteTemplate
type SpriteTemplate (line 922) | struct SpriteTemplate
type SpriteTemplate (line 933) | struct SpriteTemplate
type SpriteTemplate (line 956) | struct SpriteTemplate
type SpriteTemplate (line 967) | struct SpriteTemplate
type SpriteTemplate (line 990) | struct SpriteTemplate
type SpriteTemplate (line 1016) | struct SpriteTemplate
type SpriteTemplate (line 1038) | struct SpriteTemplate
type SpriteTemplate (line 1049) | struct SpriteTemplate
type SpriteTemplate (line 1078) | struct SpriteTemplate
type SpriteTemplate (line 1113) | struct SpriteTemplate
type SpriteTemplate (line 1148) | struct SpriteTemplate
type SpriteTemplate (line 1167) | struct SpriteTemplate
type SpriteTemplate (line 1203) | struct SpriteTemplate
type SpriteTemplate (line 1214) | struct SpriteTemplate
type SpriteTemplate (line 1243) | struct SpriteTemplate
function AnimCirclingFinger (line 1259) | static void AnimCirclingFinger(struct Sprite *sprite)
function AnimBouncingMusicNote (line 1278) | static void AnimBouncingMusicNote(struct Sprite *sprite)
function AnimBouncingMusicNote_Step (line 1293) | static void AnimBouncingMusicNote_Step(struct Sprite *sprite)
function AnimVibrateBattlerBack_Step (line 1314) | static void AnimVibrateBattlerBack_Step(struct Sprite *sprite)
function AnimVibrateBattlerBack (line 1329) | static void AnimVibrateBattlerBack(struct Sprite *sprite)
function AnimMovingClamp (line 1348) | static void AnimMovingClamp(struct Sprite *sprite)
function AnimMovingClamp_Step (line 1358) | static void AnimMovingClamp_Step(struct Sprite *sprite)
function AnimMovingClamp_End (line 1367) | static void AnimMovingClamp_End(struct Sprite *sprite)
function AnimTask_Withdraw (line 1377) | void AnimTask_Withdraw(u8 taskId)
function AnimTask_Withdraw_Step (line 1383) | static void AnimTask_Withdraw_Step(u8 taskId)
function AnimKinesisZapEnergy (line 1433) | static void AnimKinesisZapEnergy(struct Sprite *sprite)
function AnimSwordsDanceBlade (line 1461) | static void AnimSwordsDanceBlade(struct Sprite *sprite)
function AnimSwordsDanceBlade_Step (line 1468) | static void AnimSwordsDanceBlade_Step(struct Sprite *sprite)
function AnimSonicBoomProjectile (line 1484) | static void AnimSonicBoomProjectile(struct Sprite *sprite)
function AnimAirWaveProjectile_Step2 (line 1517) | static void AnimAirWaveProjectile_Step2(struct Sprite *sprite)
function AnimAirWaveProjectile_Step1 (line 1526) | static void AnimAirWaveProjectile_Step1(struct Sprite *sprite)
function AnimAirWaveProjectile (line 1560) | static void AnimAirWaveProjectile(struct Sprite *sprite)
function AirCutterProjectile_Step2 (line 1609) | static void AirCutterProjectile_Step2(u8 taskId)
function AirCutterProjectile_Step1 (line 1615) | static void AirCutterProjectile_Step1(u8 taskId)
function AnimTask_AirCutterProjectile (line 1644) | void AnimTask_AirCutterProjectile(u8 taskId)
function AnimVoidLines (line 1744) | static void AnimVoidLines(struct Sprite *sprite)
function AnimVoidLines_Step (line 1751) | static void AnimVoidLines_Step(struct Sprite *sprite)
function AnimCoinThrow (line 1771) | static void AnimCoinThrow(struct Sprite *sprite)
function AnimFallingCoin (line 1794) | static void AnimFallingCoin(struct Sprite *sprite)
function AnimFallingCoin_Step (line 1801) | static void AnimFallingCoin_Step(struct Sprite *sprite)
function AnimBulletSeed (line 1819) | static void AnimBulletSeed(struct Sprite *sprite)
function AnimBulletSeed_Step1 (line 1830) | static void AnimBulletSeed_Step1(struct Sprite *sprite)
function AnimBulletSeed_Step2 (line 1853) | static void AnimBulletSeed_Step2(struct Sprite *sprite)
function AnimRazorWindTornado (line 1879) | static void AnimRazorWindTornado(struct Sprite *sprite)
function AnimViceGripPincer (line 1897) | static void AnimViceGripPincer(struct Sprite *sprite)
function AnimViceGripPincer_Step (line 1922) | static void AnimViceGripPincer_Step(struct Sprite *sprite)
function AnimGuillotinePincer (line 1930) | static void AnimGuillotinePincer(struct Sprite *sprite)
function AnimGuillotinePincer_Step1 (line 1959) | static void AnimGuillotinePincer_Step1(struct Sprite *sprite)
function AnimGuillotinePincer_Step2 (line 1978) | static void AnimGuillotinePincer_Step2(struct Sprite *sprite)
function AnimGuillotinePincer_Step3 (line 1999) | static void AnimGuillotinePincer_Step3(struct Sprite *sprite)
function AnimTask_GrowAndGrayscale (line 2008) | void AnimTask_GrowAndGrayscale(u8 taskId)
function AnimTask_GrowAndGrayscale_Step (line 2019) | static void AnimTask_GrowAndGrayscale_Step(u8 taskId)
function AnimTask_Minimize (line 2033) | void AnimTask_Minimize(u8 taskId)
function AnimTask_Minimize_Step1 (line 2050) | static void AnimTask_Minimize_Step1(u8 taskId)
function CreateMinimizeSprite (line 2117) | static void CreateMinimizeSprite(struct Task* task, u8 taskId)
function ClonedMinizeSprite_Step (line 2148) | static void ClonedMinizeSprite_Step(struct Sprite *sprite)
function AnimTask_Splash (line 2161) | void AnimTask_Splash(u8 taskId)
function AnimTask_Splash_Step (line 2182) | static void AnimTask_Splash_Step(u8 taskId)
function AnimTask_GrowAndShrink (line 2237) | void AnimTask_GrowAndShrink(u8 taskId)
function AnimTask_GrowAndShrink_Step (line 2246) | static void AnimTask_GrowAndShrink_Step(u8 taskId)
function AnimBreathPuff (line 2257) | static void AnimBreathPuff(struct Sprite *sprite)
function AnimAngerMark (line 2285) | static void AnimAngerMark(struct Sprite *sprite)
function AnimTask_ThrashMoveMonHorizontal (line 2307) | void AnimTask_ThrashMoveMonHorizontal(u8 taskId)
function AnimTask_ThrashMoveMonHorizontal_Step (line 2318) | static void AnimTask_ThrashMoveMonHorizontal_Step(u8 taskId)
function AnimTask_ThrashMoveMonVertical (line 2327) | void AnimTask_ThrashMoveMonVertical(u8 taskId)
function AnimTask_ThrashMoveMonVertical_Step (line 2347) | static void AnimTask_ThrashMoveMonVertical_Step(u8 taskId)
function AnimTask_SketchDrawMon (line 2399) | void AnimTask_SketchDrawMon(u8 taskId)
function AnimTask_SketchDrawMon_Step (line 2440) | static void AnimTask_SketchDrawMon_Step(u8 taskId)
function AnimPencil (line 2487) | static void AnimPencil(struct Sprite *sprite)
function AnimPencil_Step (line 2501) | static void AnimPencil_Step(struct Sprite *sprite)
function AnimBlendThinRing (line 2560) | static void AnimBlendThinRing(struct Sprite *sprite)
function AnimHyperVoiceRing_WaitEnd (line 2591) | static void AnimHyperVoiceRing_WaitEnd(struct Sprite *sprite)
function AnimHyperVoiceRing (line 2600) | static void AnimHyperVoiceRing(struct Sprite *sprite)
function AnimUproarRing (line 2685) | static void AnimUproarRing(struct Sprite *sprite)
function AnimSoftBoiledEgg (line 2697) | static void AnimSoftBoiledEgg(struct Sprite *sprite)
function AnimSoftBoiledEgg_Step1 (line 2709) | static void AnimSoftBoiledEgg_Step1(struct Sprite *sprite)
function AnimSoftBoiledEgg_Step2 (line 2730) | static void AnimSoftBoiledEgg_Step2(struct Sprite *sprite)
function AnimSoftBoiledEgg_Step3 (line 2739) | static void AnimSoftBoiledEgg_Step3(struct Sprite *sprite)
function AnimSoftBoiledEgg_Step3_Callback1 (line 2758) | static void AnimSoftBoiledEgg_Step3_Callback1(struct Sprite *sprite)
function AnimSoftBoiledEgg_Step3_Callback2 (line 2771) | static void AnimSoftBoiledEgg_Step3_Callback2(struct Sprite *sprite)
function AnimSoftBoiledEgg_Step4 (line 2782) | static void AnimSoftBoiledEgg_Step4(struct Sprite *sprite)
function AnimSoftBoiledEgg_Step4_Callback (line 2794) | static void AnimSoftBoiledEgg_Step4_Callback(struct Sprite *sprite)
function AnimTask_AttackerStretchAndDisappear (line 2802) | void AnimTask_AttackerStretchAndDisappear(u8 taskId)
function AnimTask_AttackerStretchAndDisappear_Step (line 2812) | static void AnimTask_AttackerStretchAndDisappear_Step(u8 taskId)
function AnimTask_ExtremeSpeedImpact (line 2824) | void AnimTask_ExtremeSpeedImpact(u8 taskId)
function AnimTask_ExtremeSpeedImpact_Step (line 2848) | static void AnimTask_ExtremeSpeedImpact_Step(u8 taskId)
function AnimTask_ExtremeSpeedMonReappear (line 2894) | void AnimTask_ExtremeSpeedMonReappear(u8 taskId)
function AnimTask_ExtremeSpeedMonReappear_Step (line 2909) | static void AnimTask_ExtremeSpeedMonReappear_Step(u8 taskId)
function AnimTask_SpeedDust (line 2938) | void AnimTask_SpeedDust(u8 taskId)
function AnimTask_SpeedDust_Step (line 2957) | static void AnimTask_SpeedDust_Step(u8 taskId)
function AnimSpeedDust (line 3024) | static void AnimSpeedDust(struct Sprite *sprite)
function AnimTask_LoadMusicNotesPals (line 3034) | void AnimTask_LoadMusicNotesPals(u8 taskId)
function AnimTask_FreeMusicNotesPals (line 3052) | void AnimTask_FreeMusicNotesPals(u8 taskId)
function SetMusicNotePalette (line 3062) | static void SetMusicNotePalette(struct Sprite *sprite, u8 a, u8 b)
function AnimHealBellMusicNote (line 3069) | static void AnimHealBellMusicNote(struct Sprite *sprite)
function AnimMagentaHeart (line 3083) | static void AnimMagentaHeart(struct Sprite *sprite)
function AnimTask_FakeOut (line 3096) | void AnimTask_FakeOut(u8 taskId)
function AnimTask_FakeOut_Step1 (line 3114) | static void AnimTask_FakeOut_Step1(u8 taskId)
function AnimTask_FakeOut_Step2 (line 3129) | static void AnimTask_FakeOut_Step2(u8 taskId)
function AnimTask_StretchTargetUp (line 3149) | void AnimTask_StretchTargetUp(u8 taskId)
function AnimTask_StretchAttackerUp (line 3170) | void AnimTask_StretchAttackerUp(u8 taskId)
function AnimRedHeartProjectile (line 3191) | static void AnimRedHeartProjectile(struct Sprite *sprite)
function AnimRedHeartProjectile_Step (line 3203) | static void AnimRedHeartProjectile_Step(struct Sprite *sprite)
function AnimParticleBurst (line 3216) | void AnimParticleBurst(struct Sprite *sprite)
function AnimRedHeartRising (line 3238) | static void AnimRedHeartRising(struct Sprite *sprite)
function AnimRedHeartRising_Step (line 3248) | static void AnimRedHeartRising_Step(struct Sprite *sprite)
function AnimTask_HeartsBackground (line 3265) | void AnimTask_HeartsBackground(u8 taskId)
function AnimTask_HeartsBackground_Step (line 3290) | static void AnimTask_HeartsBackground_Step(u8 taskId)
function AnimTask_ScaryFace (line 3346) | void AnimTask_ScaryFace(u8 taskId)
function AnimTask_ScaryFace_Step (line 3378) | static void AnimTask_ScaryFace_Step(u8 taskId)
function AnimOrbitFast (line 3439) | static void AnimOrbitFast(struct Sprite *sprite)
function AnimOrbitFast_Step (line 3451) | static void AnimOrbitFast_Step(struct Sprite *sprite)
function AnimOrbitScatter (line 3490) | static void AnimOrbitScatter(struct Sprite *sprite)
function AnimOrbitScatter_Step (line 3499) | static void AnimOrbitScatter_Step(struct Sprite *sprite)
function AnimSpitUpOrb_Step (line 3508) | static void AnimSpitUpOrb_Step(struct Sprite *sprite)
function AnimSpitUpOrb (line 3516) | static void AnimSpitUpOrb(struct Sprite *sprite)
function AnimEyeSparkle_Step (line 3526) | static void AnimEyeSparkle_Step(struct Sprite *sprite)
function AnimEyeSparkle (line 3532) | static void AnimEyeSparkle(struct Sprite *sprite)
function AnimAngel (line 3538) | static void AnimAngel(struct Sprite *sprite)
function AnimPinkHeart_Step (line 3564) | static void AnimPinkHeart_Step(struct Sprite *sprite)
function AnimPinkHeart (line 3577) | static void AnimPinkHeart(struct Sprite *sprite)
function AnimDevil (line 3603) | static void AnimDevil(struct Sprite *sprite)
function AnimFurySwipes (line 3632) | static void AnimFurySwipes(struct Sprite *sprite)
function AnimMovementWaves (line 3647) | static void AnimMovementWaves(struct Sprite *sprite)
function AnimMovementWaves_Step (line 3678) | static void AnimMovementWaves_Step(struct Sprite *sprite)
function AnimTask_UproarDistortion (line 3689) | void AnimTask_UproarDistortion(u8 taskId)
function AnimTask_UproarDistortion_Step (line 3697) | static void AnimTask_UproarDistortion_Step(u8 taskId)
function AnimJaggedMusicNote (line 3703) | static void AnimJaggedMusicNote(struct Sprite *sprite)
function AnimJaggedMusicNote_Step (line 3731) | static void AnimJaggedMusicNote_Step(struct Sprite *sprite)
function AnimPerishSongMusicNote2 (line 3741) | static void AnimPerishSongMusicNote2(struct Sprite *sprite)
function AnimPerishSongMusicNote (line 3756) | static void AnimPerishSongMusicNote(struct Sprite *sprite)
function AnimPerishSongMusicNote_Step1 (line 3798) | static void AnimPerishSongMusicNote_Step1(struct Sprite *sprite)
function AnimPerishSongMusicNote_Step2 (line 3807) | static void AnimPerishSongMusicNote_Step2(struct Sprite *sprite)
function AnimGuardRing (line 3832) | static void AnimGuardRing(struct Sprite *sprite)
function AnimTask_IsFuryCutterHitRight (line 3855) | void AnimTask_IsFuryCutterHitRight(u8 taskId)
function AnimTask_GetFuryCutterHitCount (line 3861) | void AnimTask_GetFuryCutterHitCount(u8 taskId)
FILE: src/battle_anim_effects_3.c
type Sprite (line 18) | struct Sprite
type Sprite (line 19) | struct Sprite
type Sprite (line 20) | struct Sprite
type Sprite (line 21) | struct Sprite
type Sprite (line 22) | struct Sprite
type Sprite (line 23) | struct Sprite
type Sprite (line 24) | struct Sprite
type Sprite (line 25) | struct Sprite
type Sprite (line 26) | struct Sprite
type Sprite (line 27) | struct Sprite
type Sprite (line 30) | struct Sprite
type Sprite (line 31) | struct Sprite
type Sprite (line 32) | struct Sprite
type Sprite (line 33) | struct Sprite
type Sprite (line 34) | struct Sprite
type Sprite (line 35) | struct Sprite
type Sprite (line 36) | struct Sprite
type Sprite (line 37) | struct Sprite
type Sprite (line 38) | struct Sprite
type Sprite (line 39) | struct Sprite
type Sprite (line 40) | struct Sprite
type Sprite (line 43) | struct Sprite
type Sprite (line 44) | struct Sprite
type Sprite (line 45) | struct Sprite
type Sprite (line 46) | struct Sprite
type Sprite (line 47) | struct Sprite
type Sprite (line 48) | struct Sprite
type Sprite (line 49) | struct Sprite
type Sprite (line 50) | struct Sprite
type Sprite (line 51) | struct Sprite
type Sprite (line 53) | struct Sprite
type Sprite (line 54) | struct Sprite
type Sprite (line 56) | struct Sprite
type Sprite (line 57) | struct Sprite
type Sprite (line 58) | struct Sprite
type Sprite (line 59) | struct Sprite
type Sprite (line 60) | struct Sprite
type Sprite (line 61) | struct Sprite
type Sprite (line 66) | struct Sprite
type Sprite (line 67) | struct Sprite
type Sprite (line 71) | struct Sprite
type Sprite (line 72) | struct Sprite
type Sprite (line 76) | struct Sprite
type Sprite (line 77) | struct Sprite
type Sprite (line 79) | struct Sprite
type Sprite (line 80) | struct Sprite
type Sprite (line 81) | struct Sprite
type Sprite (line 82) | struct Sprite
type Sprite (line 84) | struct Sprite
type Sprite (line 85) | struct Sprite
type Sprite (line 87) | struct Sprite
type Sprite (line 88) | struct Sprite
type Sprite (line 90) | struct Sprite
type Sprite (line 92) | struct Sprite
type Sprite (line 93) | struct Sprite
type Sprite (line 95) | struct Sprite
type Sprite (line 96) | struct Sprite
type Sprite (line 97) | struct Sprite
type Sprite (line 98) | struct Sprite
type Sprite (line 99) | struct Sprite
type Sprite (line 100) | struct Sprite
type Sprite (line 101) | struct Sprite
type Sprite (line 102) | struct Sprite
type Sprite (line 103) | struct Sprite
type Sprite (line 104) | struct Sprite
type Sprite (line 105) | struct Sprite
type Sprite (line 106) | struct Sprite
type Sprite (line 107) | struct Sprite
type Sprite (line 108) | struct Sprite
type Sprite (line 109) | struct Sprite
type Sprite (line 110) | struct Sprite
type SpriteTemplate (line 127) | struct SpriteTemplate
type SpriteTemplate (line 138) | struct SpriteTemplate
type SpriteTemplate (line 149) | struct SpriteTemplate
type SpriteTemplate (line 173) | struct SpriteTemplate
type SpriteTemplate (line 184) | struct SpriteTemplate
type SpriteTemplate (line 195) | struct SpriteTemplate
type SpriteTemplate (line 227) | struct SpriteTemplate
type SpriteTemplate (line 238) | struct SpriteTemplate
type SpriteTemplate (line 264) | struct SpriteTemplate
type SpriteTemplate (line 298) | struct SpriteTemplate
type SpriteTemplate (line 335) | struct SpriteTemplate
type SpriteTemplate (line 366) | struct SpriteTemplate
type SpriteTemplate (line 377) | struct SpriteTemplate
type SpriteTemplate (line 388) | struct SpriteTemplate
type SpriteTemplate (line 412) | struct SpriteTemplate
type SpriteTemplate (line 456) | struct SpriteTemplate
type SpriteTemplate (line 485) | struct SpriteTemplate
type SpriteTemplate (line 504) | struct SpriteTemplate
type SpriteTemplate (line 515) | struct SpriteTemplate
type SpriteTemplate (line 526) | struct SpriteTemplate
type SpriteTemplate (line 557) | struct SpriteTemplate
type SpriteTemplate (line 612) | struct SpriteTemplate
type SpriteTemplate (line 648) | struct SpriteTemplate
type SpriteTemplate (line 698) | struct SpriteTemplate
type SpriteTemplate (line 724) | struct SpriteTemplate
type SpriteTemplate (line 735) | struct SpriteTemplate
type SpriteTemplate (line 746) | struct SpriteTemplate
type SpriteTemplate (line 757) | struct SpriteTemplate
type SpriteTemplate (line 809) | struct SpriteTemplate
type SpriteTemplate (line 860) | struct SpriteTemplate
type SpriteTemplate (line 879) | struct SpriteTemplate
type SpriteTemplate (line 938) | struct SpriteTemplate
type SpriteTemplate (line 949) | struct SpriteTemplate
type SpriteTemplate (line 960) | struct SpriteTemplate
type SpriteTemplate (line 990) | struct SpriteTemplate
type SpriteTemplate (line 1001) | struct SpriteTemplate
type SpriteTemplate (line 1019) | struct SpriteTemplate
type SpriteTemplate (line 1030) | struct SpriteTemplate
type SpriteTemplate (line 1041) | struct SpriteTemplate
type SpriteTemplate (line 1052) | struct SpriteTemplate
type SpriteTemplate (line 1063) | struct SpriteTemplate
type SpriteTemplate (line 1074) | struct SpriteTemplate
type SpriteTemplate (line 1085) | struct SpriteTemplate
type SpriteTemplate (line 1128) | struct SpriteTemplate
type SpriteTemplate (line 1150) | struct SpriteTemplate
function AnimBlackSmoke (line 1171) | static void AnimBlackSmoke(struct Sprite *sprite)
function AnimBlackSmoke_Step (line 1184) | static void AnimBlackSmoke_Step(struct Sprite *sprite)
function AnimTask_SmokescreenImpact (line 1199) | void AnimTask_SmokescreenImpact(u8 taskId)
function AnimWhiteHalo (line 1208) | static void AnimWhiteHalo(struct Sprite *sprite)
function AnimWhiteHalo_Step1 (line 1218) | static void AnimWhiteHalo_Step1(struct Sprite *sprite)
function AnimWhiteHalo_Step2 (line 1228) | static void AnimWhiteHalo_Step2(struct Sprite *sprite)
function AnimTealAlert (line 1235) | static void AnimTealAlert(struct Sprite *sprite)
function AnimMeanLookEye (line 1255) | static void AnimMeanLookEye(struct Sprite *sprite)
function AnimMeanLookEye_Step1 (line 1263) | static void AnimMeanLookEye_Step1(struct Sprite *sprite)
function AnimMeanLookEye_Step2 (line 1286) | static void AnimMeanLookEye_Step2(struct Sprite *sprite)
function AnimMeanLookEye_Step3 (line 1297) | static void AnimMeanLookEye_Step3(struct Sprite *sprite)
function AnimMeanLookEye_Step4 (line 1336) | static void AnimMeanLookEye_Step4(struct Sprite *sprite)
function AnimTask_SetPsychicBackground (line 1356) | void AnimTask_SetPsychicBackground(u8 taskId)
function SetPsychicBackground_Step (line 1362) | static void SetPsychicBackground_Step(u8 taskId)
function AnimTask_FadeScreenToWhite (line 1382) | void AnimTask_FadeScreenToWhite(u8 taskId)
function FadeScreenToWhite_Step (line 1388) | static void FadeScreenToWhite_Step(u8 taskId)
function AnimSpikes (line 1413) | static void AnimSpikes(struct Sprite *sprite)
function AnimSpikes_Step1 (line 1431) | static void AnimSpikes_Step1(struct Sprite *sprite)
function AnimSpikes_Step2 (line 1442) | static void AnimSpikes_Step2(struct Sprite *sprite)
function AnimLeer (line 1451) | static void AnimLeer(struct Sprite *sprite)
function AnimLetterZ (line 1460) | static void AnimLetterZ(struct Sprite *sprite)
function AnimFang (line 1498) | static void AnimFang(struct Sprite *sprite)
function AnimTask_IsTargetPlayerSide (line 1504) | void AnimTask_IsTargetPlayerSide(u8 taskId)
function AnimTask_IsHealingMove (line 1514) | void AnimTask_IsHealingMove(u8 taskId)
function AnimSpotlight (line 1524) | static void AnimSpotlight(struct Sprite *sprite)
function AnimSpotlight_Step1 (line 1538) | static void AnimSpotlight_Step1(struct Sprite *sprite)
function AnimSpotlight_Step2 (line 1580) | static void AnimSpotlight_Step2(struct Sprite *sprite)
function AnimClappingHand (line 1587) | static void AnimClappingHand(struct Sprite *sprite)
function AnimClappingHand_Step (line 1617) | static void AnimClappingHand_Step(struct Sprite *sprite)
function AnimClappingHand2 (line 1646) | static void AnimClappingHand2(struct Sprite *sprite)
function AnimTask_CreateSpotlight (line 1653) | void AnimTask_CreateSpotlight(u8 taskId)
function AnimTask_RemoveSpotlight (line 1676) | void AnimTask_RemoveSpotlight(u8 taskId)
function AnimRapidSpin (line 1687) | static void AnimRapidSpin(struct Sprite *sprite)
function AnimRapidSpin_Step (line 1709) | static void AnimRapidSpin_Step(struct Sprite *sprite)
function AnimTask_RapinSpinMonElevation (line 1726) | void AnimTask_RapinSpinMonElevation(u8 taskId)
function RapinSpinMonElevation_Step (line 1807) | static void RapinSpinMonElevation_Step(u8 taskId)
function AnimTask_TormentAttacker (line 1866) | void AnimTask_TormentAttacker(u8 taskId)
function TormentAttacker_Step (line 1881) | static void TormentAttacker_Step(u8 taskId)
function TormentAttacker_Callback (line 1979) | static void TormentAttacker_Callback(struct Sprite *sprite)
function AnimTriAttackTriangle (line 1988) | static void AnimTriAttackTriangle(struct Sprite *sprite)
function AnimTask_DefenseCurlDeformMon (line 2019) | void AnimTask_DefenseCurlDeformMon(u8 taskId)
function AnimBatonPassPokeball (line 2034) | static void AnimBatonPassPokeball(struct Sprite *sprite)
function AnimWishStar (line 2077) | static void AnimWishStar(struct Sprite *sprite)
function AnimWishStar_Step (line 2088) | static void AnimWishStar_Step(struct Sprite *sprite)
function AnimMiniTwinklingStar (line 2115) | static void AnimMiniTwinklingStar(struct Sprite *sprite)
function AnimMiniTwinklingStar_Step (line 2134) | static void AnimMiniTwinklingStar_Step(struct Sprite *sprite)
function AnimTask_StockpileDeformMon (line 2162) | void AnimTask_StockpileDeformMon(u8 taskId)
function AnimTask_SpitUpDeformMon (line 2176) | void AnimTask_SpitUpDeformMon(u8 taskId)
function AnimSwallowBlueOrb (line 2190) | static void AnimSwallowBlueOrb(struct Sprite *sprite)
function AnimTask_SwallowDeformMon (line 2209) | void AnimTask_SwallowDeformMon(u8 taskId)
function AnimTask_TransformMon (line 2223) | void AnimTask_TransformMon(u8 taskId)
function AnimTask_IsMonInvisible (line 2303) | void AnimTask_IsMonInvisible(u8 taskId)
function AnimTask_CastformGfxChange (line 2309) | void AnimTask_CastformGfxChange(u8 taskId)
function AnimTask_MorningSunLightBeam (line 2315) | void AnimTask_MorningSunLightBeam(u8 taskId)
function AnimGreenStar (line 2405) | static void AnimGreenStar(struct Sprite *sprite)
function AnimGreenStar_Step1 (line 2442) | static void AnimGreenStar_Step1(struct Sprite *sprite)
function AnimGreenStar_Step2 (line 2468) | static void AnimGreenStar_Step2(struct Sprite *sprite)
function AnimGreenStar_Callback (line 2479) | static void AnimGreenStar_Callback(struct Sprite *sprite)
function AnimTask_DoomDesireLightBeam (line 2495) | void AnimTask_DoomDesireLightBeam(u8 taskId)
function AnimTask_StrongFrustrationGrowAndShrink (line 2599) | void AnimTask_StrongFrustrationGrowAndShrink(u8 taskId)
function AnimWeakFrustrationAngerMark (line 2616) | static void AnimWeakFrustrationAngerMark(struct Sprite *sprite)
function AnimTask_RockMonBackAndForth (line 2643) | void AnimTask_RockMonBackAndForth(u8 taskId)
function AnimTask_RockMonBackAndForth_Step (line 2683) | static void AnimTask_RockMonBackAndForth_Step(u8 taskId)
function AnimSweetScentPetal (line 2741) | static void AnimSweetScentPetal(struct Sprite *sprite)
function AnimSweetScentPetal_Step (line 2759) | static void AnimSweetScentPetal_Step(struct Sprite *sprite)
function AnimTask_FlailMovement (line 2786) | void AnimTask_FlailMovement(u8 taskId)
function AnimTask_FlailMovement_Step (line 2803) | static void AnimTask_FlailMovement_Step(u8 taskId)
function AnimPainSplitProjectile (line 2877) | static void AnimPainSplitProjectile(struct Sprite *sprite)
function AnimTask_PainSplitMovement (line 2914) | void AnimTask_PainSplitMovement(u8 taskId)
function AnimFlatterConfetti (line 2973) | static void AnimFlatterConfetti(struct Sprite *sprite)
function AnimFlatterConfetti_Step (line 3004) | static void AnimFlatterConfetti_Step(struct Sprite *sprite)
function AnimFlatterSpotlight (line 3030) | static void AnimFlatterSpotlight(struct Sprite *sprite)
function AnimFlatterSpotlight_Step (line 3045) | static void AnimFlatterSpotlight_Step(struct Sprite *sprite)
function AnimReversalOrb (line 3079) | static void AnimReversalOrb(struct Sprite *sprite)
function AnimReversalOrb_Step (line 3089) | static void AnimReversalOrb_Step(struct Sprite *sprite)
function AnimTask_RolePlaySilhouette (line 3122) | void AnimTask_RolePlaySilhouette(u8 taskId)
function AnimTask_RolePlaySilhouette_Step1 (line 3212) | static void AnimTask_RolePlaySilhouette_Step1(u8 taskId)
function AnimTask_RolePlaySilhouette_Step2 (line 3228) | static void AnimTask_RolePlaySilhouette_Step2(u8 taskId)
function AnimTask_AcidArmor (line 3246) | void AnimTask_AcidArmor(u8 taskId)
function AnimTask_AcidArmor_Step (line 3308) | static void AnimTask_AcidArmor_Step(u8 taskId)
function AnimTask_DeepInhale (line 3424) | void AnimTask_DeepInhale(u8 taskId)
function AnimTask_DeepInhale_Step (line 3434) | static void AnimTask_DeepInhale_Step(u8 taskId)
function InitYawnCloudPosition (line 3463) | static void InitYawnCloudPosition(struct Sprite *sprite, s16 startX, s16...
function UpdateYawnCloudPosition (line 3473) | static void UpdateYawnCloudPosition(struct Sprite *sprite)
function AnimYawnCloud (line 3483) | static void AnimYawnCloud(struct Sprite *sprite)
function AnimYawnCloud_Step (line 3495) | static void AnimYawnCloud_Step(struct Sprite *sprite)
function AnimSmokeBallEscapeCloud (line 3521) | static void AnimSmokeBallEscapeCloud(struct Sprite *sprite)
function AnimTask_SlideMonForFocusBand_Step2 (line 3533) | static void AnimTask_SlideMonForFocusBand_Step2(u8 taskId)
function AnimTask_SlideMonForFocusBand_Step1 (line 3583) | static void AnimTask_SlideMonForFocusBand_Step1(u8 taskId)
function AnimTask_SlideMonForFocusBand (line 3636) | void AnimTask_SlideMonForFocusBand(u8 taskId)
function AnimTask_SquishAndSweatDroplets (line 3693) | void AnimTask_SquishAndSweatDroplets(u8 taskId)
function AnimTask_SquishAndSweatDroplets_Step (line 3718) | static void AnimTask_SquishAndSweatDroplets_Step(u8 taskId)
function CreateSweatDroplets (line 3755) | static void CreateSweatDroplets(u8 taskId, bool8 lowerDroplets)
function AnimFacadeSweatDrop (line 3797) | static void AnimFacadeSweatDrop(struct Sprite *sprite)
function AnimTask_FacadeColorBlend (line 3826) | void AnimTask_FacadeColorBlend(u8 taskId)
function AnimTask_FacadeColorBlend_Step (line 3837) | static void AnimTask_FacadeColorBlend_Step(u8 taskId)
function AnimTask_StatusClearedEffect (line 3854) | void AnimTask_StatusClearedEffect(u8 taskId)
function AnimRoarNoiseLine (line 3863) | static void AnimRoarNoiseLine(struct Sprite *sprite)
function AnimRoarNoiseLine_Step (line 3896) | static void AnimRoarNoiseLine_Step(struct Sprite *sprite)
function AnimTask_GlareEyeDots (line 3928) | void AnimTask_GlareEyeDots(u8 taskId)
function AnimTask_GlareEyeDots_Step (line 3947) | static void AnimTask_GlareEyeDots_Step(u8 taskId)
function GetGlareEyeDotCoords (line 4018) | static void GetGlareEyeDotCoords(s16 startX, s16 startY, s16 endX, s16 e...
function AnimGlareEyeDot (line 4044) | static void AnimGlareEyeDot(struct Sprite *sprite)
function AnimAssistPawprint (line 4075) | static void AnimAssistPawprint(struct Sprite *sprite)
function AnimTask_BarrageBall (line 4088) | void AnimTask_BarrageBall(u8 taskId)
function AnimTask_BarrageBall_Step (line 4115) | static void AnimTask_BarrageBall_Step(u8 taskId)
function AnimSmellingSaltsHand (line 4162) | static void AnimSmellingSaltsHand(struct Sprite *sprite)
function AnimSmellingSaltsHand_Step (line 4188) | static void AnimSmellingSaltsHand_Step(struct Sprite *sprite)
function AnimTask_SmellingSaltsSquish (line 4237) | void AnimTask_SmellingSaltsSquish(u8 taskId)
function AnimTask_SmellingSaltsSquish_Step (line 4252) | static void AnimTask_SmellingSaltsSquish_Step(u8 taskId)
function AnimSmellingSaltExclamation (line 4285) | static void AnimSmellingSaltExclamation(struct Sprite *sprite)
function AnimSmellingSaltExclamation_Step (line 4308) | static void AnimSmellingSaltExclamation_Step(struct Sprite *sprite)
function AnimHelpingHandClap (line 4323) | static void AnimHelpingHandClap(struct Sprite *sprite)
function AnimHelpingHandClap_Step (line 4341) | static void AnimHelpingHandClap_Step(struct Sprite *sprite)
function AnimTask_HelpingHandAttackerMovement (line 4426) | void AnimTask_HelpingHandAttackerMovement(u8 taskId)
function AnimTask_HelpingHandAttackerMovement_Step (line 4451) | static void AnimTask_HelpingHandAttackerMovement_Step(u8 taskId)
function AnimForesightMagnifyingGlass (line 4535) | static void AnimForesightMagnifyingGlass(struct Sprite *sprite)
function AnimForesightMagnifyingGlass_Step (line 4555) | static void AnimForesightMagnifyingGlass_Step(struct Sprite *sprite)
function AnimMeteorMashStar_Step (line 4657) | static void AnimMeteorMashStar_Step(struct Sprite *sprite)
function AnimMeteorMashStar (line 4681) | static void AnimMeteorMashStar(struct Sprite *sprite)
function AnimTask_MonToSubstitute (line 4705) | void AnimTask_MonToSubstitute(u8 taskId)
function AnimTask_MonToSubstituteDoll (line 4740) | static void AnimTask_MonToSubstituteDoll(u8 taskId)
function AnimBlockX (line 4795) | static void AnimBlockX(struct Sprite *sprite)
function AnimBlockX_Step (line 4815) | static void AnimBlockX_Step(struct Sprite *sprite)
function AnimTask_OdorSleuthMovement (line 4872) | void AnimTask_OdorSleuthMovement(u8 taskId)
function AnimTask_OdorSleuthMovementWaitFinish (line 4929) | static void AnimTask_OdorSleuthMovementWaitFinish(u8 taskId)
function MoveOdorSleuthClone (line 4935) | static void MoveOdorSleuthClone(struct Sprite *sprite)
function AnimTask_GetReturnPowerLevel (line 4973) | void AnimTask_GetReturnPowerLevel(u8 taskId)
function AnimTask_SnatchOpposingMonMove (line 4990) | void AnimTask_SnatchOpposingMonMove(u8 taskId)
function AnimUnusedItemBagSteal (line 5138) | static void AnimUnusedItemBagSteal(struct Sprite *sprite)
function AnimTask_SnatchPartnerMove (line 5183) | void AnimTask_SnatchPartnerMove(u8 taskId)
function AnimTask_TeeterDanceMovement (line 5244) | void AnimTask_TeeterDanceMovement(u8 taskId)
function AnimTask_TeeterDanceMovement_Step (line 5259) | static void AnimTask_TeeterDanceMovement_Step(u8 taskId)
function AnimKnockOffStrike_Step (line 5294) | static void AnimKnockOffStrike_Step(struct Sprite *sprite)
function AnimKnockOffStrike (line 5319) | static void AnimKnockOffStrike(struct Sprite *sprite)
function AnimRecycle (line 5342) | static void AnimRecycle(struct Sprite *sprite)
function AnimRecycle_Step (line 5355) | static void AnimRecycle_Step(struct Sprite *sprite)
function AnimTask_GetWeather (line 5415) | void AnimTask_GetWeather(u8 taskId)
function AnimTask_SlackOffSquish (line 5432) | void AnimTask_SlackOffSquish(u8 taskId)
function AnimTask_SlackOffSquish_Step (line 5442) | static void AnimTask_SlackOffSquish_Step(u8 taskId)
FILE: src/battle_anim_electric.c
type Sprite (line 7) | struct Sprite
type Sprite (line 8) | struct Sprite
type Sprite (line 9) | struct Sprite
type Sprite (line 10) | struct Sprite
type Sprite (line 11) | struct Sprite
type Sprite (line 12) | struct Sprite
type Sprite (line 13) | struct Sprite
type Sprite (line 14) | struct Sprite
type Sprite (line 15) | struct Sprite
type Sprite (line 16) | struct Sprite
type Sprite (line 17) | struct Sprite
type Sprite (line 18) | struct Sprite
type Sprite (line 19) | struct Sprite
type Sprite (line 20) | struct Sprite
type Sprite (line 21) | struct Sprite
type Sprite (line 22) | struct Sprite
type Sprite (line 23) | struct Sprite
type Sprite (line 24) | struct Sprite
type Sprite (line 25) | struct Sprite
type Sprite (line 26) | struct Sprite
type Sprite (line 28) | struct Sprite
type Sprite (line 30) | struct Sprite
type Sprite (line 31) | struct Sprite
type Task (line 32) | struct Task
type Task (line 33) | struct Task
type Task (line 34) | struct Task
type Sprite (line 35) | struct Sprite
type SpriteTemplate (line 52) | struct SpriteTemplate
type SpriteTemplate (line 76) | struct SpriteTemplate
type SpriteTemplate (line 103) | struct SpriteTemplate
type SpriteTemplate (line 114) | struct SpriteTemplate
type SpriteTemplate (line 125) | struct SpriteTemplate
type SpriteTemplate (line 147) | struct SpriteTemplate
type SpriteTemplate (line 184) | struct SpriteTemplate
type SpriteTemplate (line 195) | struct SpriteTemplate
type SpriteTemplate (line 206) | struct SpriteTemplate
type SpriteTemplate (line 217) | struct SpriteTemplate
type SpriteTemplate (line 228) | struct SpriteTemplate
type SpriteTemplate (line 283) | struct SpriteTemplate
type SpriteTemplate (line 331) | struct SpriteTemplate
type SpriteTemplate (line 356) | struct SpriteTemplate
type SpriteTemplate (line 367) | struct SpriteTemplate
type SpriteTemplate (line 421) | struct SpriteTemplate
type SpriteTemplate (line 432) | struct SpriteTemplate
type SpriteTemplate (line 443) | struct SpriteTemplate
function AnimLightning (line 454) | static void AnimLightning(struct Sprite *sprite)
function AnimLightning_Step (line 464) | static void AnimLightning_Step(struct Sprite *sprite)
function AnimUnusedSpinningFist (line 470) | static void AnimUnusedSpinningFist(struct Sprite *sprite)
function AnimUnusedSpinningFist_Step (line 479) | static void AnimUnusedSpinningFist_Step(struct Sprite *sprite)
function AnimUnusedCirclingShock (line 485) | static void AnimUnusedCirclingShock(struct Sprite *sprite)
function AnimSparkElectricity (line 507) | static void AnimSparkElectricity(struct Sprite *sprite)
function AnimZapCannonSpark (line 558) | static void AnimZapCannonSpark(struct Sprite *sprite)
function AnimZapCannonSpark_Step (line 575) | static void AnimZapCannonSpark_Step(struct Sprite *sprite)
function AnimThunderboltOrb_Step (line 591) | static void AnimThunderboltOrb_Step(struct Sprite *sprite)
function AnimThunderboltOrb (line 602) | static void AnimThunderboltOrb(struct Sprite *sprite)
function AnimSparkElectricityFlashing (line 614) | static void AnimSparkElectricityFlashing(struct Sprite *sprite)
function AnimSparkElectricityFlashing_Step (line 636) | static void AnimSparkElectricityFlashing_Step(struct Sprite *sprite)
function AnimElectricity (line 648) | static void AnimElectricity(struct Sprite *sprite)
function AnimTask_ElectricBolt (line 662) | void AnimTask_ElectricBolt(u8 taskId)
function AnimTask_ElectricBolt_Step (line 670) | static void AnimTask_ElectricBolt_Step(u8 taskId)
function AnimElectricBoltSegment (line 736) | static void AnimElectricBoltSegment(struct Sprite *sprite)
function AnimThunderWave (line 753) | static void AnimThunderWave(struct Sprite *sprite)
function AnimThunderWave_Step (line 766) | static void AnimThunderWave_Step(struct Sprite *sprite)
function AnimTask_ElectricChargingParticles (line 778) | void AnimTask_ElectricChargingParticles(u8 taskId)
function AnimTask_ElectricChargingParticles_Step (line 803) | static void AnimTask_ElectricChargingParticles_Step(u8 taskId)
function AnimElectricChargingParticles_Step (line 849) | static void AnimElectricChargingParticles_Step(struct Sprite *sprite)
function AnimElectricChargingParticles (line 858) | static void AnimElectricChargingParticles(struct Sprite *sprite)
function AnimGrowingChargeOrb (line 864) | static void AnimGrowingChargeOrb(struct Sprite *sprite)
function AnimElectricPuff (line 881) | static void AnimElectricPuff(struct Sprite *sprite)
function AnimVoltTackleOrbSlide (line 900) | static void AnimVoltTackleOrbSlide(struct Sprite *sprite)
function AnimVoltTackleOrbSlide_Step (line 912) | static void AnimVoltTackleOrbSlide_Step(struct Sprite *sprite)
function AnimTask_VoltTackleAttackerReappear (line 929) | void AnimTask_VoltTackleAttackerReappear(u8 taskId)
function AnimTask_VoltTackleBolt (line 985) | void AnimTask_VoltTackleBolt(u8 taskId)
function bool8 (line 1057) | static bool8 CreateVoltTackleBolt(struct Task *task, u8 taskId)
function AnimVoltTackleBolt (line 1080) | static void AnimVoltTackleBolt(struct Sprite *sprite)
function AnimGrowingShockWaveOrb (line 1090) | static void AnimGrowingShockWaveOrb(struct Sprite *sprite)
function AnimTask_ShockWaveProgressingBolt (line 1107) | void AnimTask_ShockWaveProgressingBolt(u8 taskId)
function bool8 (line 1182) | static bool8 CreateShockWaveBoltSprite(struct Task *task, u8 taskId)
function AnimShockWaveProgressingBolt (line 1217) | static void AnimShockWaveProgressingBolt(struct Sprite *sprite)
function AnimTask_ShockWaveLightning (line 1226) | void AnimTask_ShockWaveLightning(u8 taskId)
function bool8 (line 1256) | static bool8 CreateShockWaveLightningSprite(struct Task *task, u8 taskId)
function AnimShockWaveLightning (line 1273) | static void AnimShockWaveLightning(struct Sprite *sprite)
FILE: src/battle_anim_fight.c
type Sprite (line 8) | struct Sprite
type Sprite (line 9) | struct Sprite
type Sprite (line 10) | struct Sprite
type Sprite (line 11) | struct Sprite
type Sprite (line 12) | struct Sprite
type Sprite (line 13) | struct Sprite
type Sprite (line 14) | struct Sprite
type Sprite (line 15) | struct Sprite
type Sprite (line 16) | struct Sprite
type Sprite (line 17) | struct Sprite
type Sprite (line 18) | struct Sprite
type Sprite (line 19) | struct Sprite
type Sprite (line 20) | struct Sprite
type Sprite (line 21) | struct Sprite
type Sprite (line 22) | struct Sprite
type Sprite (line 23) | struct Sprite
type Sprite (line 24) | struct Sprite
type Sprite (line 25) | struct Sprite
type Sprite (line 26) | struct Sprite
type Sprite (line 27) | struct Sprite
type Sprite (line 28) | struct Sprite
type Sprite (line 29) | struct Sprite
type Sprite (line 30) | struct Sprite
type Sprite (line 31) | struct Sprite
type Sprite (line 32) | struct Sprite
type Sprite (line 33) | struct Sprite
type Sprite (line 34) | struct Sprite
type Sprite (line 35) | struct Sprite
type Sprite (line 36) | struct Sprite
type SpriteTemplate (line 38) | struct SpriteTemplate
type SpriteTemplate (line 88) | struct SpriteTemplate
type SpriteTemplate (line 99) | struct SpriteTemplate
type SpriteTemplate (line 110) | struct SpriteTemplate
type SpriteTemplate (line 121) | struct SpriteTemplate
type SpriteTemplate (line 132) | struct SpriteTemplate
type SpriteTemplate (line 143) | struct SpriteTemplate
type SpriteTemplate (line 167) | struct SpriteTemplate
type SpriteTemplate (line 190) | struct SpriteTemplate
type SpriteTemplate (line 201) | struct SpriteTemplate
type SpriteTemplate (line 212) | struct SpriteTemplate
type SpriteTemplate (line 223) | struct SpriteTemplate
type SpriteTemplate (line 234) | struct SpriteTemplate
type SpriteTemplate (line 259) | struct SpriteTemplate
type SpriteTemplate (line 270) | struct SpriteTemplate
type SpriteTemplate (line 281) | struct SpriteTemplate
type SpriteTemplate (line 292) | struct SpriteTemplate
type SpriteTemplate (line 334) | struct SpriteTemplate
type SpriteTemplate (line 373) | struct SpriteTemplate
type SpriteTemplate (line 396) | struct SpriteTemplate
function AnimUnusedHumanoidFoot (line 407) | static void AnimUnusedHumanoidFoot(struct Sprite *sprite)
function AnimSlideHandOrFootToTarget (line 416) | static void AnimSlideHandOrFootToTarget(struct Sprite *sprite)
function AnimJumpKick (line 428) | static void AnimJumpKick(struct Sprite *sprite)
function AnimBasicFistOrFoot (line 445) | static void AnimBasicFistOrFoot(struct Sprite *sprite)
function AnimFistOrFootRandomPos (line 457) | static void AnimFistOrFootRandomPos(struct Sprite *sprite)
function AnimFistOrFootRandomPos_Step (line 495) | static void AnimFistOrFootRandomPos_Step(struct Sprite *sprite)
function AnimCrossChopHand (line 512) | static void AnimCrossChopHand(struct Sprite *sprite)
function AnimCrossChopHand_Step (line 530) | static void AnimCrossChopHand_Step(struct Sprite *sprite)
function AnimSlidingKick (line 547) | static void AnimSlidingKick(struct Sprite *sprite)
function AnimSlidingKick_Step (line 566) | static void AnimSlidingKick_Step(struct Sprite *sprite)
function AnimSpinningKickOrPunch (line 585) | static void AnimSpinningKickOrPunch(struct Sprite *sprite)
function AnimSpinningKickOrPunchFinish (line 594) | static void AnimSpinningKickOrPunchFinish(struct Sprite *sprite)
function AnimStompFoot (line 607) | static void AnimStompFoot(struct Sprite *sprite)
function AnimStompFootStep (line 614) | static void AnimStompFootStep(struct Sprite *sprite)
function AnimStompFootEnd (line 626) | static void AnimStompFootEnd(struct Sprite *sprite)
function AnimDizzyPunchDuck (line 633) | static void AnimDizzyPunchDuck(struct Sprite *sprite)
function AnimBrickBreakWall (line 656) | static void AnimBrickBreakWall(struct Sprite *sprite)
function AnimBrickBreakWall_Step (line 677) | static void AnimBrickBreakWall_Step(struct Sprite *sprite)
function AnimBrickBreakWallShard (line 708) | static void AnimBrickBreakWallShard(struct Sprite *sprite)
function AnimBrickBreakWallShard_Step (line 747) | static void AnimBrickBreakWallShard_Step(struct Sprite *sprite)
function AnimSuperpowerOrb (line 755) | static void AnimSuperpowerOrb(struct Sprite *sprite)
function AnimSuperpowerOrb_Step (line 775) | static void AnimSuperpowerOrb_Step(struct Sprite *sprite)
function AnimSuperpowerRock (line 792) | static void AnimSuperpowerRock(struct Sprite *sprite)
function AnimSuperpowerRock_Step1 (line 803) | static void AnimSuperpowerRock_Step1(struct Sprite *sprite)
function AnimSuperpowerRock_Step2 (line 834) | static void AnimSuperpowerRock_Step2(struct Sprite *sprite)
function AnimSuperpowerFireball (line 847) | static void AnimSuperpowerFireball(struct Sprite *sprite)
function AnimArmThrustHit_Step (line 877) | static void AnimArmThrustHit_Step(struct Sprite *sprite)
function AnimArmThrustHit (line 884) | static void AnimArmThrustHit(struct Sprite *sprite)
function AnimRevengeScratch (line 908) | static void AnimRevengeScratch(struct Sprite *sprite)
function AnimFocusPunchFist (line 923) | static void AnimFocusPunchFist(struct Sprite *sprite)
function AnimTask_MoveSkyUppercutBg (line 934) | void AnimTask_MoveSkyUppercutBg(u8 taskId)
FILE: src/battle_anim_fire.c
type Sprite (line 10) | struct Sprite
type Sprite (line 11) | struct Sprite
type Sprite (line 12) | struct Sprite
type Sprite (line 13) | struct Sprite
type Sprite (line 14) | struct Sprite
type Sprite (line 15) | struct Sprite
type Sprite (line 16) | struct Sprite
type Sprite (line 17) | struct Sprite
type Sprite (line 18) | struct Sprite
type Sprite (line 19) | struct Sprite
type Sprite (line 20) | struct Sprite
type Sprite (line 21) | struct Sprite
type Sprite (line 22) | struct Sprite
type Sprite (line 23) | struct Sprite
type Sprite (line 24) | struct Sprite
type Sprite (line 25) | struct Sprite
type Sprite (line 26) | struct Sprite
type Sprite (line 27) | struct Sprite
type Sprite (line 28) | struct Sprite
type Sprite (line 29) | struct Sprite
type Sprite (line 30) | struct Sprite
type Sprite (line 31) | struct Sprite
type Sprite (line 32) | struct Sprite
type Sprite (line 36) | struct Sprite
type Sprite (line 37) | struct Sprite
type Sprite (line 38) | struct Sprite
type Sprite (line 39) | struct Sprite
type SpriteTemplate (line 64) | struct SpriteTemplate
type SpriteTemplate (line 75) | struct SpriteTemplate
type SpriteTemplate (line 131) | struct SpriteTemplate
type SpriteTemplate (line 142) | struct SpriteTemplate
type SpriteTemplate (line 153) | struct SpriteTemplate
type SpriteTemplate (line 164) | struct SpriteTemplate
type SpriteTemplate (line 188) | struct SpriteTemplate
type SpriteTemplate (line 211) | struct SpriteTemplate
type SpriteTemplate (line 237) | struct SpriteTemplate
type SpriteTemplate (line 248) | struct SpriteTemplate
type SpriteTemplate (line 259) | struct SpriteTemplate
type SpriteTemplate (line 270) | struct SpriteTemplate
type SpriteTemplate (line 311) | struct SpriteTemplate
type SpriteTemplate (line 322) | struct SpriteTemplate
type SpriteTemplate (line 333) | struct SpriteTemplate
type SpriteTemplate (line 344) | struct SpriteTemplate
type SpriteTemplate (line 366) | struct SpriteTemplate
type SpriteTemplate (line 412) | struct SpriteTemplate
type SpriteTemplate (line 437) | struct SpriteTemplate
function AnimFireSpiralInward (line 462) | static void AnimFireSpiralInward(struct Sprite *sprite)
function AnimFireSpread (line 475) | static void AnimFireSpread(struct Sprite *sprite)
function AnimFirePlume (line 486) | static void AnimFirePlume(struct Sprite *sprite)
function AnimLargeFlame (line 507) | static void AnimLargeFlame(struct Sprite *sprite)
function AnimLargeFlame_Step (line 527) | static void AnimLargeFlame_Step(struct Sprite *sprite)
function AnimUnusedSmallEmber (line 538) | static void AnimUnusedSmallEmber(struct Sprite *sprite)
function AnimUnusedSmallEmber_Step (line 560) | static void AnimUnusedSmallEmber_Step(struct Sprite *sprite)
function AnimSunlight (line 583) | static void AnimSunlight(struct Sprite *sprite)
function AnimEmberFlare (line 603) | static void AnimEmberFlare(struct Sprite *sprite)
function AnimBurnFlame (line 613) | static void AnimBurnFlame(struct Sprite *sprite)
function AnimFireRing (line 628) | static void AnimFireRing(struct Sprite *sprite)
function AnimFireRing_Step1 (line 636) | static void AnimFireRing_Step1(struct Sprite *sprite)
function AnimFireRing_Step2 (line 652) | static void AnimFireRing_Step2(struct Sprite *sprite)
function AnimFireRing_Step3 (line 672) | static void AnimFireRing_Step3(struct Sprite *sprite)
function UpdateFireRingCircleOffset (line 679) | static void UpdateFireRingCircleOffset(struct Sprite *sprite)
function AnimFireCross (line 692) | static void AnimFireCross(struct Sprite *sprite)
function AnimFireSpiralOutward (line 703) | static void AnimFireSpiralOutward(struct Sprite *sprite)
function AnimFireSpiralOutward_Step1 (line 713) | static void AnimFireSpiralOutward_Step1(struct Sprite *sprite)
function AnimFireSpiralOutward_Step2 (line 722) | static void AnimFireSpiralOutward_Step2(struct Sprite *sprite)
function AnimTask_EruptionLaunchRocks (line 754) | void AnimTask_EruptionLaunchRocks(u8 taskId)
function AnimTask_EruptionLaunchRocks_Step (line 770) | static void AnimTask_EruptionLaunchRocks_Step(u8 taskId)
function CreateEruptionLaunchRocks (line 877) | static void CreateEruptionLaunchRocks(u8 spriteId, u8 taskId, u8 activeS...
function AnimEruptionLaunchRock (line 916) | static void AnimEruptionLaunchRock(struct Sprite *sprite)
function u16 (line 927) | static u16 GetEruptionLaunchRockInitialYPos(u8 spriteId)
function InitEruptionLaunchRockCoordData (line 939) | static void InitEruptionLaunchRockCoordData(struct Sprite *sprite, s16 s...
function UpdateEruptionLaunchRockPos (line 949) | static void UpdateEruptionLaunchRockPos(struct Sprite *sprite)
function AnimEruptionFallingRock (line 994) | static void AnimEruptionFallingRock(struct Sprite *sprite)
function AnimEruptionFallingRock_Step (line 1009) | static void AnimEruptionFallingRock_Step(struct Sprite *sprite)
function AnimWillOWispOrb (line 1057) | static void AnimWillOWispOrb(struct Sprite *sprite)
function AnimWillOWispOrb_Step (line 1106) | static void AnimWillOWispOrb_Step(struct Sprite *sprite)
function AnimWillOWispFire (line 1125) | static void AnimWillOWispFire(struct Sprite *sprite)
function AnimTask_MoveHeatWaveTargets (line 1157) | void AnimTask_MoveHeatWaveTargets(u8 taskId)
function AnimTask_MoveHeatWaveTargets_Step (line 1168) | static void AnimTask_MoveHeatWaveTargets_Step(u8 taskId)
function AnimTask_BlendBackground (line 1238) | void AnimTask_BlendBackground(u8 taskId)
function AnimTask_ShakeTargetInPattern (line 1254) | void AnimTask_ShakeTargetInPattern(u8 taskId)
FILE: src/battle_anim_flying.c
type Sprite (line 8) | struct Sprite
type Sprite (line 9) | struct Sprite
type Sprite (line 10) | struct Sprite
type Sprite (line 11) | struct Sprite
type Sprite (line 12) | struct Sprite
type Sprite (line 13) | struct Sprite
type Sprite (line 14) | struct Sprite
type Sprite (line 15) | struct Sprite
type Sprite (line 16) | struct Sprite
type Sprite (line 17) | struct Sprite
type Sprite (line 18) | struct Sprite
type Sprite (line 19) | struct Sprite
type Sprite (line 20) | struct Sprite
type Sprite (line 21) | struct Sprite
type Sprite (line 22) | struct Sprite
type Sprite (line 23) | struct Sprite
type Sprite (line 24) | struct Sprite
type Sprite (line 26) | struct Sprite
type Sprite (line 27) | struct Sprite
type Sprite (line 28) | struct Sprite
type Sprite (line 29) | struct Sprite
type Sprite (line 30) | struct Sprite
type Sprite (line 31) | struct Sprite
type Sprite (line 32) | struct Sprite
type Sprite (line 33) | struct Sprite
type Sprite (line 34) | struct Sprite
type Sprite (line 35) | struct Sprite
type Sprite (line 36) | struct Sprite
type SpriteTemplate (line 38) | struct SpriteTemplate
type SpriteTemplate (line 61) | struct SpriteTemplate
type SpriteTemplate (line 86) | struct SpriteTemplate
type SpriteTemplate (line 129) | struct SpriteTemplate
type SpriteTemplate (line 140) | struct SpriteTemplate
type SpriteTemplate (line 169) | struct SpriteTemplate
type SpriteTemplate (line 182) | struct SpriteTemplate
type SpriteTemplate (line 193) | struct SpriteTemplate
type SpriteTemplate (line 219) | struct SpriteTemplate
type SpriteTemplate (line 245) | struct SpriteTemplate
type SpriteTemplate (line 267) | struct SpriteTemplate
type SpriteTemplate (line 292) | struct SpriteTemplate
type SpriteTemplate (line 316) | struct SpriteTemplate
type SpriteTemplate (line 327) | struct SpriteTemplate
type SpriteTemplate (line 338) | struct SpriteTemplate
type SpriteTemplate (line 349) | struct SpriteTemplate
function AnimEllipticalGust (line 360) | static void AnimEllipticalGust(struct Sprite *sprite)
function AnimEllipticalGust_Step (line 369) | static void AnimEllipticalGust_Step(struct Sprite *sprite)
function AnimTask_AnimateGustTornadoPalette (line 380) | void AnimTask_AnimateGustTornadoPalette(u8 taskId)
function AnimTask_AnimateGustTornadoPalette_Step (line 388) | static void AnimTask_AnimateGustTornadoPalette_Step(u8 taskId)
function AnimGustToTarget (line 412) | static void AnimGustToTarget(struct Sprite *sprite)
function AnimGustToTarget_Step (line 427) | static void AnimGustToTarget_Step(struct Sprite *sprite)
function AnimAirWaveCrescent (line 433) | static void AnimAirWaveCrescent(struct Sprite *sprite)
function AnimFlyBallUp (line 468) | static void AnimFlyBallUp(struct Sprite *sprite)
function AnimFlyBallUp_Step (line 477) | static void AnimFlyBallUp_Step(struct Sprite *sprite)
function AnimFlyBallAttack (line 492) | static void AnimFlyBallAttack(struct Sprite *sprite)
function AnimFlyBallAttack_Step (line 514) | static void AnimFlyBallAttack_Step(struct Sprite *sprite)
function DestroyAnimSpriteAfterTimer (line 533) | void DestroyAnimSpriteAfterTimer(struct Sprite *sprite)
type FeatherDanceData (line 547) | struct FeatherDanceData
function AnimFallingFeather (line 565) | static void AnimFallingFeather(struct Sprite *sprite)
function AnimFallingFeather_Step (line 635) | static void AnimFallingFeather_Step(struct Sprite *sprite)
function AnimUnusedBubbleThrow (line 884) | static void AnimUnusedBubbleThrow(struct Sprite *sprite)
function AnimUnusedFeather (line 892) | static void AnimUnusedFeather(struct Sprite *sprite)
function AnimUnusedFeather_Step (line 939) | static void AnimUnusedFeather_Step(struct Sprite *sprite)
function AnimWhirlwindLine (line 988) | static void AnimWhirlwindLine(struct Sprite *sprite)
function AnimWhirlwindLine_Step (line 1011) | static void AnimWhirlwindLine_Step(struct Sprite *sprite)
function AnimTask_DrillPeckHitSplats (line 1025) | void AnimTask_DrillPeckHitSplats(u8 taskId)
function AnimBounceBallShrink (line 1044) | static void AnimBounceBallShrink(struct Sprite *sprite)
function AnimBounceBallLand (line 1060) | static void AnimBounceBallLand(struct Sprite *sprite)
function AnimDiveBall (line 1085) | static void AnimDiveBall(struct Sprite *sprite)
function AnimDiveBall_Step1 (line 1094) | static void AnimDiveBall_Step1(struct Sprite *sprite)
function AnimDiveBall_Step2 (line 1113) | static void AnimDiveBall_Step2(struct Sprite *sprite)
function AnimDiveWaterSplash (line 1122) | static void AnimDiveWaterSplash(struct Sprite *sprite)
function AnimSprayWaterDroplet (line 1168) | static void AnimSprayWaterDroplet(struct Sprite *sprite)
function AnimSprayWaterDroplet_Step (line 1198) | static void AnimSprayWaterDroplet_Step(struct Sprite *sprite)
function AnimUnusedFlashingLight (line 1218) | static void AnimUnusedFlashingLight(struct Sprite *sprite)
function AnimUnusedFlashingLight_Step (line 1225) | static void AnimUnusedFlashingLight_Step(struct Sprite *sprite)
function AnimSkyAttackBird (line 1244) | static void AnimSkyAttackBird(struct Sprite *sprite)
function AnimSkyAttackBird_Step (line 1262) | static void AnimSkyAttackBird_Step(struct Sprite *sprite)
function AnimTask_SetAttackerVisibility (line 1274) | static void AnimTask_SetAttackerVisibility(u8 taskId)
FILE: src/battle_anim_ghost.c
type Sprite (line 11) | struct Sprite
type Sprite (line 12) | struct Sprite
type Sprite (line 13) | struct Sprite
type Sprite (line 14) | struct Sprite
type Sprite (line 15) | struct Sprite
type Sprite (line 16) | struct Sprite
type Sprite (line 19) | struct Sprite
type Sprite (line 20) | struct Sprite
type Sprite (line 21) | struct Sprite
type Sprite (line 22) | struct Sprite
type Sprite (line 27) | struct Sprite
type Sprite (line 28) | struct Sprite
type Sprite (line 32) | struct Sprite
type Sprite (line 33) | struct Sprite
type Sprite (line 34) | struct Sprite
type Sprite (line 35) | struct Sprite
type Sprite (line 36) | struct Sprite
type Sprite (line 37) | struct Sprite
type Sprite (line 39) | struct Sprite
type Sprite (line 40) | struct Sprite
type Sprite (line 44) | struct Sprite
type SpriteTemplate (line 58) | struct SpriteTemplate
type SpriteTemplate (line 69) | struct SpriteTemplate
type SpriteTemplate (line 91) | struct SpriteTemplate
type SpriteTemplate (line 117) | struct SpriteTemplate
type SpriteTemplate (line 139) | struct SpriteTemplate
type SpriteTemplate (line 150) | struct SpriteTemplate
type SpriteTemplate (line 161) | struct SpriteTemplate
type SpriteTemplate (line 172) | struct SpriteTemplate
type SpriteTemplate (line 197) | struct SpriteTemplate
type SpriteTemplate (line 209) | struct SpriteTemplate
function AnimConfuseRayBallBounce (line 220) | static void AnimConfuseRayBallBounce(struct Sprite *sprite)
function AnimConfuseRayBallBounce_Step1 (line 235) | static void AnimConfuseRayBallBounce_Step1(struct Sprite *sprite)
function AnimConfuseRayBallBounce_Step2 (line 257) | static void AnimConfuseRayBallBounce_Step2(struct Sprite *sprite)
function UpdateConfuseRayBallBlend (line 281) | static void UpdateConfuseRayBallBlend(struct Sprite *sprite)
function AnimConfuseRayBallSpiral (line 308) | static void AnimConfuseRayBallSpiral(struct Sprite *sprite)
function AnimConfuseRayBallSpiral_Step (line 315) | static void AnimConfuseRayBallSpiral_Step(struct Sprite *sprite)
function AnimTask_NightShadeClone (line 335) | void AnimTask_NightShadeClone(u8 taskId)
function AnimTask_NightShadeClone_Step1 (line 352) | static void AnimTask_NightShadeClone_Step1(u8 taskId)
function AnimTask_NightShadeClone_Step2 (line 367) | static void AnimTask_NightShadeClone_Step2(u8 taskId)
function AnimShadowBall (line 396) | static void AnimShadowBall(struct Sprite *sprite)
function AnimShadowBall_Step (line 414) | static void AnimShadowBall_Step(struct Sprite *sprite)
function AnimLick (line 458) | static void AnimLick(struct Sprite *sprite)
function AnimLick_Step (line 464) | static void AnimLick_Step(struct Sprite *sprite)
function AnimTask_NightmareClone (line 511) | void AnimTask_NightmareClone(u8 taskId)
function AnimTask_NightmareClone_Step (line 546) | static void AnimTask_NightmareClone_Step(u8 taskId)
function AnimTask_SpiteTargetShadow (line 584) | void AnimTask_SpiteTargetShadow(u8 taskId)
function AnimTask_SpiteTargetShadow_Step1 (line 594) | static void AnimTask_SpiteTargetShadow_Step1(u8 taskId)
function AnimTask_SpiteTargetShadow_Step2 (line 684) | static void AnimTask_SpiteTargetShadow_Step2(u8 taskId)
function AnimTask_SpiteTargetShadow_Step3 (line 703) | static void AnimTask_SpiteTargetShadow_Step3(u8 taskId)
function AnimDestinyBondWhiteShadow (line 737) | static void AnimDestinyBondWhiteShadow(struct Sprite *sprite)
function AnimDestinyBondWhiteShadow_Step (line 773) | static void AnimDestinyBondWhiteShadow_Step(struct Sprite *sprite)
function AnimTask_DestinyBondWhiteShadow (line 786) | void AnimTask_DestinyBondWhiteShadow(u8 taskId)
function AnimTask_DestinyBondWhiteShadow_Step (line 854) | static void AnimTask_DestinyBondWhiteShadow_Step(u8 taskId)
function AnimTask_CurseStretchingBlackBg (line 926) | void AnimTask_CurseStretchingBlackBg(u8 taskId)
function AnimTask_CurseStretchingBlackBg_Step1 (line 959) | static void AnimTask_CurseStretchingBlackBg_Step1(u8 taskId)
function AnimTask_CurseStretchingBlackBg_Step2 (line 993) | static void AnimTask_CurseStretchingBlackBg_Step2(u8 taskId)
function AnimCurseNail (line 1009) | static void AnimCurseNail(struct Sprite *sprite)
function AnimCurseNail_Step1 (line 1031) | static void AnimCurseNail_Step1(struct Sprite *sprite)
function AnimCurseNail_Step2 (line 1062) | static void AnimCurseNail_Step2(struct Sprite *sprite)
function AnimCurseNail_End (line 1089) | static void AnimCurseNail_End(struct Sprite *sprite)
function AnimGhostStatusSprite (line 1098) | static void AnimGhostStatusSprite(struct Sprite *sprite)
function AnimGhostStatusSprite_End (line 1135) | static void AnimGhostStatusSprite_End(struct Sprite *sprite)
function AnimTask_GrudgeFlames (line 1142) | void AnimTask_GrudgeFlames(u8 taskId)
function AnimTask_GrudgeFlames_Step (line 1162) | static void AnimTask_GrudgeFlames_Step(u8 taskId)
function AnimGrudgeFlame (line 1240) | static void AnimGrudgeFlame(struct Sprite *sprite)
function AnimTask_GhostGetOut (line 1267) | void AnimTask_GhostGetOut(u8 taskId)
function AnimTask_GhostGetOut_Step1 (line 1276) | static void AnimTask_GhostGetOut_Step1(u8 taskId)
function AnimTask_GhostGetOut_Step2 (line 1379) | static void AnimTask_GhostGetOut_Step2(u8 taskId)
function AnimTask_GhostGetOut_Step3 (line 1398) | static void AnimTask_GhostGetOut_Step3(u8 taskId)
function AnimMonMoveCircular (line 1454) | static void AnimMonMoveCircular(struct Sprite *sprite)
function AnimMonMoveCircular_Step (line 1466) | static void AnimMonMoveCircular_Step(struct Sprite *sprite)
FILE: src/battle_anim_ground.c
type Sprite (line 8) | struct Sprite
type Sprite (line 9) | struct Sprite
type Sprite (line 10) | struct Sprite
type Sprite (line 11) | struct Sprite
type Sprite (line 12) | struct Sprite
type Sprite (line 13) | struct Sprite
type Sprite (line 14) | struct Sprite
type Sprite (line 15) | struct Sprite
type Sprite (line 16) | struct Sprite
type Sprite (line 17) | struct Sprite
type Sprite (line 23) | struct Sprite
type Task (line 26) | struct Task
type SpriteTemplate (line 51) | struct SpriteTemplate
type SpriteTemplate (line 62) | struct SpriteTemplate
type SpriteTemplate (line 73) | struct SpriteTemplate
type SpriteTemplate (line 95) | struct SpriteTemplate
type SpriteTemplate (line 106) | struct SpriteTemplate
type SpriteTemplate (line 117) | struct SpriteTemplate
type SpriteTemplate (line 128) | struct SpriteTemplate
function AnimBonemerangProjectile (line 141) | static void AnimBonemerangProjectile(struct Sprite *sprite)
function AnimBonemerangProjectile_Step (line 153) | static void AnimBonemerangProjectile_Step(struct Sprite *sprite)
function AnimBonemerangProjectile_End (line 170) | static void AnimBonemerangProjectile_End(struct Sprite *sprite)
function AnimBoneHitProjectile (line 183) | static void AnimBoneHitProjectile(struct Sprite *sprite)
function AnimDirtScatter (line 201) | static void AnimDirtScatter(struct Sprite *sprite)
function AnimMudSportDirt (line 227) | static void AnimMudSportDirt(struct Sprite *sprite)
function AnimMudSportDirtRising (line 246) | static void AnimMudSportDirtRising(struct Sprite *sprite)
function AnimMudSportDirtFalling (line 258) | static void AnimMudSportDirtFalling(struct Sprite *sprite)
function AnimTask_DigDownMovement (line 282) | void AnimTask_DigDownMovement(u8 taskId)
function AnimTask_DigBounceMovement (line 293) | static void AnimTask_DigBounceMovement(u8 taskId)
function AnimTask_DigDisappear (line 361) | static void AnimTask_DigDisappear(u8 taskId)
function AnimTask_DigUpMovement (line 375) | void AnimTask_DigUpMovement(u8 taskId)
function AnimTask_DigSetVisibleUnderground (line 387) | static void AnimTask_DigSetVisibleUnderground(u8 taskId)
function AnimTask_DigRiseUpFromHole (line 405) | static void AnimTask_DigRiseUpFromHole(u8 taskId)
function SetDigScanlineEffect (line 446) | static void SetDigScanlineEffect(u8 useBG1, s16 y, s16 endY)
function AnimDirtPlumeParticle (line 488) | static void AnimDirtPlumeParticle(struct Sprite *sprite)
function AnimDirtPlumeParticle_Step (line 513) | static void AnimDirtPlumeParticle_Step(struct Sprite *sprite)
function AnimDigDirtMound (line 525) | static void AnimDigDirtMound(struct Sprite *sprite)
function AnimTask_HorizontalShake (line 555) | void AnimTask_HorizontalShake(u8 taskId)
function AnimTask_ShakeTerrain (line 599) | static void AnimTask_ShakeTerrain(u8 taskId)
function AnimTask_ShakeBattlers (line 646) | static void AnimTask_ShakeBattlers(u8 taskId)
function SetBattlersXOffsetForShake (line 688) | static void SetBattlersXOffsetForShake(struct Task *task)
function AnimTask_IsPowerOver99 (line 713) | void AnimTask_IsPowerOver99(u8 taskId)
function AnimTask_PositionFissureBgOnBattler (line 719) | void AnimTask_PositionFissureBgOnBattler(u8 taskId)
function WaitForFissureCompletion (line 735) | static void WaitForFissureCompletion(u8 taskId)
FILE: src/battle_anim_ice.c
type HailStruct (line 10) | struct HailStruct
type Sprite (line 18) | struct Sprite
type Sprite (line 19) | struct Sprite
type Sprite (line 20) | struct Sprite
type Sprite (line 21) | struct Sprite
type Sprite (line 22) | struct Sprite
type Sprite (line 23) | struct Sprite
type Sprite (line 24) | struct Sprite
type Sprite (line 25) | struct Sprite
type Sprite (line 26) | struct Sprite
type Sprite (line 27) | struct Sprite
type Sprite (line 28) | struct Sprite
type Sprite (line 29) | struct Sprite
type Sprite (line 30) | struct Sprite
type Sprite (line 31) | struct Sprite
type Sprite (line 32) | struct Sprite
type Sprite (line 33) | struct Sprite
type Sprite (line 34) | struct Sprite
type Sprite (line 35) | struct Sprite
type Sprite (line 36) | struct Sprite
type Sprite (line 37) | struct Sprite
type Sprite (line 38) | struct Sprite
type Sprite (line 39) | struct Sprite
type Sprite (line 40) | struct Sprite
type Sprite (line 41) | struct Sprite
type SpriteTemplate (line 59) | struct SpriteTemplate
type SpriteTemplate (line 149) | struct SpriteTemplate
type SpriteTemplate (line 160) | struct SpriteTemplate
type SpriteTemplate (line 182) | struct SpriteTemplate
type SpriteTemplate (line 193) | struct SpriteTemplate
type SpriteTemplate (line 217) | struct SpriteTemplate
type SpriteTemplate (line 228) | struct SpriteTemplate
type SpriteTemplate (line 239) | struct SpriteTemplate
type SpriteTemplate (line 250) | struct SpriteTemplate
type SpriteTemplate (line 261) | struct SpriteTemplate
Copy disabled (too large)
Download .json
Condensed preview — 6180 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (26,271K chars).
[
{
"path": ".gitattributes",
"chars": 416,
"preview": "*.pal text eol=crlf\n\n*.s text eol=lf\n*.txt text eol=lf\nMakefile text eol=lf\n*.mk text eol=lf\n*.c text eol=lf\n*.h text eo"
},
{
"path": ".github/calcrom/calcrom.pl",
"chars": 6264,
"preview": "#!/usr/bin/perl\n\n# Usage:\n# calcrom.pl <mapfile> [--verbose][--data]\n#\n# mapfile: path to .map file output by LD\n# "
},
{
"path": ".github/calcrom/webhook.sh",
"chars": 492,
"preview": "#!/bin/bash -ex\n\nbuild_name=$1\nmap_file=$build_name.map\nif [ ! -f $map_file ]; then\n echo \"$map_file does not exist!\"\n "
},
{
"path": ".github/workflows/build.yml",
"chars": 2112,
"preview": "name: CI\n\non:\n push:\n branches: [ master ]\n pull_request:\n\njobs:\n build:\n runs-on: ubuntu-latest\n env:\n "
},
{
"path": ".gitignore",
"chars": 730,
"preview": "*.1bpp\n*.4bpp\n*.8bpp\n*.DS_Store\n*.bak\n*.bat\n*.diff\n*.dump\n*.elf\n*.exe\n*.fwjpnfont\n*.gba\n!data/*.gba\n*.sgm\n*.sa1\n*.sg1\n*."
},
{
"path": "FAQ.md",
"chars": 17220,
"preview": " # **Frequently Asked Questions**\n\n### How can I support development?\n[I have a Ko-fi link](https://ko-fi.com/deokishisu"
},
{
"path": "FEATURES.md",
"chars": 17844,
"preview": "## Features\n\n#### Mechanical Additions:\n- A Key System has been implemented, similar to Black 2 and White 2. Press the L"
},
{
"path": "INSTALL.md",
"chars": 28928,
"preview": "# Instructions\n\nThese instructions explain how to set up the tools required to build **pokefirered**, which assembles th"
},
{
"path": "Makefile",
"chars": 12086,
"preview": "TOOLCHAIN := $(DEVKITARM)\nCOMPARE ?= 0\n\n# don't use dkP's base_tools anymore\n# because the redefinition of $(CC) conflic"
},
{
"path": "README.md",
"chars": 923,
"preview": "# Pokémon FireRed and LeafGreen+\n\nThis is the repository for the Pokémon FireRed and LeafGreen+ hack, based on [pret's d"
},
{
"path": "asm/macros/asm.inc",
"chars": 265,
"preview": "\t.ifndef GUARD_ASM_MACROS_ASM_INC\n\t.set GUARD_ASM_MACROS_ASM_INC, 1\n\n\t.macro inc x\n\t.set \\x, \\x + 1\n\t.endm\n\n\t.macro enum"
},
{
"path": "asm/macros/battle_ai_script.inc",
"chars": 8963,
"preview": "\t.macro if_random_less_than percent:req, ptr:req\n\t.byte 0x00\n\t.byte \\percent\n\t.4byte \\ptr\n\t.endm\n\n\t@ unused\n\t.macro if_r"
},
{
"path": "asm/macros/battle_anim.inc",
"chars": 3376,
"preview": "\t.macro loadsprite id\n\t.byte 0x00\n\t.2byte \\id\n\t.endm\n\n\t.macro unloadsprite id\n\t.byte 0x01\n\t.2byte \\id\n\t.endm\n\n\t.macro sp"
},
{
"path": "asm/macros/battle_anim_script.inc",
"chars": 4279,
"preview": "@ commands\n\n\t.macro loadspritegfx tag:req\n\t.byte 0x0\n\t.2byte \\tag\n\t.endm\n\n\t.macro unloadspritegfx tag:req\n\t.byte 0x1\n\t.2"
},
{
"path": "asm/macros/battle_script.inc",
"chars": 20660,
"preview": "@ commands\n\t.macro attackcanceler\n\t.byte 0x0\n\t.endm\n\n\t.macro accuracycheck param0:req, param1:req\n\t.byte 0x1\n\t.4byte \\pa"
},
{
"path": "asm/macros/contest_ai_script.inc",
"chars": 6876,
"preview": "@ Add a positive/negative value to the score of the move being evaluated.\n\n\t.macro score score\n\t.byte 0x00\n\t.byte \\score"
},
{
"path": "asm/macros/ec.inc",
"chars": 174,
"preview": "\n\t.macro ec_duplicates count\n\t.2byte 0xff00 + \\count\n\t.endm\n\n\t.macro ec_words_by_letter label\n\t.2byte (gEasyChatWordsByL"
},
{
"path": "asm/macros/event.inc",
"chars": 57196,
"preview": "\t@ Does nothing.\n\t.macro nop\n\t.byte 0x00\n\t.endm\n\n\t@ Does nothing.\n\t.macro nop1\n\t.byte 0x01\n\t.endm\n\n\t@ Terminates script "
},
{
"path": "asm/macros/field_effect_script.inc",
"chars": 698,
"preview": "\t.macro loadtiles address\n\t.byte 0\n\t.4byte \\address\n\t.endm\n\n\t.macro loadfadedpal address\n\t.byte 1\n\t.4byte \\address\n\t.end"
},
{
"path": "asm/macros/function.inc",
"chars": 430,
"preview": "\t.macro arm_func_start name\n\t.align 2, 0\n\t.global \\name\n\t.arm\n\t.type \\name, function\n\t.endm\n\n\t.macro arm_func_end name\n\t"
},
{
"path": "asm/macros/m4a.inc",
"chars": 270,
"preview": "\t.macro song label, music_player, unknown\n\t.4byte \\label\n\t.2byte \\music_player\n\t.2byte \\unknown\n\t.endm\n\n\t.macro music_pl"
},
{
"path": "asm/macros/map.inc",
"chars": 5899,
"preview": "@ Most of the macros in this file are for arranging map event data, and are output by mapjson using data from each map's"
},
{
"path": "asm/macros/movement.inc",
"chars": 13520,
"preview": "\t.macro create_movement_action name:req, value:req\n\t.macro \\name\n\t.byte \\value\n\t.endm\n\t.endm\n\n\tcreate_movement_action fa"
},
{
"path": "asm/macros/music_voice.inc",
"chars": 4876,
"preview": "\t.macro voice_directsound base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, relea"
},
{
"path": "asm/macros/trainer_tower.inc",
"chars": 4409,
"preview": "\t@ Sets NPC gfx and the floor layout depending on current challenge and floor\n\t.macro ttower_initfloor\n\tsetvar VAR_0x800"
},
{
"path": "asm/macros.inc",
"chars": 3596,
"preview": "\t.include \"asm/macros/asm.inc\"\n\t.include \"asm/macros/function.inc\"\n\t.include \"asm/macros/movement.inc\"\n\t.include \"asm/ma"
},
{
"path": "asmdiff.sh",
"chars": 822,
"preview": "#!/bin/bash\n\nif [ \"$1\" == \"firered\" ] || [ \"$1\" == \"leafgreen\" ] || [ \"$1\" == \"firered_rev1\" ] || [ \"$1\" == \"leafgreen_r"
},
{
"path": "build_tools.sh",
"chars": 368,
"preview": "#!/bin/sh\nmake -C tools/aif2pcm CXX=${1:-g++}\nmake -C tools/bin2c CXX=${1:-g++}\nmake -C tools/gbafix CXX=${1:-g++}\nmake "
},
{
"path": "charmap.txt",
"chars": 21816,
"preview": "' ' = 00\n'À' = 01\n'Á' = 02\n'Â' = 03\n'Ç' = 04\n'È' = 05\n'É' = 06\n'"
},
{
"path": "common_syms/AgbRfu_LinkManager.txt",
"chars": 5,
"preview": "lman\n"
},
{
"path": "common_syms/agb_flash.txt",
"chars": 165,
"preview": "gFlashTimeoutFlag\nPollFlashStatus\nWaitForFlashWrite\nProgramFlashSector\ngFlash\nProgramFlashByte\ngFlashNumRemainingBytes\nE"
},
{
"path": "common_syms/battle_anim_special.txt",
"chars": 54,
"preview": "gMonShrinkDuration\ngMonShrinkDelta\ngMonShrinkDistance\n"
},
{
"path": "common_syms/battle_controller_pokedude.txt",
"chars": 23,
"preview": "gPokedudeBattlerStates\n"
},
{
"path": "common_syms/battle_main.txt",
"chars": 181,
"preview": "gPreBattleCallback1\ngBattleMainFunc\ngBattleResults\ngLeveledUpInBattle\ngBattlerControllerFuncs\ngHealthboxSpriteIds\ngMulti"
},
{
"path": "common_syms/berry_fix_program.txt",
"chars": 64,
"preview": "gMultibootStart\ngMultibootStatus\ngMultibootSize\ngMultibootParam\n"
},
{
"path": "common_syms/bg.txt",
"chars": 28,
"preview": "gWindowTileAutoAllocEnabled\n"
},
{
"path": "common_syms/cable_club.txt",
"chars": 23,
"preview": "UnusedVarNeededToMatch\n"
},
{
"path": "common_syms/ereader_screen.txt",
"chars": 13,
"preview": "gEReaderData\n"
},
{
"path": "common_syms/event_data.txt",
"chars": 32,
"preview": "gLastQuestLogStoredFlagOrVarIdx\n"
},
{
"path": "common_syms/evolution_scene.txt",
"chars": 20,
"preview": "gCB2_AfterEvolution\n"
},
{
"path": "common_syms/fame_checker.txt",
"chars": 56,
"preview": "gFameChecker_ListMenuTemplate\ngIconDescriptionBoxIsOpen\n"
},
{
"path": "common_syms/field_camera.txt",
"chars": 63,
"preview": "gFieldCamera\ngTotalCameraPixelOffsetY\ngTotalCameraPixelOffsetX\n"
},
{
"path": "common_syms/field_control_avatar.txt",
"chars": 18,
"preview": "gFieldInputRecord\n"
},
{
"path": "common_syms/field_specials.txt",
"chars": 66,
"preview": "sFieldSpecialsListMenuTemplate\nsFieldSpecialsListMenuScrollBuffer\n"
},
{
"path": "common_syms/fieldmap.txt",
"chars": 5,
"preview": "VMap\n"
},
{
"path": "common_syms/help_system.txt",
"chars": 38,
"preview": "gHelpSystemState\ngHelpContextIdBackup\n"
},
{
"path": "common_syms/help_system_util.txt",
"chars": 19,
"preview": "gHelpSystemEnabled\n"
},
{
"path": "common_syms/image_processing_effects.txt",
"chars": 164,
"preview": "gCanvasColumnStart\ngCanvasPixels\ngCanvasRowEnd\ngCanvasHeight\ngCanvasColumnEnd\ngCanvasRowStart\ngCanvasMonPersonality\ngCan"
},
{
"path": "common_syms/librfu_rfu.txt",
"chars": 71,
"preview": "gRfuSlotStatusUNI\ngRfuSlotStatusNI\ngRfuLinkStatus\ngRfuStatic\ngRfuFixed\n"
},
{
"path": "common_syms/librfu_sio32id.txt",
"chars": 12,
"preview": "gRfuSIO32Id\n"
},
{
"path": "common_syms/librfu_stwi.txt",
"chars": 12,
"preview": "gSTWIStatus\n"
},
{
"path": "common_syms/link.txt",
"chars": 606,
"preview": "gLinkPartnersHeldKeys\ngLinkDebugSeed\ngLocalLinkPlayerBlock\ngLinkErrorOccurred\ngLinkDebugFlags\ngLinkFiller1\ngRemoteLinkPl"
},
{
"path": "common_syms/link_rfu_2.txt",
"chars": 39,
"preview": "gHostRfuGameData\ngRfu\ngHostRfuUsername\n"
},
{
"path": "common_syms/list_menu.txt",
"chars": 44,
"preview": "gListMenuOverride\ngMultiuseListMenuTemplate\n"
},
{
"path": "common_syms/load_save.txt",
"chars": 69,
"preview": "gFlashMemoryPresent\ngSaveBlock1Ptr\ngSaveBlock2Ptr\ngPokemonStoragePtr\n"
},
{
"path": "common_syms/m4a.txt",
"chars": 189,
"preview": "gSoundInfo\ngPokemonCrySongs\ngPokemonCryMusicPlayers\ngMPlayJumpTable\ngCgbChans\ngPokemonCryTracks\ngPokemonCrySong\ngMPlayIn"
},
{
"path": "common_syms/main.txt",
"chars": 204,
"preview": "gKeyRepeatStartDelay\ngLinkTransferringData\ngMain\ngKeyRepeatContinueDelay\ngSoftResetDisabled\ngIntrTable\nsVcountAfterSound"
},
{
"path": "common_syms/overworld.txt",
"chars": 148,
"preview": "gBGTilemapBuffers1\ngBGTilemapBuffers2\ngBGTilemapBuffers3\ngFieldCallback\ngFieldCallback2\ngHeldKeyCodeToSend\ngLocalLinkPla"
},
{
"path": "common_syms/party_menu.txt",
"chars": 11,
"preview": "gItemUseCB\n"
},
{
"path": "common_syms/quest_log.txt",
"chars": 79,
"preview": "gQuestLogPlaybackState\nsMaxActionsInScene\ngQuestLogFieldInput\nsCurSceneActions\n"
},
{
"path": "common_syms/random.txt",
"chars": 20,
"preview": "gRngValue\ngRng2Value"
},
{
"path": "common_syms/save.txt",
"chars": 226,
"preview": "gLastWrittenSector\ngLastSaveCounter\ngLastKnownGoodSector\ngDamagedSaveSectors\ngSaveCounter\ngSaveDataBufferPtr\ngIncrementa"
},
{
"path": "common_syms/save_failed_screen.txt",
"chars": 22,
"preview": "sIsInSaveFailedScreen\n"
},
{
"path": "common_syms/scrcmd.txt",
"chars": 47,
"preview": "sQuestLogScriptContextPtr\ngSelectedObjectEvent\n"
},
{
"path": "common_syms/sound.txt",
"chars": 14,
"preview": "gDisableMusic\n"
},
{
"path": "common_syms/sprite.txt",
"chars": 50,
"preview": "gOamMatrixAllocBitmap\ngReservedSpritePaletteCount\n"
},
{
"path": "common_syms/task.txt",
"chars": 7,
"preview": "gTasks\n"
},
{
"path": "common_syms/text.txt",
"chars": 11,
"preview": "gTextFlags\n"
},
{
"path": "common_syms/text_printer.txt",
"chars": 18,
"preview": "gFonts\ngGlyphInfo\n"
},
{
"path": "common_syms/window.txt",
"chars": 41,
"preview": "gWindowClearTile\ngWindowBgTilemapBuffers\n"
},
{
"path": "compare.sh",
"chars": 366,
"preview": "#!/bin/bash\n# Compares baserom.gba and pokefirered.gba\n\n# create baserom_compare.dump if necessary\nif [ ! -f baserom_com"
},
{
"path": "config.mk",
"chars": 900,
"preview": "# Default variables\n\nGAME_VERSION ?= FIRERED\nGAME_REVISION ?= 0\nGAME_LANGUAGE ?= ENGLISH\nMODERN ?= 0\nCOMPARE "
},
{
"path": "constants/constants.inc",
"chars": 81,
"preview": "\t.include \"constants/gba_constants.inc\"\n\t.include \"constants/misc_constants.inc\"\n"
},
{
"path": "constants/gba_constants.inc",
"chars": 20097,
"preview": "\t.set PSR_USR_MODE, 0x00000010\n\t.set PSR_FIQ_MODE, 0x00000011\n\t.set PSR_IRQ_MODE, 0x00000012\n\t.set PSR_SVC_MODE, 0x0"
},
{
"path": "constants/m4a_constants.inc",
"chars": 9234,
"preview": "\t.equiv ID_NUMBER, 0x68736d53\n\n\t.equiv PCM_DMA_BUF_SIZE, 1584\n\t.equiv MAX_DIRECTSOUND_CHANNELS, 12\n\n\t.equiv C_V, 0x40\n\n\t"
},
{
"path": "constants/misc_constants.inc",
"chars": 940,
"preview": "\t.set TRUE, 1\n\t.set FALSE, 0\n\n\t.set NULL, 0\n\n\t.set SPRITE_SIZE_8x8, (OAM_SIZE_0 >> 28) | (OAM_SQUARE >> 14)\n\t.set SPRI"
},
{
"path": "data/battle_ai_scripts.s",
"chars": 84211,
"preview": "#include \"constants/battle.h\"\n#include \"constants/battle_ai.h\"\n#include \"constants/abilities.h\"\n#include \"constants/item"
},
{
"path": "data/battle_anim_scripts.s",
"chars": 406336,
"preview": "#include \"constants/battle.h\"\n#include \"constants/battle_anim.h\"\n#include \"constants/battle_string_ids.h\"\n#include \"cons"
},
{
"path": "data/battle_scripts_1.s",
"chars": 139462,
"preview": "#include \"constants/global.h\"\n#include \"constants/moves.h\"\n#include \"constants/battle.h\"\n#include \"constants/battle_move"
},
{
"path": "data/battle_scripts_2.s",
"chars": 7286,
"preview": "#include \"constants/moves.h\"\n#include \"constants/battle.h\"\n#include \"constants/battle_move_effects.h\"\n#include \"constant"
},
{
"path": "data/event_scripts.s",
"chars": 57660,
"preview": "#include \"constants/global.h\"\n#include \"constants/flags.h\"\n#include \"constants/event_objects.h\"\n#include \"constants/even"
},
{
"path": "data/field_effect_scripts.s",
"chars": 10824,
"preview": "\t.include \"asm/macros/field_effect_script.inc\"\n\t.section script_data, \"aw\", %progbits\n\t.align 2\ngFieldEffectScriptPointe"
},
{
"path": "data/layouts/.gitignore",
"chars": 30,
"preview": "layouts.inc\nlayouts_table.inc\n"
},
{
"path": "data/layouts/layouts.json",
"chars": 172315,
"preview": "{\n \"layouts_table_label\": \"gMapLayouts\",\n \"layouts\": [\n {\n \"id\": \"LAYOUT_PALLET_TOWN_PLAYERS_HOUSE_1F\",\n "
},
{
"path": "data/map_events.s",
"chars": 490,
"preview": "#include \"constants/event_bg.h\"\n#include \"constants/event_object_movement.h\"\n#include \"constants/event_objects.h\"\n#inclu"
},
{
"path": "data/maps/.gitignore",
"chars": 97,
"preview": "connections.inc\nevents.inc\ngroups.inc\nheaders.inc\n**/connections.inc\n**/events.inc\n**/header.inc\n"
},
{
"path": "data/maps/ArtisanCave_1F/map.json",
"chars": 1296,
"preview": "{\n \"id\": \"MAP_ARTISAN_CAVE_1F\",\n \"name\": \"ArtisanCave_1F\",\n \"layout\": \"LAYOUT_ARTISAN_CAVE_1F\",\n \"music\": \"MUS_PETAL"
},
{
"path": "data/maps/ArtisanCave_1F/scripts.inc",
"chars": 37,
"preview": "ArtisanCave_1F_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/ArtisanCave_1F/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/ArtisanCave_B1F/map.json",
"chars": 2166,
"preview": "{\n \"id\": \"MAP_ARTISAN_CAVE_B1F\",\n \"name\": \"ArtisanCave_B1F\",\n \"layout\": \"LAYOUT_ARTISAN_CAVE_B1F\",\n \"music\": \"MUS_PE"
},
{
"path": "data/maps/ArtisanCave_B1F/scripts.inc",
"chars": 38,
"preview": "ArtisanCave_B1F_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/ArtisanCave_B1F/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BattleColosseum_2P/map.json",
"chars": 1680,
"preview": "{\n \"id\": \"MAP_BATTLE_COLOSSEUM_2P\",\n \"name\": \"BattleColosseum_2P\",\n \"layout\": \"LAYOUT_BATTLE_COLOSSEUM_2P\",\n \"music\""
},
{
"path": "data/maps/BattleColosseum_2P/scripts.inc",
"chars": 41,
"preview": "BattleColosseum_2P_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/BattleColosseum_4P/map.json",
"chars": 1928,
"preview": "{\n \"id\": \"MAP_BATTLE_COLOSSEUM_4P\",\n \"name\": \"BattleColosseum_4P\",\n \"layout\": \"LAYOUT_BATTLE_COLOSSEUM_4P\",\n \"music\""
},
{
"path": "data/maps/BattleColosseum_4P/scripts.inc",
"chars": 41,
"preview": "BattleColosseum_4P_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/BattleFrontier_ExchangeServiceCorner/map.json",
"chars": 4544,
"preview": "{\n \"id\": \"MAP_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER\",\n \"name\": \"BattleFrontier_ExchangeServiceCorner\",\n \"layout\": \""
},
{
"path": "data/maps/BattleFrontier_ExchangeServiceCorner/scripts.inc",
"chars": 59,
"preview": "BattleFrontier_ExchangeServiceCorner_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/BattleFrontier_ExchangeServiceCorner/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BattleFrontier_Lounge1/map.json",
"chars": 1878,
"preview": "{\n \"id\": \"MAP_BATTLE_FRONTIER_LOUNGE1\",\n \"name\": \"BattleFrontier_Lounge1\",\n \"layout\": \"LAYOUT_BATTLE_FRONTIER_LOUNGE1"
},
{
"path": "data/maps/BattleFrontier_Lounge1/scripts.inc",
"chars": 45,
"preview": "BattleFrontier_Lounge1_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/BattleFrontier_Lounge1/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BattleFrontier_Lounge2/map.json",
"chars": 2653,
"preview": "{\n \"id\": \"MAP_BATTLE_FRONTIER_LOUNGE2\",\n \"name\": \"BattleFrontier_Lounge2\",\n \"layout\": \"LAYOUT_BATTLE_FRONTIER_LOUNGE2"
},
{
"path": "data/maps/BattleFrontier_Lounge2/scripts.inc",
"chars": 45,
"preview": "BattleFrontier_Lounge2_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/BattleFrontier_Lounge2/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BattleFrontier_Lounge3/map.json",
"chars": 2633,
"preview": "{\n \"id\": \"MAP_BATTLE_FRONTIER_LOUNGE3\",\n \"name\": \"BattleFrontier_Lounge3\",\n \"layout\": \"LAYOUT_BATTLE_FRONTIER_LOUNGE1"
},
{
"path": "data/maps/BattleFrontier_Lounge3/scripts.inc",
"chars": 45,
"preview": "BattleFrontier_Lounge3_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/BattleFrontier_Lounge3/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BattleFrontier_Lounge4/map.json",
"chars": 1885,
"preview": "{\n \"id\": \"MAP_BATTLE_FRONTIER_LOUNGE4\",\n \"name\": \"BattleFrontier_Lounge4\",\n \"layout\": \"LAYOUT_BATTLE_FRONTIER_LOUNGE1"
},
{
"path": "data/maps/BattleFrontier_Lounge4/scripts.inc",
"chars": 45,
"preview": "BattleFrontier_Lounge4_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/BattleFrontier_Lounge4/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BattleFrontier_Lounge5/map.json",
"chars": 2272,
"preview": "{\n \"id\": \"MAP_BATTLE_FRONTIER_LOUNGE5\",\n \"name\": \"BattleFrontier_Lounge5\",\n \"layout\": \"LAYOUT_BATTLE_FRONTIER_LOUNGE2"
},
{
"path": "data/maps/BattleFrontier_Lounge5/scripts.inc",
"chars": 45,
"preview": "BattleFrontier_Lounge5_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/BattleFrontier_Lounge5/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BattleFrontier_Lounge6/map.json",
"chars": 1121,
"preview": "{\n \"id\": \"MAP_BATTLE_FRONTIER_LOUNGE6\",\n \"name\": \"BattleFrontier_Lounge6\",\n \"layout\": \"LAYOUT_BATTLE_FRONTIER_LOUNGE1"
},
{
"path": "data/maps/BattleFrontier_Lounge6/scripts.inc",
"chars": 45,
"preview": "BattleFrontier_Lounge6_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/BattleFrontier_Lounge6/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BattleFrontier_Lounge7/map.json",
"chars": 2262,
"preview": "{\n \"id\": \"MAP_BATTLE_FRONTIER_LOUNGE7\",\n \"name\": \"BattleFrontier_Lounge7\",\n \"layout\": \"LAYOUT_BATTLE_FRONTIER_LOUNGE1"
},
{
"path": "data/maps/BattleFrontier_Lounge7/scripts.inc",
"chars": 45,
"preview": "BattleFrontier_Lounge7_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/BattleFrontier_Lounge7/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BattleFrontier_Lounge8/map.json",
"chars": 1895,
"preview": "{\n \"id\": \"MAP_BATTLE_FRONTIER_LOUNGE8\",\n \"name\": \"BattleFrontier_Lounge8\",\n \"layout\": \"LAYOUT_BATTLE_FRONTIER_LOUNGE1"
},
{
"path": "data/maps/BattleFrontier_Lounge8/scripts.inc",
"chars": 45,
"preview": "BattleFrontier_Lounge8_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/BattleFrontier_Lounge8/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BattleFrontier_Mart/map.json",
"chars": 2227,
"preview": "{\n \"id\": \"MAP_BATTLE_FRONTIER_MART\",\n \"name\": \"BattleFrontier_Mart\",\n \"layout\": \"LAYOUT_MART\",\n \"music\": \"MUS_POKE_M"
},
{
"path": "data/maps/BattleFrontier_Mart/scripts.inc",
"chars": 42,
"preview": "BattleFrontier_Mart_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/BattleFrontier_Mart/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BattleFrontier_OutsideEast/map.json",
"chars": 13676,
"preview": "{\n \"id\": \"MAP_BATTLE_FRONTIER_OUTSIDE_EAST\",\n \"name\": \"BattleFrontier_OutsideEast\",\n \"layout\": \"LAYOUT_BATTLE_FRONTIE"
},
{
"path": "data/maps/BattleFrontier_OutsideEast/scripts.inc",
"chars": 49,
"preview": "BattleFrontier_OutsideEast_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/BattleFrontier_OutsideEast/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BattleFrontier_OutsideWest/map.json",
"chars": 11982,
"preview": "{\n \"id\": \"MAP_BATTLE_FRONTIER_OUTSIDE_WEST\",\n \"name\": \"BattleFrontier_OutsideWest\",\n \"layout\": \"LAYOUT_BATTLE_FRONTIE"
},
{
"path": "data/maps/BattleFrontier_OutsideWest/scripts.inc",
"chars": 49,
"preview": "BattleFrontier_OutsideWest_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/BattleFrontier_OutsideWest/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BattleFrontier_PokemonCenter_1F/map.json",
"chars": 3667,
"preview": "{\n \"id\": \"MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F\",\n \"name\": \"BattleFrontier_PokemonCenter_1F\",\n \"layout\": \"LAYOUT_POKE"
},
{
"path": "data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc",
"chars": 398,
"preview": "BattleFrontier_PokemonCenter_1F_MapScripts::\n\tmap_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_PokemonCenter_1F_OnTra"
},
{
"path": "data/maps/BattleFrontier_PokemonCenter_1F/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BattleFrontier_PokemonCenter_2F/map.json",
"chars": 2738,
"preview": "{\n \"id\": \"MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F\",\n \"name\": \"BattleFrontier_PokemonCenter_2F\",\n \"layout\": \"LAYOUT_POKE"
},
{
"path": "data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc",
"chars": 284,
"preview": "BattleFrontier_PokemonCenter_2F_MapScripts::\n\tmap_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame\n\tmap_script MAP_SC"
},
{
"path": "data/maps/BattleFrontier_PokemonCenter_2F/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BattleFrontier_RankingHall/map.json",
"chars": 3940,
"preview": "{\n \"id\": \"MAP_BATTLE_FRONTIER_RANKING_HALL\",\n \"name\": \"BattleFrontier_RankingHall\",\n \"layout\": \"LAYOUT_BATTLE_FRONTIE"
},
{
"path": "data/maps/BattleFrontier_RankingHall/scripts.inc",
"chars": 49,
"preview": "BattleFrontier_RankingHall_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/BattleFrontier_RankingHall/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BattleFrontier_ReceptionGate/map.json",
"chars": 2827,
"preview": "{\n \"id\": \"MAP_BATTLE_FRONTIER_RECEPTION_GATE\",\n \"name\": \"BattleFrontier_ReceptionGate\",\n \"layout\": \"LAYOUT_BATTLE_FRO"
},
{
"path": "data/maps/BattleFrontier_ReceptionGate/scripts.inc",
"chars": 51,
"preview": "BattleFrontier_ReceptionGate_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/BattleFrontier_ReceptionGate/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BattleFrontier_ScottsHouse/map.json",
"chars": 1135,
"preview": "{\n \"id\": \"MAP_BATTLE_FRONTIER_SCOTTS_HOUSE\",\n \"name\": \"BattleFrontier_ScottsHouse\",\n \"layout\": \"LAYOUT_BATTLE_FRONTIE"
},
{
"path": "data/maps/BattleFrontier_ScottsHouse/scripts.inc",
"chars": 49,
"preview": "BattleFrontier_ScottsHouse_MapScripts::\n\t.byte 0\n"
},
{
"path": "data/maps/BattleFrontier_ScottsHouse/text.inc",
"chars": 1,
"preview": "\n"
},
{
"path": "data/maps/BirthIsland_Exterior/map.json",
"chars": 1607,
"preview": "{\n \"id\": \"MAP_BIRTH_ISLAND_EXTERIOR\",\n \"name\": \"BirthIsland_Exterior\",\n \"layout\": \"LAYOUT_BIRTH_ISLAND_EXTERIOR\",\n \""
},
{
"path": "data/maps/BirthIsland_Exterior/scripts.inc",
"chars": 3539,
"preview": ".set LOCALID_DEOXYS_ROCK, 1\n.set LOCALID_DEOXYS, 2\n\nBirthIsland_Exterior_MapScripts::\n\tmap_script MAP_SCRIPT_ON_TRA"
},
{
"path": "data/maps/BirthIsland_Harbor/map.json",
"chars": 1478,
"preview": "{\n \"id\": \"MAP_BIRTH_ISLAND_HARBOR\",\n \"name\": \"BirthIsland_Harbor\",\n \"layout\": \"LAYOUT_ISLAND_HARBOR\",\n \"music\": \"0xF"
},
{
"path": "data/maps/BirthIsland_Harbor/scripts.inc",
"chars": 381,
"preview": "BirthIsland_Harbor_MapScripts::\n\t.byte 0\n\nBirthIsland_Harbor_EventScript_Sailor::\n\tlock\n\tfaceplayer\n\tmessage Text_WhereD"
},
{
"path": "data/maps/CeladonCity/map.json",
"chars": 12142,
"preview": "{\n \"id\": \"MAP_CELADON_CITY\",\n \"name\": \"CeladonCity\",\n \"layout\": \"LAYOUT_CELADON_CITY\",\n \"music\": \"MUS_CELADON\",\n \"r"
},
{
"path": "data/maps/CeladonCity/scripts.inc",
"chars": 3260,
"preview": ".set LOCALID_FAT_MAN, 2\n.set LOCALID_POLIWRATH, 3\n.set LOCALID_GRIMER_MASTER, 16\n.set LOCALID_VICTREEBEL_MASTER, 17\n.s"
},
{
"path": "data/maps/CeladonCity/text.inc",
"chars": 4085,
"preview": "CeladonCity_Text_GotMyKoffingInCinnabar::\n .string \"I got my KOFFING in CINNABAR.\\p\"\n .string \"It's usually nice, "
},
{
"path": "data/maps/CeladonCity_Condominiums_1F/map.json",
"chars": 3634,
"preview": "{\n \"id\": \"MAP_CELADON_CITY_CONDOMINIUMS_1F\",\n \"name\": \"CeladonCity_Condominiums_1F\",\n \"layout\": \"LAYOUT_CELADON_CITY_"
},
{
"path": "data/maps/CeladonCity_Condominiums_1F/scripts.inc",
"chars": 1713,
"preview": "CeladonCity_Condominiums_1F_MapScripts::\n\t.byte 0\n\nCeladonCity_Condominiums_1F_EventScript_TeaWoman::\n\tlock\n\tfaceplayer\n"
},
{
"path": "data/maps/CeladonCity_Condominiums_1F/text.inc",
"chars": 1235,
"preview": "CeladonCity_Condominiums_1F_Text_Meowth::\n .string \"MEOWTH: Meow!$\"\n\nCeladonCity_Condominiums_1F_Text_TryThisDrinkIns"
},
{
"path": "data/maps/CeladonCity_Condominiums_2F/map.json",
"chars": 3000,
"preview": "{\n \"id\": \"MAP_CELADON_CITY_CONDOMINIUMS_2F\",\n \"name\": \"CeladonCity_Condominiums_2F\",\n \"layout\": \"LAYOUT_CELADON_CITY_"
},
{
"path": "data/maps/CeladonCity_Condominiums_2F/scripts.inc",
"chars": 759,
"preview": ".set LOCALID_MR_MIME_MASTER, 3\n.set TRAINER, VAR_0x8009\n\nCeladonCity_Condominiums_2F_MapScripts::\n\tmap_script MAP_SCRIPT"
},
{
"path": "data/maps/CeladonCity_Condominiums_2F/text.inc",
"chars": 96,
"preview": "CeladonCity_Condominiums_2F_Text_GameFreakMeetingRoom::\n .string \"GAME FREAK Meeting Room$\"\n\n"
},
{
"path": "data/maps/CeladonCity_Condominiums_3F/map.json",
"chars": 5118,
"preview": "{\n \"id\": \"MAP_CELADON_CITY_CONDOMINIUMS_3F\",\n \"name\": \"CeladonCity_Condominiums_3F\",\n \"layout\": \"LAYOUT_CELADON_CITY_"
},
{
"path": "data/maps/CeladonCity_Condominiums_3F/scripts.inc",
"chars": 7037,
"preview": "CeladonCity_Condominiums_3F_MapScripts::\n\tmap_script MAP_SCRIPT_ON_FRAME_TABLE, CeladonCity_Condominiums_3F_OnFrame\n\t.by"
},
{
"path": "data/maps/CeladonCity_Condominiums_3F/text.inc",
"chars": 1428,
"preview": "CeladonCity_Condominiums_3F_Text_ImTheProgrammer::\n .string \"Me?\\n\"\n .string \"I'm the programmer!$\"\n\nCeladonCity_C"
},
{
"path": "data/maps/CeladonCity_Condominiums_Roof/map.json",
"chars": 1471,
"preview": "{\n \"id\": \"MAP_CELADON_CITY_CONDOMINIUMS_ROOF\",\n \"name\": \"CeladonCity_Condominiums_Roof\",\n \"layout\": \"LAYOUT_CELADON_C"
},
{
"path": "data/maps/CeladonCity_Condominiums_Roof/scripts.inc",
"chars": 179,
"preview": "CeladonCity_Condominiums_Roof_MapScripts::\n\t.byte 0\n\nCeladonCity_Condominiums_Roof_EventScript_Sign::\n\tmsgbox CeladonCit"
},
{
"path": "data/maps/CeladonCity_Condominiums_Roof/text.inc",
"chars": 88,
"preview": "CeladonCity_Condominiums_Roof_Text_IKnowEverything::\n .string \"I KNOW EVERYTHING!$\"\n\n"
},
{
"path": "data/maps/CeladonCity_Condominiums_RoofRoom/map.json",
"chars": 3091,
"preview": "{\n \"id\": \"MAP_CELADON_CITY_CONDOMINIUMS_ROOF_ROOM\",\n \"name\": \"CeladonCity_Condominiums_RoofRoom\",\n \"layout\": \"LAYOUT_"
},
{
"path": "data/maps/CeladonCity_Condominiums_RoofRoom/scripts.inc",
"chars": 4991,
"preview": ".set LOCALID_EEVEE_POKEBALL, 2\n.set LOCALID_CHARMANDER_MASTER, 3\n.set TRAINER, VAR_0x8009\n\nCeladonCity_Condominiums_Roof"
},
{
"path": "data/maps/CeladonCity_Condominiums_RoofRoom/text.inc",
"chars": 1869,
"preview": "CeladonCity_Condominiums_RoofRoom_Text_TheresNothingIDontKnow::\n .string \"There is nothing that I don't know,\\n\"\n "
},
{
"path": "data/maps/CeladonCity_DepartmentStore_1F/map.json",
"chars": 2575,
"preview": "{\n \"id\": \"MAP_CELADON_CITY_DEPARTMENT_STORE_1F\",\n \"name\": \"CeladonCity_DepartmentStore_1F\",\n \"layout\": \"LAYOUT_CELADO"
},
{
"path": "data/maps/CeladonCity_DepartmentStore_1F/scripts.inc",
"chars": 462,
"preview": "CeladonCity_DepartmentStore_1F_MapScripts::\n\t.byte 0\n\nCeladonCity_DepartmentStore_1F_EventScript_Receptionist::\n\tmsgbox "
},
{
"path": "data/maps/CeladonCity_DepartmentStore_1F/text.inc",
"chars": 576,
"preview": "CeladonCity_DepartmentStore_1F_Text_WelcomeToDeptStore::\n .string \"Hello!\\n\"\n .string \"Welcome to CELADON DEPT. ST"
},
{
"path": "data/maps/CeladonCity_DepartmentStore_2F/map.json",
"chars": 3551,
"preview": "{\n \"id\": \"MAP_CELADON_CITY_DEPARTMENT_STORE_2F\",\n \"name\": \"CeladonCity_DepartmentStore_2F\",\n \"layout\": \"LAYOUT_CELADO"
},
{
"path": "data/maps/CeladonCity_DepartmentStore_2F/scripts.inc",
"chars": 2055,
"preview": ".set LOCALID_VAPOREON_MASTER, 5\n.set TRAINER, VAR_0x8009\n\nCeladonCity_DepartmentStore_2F_MapScripts::\n\tmap_script MAP_SC"
},
{
"path": "data/maps/CeladonCity_DepartmentStore_2F/text.inc",
"chars": 716,
"preview": "CeladonCity_DepartmentStore_2F_Text_SuperRepelMorePowerfulRepel::\n .string \"SUPER REPEL keeps weak POKéMON at\\n\"\n "
},
{
"path": "data/maps/CeladonCity_DepartmentStore_3F/map.json",
"chars": 6089,
"preview": "{\n \"id\": \"MAP_CELADON_CITY_DEPARTMENT_STORE_3F\",\n \"name\": \"CeladonCity_DepartmentStore_3F\",\n \"layout\": \"LAYOUT_CELADO"
},
{
"path": "data/maps/CeladonCity_DepartmentStore_3F/scripts.inc",
"chars": 2187,
"preview": ".set LOCALID_JOLTEON_MASTER, 6\n.set TRAINER, VAR_0x8009\n\nCeladonCity_DepartmentStore_3F_MapScripts::\n\tmap_script MAP_SCR"
},
{
"path": "data/maps/CeladonCity_DepartmentStore_3F/text.inc",
"chars": 2778,
"preview": "CeladonCity_DepartmentStore_3F_Text_OTStandsForOriginalTrainer::\n .string \"Captured POKéMON are registered\\n\"\n .st"
},
{
"path": "data/maps/CeladonCity_DepartmentStore_4F/map.json",
"chars": 3065,
"preview": "{\n \"id\": \"MAP_CELADON_CITY_DEPARTMENT_STORE_4F\",\n \"name\": \"CeladonCity_DepartmentStore_4F\",\n \"layout\": \"LAYOUT_CELADO"
},
{
"path": "data/maps/CeladonCity_DepartmentStore_4F/scripts.inc",
"chars": 1510,
"preview": ".set LOCALID_FLAREON_MASTER, 4\n.set TRAINER, VAR_0x8009\n\nCeladonCity_DepartmentStore_4F_MapScripts::\n\tmap_script MAP_SCR"
},
{
"path": "data/maps/CeladonCity_DepartmentStore_4F/text.inc",
"chars": 717,
"preview": "CeladonCity_DepartmentStore_4F_Text_GettingPokeDollAsPresent::\n .string \"I'm getting a present for my\\n\"\n .string "
},
{
"path": "data/maps/CeladonCity_DepartmentStore_5F/map.json",
"chars": 3099,
"preview": "{\n \"id\": \"MAP_CELADON_CITY_DEPARTMENT_STORE_5F\",\n \"name\": \"CeladonCity_DepartmentStore_5F\",\n \"layout\": \"LAYOUT_CELADO"
},
{
"path": "data/maps/CeladonCity_DepartmentStore_5F/scripts.inc",
"chars": 1395,
"preview": "CeladonCity_DepartmentStore_5F_MapScripts::\n\t.byte 0\n\nCeladonCity_DepartmentStore_5F_EventScript_Gentleman::\n\tmsgbox Cel"
},
{
"path": "data/maps/CeladonCity_DepartmentStore_5F/text.inc",
"chars": 798,
"preview": "CeladonCity_DepartmentStore_5F_Text_ExplainStatEnhancers::\n .string \"POKéMON stat enhancers can be\\n\"\n .string \"bo"
},
{
"path": "data/maps/CeladonCity_DepartmentStore_Elevator/map.json",
"chars": 1358,
"preview": "{\n \"id\": \"MAP_CELADON_CITY_DEPARTMENT_STORE_ELEVATOR\",\n \"name\": \"CeladonCity_DepartmentStore_Elevator\",\n \"layout\": \"L"
},
{
"path": "data/maps/CeladonCity_DepartmentStore_Elevator/scripts.inc",
"chars": 4821,
"preview": "CeladonCity_DepartmentStore_Elevator_MapScripts::\n\t.byte 0\n\nCeladonCity_DepartmentStore_Elevator_EventScript_FloorSelect"
},
{
"path": "data/maps/CeladonCity_DepartmentStore_Roof/map.json",
"chars": 2577,
"preview": "{\n \"id\": \"MAP_CELADON_CITY_DEPARTMENT_STORE_ROOF\",\n \"name\": \"CeladonCity_DepartmentStore_Roof\",\n \"layout\": \"LAYOUT_CE"
},
{
"path": "data/maps/CeladonCity_DepartmentStore_Roof/scripts.inc",
"chars": 11209,
"preview": "CeladonCity_DepartmentStore_Roof_MapScripts::\n\t.byte 0\n\nCeladonCity_DepartmentStore_Roof_EventScript_ThirstyGirl::\n\tgoto"
},
{
"path": "data/maps/CeladonCity_DepartmentStore_Roof/text.inc",
"chars": 2730,
"preview": "CeladonCity_DepartmentStore_Roof_Text_ImThirstyGiveHerDrink::\n .string \"I'm thirsty!\\n\"\n .string \"I want something"
},
{
"path": "data/maps/CeladonCity_GameCorner/map.json",
"chars": 14319,
"preview": "{\n \"id\": \"MAP_CELADON_CITY_GAME_CORNER\",\n \"name\": \"CeladonCity_GameCorner\",\n \"layout\": \"LAYOUT_CELADON_CITY_GAME_CORN"
},
{
"path": "data/maps/CeladonCity_GameCorner/scripts.inc",
"chars": 15355,
"preview": ".set LOCALID_GRUNT, 11\n.set LOCALID_PORYGON_MASTER, 12\n.set TRAINER, VAR_0x8009\n\nCeladonCity_GameCorner_MapScripts::\n\tma"
},
{
"path": "data/maps/CeladonCity_GameCorner/text.inc",
"chars": 4637,
"preview": "CeladonCity_GameCorner_Text_CanExchangeCoinsNextDoor::\n .string \"Welcome!\\p\"\n .string \"You can exchange your COINS"
},
{
"path": "data/maps/CeladonCity_GameCorner_PrizeRoom/map.json",
"chars": 3140,
"preview": "{\n \"id\": \"MAP_CELADON_CITY_GAME_CORNER_PRIZE_ROOM\",\n \"name\": \"CeladonCity_GameCorner_PrizeRoom\",\n \"layout\": \"LAYOUT_C"
},
{
"path": "data/maps/CeladonCity_GameCorner_PrizeRoom/scripts.inc",
"chars": 16592,
"preview": "CeladonCity_GameCorner_PrizeRoom_MapScripts::\n\t.byte 0\n\nCeladonCity_GameCorner_PrizeRoom_EventScript_BaldingMan::\n\tmsgbo"
},
{
"path": "data/maps/CeladonCity_GameCorner_PrizeRoom/text.inc",
"chars": 1064,
"preview": "CeladonCity_GameCorner_PrizeRoom_Text_FancyThatPorygon::\n .string \"I sure do fancy that PORYGON!\\n\"\n .string \"But,"
},
{
"path": "data/maps/CeladonCity_Gym/map.json",
"chars": 6152,
"preview": "{\n \"id\": \"MAP_CELADON_CITY_GYM\",\n \"name\": \"CeladonCity_Gym\",\n \"layout\": \"LAYOUT_CELADON_CITY_GYM\",\n \"music\": \"MUS_GY"
},
{
"path": "data/maps/CeladonCity_Gym/scripts.inc",
"chars": 4082,
"preview": ".equ CHECK_VISITOR_STATE, 6\n.equ TYPE, VAR_0x8003\n.equ ARGUMENT, VAR_0x8004\n\nCeladonCity_Gym_MapScripts::\n\tmap_script MA"
},
{
"path": "data/maps/CeladonCity_Gym/text.inc",
"chars": 4630,
"preview": "CeladonCity_Gym_Text_ErikaIntro::\n .string \"Hello…\\n\"\n .string \"Lovely weather, isn't it?\\l\"\n .string \"It's so "
},
{
"path": "data/maps/CeladonCity_Hotel/map.json",
"chars": 3626,
"preview": "{\n \"id\": \"MAP_CELADON_CITY_HOTEL\",\n \"name\": \"CeladonCity_Hotel\",\n \"layout\": \"LAYOUT_CELADON_CITY_HOTEL\",\n \"music\": \""
},
{
"path": "data/maps/CeladonCity_Hotel/scripts.inc",
"chars": 1400,
"preview": ".set LOCALID_GYARADOS_MASTER, 5\n.set LOCALID_ARCANINE_MASTER, 6\n.set TRAINER, VAR_0x8009\n\nCeladonCity_Hotel_MapScripts::"
}
]
// ... and 5980 more files (download for full content)
About this extraction
This page contains the full source code of the Deokishisu/FRLG-Plus GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 6180 files (23.4 MB), approximately 6.4M tokens, and a symbol index with 21879 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.